Clean Architecture project generator for TypeScript. Scaffold libraries (v0.1) and full-stack apps (v0.2+) with sensible defaults, working tests, and AI-friendly structure.
npx @autosergach/archkit create my-lib
cd my-lib
pnpm install
pnpm testTip: install once globally for the short
archkitcommand everywhere:npm install -g @autosergach/archkit archkit create my-lib
You get a TypeScript library with:
- ES2022, NodeNext modules, strict TypeScript
vitestfor testseslintflat config withtypescript-eslint- Clean Architecture skeleton:
domain/,application/,ports/ - A working example use case (
createUser) with passing tests
archkit create [project-name] # scaffold a new project
archkit create my-lib --dry-run # preview without writing files
archkit create my-lib --out ./libs # custom output directory
archkit --help
archkit --version| Flag | Default | Description |
|---|---|---|
--out <dir> |
. |
Where to create the project directory |
--package-name <name> |
(project name, kebab-cased) | npm name field |
--skip-install |
— | Skip the "run pnpm install?" prompt |
--dry-run |
— | Print planned actions without writing files |
TypeScript library with Clean Architecture layout:
my-lib/
├── src/
│ ├── domain/ # entities, value objects, errors
│ ├── application/ # use cases (depend on ports)
│ ├── ports/ # interfaces for external dependencies
│ └── index.ts # public API barrel
├── tests/ # vitest unit tests
├── package.json
├── tsconfig.json
├── vitest.config.ts
└── eslint.config.js
- ✅ v0.1.0 —
library-cleantemplate,archkit createcommand,--dry-run - 🚧 v0.2.0 — NestJS+React fullstack template,
--ai-readyflag (autogenCLAUDE.md,.claude/settings.json,agents.md) - 🚧 v0.3.0 — Plugin system for custom templates
See docs/architecture.md for how the codebase is organized.
git clone https://github.com/autosergach/archkit.git
cd archkit
pnpm install
pnpm -r build
pnpm -r test
pnpm test:e2eMIT © Alex Rogov