Skip to content

Releases: Kidkender/archgen

v1.0.7 — Claude Code & Cursor Agent Addons

23 Apr 10:33
e6d343f

Choose a tag to compare

What's New

New Flags

  • --claude-code — injects CLAUDE.md + .claude/skills/ into the generated project so Claude Code agent has full project context and pre-configured skills ready to use
  • --cursor — injects .cursor/skills/ (Cursor skill.md format) with the same skill set for Cursor agent
  • Both flags can be combined: archgen create my-app --claude-code --cursor
  • Interactive multiselect prompt when neither flag is passed

Skills bundled per agent

Node.js: backend-patterns, api-design, database-migrations, docker-patterns, security-review, tdd-workflow, deployment-patterns

Python: python-patterns, python-testing, backend-patterns, postgres-patterns, database-migrations, docker-patterns, security-review

Also works with archgen add

archgen add claude-code
archgen add cursor

Bug Fixes

  • Integration snapshot tests: fixed mockFs.exists mock so addon conditions evaluate correctly in test environment

What's Changed

  • feat: release v1.0.7 — Claude Code & Cursor agent addons by @Kidkender in #3

Full Changelog: v1.0.6...v1.0.7

v1.0.6 — Bug fixes for WebSocket, OAuth2, and archgen add

10 Apr 04:32

Choose a tag to compare

What's New

Bug Fixes

  • WebSocket: Socket.io now uses transports: ['websocket'] to avoid Fastify HTTP router conflict (polling was returning 404)
  • OAuth2: Updated generateAuthorizationUri to @fastify/oauth2 v8 API — now passes (request, reply) instead of ({ state })
  • OAuth2: Added @fastify/cookie dependency required by @fastify/oauth2 v8 for state cookie management
  • OAuth2: Added src/app.ts overlay — cookie, googleOAuth2, githubOAuth2, and oauthRoutes are auto-registered; no manual integration needed
  • archgen add: Fixed dep merge — archgen add websocket/oauth/api-docs now correctly updates package.json with addon dependencies

Docs

  • Updated README with new addon flags (--websocket, --oauth, --api-docs)
  • Updated CHANGELOG
  • Added CONTRIBUTORS.md with contribution guide and conventions

v1.0.4

02 Apr 03:16

Choose a tag to compare

What's New in v1.0.4

Architecture

  • BasePlugin abstract class — shared generate() and applyAddon() logic extracted from both plugins. Adding a new language now only requires implementing variables, template path, and addon entries — zero boilerplate.
  • ArchGenError typed errorsArchGen.create() and ArchGen.addAddon() now throw ArchGenError with a .code field instead of calling process.exit(). Safe to use as a library.
import { ArchGen, ArchGenError } from "@kidkender/archgen";
try {
  await archgen.create("my-app", options);
} catch (e) {
  if (e instanceof ArchGenError) console.error(e.code, e.message);
}

New Flags

Flag Description
--output <dir> Generate project in a custom directory
--quiet Suppress all output except errors
--verbose Show debug-level output
--husky Add Husky + lint-staged to Node.js projects
archgen create my-app --output /tmp/projects --quiet
archgen create my-app --language node --husky

New Commands

# Shell completion
archgen completion bash >> ~/.bashrc
archgen completion zsh  >> ~/.zshrc
archgen completion fish >> ~/.config/fish/completions/archgen.fish

New Addons

  • Husky + lint-staged (--husky) for Node.js — generates .husky/pre-commit and lint-staged.config.mjs
  • Python SQLite (--language python --database sqlite) — aiosqlite driver, auto-configured database.py and config.py
archgen create my-api --language node --husky
archgen create my-service --language python --database sqlite

Dry-run improvements

archgen add --dry-run now shows colored output:

  • 🟢 [new] — file will be created
  • 🟡 [overwrite] — file already exists and will be replaced

Meta file

Every generated project now includes .archgen-meta.json:

{
  "version": "1.0.4",
  "language": "node",
  "addons": ["docker", "testing"],
  "database": "postgresql",
  "generatedAt": "2026-04-01T00:00:00.000Z",
  "projectName": "my-app"
}

Tests

  • Added tests/unit/node-plugin.test.ts and tests/unit/python-plugin.test.ts (26 new tests)
  • Added tests/integration/snapshot.test.ts for template regression detection
  • Total: 78 tests across 8 suites

Full Changelog: https://github.com/Kidkender/archgen/blob/main/CHANGELOG.md

