A fast, opinionated project scaffolder that bootstraps production-ready codebases in seconds.
scaffolder generates clean, batteries-included project templates from a single command —
correctly wired tooling, sensible defaults, and zero boilerplate to copy-paste. It ships as a
single static binary with no runtime dependencies.
The first template targets TypeScript with either a Node.js or Bun runtime; more languages are on the way.
- One command, ready to ship — TypeScript (ESNext), ESLint + Prettier, Lefthook git hooks,
a
Makefile, and tests, all pre-wired. - Interactive or scripted — guided prompts for humans, flags for CI.
- Pick your stack — choose your package manager, runtime-aware test runner, module system, and Node version when using the Node.js runtime.
- Cross-platform — prebuilt binaries for macOS, Linux, and Windows (x86_64 & ARM64).
- Self-updating —
scaffolder self-updatekeeps you current.
curl -fsSL https://raw.githubusercontent.com/reedchan7/scaffolder/main/install.sh | shThis detects your OS and CPU architecture, downloads the matching prebuilt binary, and installs
it to ~/.local/bin. Re-run it any time to update.
Customize the version or install location:
curl -fsSL https://raw.githubusercontent.com/reedchan7/scaffolder/main/install.sh \
| sh -s -- --version v0.1.0 --bin-dir "$HOME/.local/bin"| Option | Env var | Default |
|---|---|---|
--version <tag> |
SCAFFOLDER_VERSION |
latest |
--bin-dir <dir> |
SCAFFOLDER_INSTALL_DIR |
~/.local/bin |
irm https://github.com/reedchan7/scaffolder/releases/latest/download/scaffolder-installer.ps1 | iexGrab a prebuilt archive from the latest release, extract it, and put the scaffolder
binary on your PATH:
| OS | x86_64 / AMD64 | aarch64 / ARM64 |
|---|---|---|
| Linux | scaffolder-x86_64-unknown-linux-gnu.tar.xz |
scaffolder-aarch64-unknown-linux-gnu.tar.xz |
| macOS | scaffolder-x86_64-apple-darwin.tar.xz |
scaffolder-aarch64-apple-darwin.tar.xz |
| Windows | scaffolder-x86_64-pc-windows-msvc.zip |
scaffolder-aarch64-pc-windows-msvc.zip |
scaffolder new typescript-node my-app # one-shot (CI friendly)
scaffolder new # interactive
scaffolder agent trust claude # trust current project for an agent
scaffolder list # show available templatesThe generated project is ready to make check immediately — formatting, linting, and tests all
pass out of the box.
scaffolder new [TEMPLATE] [NAME] [OPTIONS] # scaffold a new project
scaffolder agent trust <AGENT>... # trust current project for one or more agents
scaffolder list # list available templates
scaffolder self-update # update to the latest release| Flag | Default | Values |
|---|---|---|
--pm |
pnpm |
pnpm npm yarn bun |
--test |
vitest (bun when --pm bun) |
vitest node bun |
--module |
esm |
esm cjs |
--node |
24 |
major version integer; used by Node.js projects |
--dir |
. |
parent directory for the generated project |
--license |
(private) | MIT Apache-2.0 |
--ai |
off | flag — also writes CLAUDE.md + AGENTS.md |
--no-git |
off | flag — skip git init |
--no-install |
off | flag — skip dependency install |
Omit
--licenseto keep the project private (no license file is written).
--pm bungenerates a Bun-runtime project: Bun scripts, Bun TypeScript settings, and Bun's built-in test runner.--test bunis only valid with--pm bun.
scaffolder agent trust claudeSupported agents: claude, codex, kimi-code, agy, reasonix, pi.
The command merges the needed trust or bypass-permission setting into the agent's documented local or user config file. Existing unrelated config is kept, and conflicting values prompt before being replaced.
Re-run the install command above, or use the built-in self-updater:
scaffolder self-updateCommon tasks are wrapped in a Makefile — run make help to list them all:
make build # release binary -> target/release/scaffolder
make test # unit + integration tests
make check # fmt + clippy + tests (what CI runs)
make install # build & install to ~/.local/bin (override: BINDIR=...)
make run ARGS="new typescript-node demo"make bump VERSION=0.2.0 # update the version in Cargo.toml
git commit -am "chore: release v0.2.0"
make release # tag v0.2.0 and push -> CI builds & publishesMIT © Reed Chan