ForgeKit

ForgeKit

Full-stack scaffolding CLI. One command generates a production-ready project — backend, frontend, database, CI/CD, and AI tooling wired together.

version downloads MIT node
$ npm i -g @iconsulting-dev/forgekit
Get started View on GitHub

What it generates

Pick your stack — ForgeKit assembles everything and hands you a project that runs on day one.

Backend
Spring Boot 3 Java 21
FastAPI Python 3.12
Frontend
Angular 19 Standalone OnPush Lazy routes
UI Framework
PrimeNG Aura Lara Nora
Tailwind v4 none
Infrastructure
PostgreSQL 17 Docker Compose GitHub Actions
Optional features
JWT auth Flyway OpenAPI MapStruct NgRx SignalStore
AI Tooling
Claude Code Hookify guards Skills Speckit

Quickstart

1

Install ForgeKit

$ npm i -g @iconsulting-dev/forgekit
2

Run the interactive wizard

$ 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!
3

Start the stack

$ 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

Prerequisites

Install what you need for your chosen stack. ForgeKit auto-detects installed tools and adjusts wizard options accordingly.

Required for all stacks

Tool Version Install
Node.js ≥ 20 nodejs.org
Git any git-scm.com

Spring Boot backend

Tool Version Install
Java (JDK) 21+ adoptium.net · brew install temurin@21
Maven 3.9+ Bundled via ./mvnw — no install needed

FastAPI backend

Tool Version Install
Python 3.12+ python.org · brew install python@3.12
pip any Bundled with Python

Docker Compose

Tool Install
Docker Desktop docker.com Required for PostgreSQL + pgAdmin

Claude Code (optional)

Tool Install
claude npm i -g @anthropic-ai/claude-code

Auto-checked in the wizard if claude is in your $PATH.

Speckit (optional)

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.

Examples

Spring Boot + Angular
FastAPI + Angular
API only
Full stack + auth
# 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.

Generated project structure

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

Claude Code integration

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.

What's included

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

Skills copied per stack

Stack Skill
Spring Boot applying-java-conventions
FastAPI applying-python-conventions
Angular frontend applying-angular-conventions

Dynamic version resolution

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.