v1.0.3 — CLI Polish & Docker Fixes

27 Mar 04:00
bd79fca

Choose a tag to compare

What's New

New Commands

  • archgen add <addon> — inject docker, testing, or ci into an existing project without regenerating
  • archgen info <language> — display full stack details (runtime, ORM, cache, auth, validation...)
  • archgen doctor — check that required tools are installed (Node, npm, git, Docker, Python)

New Flags

  • --ci — include GitHub Actions CI workflow at creation time
  • --skip-git — skip automatic git init
  • --all — shorthand for --docker --testing --ci
  • --database validation — error immediately on invalid values

Template Improvements

  • GitHub Actions CI workflow for both Node.js and Python
  • ESLint v9 flat config (eslint.config.mjs) replacing deprecated .eslintrc.json
  • .editorconfig in both generated templates
  • postinstall: prisma generate — Prisma client auto-generated after npm install

Bug Fixes

  • Docker: JWT_SECRET missing from docker-compose.yml (caused crash on docker-compose up)
  • Docker: no restart: on-failure on app service
  • Docker: npm cinpm install (new projects have no package-lock.json)
  • Database prompt now hidden when user selects Python

archgen v1.0.2 — Production-Ready Scaffolding

14 Mar 16:44
2cb2abc

Choose a tag to compare

Fixed

  • Exclude node_modules, .git, __pycache__, venv when copying templates to dist
  • Binary files in templates now copied verbatim instead of being read as UTF-8
  • Removed duplicate validateProjectName() — validation now handled solely by getNameError()
  • Swagger title placeholder {PROJECT_NAME}{{PROJECT_NAME}}
  • CLI version now read dynamically from package.json (was hardcoded 0.1.0)
  • Object.keys(registry)registry.list() in unsupported language error message
  • Python testing addon files now actually copied (was logging but not writing files)
  • Rollback: partially created project directory is removed on generation failure
  • Docker and testing addons now processed through template engine (placeholder replacement)
  • Filename placeholders ({{PROJECT_NAME}} in path components) now replaced correctly
  • dotenv added to Node template dependencies
  • Node template database stack unified to MySQL/MariaDB (removed PostgreSQL mismatch)
  • DATABASE_URL validation changed from z.string().url() to z.string().min(1) for mysql:// compatibility
  • Prompt cancel handling hardened — exits cleanly if answers are incomplete
  • Python __all__ in middleware uses string literals instead of class references
  • Path traversal explicitly prevented in project name handling

Added

  • Database choice for Node.js: MySQL/MariaDB (default) or PostgreSQL via --database flag or interactive prompt
  • PostgreSQL template overlay: @prisma/adapter-pg, PrismaPg adapter, schema.prisma, .env.example, package.json
  • Separate docker-pg addon with postgres:15-alpine docker-compose for PostgreSQL users
  • Expanded Node template .gitignore (dist, logs, OS files, IDE, lock files)
  • archgen list command to show available languages and addons
  • --force flag to overwrite existing project directory
  • --dry-run flag to preview files without writing
  • git init automatically run in generated projects
  • Custom help output with banner and usage examples
  • "exports" and "module" fields in package.json for proper ESM support
  • "publishConfig": { "access": "public" } for scoped npm package
  • TypeScript strict mode enabled (strict: true)
  • Unit test suite (vitest) for getNameError, TemplateEngine.replaceInString, PluginRegistry
  • CHANGELOG.md

What's Changed

  • feat: archgen v1.0.2 — bug fixes, new CLI features & database choice by @Kidkender in #1

New Contributors

Full Changelog: v1.0.0...v1.0.2

archgen v1.0.0 — First Stable Release

12 Mar 13:07

Choose a tag to compare

archgen v1.0.0

First stable release.

What's included

  • Generate a production-ready backend project in under 1 second
  • Interactive CLI — no flags required
  • Support for Node.js and Python backends
  • Optional Docker and testing setup

Stacks

Node.js — TypeScript, Fastify, Prisma, Redis, JWT, Zod, Pino, Swagger

Python — FastAPI, SQLAlchemy 2.0, Alembic, Redis, Pydantic v2, APScheduler

Installation

npm install -g archgen

Usage

archgen create my-app

Requirements

  • Node.js >= 18

ISC © [Kidkender](https://github.com/kidkender)

Full Changelog: https://github.com/Kidkender/archgen/commits/v1.0.0