CLI Reference
newt is primarily an interactive CLI. Run it with no arguments to start the guided prompt flow:
npx @linuxctrl/newtPrompt Flow
The CLI walks you through five steps, from high-level language choice down to project name and directory:
- Language — Pick from TypeScript, Python, Rust, Go, or Zig
- Framework — Frameworks are filtered by your language choice (e.g. React/Vite, Next.js, FastAPI, Axum, Gin)
- Dependencies — Multi-select from framework-specific options (ORM, testing, linting, styling, etc.)
- Project name — Name your project (e.g.
my-app) - Directory — Where to create the project (defaults to current directory)
✦ newt — project scaffold generator
◆ First thing's first: what language are we building with?
│ ● TypeScript
│ ○ Python
│ ○ Rust
│ ○ Go
│ ○ Zig
└
◆ Nice! Which framework sparks joy?
│ ● React (Vite)
│ ○ Next.js
│ ○ Vue (Vite)
│ ○ Svelte (Vite)
│ ○ Astro
│ ○ Hono
│ ○ Express
└
◆ Let's kit it out. What else do you need?
│ ◼ Tailwind CSS
│ ◻ Prisma
│ ◼ Vitest
│ ◻ ESLint
└
◆ What shall we call this masterpiece? my-app
◆ Where should we put it? (relative to current dir) .
✦ Done! cd my-app and check the README to get started.Generation Strategy
newt uses two approaches to create projects:
Delegated CLIs
For frameworks with established official CLIs, newt shells out to them:
| Framework | Command |
|---|---|
| React (Vite) | npm create vite@latest {name} -- --template react-ts |
| Next.js | npx create-next-app@latest {name} |
| Vue (Vite) | npm create vite@latest {name} -- --template vue-ts |
| Astro | npm create astro@latest {name} |
| SvelteKit | npx sv create {name} |
| Nuxt | npx nuxi@latest init {name} |
Built-in Templates
Frameworks without official CLIs are scaffolded from built-in templates. These include:
- Express — TypeScript app with tsconfig, src/index.ts
- FastAPI — Python app with app/main.py, requirements.txt
- Flask — Python app with app factory pattern
- Axum — Rust project with Cargo.toml and src/main.rs
- Actix Web — Rust project with Cargo.toml and src/main.rs
- Rocket — Rust project with Cargo.toml and src/main.rs
- Gin — Go project with main.go and go.mod
- Echo — Go project with main.go and go.mod
- Fiber — Go project with main.go and go.mod
- Chi — Go project with main.go and go.mod
- Zap — Zig project with build.zig and src/main.zig
- http.zig — Zig project with build.zig and src/main.zig
Dependency Installation
After scaffolding, newt installs the dependencies you selected using the appropriate package manager:
| Language | Package Manager |
|---|---|
| TypeScript | npm (or bun/pnpm/yarn — auto-detected) |
| Python | pip |
| Rust | cargo add |
| Go | go get |
| Zig | Manual (deps via build.zig.zon) |