@vlandoss/vland
v0.3.1
Published
The CLI to init a new project in Variable Land
Readme
🦉 vland
The CLI to init a new project in Variable Land
Prerequisites
- Node.js >= 20.0.0
Installation
Run it directly with npx:
npx @vlandoss/vland init…or install it globally:
pnpm add -g @vlandoss/vland
vland initUsage
vland init # interactive
vland init my-app -t library # explicit template
vland init my-app -t backend --no-install --no-gitSee CLI.md for the full reference (auto-generated per release).
Templates
| Template | What you get |
| ---------- | ----------------------------------------------------------------------------------------- |
| library | A standalone TypeScript library with Vitest + Changesets release workflow. |
| backend | An Elysia (@elysiajs/node) backend with evlog, Vitest, Dockerfile, CI shape. |
| monorepo | pnpm + Turbo workspace with an Elysia API, a Vite-React SPA, and a few internal packages. |
All templates target Node.js, use pnpm, and ship @rrlab/cli (rr) as the single entry point for lint, format, type-check, and build. The per-tool config files (biome.json, tsconfig.json, tsdown.config.ts) are not bundled — run rr plugins add biome ts tsdown (one at a time) in your new project to opt in. See the scaffolded README for the exact post-install setup.
Shell completion
vland ships a completion subcommand that prints a shell-specific script. Add it to your shell rc file:
# zsh — ~/.zshrc
eval "$(vland completion zsh)"
# bash — ~/.bashrc
eval "$(vland completion bash)"
# fish — ~/.config/fish/config.fish
vland completion fish | sourcePrerequisite: the usage CLI must be on your PATH (it powers completion at runtime). Install via one of:
mise use -g usage
brew install usageWhen you upgrade @vlandoss/vland, the next shell session will pick up new commands automatically — no need to re-run anything.
Troubleshooting
To enable debug mode, set the DEBUG environment variable to vland:* before running any command.
DEBUG=vland:* vland init my-appTo point init at local templates instead of fetching from GitHub (useful when developing inside this monorepo):
VLAND_TEMPLATES_DIR=/absolute/path/to/dx/vland/templates vland init my-app -t library