Full-stack scaffolding CLI. One command generates a production-ready project — backend, frontend, database, CI/CD, and AI tooling wired together.
npm i -g @iconsulting-dev/forgekit
Pick your stack — ForgeKit assembles everything and hands you a project that runs on day one.
$ npm i -g @iconsulting-dev/forgekit
$ forgekit new ? Project name: my-app ? Backend: Spring Boot (Java 21) ? Include Angular frontend? Yes ? Group ID: com.example ? Backend features: Flyway ✓ OpenAPI ✓ MapStruct ✓ ? UI framework: PrimeNG (Aura) ? Infrastructure: Docker ✓ CI/CD ✓ Claude Code ✓ Git ✓ ✔ Project my-app created successfully!
$ cd my-app # Start database $ docker compose up -d # Start backend $ cd backend && ./mvnw spring-boot:run # Start frontend (new terminal) $ cd frontend && npm install && npm start
Install what you need for your chosen stack. ForgeKit auto-detects installed tools and adjusts wizard options accordingly.
| Tool | Version | Install |
|---|---|---|
| Node.js | ≥ 20 | nodejs.org |
| Git | any | git-scm.com |
| Tool | Version | Install |
|---|---|---|
| Java (JDK) | 21+ |
adoptium.net ·
brew install temurin@21
|
| Maven | 3.9+ | Bundled via ./mvnw — no install needed |
| Tool | Version | Install |
|---|---|---|
| Python | 3.12+ |
python.org ·
brew install python@3.12
|
| pip | any | Bundled with Python |
| Tool | Install | |
|---|---|---|
| Docker Desktop | docker.com | Required for PostgreSQL + pgAdmin |
| Tool | Install |
|---|---|
| claude | npm i -g @anthropic-ai/claude-code |
Auto-checked in the wizard if claude is in your
$PATH.
| Tool | Install |
|---|---|
| uv |
curl -LsSf https://astral.sh/uv/install.sh | sh
|
| specify |
uv tool install specify-cli --from
git+https://github.com/github/spec-kit.git
|
Auto-checked in the wizard if specify is in your
$PATH.
# Spring Boot + Angular + Docker + Claude Code $ forgekit new my-app \ --spring-boot \ --group com.example \ --frontend \ --docker \ --claude-code
Generates a Spring Boot 3 backend with PostgreSQL + pgAdmin via Docker Compose, an Angular 19 frontend with PrimeNG, and a complete Claude Code configuration.
# FastAPI + Angular + Docker $ forgekit new my-app \ --fastapi \ --frontend \ --docker \ --claude-code
FastAPI backend with uvicorn + pytest, Angular frontend, Docker Compose with PostgreSQL and a FastAPI service container.
# FastAPI backend only — no frontend, no Docker $ forgekit new my-api \ --fastapi \ --no-frontend \ --no-docker
Minimal FastAPI project: main.py,
config.py, health router, pytest setup, Dockerfile.
Nothing else.
# Spring Boot + Angular + Auth + NgRx + all features $ forgekit new my-app \ --spring-boot \ --group com.example \ --auth \ --flyway \ --openapi \ --mapstruct \ --frontend \ --ngrx \ --ui primeng \ --preset Aura \ --docker \ --ci \ --claude-code
Everything: Spring Security + JWT config, Flyway migrations, SpringDoc Swagger UI, MapStruct mappers, Angular with NgRx SignalStore, GitHub Actions CI, and Claude Code config with stack-specific skills.
my-app/ ├── backend/ # Spring Boot 3 / FastAPI │ └── src/main/java/com/example/myapp/ │ ├── Application.java │ ├── config/ │ │ ├── SecurityConfig.java # (--auth) │ │ └── OpenApiConfig.java │ └── shared/exception/ │ ├── GlobalExceptionHandler.java │ └── ApiError.java │ ├── frontend/src/app/ # Angular 19 │ ├── app.component.ts # Standalone, OnPush │ ├── app.routes.ts # Lazy-loaded routes │ ├── layout/ # Sidebar + topbar shell │ ├── core/ # (--auth) interceptors, guard, service │ └── features/home/ │ ├── docker-compose.yml # PostgreSQL 17 + pgAdmin ├── .github/workflows/ci.yml # GitHub Actions │ ├── CLAUDE.md # AI workflow conventions ├── .claude/ │ ├── settings.json │ ├── hooks/ # pre-bash.sh, session-start.sh │ ├── hookify.block-dangerous-rm.local.md │ ├── hookify.block-force-push.local.md │ └── skills/ # Stack-specific AI skills │ └── .specify/memory/constitution.md # Architectural constitution
ForgeKit generates a complete Claude Code configuration — the only scaffolding tool that does this. Every developer who clones the project gets the same AI conventions without any manual setup.
| File | Purpose |
|---|---|
| CLAUDE.md | Workflow routing, TDD rules, stack conventions |
| .claude/settings.json | Permissions + hooks (SessionStart, PreToolUse, PreCompact) |
| .claude/hooks/session-start.sh | Auto-loads architectural constitution at session start |
| .claude/hooks/pre-bash.sh | Guards dangerous commands at the bash level |
| hookify.block-dangerous-rm | Blocks rm -rf |
| hookify.block-force-push | Blocks git push --force |
| hookify.block-no-verify | Blocks --no-verify |
| hookify.warn-console-log | Warns on leftover console.log |
| hookify.warn-env-edit | Warns on .env edits |
| hookify.stop-verify-tests | TDD reminder before session end |
| .claude/skills/ | Stack-specific coding conventions copied per stack |
| Stack | Skill |
|---|---|
| Spring Boot | applying-java-conventions |
| FastAPI | applying-python-conventions |
| Angular frontend | applying-angular-conventions |
ForgeKit resolves the latest stable versions from npm and Maven Central at generation time — your project is never outdated on day one.
| Registry | Packages |
|---|---|
| npm | Angular, PrimeNG, @primeuix/themes, NgRx Signals, Tailwind CSS, RxJS, TypeScript, zone.js |
| Maven Central | Spring Boot, SpringDoc OpenAPI, MapStruct |
Fallback versions are used if the registry is unreachable.