Llinuxctrl
CLI Reference

CLI Reference

newt is primarily an interactive CLI. Run it with no arguments to start the guided prompt flow:

npx @linuxctrl/newt

Prompt Flow

The CLI walks you through five steps, from high-level language choice down to project name and directory:

  1. Language — Pick from TypeScript, Python, Rust, Go, or Zig
  2. Framework — Frameworks are filtered by your language choice (e.g. React/Vite, Next.js, FastAPI, Axum, Gin)
  3. Dependencies — Multi-select from framework-specific options (ORM, testing, linting, styling, etc.)
  4. Project name — Name your project (e.g. my-app)
  5. 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:

FrameworkCommand
React (Vite)npm create vite@latest {name} -- --template react-ts
Next.jsnpx create-next-app@latest {name}
Vue (Vite)npm create vite@latest {name} -- --template vue-ts
Astronpm create astro@latest {name}
SvelteKitnpx sv create {name}
Nuxtnpx 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:

LanguagePackage Manager
TypeScriptnpm (or bun/pnpm/yarn — auto-detected)
Pythonpip
Rustcargo add
Gogo get
ZigManual (deps via build.zig.zon)