@kidkender/archgen
v1.0.3
Published
Generate production-ready Node.js and Python project structures in seconds
Maintainers
Readme
archgen
A CLI tool that generates production-ready backend projects in seconds — so you can focus on building, not configuring.
Quick Start
npm install -g @kidkender/archgen
archgen create my-appAnswer a few prompts. Your project is ready in under a second.
Features
- 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
Supported Stacks
| 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 |
Usage
Interactive mode (recommended)
archgen create my-appWith flags
archgen 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 initInject addons into an existing project
cd my-existing-project
archgen add docker
archgen add testing
archgen add ci
archgen add ci --dry-run # preview changes without writingOther commands
archgen list # list available languages and addons
archgen info node # show full stack details for a language
archgen doctor # check that required tools are installedOptions
| 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 |
Generated Project Structure
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.jsonPython
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.tomlRequirements
- Node.js >= 18
- git (optional — for auto
git init) - Docker (optional — for
--dockeraddon)
License
ISC © Kidkender
