Stacks¶
A stack is a set of starter files for a specific language or framework. Stacks are independent of kits -- you can combine any kit with any stack.
Available stacks¶
Go¶
mold new my-app --stack go
Generated files:
| File | Description |
|---|---|
go.mod |
Go module file with project name |
main.go |
Hello world entry point |
Makefile |
Build, test, lint targets |
.gitignore |
Go-specific ignores |
Also customizes CLAUDE.md with Go-specific tech stack section and settings.json with Go commands (go build, go test, etc.).
Rust¶
mold new my-app --stack rust
Generated files:
| File | Description |
|---|---|
Cargo.toml |
Rust package manifest |
src/main.rs |
Hello world entry point |
.gitignore |
Rust-specific ignores |
Next.js¶
mold new my-app --stack next
Generated files:
| File | Description |
|---|---|
package.json |
Node.js package manifest |
next.config.ts |
Next.js configuration |
tsconfig.json |
TypeScript configuration |
.gitignore |
Node.js-specific ignores |
Bare (default)¶
mold new my-app --stack bare
No stack files are generated. Use this when you want only AI configuration without language-specific scaffolding.
Stack + kit combinations¶
Stacks and kits are orthogonal. Any combination works:
mold new my-app --stack go # Original kit + Go
mold new my-app --beads --stack rust # Beads kit + Rust
mold new my-app --kit my-custom --stack next # Custom kit + Next.js
How stacks affect AI config¶
Stacks do more than just add starter files. They also customize:
CLAUDE.md-- the tech stack section is populated with language-specific details.claude/settings.json-- allowed commands include language-appropriate build/test/lint commands