Skip to content

Auto-install toolchains for language builders #32

@richardkiene

Description

@richardkiene

Summary

When building projects that require external toolchains (Go/TinyGo, .NET, Rust/cargo-component), automatically download and manage the required toolchains instead of requiring manual installation.

Motivation

Currently, users must manually install language toolchains before using Fabricks to build projects. This adds friction to the onboarding experience.

Proposed Solution

Implement automatic toolchain management similar to rustup:

  1. Toolchain detection - Check if required toolchain is installed
  2. Auto-download - Download toolchain binaries if missing
  3. Version management - Support multiple toolchain versions
  4. Cache management - Store toolchains in ~/.fabricks/toolchains/

Toolchains to support

Language Toolchain Download source
Go TinyGo https://github.com/tinygo-org/tinygo/releases
C#/.NET .NET SDK https://dotnet.microsoft.com/download
Rust cargo-component Via cargo install

Implementation Notes

  • Could use platform-specific binary downloads
  • Need to handle PATH setup for subprocess calls
  • Consider checksum verification for security
  • May want opt-out flag for users who prefer manual management

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions