home / skills / shipshitdev / library / project-scaffold

This skill scaffolds unified projects across monorepo or separate repos, creating backend, frontend, mobile, and extension components with interactive prompts.

npx playbooks add skill shipshitdev/library --skill project-scaffold

Review the files below or copy the command above to add this skill to your agents.

Files (3)
SKILL.md
4.9 KB
---
name: project-scaffold
description: Unified project scaffolder that works across all platforms. Scaffold .agent folders, backend (NestJS), frontend (NextJS), mobile (Expo), and browser extensions (Plasmo) with interactive prompts. Supports both monorepo and separate repository structures, and can add components to existing projects.
---

# Project Scaffold

Unified project scaffolder for creating new projects or adding components to existing ones.

## Purpose

This skill provides a unified way to scaffold:

- `.agents/` 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)

```bash
python3 ~/.claude/skills/project-scaffold/scripts/scaffold.py
```

The script will ask you:

1. Project name
2. Project root path
3. Repository structure (monorepo vs separate)
4. Components to scaffold (all optional):
   - .agent folder
   - Backend (NestJS)
   - Frontend (NextJS)
   - Mobile (Expo)
   - Extension (Plasmo)
5. Organization name (for monorepo packages)

### From Claude

When user requests scaffolding, activate this skill and run:

```bash
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:

- `.agents/` 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/
├── .agents/                  # AI documentation
├── package.json             # Workspace root
├── api/                     # NestJS backend
│   ├── .agents/
│   ├── apps/api/src/
│   └── package.json
├── frontend/                # NextJS apps
│   ├── .agents/
│   ├── apps/dashboard/
│   └── package.json
├── mobile/                  # Expo app
│   ├── .agents/
│   ├── app/
│   └── package.json
└── extension/               # Plasmo extension
    ├── .agents/
    ├── src/
    └── package.json
```

### Separate Repos Example

```
myproject-api/               # Backend only
├── .agents/
├── apps/api/src/
└── package.json

myproject-frontend/          # Frontend only
├── .agents/
├── 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

1. **Install dependencies**:

   ```bash
   cd [project-root]
   bun install
   ```

2. **Start development**:

   ```bash
   # Monorepo
   bun run dev:api
   bun run dev:frontend
   
   # Separate repos
   cd api && bun run start:dev
   cd frontend && bun run dev
   ```

3. **Customize**:
   - Update `.agents/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.

Overview

This skill is a unified project scaffolder that creates new projects or adds platform-specific components to existing repositories. It supports .agents folders, backend (NestJS), frontend (NextJS), mobile (Expo), and browser extensions (Plasmo), and works with both monorepo and separate-repo setups. Interactive prompts guide the process so you scaffold only what you need. It is designed for AI-first development and integrates with Claude, Codex, and Cursor workflows.

How this skill works

Run the included Python script in interactive mode to answer prompts for project name, root path, repository layout, and which components to scaffold. The script generates folder structures, package/workspace configuration, and starter code for each selected component (.agents, backend, frontend, mobile, extension). It also supports adding components into existing projects and reuses shared templates and patterns for consistency.

When to use it

  • Starting a new fullstack or mobile project with a consistent structure
  • Adding a backend, frontend, mobile app, or extension to an existing repo
  • Setting up a monorepo with workspaces or creating separate repositories per component
  • Bootstrapping AI-first projects with .agents documentation
  • Onboarding teams to a standardized starter setup across Claude/Codex/Cursor tools

Best practices

  • Run the interactive script from the intended project root and confirm paths before generation
  • Choose monorepo for tightly coupled components and separate repos for independently deployable services
  • Keep .agents/SYSTEM/RULES.md updated with team coding and AI guidelines after scaffolding
  • Install dependencies and run the provided dev scripts immediately to verify the scaffold
  • Customize environment variables and organization filters (multi-tenancy) before adding production data

Example use cases

  • Create a monorepo with API (NestJS), dashboard (NextJS), mobile app (Expo), and Plasmo extension in one flow
  • Add a new NextJS frontend to an existing NestJS backend repository
  • Scaffold only the .agents folder and documentation structure for an AI-first project
  • Bootstrap a new Expo mobile app and wire it to the same workspace as frontend and backend
  • Generate a lightweight Plasmo extension alongside a dashboard for feature parity across web and extension

FAQ

Can I run the scaffolder non-interactively?

The script is designed for interactive prompts; you can automate it by wrapping the script or modifying it to accept CLI args or environment values.

Will the scaffolder override existing files?

The tool is intended to add components and will avoid overwriting existing projects; always back up your repo or run in a test directory first.