pxxl init --new creates a deploy-ready project from the official Pxxl boilerplates. Each starter includes a README.md, a pxxl.boilerplate.json manifest, and deploy defaults that the CLI uses to write pxxl.toml.
Interactive init shows clean framework names first, then asks for the package manager when a framework has multiple variants.
pxxl init --new
pxxl init --new express-bun --name my-api --domain pxxl.pro
pxxl init --new vite-react-npm --name web-app --domain pxxl.pro
Flow
- Choose a framework.
- Choose a package manager when multiple variants exist.
- Enter a project name.
- Pick an eligible Pxxl domain suffix.
- Choose whether to create a new folder or use the current folder.
- Optionally deploy immediately.
The CLI validates the project name and selected suffix before writing files.
Included Starters
| Starter | Variants |
|---|
| Express | npm, pnpm, Bun, Yarn |
| Vite React | npm, pnpm, Bun, Yarn |
| Static HTML | static gallery |
| PHP | basic PHP |
| Hono | Bun |
| Fastify | pnpm |
| Next.js | pnpm |
| Astro | npm |
| Node TypeScript | npm |
| Python | FastAPI, Flask, Django |
| Go | standard-library HTTP |
| Rust | Axum |
| SvelteKit | pnpm |
| Vue Vite | pnpm |
| Dockerfile Node | Dockerfile-based Node service |
Manifest
Each boilerplate has a pxxl.boilerplate.json manifest:
{
"id": "express-bun",
"family": "express",
"displayName": "Express",
"packageManager": "bun",
"framework": "express",
"port": 3000,
"installCommand": "bun install",
"startCommand": "bun src/server.js"
}
The manifest keeps init consistent across frameworks, package managers, and runtimes.
Deploy After Init
If you pass --deploy, init creates the project and immediately uploads the first deployment:
pxxl init --new express-bun --name my-api --domain pxxl.pro --deploy
Boilerplate README files link back to Pxxl docs and the Pxxl deploy flow, so generated repos already explain how to ship the project.