mold new¶
Scaffold a new project with AI development configuration.
Usage¶
mold new <project-name> [flags]
Description¶
Creates a new project directory with AI instruction files, optional stack templates, and git initialization. By default, uses the Original kit with Claude Code files.
Flags¶
| Flag | Default | Description |
|---|---|---|
--kit <name> |
config default | Kit to use: original, beads, forge, or a custom kit name |
--beads |
false |
Shorthand for --kit beads |
--no-beads |
false |
Disable beads issue tracking (forge kit) |
--stack <name> |
bare |
Tech stack template (go, rust, next, bare) |
--tools <list> |
claude |
Comma-separated AI tools, or all |
--path <dir> |
current dir | Parent directory for the project |
--here |
false |
Scaffold in the current directory |
--no-git |
false |
Skip git init and initial commit |
--dry-run |
false |
Preview without writing files |
-i, --interactive |
false |
Launch TUI wizard |
Examples¶
Basic project with defaults (Original kit, bare stack, Claude only):
mold new my-app
Go project with multiple AI tools:
mold new my-api --stack go --tools cursor,copilot,aider
Beads kit with Rust stack:
mold new my-lib --beads --stack rust
Forge kit for product lifecycle orchestration:
mold new my-product --kit forge
Forge without beads issue tracking:
mold new my-product --kit forge --no-beads
Generate files for all supported AI tools:
mold new my-app --tools all
Scaffold in the current directory:
mkdir my-app && cd my-app
mold new --here
Create under a specific parent directory:
mold new my-app --path ~/projects
Preview what would be created:
mold new my-app --stack go --dry-run
Interactive TUI wizard:
mold new -i
Behavior¶
- Creates the project directory (or uses current dir with
--here) - Renders kit template files (
CLAUDE.md,.claude/settings.json, etc.) - Renders stack template files if
--stackis notbare - Renders tool-specific instruction files for each
--toolsentry - Writes
.mold.tomlmetadata file (used bymold upgrade) - Runs
git initand creates an initial commit (unless--no-git)
The command fails if the target directory already exists and is not empty.