Skip to content

Releases: renbytes/boot-rust

v0.1.0 Release

06 Aug 20:12
71fa426

Choose a tag to compare

v0.1.0 Release Pre-release
Pre-release

Initial release of working Rust Plugin

The boot-rust plugin is designed to be a lightweight and focused "prompt expert." Its sole responsibility is to provide the main boot-code application with the necessary text components to construct a high-quality, language-specific prompt for generating Rust code. It does not handle any complex logic like making LLM API calls or parsing the response.

Here’s how it works:

  • gRPC Server: The plugin is a simple, standalone executable that runs a gRPC server. When the boot CLI needs to generate a Rust project, it starts the boot-rust executable as a subprocess.
  • Handshake: Upon starting, the plugin's gRPC server binds to an available port and prints its address to standard output. The main boot-code application reads this address to establish a connection. This is the "handshake" that links the two processes.
  • RPC Communication: The plugin implements a single, simple RPC method defined in the shared plugin.proto contract: GetPromptComponents.

Request:

boot-code sends a request containing the content of the user's spec.toml file.

Logic: The boot-rust plugin receives this request. Its only job is to read its local, language-specific prompt files (e.g., prompts/base_instructions.txt, prompts/language_rules.txt) and format the user's spec into a prompt segment.

Response:

It sends a response back to boot-code containing these text components as a map of strings.

Separation of Concerns: After the plugin sends its response, its job is done. The boot-code application takes the prompt components, assembles the final prompt, makes the call to the LLM, parses the file-based response, and writes the project to disk.

This architecture makes it extremely simple to add support for new languages. A plugin contributor only needs to focus on providing the best possible prompt components for their language of expertise, without worrying about the underlying application logic.