
hmohamed01/claude-code-scaffolding-skill
Deployment & DevOpsA self-maintaining skill that adds scaffolding to IDE's such as cursor and VS code to create new projects.
Overview
IDE-grade project scaffolding wizard comparable to WebStorm and PyCharm project wizards. Supports across web, mobile, desktop, and backend development. Install both. The scaffolder works alone, but without the maintainer its dependency versions slowly go stale and there is no supported way to update them. - : Step-by-step project configuration like JetBrains IDEs - : From simple HTML/CSS to complex full-stack applications - : Node.js, Python, Go, Rust, Java version selection - : TypeScript, CSS frameworks, state management, routing - : PostgreSQL, MySQL, SQLite, MongoDB with various ORMs - : ESLint, Prettier, Ruff, mypy, golangci-lint, clippy - : Vitest, Jest, pytest, Go testing, Playwright - : Docker, docker-compose, GitHub Actions CI/CD - : Every dependency version resolves from a single manifest that is refreshed from npm and PyPI — never from guesswork - : The wizard checks how old its version data is and says so before recommending a stack - Pure HTML5 (no CSS) - HTML/CSS (no...
README
Project Scaffolding Skill for Claude Code
IDE-grade project scaffolding wizard comparable to WebStorm and PyCharm project wizards. Supports 70+ project types across web, mobile, desktop, and backend development.
This repository ships two skills that work together:
| Skill | Purpose |
|---|---|
project-scaffolding |
Creates projects. This is the one you use day to day. |
scaffolding-maintainer |
Keeps the scaffolder current — refreshes dependency versions from the npm and PyPI registries, and improves the wizard based on what real sessions revealed. |
Install both. The scaffolder works alone, but without the maintainer its dependency versions slowly go stale and there is no supported way to update them.
Features
- Interactive Wizard Workflow: Step-by-step project configuration like JetBrains IDEs
- 70+ Project Types: From simple HTML/CSS to complex full-stack applications
- SDK/Environment Configuration: Node.js, Python, Go, Rust, Java version selection
- Framework-Specific Options: TypeScript, CSS frameworks, state management, routing
- Database & ORM Setup: PostgreSQL, MySQL, SQLite, MongoDB with various ORMs
- Code Quality Tools: ESLint, Prettier, Ruff, mypy, golangci-lint, clippy
- Testing Configuration: Vitest, Jest, pytest, Go testing, Playwright
- DevOps Ready: Docker, docker-compose, GitHub Actions CI/CD
- Registry-Backed Versions: Every dependency version resolves from a single manifest that is refreshed from npm and PyPI — never from guesswork
- Staleness Aware: The wizard checks how old its version data is and says so before recommending a stack
Supported Project Types
Static Websites (HTML/CSS/JS)
- Pure HTML5 (no CSS)
- HTML/CSS (no build tools)
- HTML + Sass/SCSS
- HTML + Tailwind CLI
- Landing Pages
- Multi-page Sites
Frontend Web Frameworks
- React (Vite)
- Next.js 16 (App Router)
- Vue 3 / Nuxt 3
- SvelteKit
- Angular
- Astro
- Remix
- Solid.js
- Qwik
- Preact
Mobile & Cross-Platform
- React Native
- Expo
- Flutter
- Tauri (Desktop)
- Electron
- Ionic
Backend - JavaScript/TypeScript
- Express
- NestJS
- Fastify
- Hono
- Elysia
- tRPC
- Koa
Backend - Python
- FastAPI
- Django / Django REST
- Flask
- Litestar
Backend - Go
- Go + Gin
- Go + Fiber
- Go + Echo
- Go + Chi
Backend - Rust
- Rust + Axum
- Rust + Actix
- Rust + Rocket
Backend - Java/Kotlin
- Spring Boot
- Quarkus
- Ktor
- Micronaut
Backend - Other
- PHP + Laravel
- Ruby on Rails
- .NET Web API
Libraries & Packages
- TypeScript NPM Package
- Python PyPI Package
- Go Module
- Rust Crate
CLI Tools
- Node.js CLI
- Python CLI (Typer/Click)
- Go CLI (Cobra)
- Rust CLI (Clap)
Browser Extensions & Plugins
- Chrome Extension (Manifest V3)
- Firefox Extension
- VS Code Extension
- Figma Plugin
- Obsidian Plugin
Serverless & Edge
- AWS Lambda
- Cloudflare Workers
- Vercel Functions
- Supabase Functions
Full-Stack Templates
- T3 Stack (Next.js + tRPC + Prisma)
- MERN Stack
- PERN Stack
- MEAN Stack
Monorepos
- Turborepo
- Nx Workspace
- pnpm Workspace
Installation
Install both skills. They are separate packages so the maintenance instructions do not load into context every time you scaffold a project.
Option 1: Extract from Archives (Recommended)
# The scaffolder
unzip project-scaffolding.skill -d ~/.claude/skills/project-scaffolding
# The maintainer
unzip scaffolding-maintainer.skill -d ~/.claude/skills/scaffolding-maintainer
Option 2: Copy Source Files
If you have the unpacked source files, copy each skill’s directory contents:
# macOS/Linux
mkdir -p ~/.claude/skills/project-scaffolding
cp -r project-scaffolding/SKILL.md \
project-scaffolding/scripts/ \
project-scaffolding/references/ \
project-scaffolding/assets/ \
~/.claude/skills/project-scaffolding/
mkdir -p ~/.claude/skills/scaffolding-maintainer
cp -r scaffolding-maintainer/SKILL.md \
scaffolding-maintainer/scripts/ \
scaffolding-maintainer/references/ \
~/.claude/skills/scaffolding-maintainer/
assets/is required. It holdsversions.json, the manifest every dependency version is read from. Without it the scaffolder exits with a missing-manifest error rather than generating a project with unpinned dependencies.
Verify Installation
ls ~/.claude/skills/project-scaffolding/ ~/.claude/skills/scaffolding-maintainer/
# Confirm the scaffolder can read its manifest and report how fresh it is
python3 ~/.claude/skills/project-scaffolding/scripts/scaffold.py --version-status
Expected output:
Manifest : ~/.claude/skills/project-scaffolding/assets/versions.json
Last checked : 2026-09-12 (0 days ago)
Tracked : 89 npm, 31 pypi
Runtimes : node=24, python=3.14, go=1.26, java=21, rust_edition=2024
Status: FRESH (0d).
Keeping It Current
Framework and package versions move constantly. The scaffolding-maintainer skill exists to keep
up with that, along two deliberately separate paths.
Refreshing versions — ask Claude to “refresh the scaffolding versions”, or run it directly:
cd ~/.claude/skills/project-scaffolding
python3 scripts/refresh_versions.py # dry run: shows what would change
python3 scripts/refresh_versions.py --apply # applies the safe updates
The refresher queries npm and PyPI directly — versions are never written from memory. It auto-applies only settled, within-major updates and flags the rest for review:
| Marker | Meaning |
|---|---|
-> |
Within-major update, safe to apply automatically |
!! |
Major bump, pre-1.0 minor, or 0.0.x patch — needs review, because it can invalidate generated template code, not just a version number |
Prereleases are never adopted, even when a registry’s latest tag points at one.
Improving the wizard — when a scaffolding session hits something worth fixing (a rejected
default, a missing framework, output that failed to install), it is recorded in
assets/observations.md. Ask Claude to “act on the scaffolding observations” to review the log
and patch the skill.
Usage
Basic Usage
Simply ask Claude to create a project:
Create a simple HTML/CSS website
Create a new React project with TypeScript and Tailwind
Set up a FastAPI backend with PostgreSQL and SQLAlchemy
Build a Chrome extension with React
Create a mobile app with Expo
Initialize a Go API with Gin and PostgreSQL
Interactive Wizard
For detailed configuration, Claude will guide you through:
- Project Category & Type - Choose from 70+ options
- Basic Configuration - Name, description, author
- Language & SDK - Version selection, package managers
- Framework Options - CSS, state management, routing, ORM
- Code Quality - Linting, formatting, testing
- DevOps - Docker, CI/CD, deployment
Example Workflows
Simple HTML/CSS Website
User: Create a simple website
Claude: I'll create a static HTML/CSS website:
**Structure:**
- Multi-page (Home, About, Contact)
- Mobile-first responsive CSS
- BEM naming convention
- Live Server for development
**Files:**
my-website/
├── index.html
├── about.html
├── contact.html
├── css/style.css
├── js/main.js
├── images/
└── README.md
Shall I create this?
Mobile App with Expo
User: Create a mobile app for iOS and Android
Claude: I recommend Expo for the easiest setup:
**Configuration:**
- TypeScript
- Expo Router (file-based navigation)
- NativeWind (Tailwind for React Native)
- Tab navigation template
Ready to scaffold?
Go Backend API
User: Create a Go API with PostgreSQL
Claude: I'll set up Go + Gin:
**Structure:**
- Standard Go layout (cmd/, internal/, pkg/)
- sqlc for type-safe SQL
- JWT authentication
- Docker + docker-compose
**Features:**
- Swagger/OpenAPI docs
- Graceful shutdown
- Rate limiting
Proceed?
Configuration Options
JavaScript/TypeScript
| Option | Choices |
|---|---|
| Runtime | Node.js 22/24, Bun, Deno |
| Package Manager | npm, yarn, pnpm, bun |
| CSS | Tailwind, CSS Modules, Styled Components, Emotion |
| State | Zustand, Jotai, Redux, TanStack Query |
| Testing | Vitest, Jest, Playwright |
Python
| Option | Choices |
|---|---|
| Version | 3.12, 3.13, 3.14 |
| Environment | venv, uv, poetry, pipenv, conda |
| ORM | SQLAlchemy 2.0, SQLModel, Tortoise, Beanie |
| Linting | Ruff, Flake8+Black, Pylint |
| Testing | pytest |
Go
| Option | Choices |
|---|---|
| Version | 1.25, 1.26 |
| Framework | Gin, Fiber, Echo, Chi |
| Database | sqlc, GORM, sqlx, Ent |
| Testing | Built-in, Testify |
Rust
| Option | Choices |
|---|---|
| Edition | 2021, 2024 |
| Framework | Axum, Actix, Rocket |
| Async Runtime | Tokio |
| Database | SQLx |
What Gets Generated
HTML/CSS Website
my-website/
├── index.html
├── about.html
├── contact.html
├── css/
│ ├── style.css
│ └── reset.css
├── js/main.js
├── images/
├── favicon.ico
├── robots.txt
└── README.md
Next.js + tRPC + Prisma
my-nextjs-app/
├── .github/workflows/ci.yml
├── prisma/schema.prisma
├── src/
│ ├── app/
│ ├── components/
│ ├── lib/
│ ├── server/api/
│ └── types/
├── tests/
├── docker-compose.yml
├── Dockerfile
└── package.json
Go + Gin
my-go-api/
├── cmd/server/main.go
├── internal/
│ ├── api/handlers/
│ ├── config/
│ ├── models/
│ └── repository/
├── db/migrations/
├── docker-compose.yml
├── Dockerfile
├── go.mod
└── Makefile
Chrome Extension
my-extension/
├── src/
│ ├── popup/
│ ├── background/
│ ├── content/
│ └── options/
├── public/
│ ├── manifest.json
│ └── icons/
├── vite.config.ts
└── package.json
Comparison with IDE Wizards
| Feature | WebStorm/PyCharm | This Skill |
|---|---|---|
| Project templates | ✅ | ✅ (70+) |
| SDK selection | ✅ | ✅ |
| Framework options | ✅ | ✅ |
| Database setup | ✅ | ✅ |
| Run configurations | ✅ | ✅ (VS Code) |
| Git initialization | ✅ | ✅ |
| Docker support | Limited | ✅ |
| CI/CD setup | ❌ | ✅ |
| Mobile apps | Limited | ✅ |
| Browser extensions | ❌ | ✅ |
Quick Start Commands
HTML/CSS
mkdir my-site && cd my-site && touch index.html style.css
# Or use boilerplate:
npx degit h5bp/html5-boilerplate my-site
React + Vite
npm create vite@latest my-app -- --template react-ts
Next.js (T3 Stack)
npx create-t3-app@latest my-app
Expo (React Native)
npx create-expo-app@latest my-app --template tabs
Astro
npm create astro@latest
Tauri (Desktop)
npm create tauri-app@latest
Chrome Extension
npm create plasmo@latest
Files Included
project-scaffolding/ # SKILL 1 - creates projects
├── SKILL.md # Main skill definition (70+ project types)
├── scripts/
│ ├── scaffold.py # Scaffolding engine
│ └── refresh_versions.py # Queries npm/PyPI for current versions
├── references/
│ ├── frameworks.md # Framework configuration guides
│ ├── best-practices.md # Architecture patterns
│ └── wizard-options.md # Detailed wizard configuration options
└── assets/
├── versions.json # Single source of truth for every version
└── observations.md # Log of what real sessions revealed
scaffolding-maintainer/ # SKILL 2 - keeps skill 1 current
├── SKILL.md # Refresh and improvement workflows
├── references/
│ ├── template-drift.md # Which templates a major bump invalidates
│ └── review-workflow.md # Patching procedure, adding a project type
└── scripts/
└── verify_scaffold.py # Generates every type, validates, diffs
tests/golden/ # Baseline of generated output (repo only)
tests/golden/ is a development artifact and is not part of either installed skill. It lets any
change to the scaffolder be reviewed as a diff of exactly what users would receive.
Tips for Best Results
-
Be specific - “Create a React app with Tailwind and Zustand” works better than “create a web app”
-
Mention your stack - Include database, auth, or other requirements upfront
-
Ask for recommendations - Claude can suggest the best stack for your use case
-
Start simple - For HTML/CSS, just say “create a simple website”
-
Specify platform - For mobile, mention iOS/Android or both
Version History
- v3.1 - Self-maintaining release. All dependency versions centralized into
assets/versions.json, resolved through manifest lookups that fail loudly rather than emitting unpinned dependencies. Addedrefresh_versions.py(registry-backed, dry-run by default, gates majors and pre-1.0 bumps for review) and thescaffolding-maintainerskill. The wizard now reports how stale its version data is before recommending a stack. Golden-baseline verification covers all 19 project configurations - v3.0 - Major update: Tailwind CSS v4 (CSS-first config), ESLint flat config, React 19, Next.js 16, Svelte 5 (Runes), Angular 19, Vite 7, Express 5. Runtime defaults: Node.js 24, Python 3.14, Go 1.26, Rust 2024. New: Pure HTML5 static website option
- v2.4 - Improved HTML support: fixed Tailwind CLI configuration (removed orphaned PostCSS config), refactored template methods to eliminate code duplication (added helper methods for CSS links, header, footer), improved code maintainability
- v2.3 - Fixed scaffold.py: NestJS typo (@nestjs/swtc → @nestjs/schematics), removed unused templates_dir, updated @types/node to v22
- v2.2 - Restructured skill with progressive disclosure, added comprehensive wizard-options.md covering all 70+ project types, updated version defaults (Node.js 22, Python 3.12, Go 1.23)
- v2.1 - Added HTML/CSS static websites, Go, Rust, Java backends, mobile frameworks, browser extensions, serverless
- v2.0 - Initial enhanced release with 40+ project types
- v1.0 - Basic web framework support
License
MIT
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add hmohamed01/claude-code-scaffolding-skill