Project Scaffold
Unified project scaffolder for creating new projects or adding components to existing ones.
Purpose
This skill provides a unified way to scaffold:
.agent/ folder structure for AI-first development Backend (NestJS) with MongoDB, Swagger, and best practices Frontend (NextJS) with Tailwind and @agenticindiedev/ui Mobile (Expo) with React Native and Expo Router Browser Extension (Plasmo) with React and Tailwind When to Use
Use this skill when:
Starting a new project from scratch Adding components to an existing project Setting up a monorepo or separate repositories Need a unified scaffolding experience across Claude, Codex, and Cursor Usage Interactive Mode (Recommended) python3 ~/.claude/skills/project-scaffold/scripts/scaffold.py
The script will ask you:
Project name Project root path Repository structure (monorepo vs separate) Components to scaffold (all optional): .agent folder Backend (NestJS) Frontend (NextJS) Mobile (Expo) Extension (Plasmo) Organization name (for monorepo packages) From Claude
When user requests scaffolding, activate this skill and run:
python3 ~/.claude/skills/project-scaffold/scripts/scaffold.py
The script handles all interactive prompts.
Features Flexible Structure Monorepo: All components in one repository with workspace configuration Separate repos: Each component in its own directory/repository Existing projects: Can add components to existing projects Component Options
All components are optional - scaffold only what you need:
.agent/ folder with full AI documentation structure Backend with NestJS, MongoDB, Swagger Frontend with NextJS 15, Tailwind, @agenticindiedev/ui Mobile with Expo Router, React Native Extension with Plasmo, React, Tailwind Cross-Platform
Works from:
Claude Code Codex Cursor Generated Structure Monorepo Example myproject/ ├── .agent/ # AI documentation ├── package.json # Workspace root ├── api/ # NestJS backend │ ├── .agent/ │ ├── apps/api/src/ │ └── package.json ├── frontend/ # NextJS apps │ ├── .agent/ │ ├── apps/dashboard/ │ └── package.json ├── mobile/ # Expo app │ ├── .agent/ │ ├── app/ │ └── package.json └── extension/ # Plasmo extension ├── .agent/ ├── src/ └── package.json
Separate Repos Example myproject-api/ # Backend only ├── .agent/ ├── apps/api/src/ └── package.json
myproject-frontend/ # Frontend only ├── .agent/ ├── apps/dashboard/ └── package.json
Key Patterns Included Backend (NestJS) Soft deletes: isDeleted: boolean Multi-tenancy: Always filter by organization Collection pattern: controllers → services → schemas Swagger documentation Dockerfile included Frontend (NextJS) Path aliases: @components/, @services/, @hooks/ Tailwind CSS with @agenticindiedev/ui TypeScript strict mode App Router structure Mobile (Expo) Expo Router for navigation TypeScript configuration Platform-specific configurations Extension (Plasmo) React + TypeScript Tailwind CSS with @agenticindiedev/ui Manifest configuration Popup component Next Steps After Scaffolding
Install dependencies:
cd [project-root] bun install
Start development:
Monorepo
bun run dev:api bun run dev:frontend
Separate repos
cd api && bun run start:dev cd frontend && bun run dev
Customize:
Update .agent/SYSTEM/RULES.md with your coding standards Configure environment variables Add your first features Integration with Existing Skills
This skill integrates with:
agent-folder-init: Uses its script for .agent folder scaffolding fullstack-workspace-init: Reuses component templates and patterns Troubleshooting
Script not found: Ensure the skill is installed in ~/.claude/skills/project-scaffold/
Permission denied: Make script executable: chmod +x ~/.claude/skills/project-scaffold/scripts/scaffold.py
Python not found: Ensure Python 3 is installed and in PATH
Agent folder not created: The script tries to use agent-folder-init skill. If not found, it will skip .agent folder creation.