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:
- Toolchain detection - Check if required toolchain is installed
- Auto-download - Download toolchain binaries if missing
- Version management - Support multiple toolchain versions
- Cache management - Store toolchains in
~/.fabricks/toolchains/
Toolchains to support
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
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:~/.fabricks/toolchains/Toolchains to support
cargo installImplementation Notes
Related