A CLI tool that generates production-ready backend projects in seconds — so you can focus on building, not configuring.
npm install -g @kidkender/archgen
archgen create my-appAnswer a few prompts. Your project is ready in under a second.
- Generate a complete backend project in under 1 second
- Opinionated architecture — clean, consistent, maintainable
- Built-in authentication, logging, error handling, and validation
- Multi-language support — Node.js and Python
- Optional Docker + docker-compose setup
- Optional testing setup with example test files
- Optional GitHub Actions CI workflow
- Interactive CLI prompts — no flags required
- Post-scaffold addon injection with
archgen add
| Language | Stack |
|---|---|
| Node.js | TypeScript · Fastify · Prisma · MariaDB/MySQL · Redis · JWT · Zod · Pino · Swagger |
| Python | FastAPI · SQLAlchemy 2.0 · Alembic · PostgreSQL · Redis · Pydantic v2 · APScheduler |
archgen create my-apparchgen create my-api --language node --docker --testing --ci
archgen create my-api --language node --all # enable all addons at once
archgen create my-service --language python --author "John Doe"
archgen create my-app --database postgresql
archgen create my-app --force # overwrite existing directory
archgen create my-app --dry-run # preview files without writing
archgen create my-app --skip-git # skip automatic git initcd my-existing-project
archgen add docker
archgen add testing
archgen add ci
archgen add ci --dry-run # preview changes without writingarchgen list # list available languages and addons
archgen info node # show full stack details for a language
archgen doctor # check that required tools are installed| Flag | Description | Default |
|---|---|---|
-l, --language |
node or python |
prompt |
--database |
mysql or postgresql (Node.js only) |
prompt |
--docker |
Include Dockerfile + docker-compose | false |
--testing |
Include testing setup | false |
--ci |
Include GitHub Actions CI workflow | false |
--all |
Enable docker + testing + ci at once | false |
-a, --author |
Author name | Your Name |
-d, --description |
Project description | — |
--force |
Overwrite existing directory | false |
--dry-run |
Preview files without writing | false |
--skip-git |
Skip automatic git init | false |
Node.js
my-app/
├── src/
│ ├── config/ # env, database, redis, logger
│ ├── middleware/ # auth, error handling, rate limiting
│ ├── modules/ # auth, users, health — ready to extend
│ ├── shared/ # utils, cache, exceptions, types
│ └── jobs/ # background job scheduler
├── prisma/
├── tests/
├── .env.example
├── .editorconfig
└── package.json
Python
my-api/
├── app/
│ ├── core/ # config, database, redis, logging
│ ├── middleware/ # auth, error, logging, rate limiting
│ ├── schedulers/ # background jobs with APScheduler
│ ├── schemas/ # Pydantic request/response models
│ └── routes/ # API routers
├── migrations/
├── tests/
├── .env.example
├── .editorconfig
└── pyproject.toml
- Node.js >= 18
- git (optional — for auto
git init) - Docker (optional — for
--dockeraddon)
ISC © Kidkender