MR
Mayur Rathi
@mayurrathi
⭐ 6 GitHub stars

Project Scaffolding

Project Scaffolding is an productivity AI skill with a core value of Monorepo structure, Vite project initialization, shared config patterns, apps. It helps developers solve real-world problems in the productivity domain, boosting efficiency, automating repetitive tasks, and optimizing workflows.

Monorepo structure, Vite project initialization, shared config patterns, apps.json registry, dependency management, and new-project checklists.

Last verified on: 2026-07-07

Quick Facts

Category productivity
Works With Claude
Source mayurrathi/awesome-agent-skills
Stars ⭐ 6
Last Verified 2026-07-07
Risk Level Low
mkdir -p ./skills/project-scaffolding && curl -sfL https://raw.githubusercontent.com/mayurrathi/awesome-agent-skills/main/skills/project-scaffolding/SKILL.md -o ./skills/project-scaffolding/SKILL.md

Run in terminal / PowerShell. Requires curl (Unix) or PowerShell 5+ (Windows).

Skill Content

# 2.1.2 Project Scaffolding


This skill defines the standards for initializing new projects within the Business Idea Prototypes workspace, maintaining the monorepo structure, and managing shared configurations.


1. Workspace Directory Structure

**Goal:** Consistent, predictable project layout across all apps.

* **Root Layout:**

```

Business Idea Prototypes/

├── .agent/skills/ # Global skill directory (this directory)

├── packages/ # Parent for all app projects

│ ├── .agent/ # Legacy (deprecated — use root .agent)

│ ├── apps.example.com/ # Portal site & app directory

│ ├── example-game/ # Example Game app

│ ├── utility-app/ # Example utility app

│ └── <new-app>/ # Future apps go here

├── Test business ideas/ # Research & ideation scratch space

├── src/ # Root landing page source

└── index.html # Root landing page

```

* **Per-App Structure:** Every app under `packages/` must follow:

```

<app-name>/

├── public/ # Static assets (icons, images, manifest.json)

├── src/ # Source code (components, styles, utils)

├── dist/ # Build output (gitignored)

├── index.html # Entry point

├── package.json # Dependencies & scripts

├── vite.config.js # Build configuration

├── .gitignore # Standard ignores

└── README.md # Project documentation

```


2. New Project Initialization Checklist

**Goal:** Never miss a setup step when starting a new app.

* **Step 1 — Scaffold:** Run `npx -y create-vite@latest ./ --template react` (or `vanilla` for non-React apps) inside the new directory under `packages/`.

* **Step 2 — Dependencies:** Install project-specific dependencies. Common baseline: `npm install firebase` (if using Firebase).

* **Step 3 — PWA Setup:** Create `public/manifest.json` following Skill 05 standards. Create `public/sw.js` with App Shell caching. Add service worker registration to `main.js`.

* **Step 4 — Design System:** Set up `src/index.css` with design tokens from Skill 04. Import Google Font. Define dark mode variables.

* **Step 5 — Git:** Initialize with `git init`. Create `.gitignore`. Make initial commit: `git commit -m "feat: initial scaffold"`.

* **Step 6 — Registry:** Add the new app entry to `apps.example.com/apps.json` with `id`, `name`, `description`, `path`, `icon`, `status`, and `tags`.

* **Step 7 — README:** Create `README.md` with project name, description, tech stack, setup instructions, and deployment URL.


3. `apps.json` Registry Protocol

**Goal:** The portal at apps.example.com always has an accurate directory of all apps.

* **Schema:**

```json

{

"id": "kebab-case-id",

"name": "Human Readable Name",

"description": "One-line description with key differentiators.",

"path": "/app-id/",

"icon": "🎯",

"status": "Live | Beta | Development | Archived",

"tags": ["PWA", "Firebase", "Realtime", "Offline"]

}

```

* **Status Lifecycle:** `Development` → `Beta` → `Live` → `Archived`. Update status in `apps.json` at each transition.

* **Deployment:** The portal itself is hosted on GitHub Pages at `apps.example.com`. After updating `apps.json`, commit and push to trigger deployment.


4. Shared Configuration Patterns

**Goal:** Reduce boilerplate across projects.

* **Vite Config:** Standard `vite.config.js` should include: React plugin (if React), build target `es2020`, sourcemaps enabled in dev, environment variable prefixing.

* **ESLint:** Use a shared ESLint config. Recommended: `@eslint/js` with `globals` for browser. For React: add `eslint-plugin-react-hooks` and `eslint-plugin-react-refresh`.

* **Environment Variables:** Prefix all client-side env vars with `VITE_`. Store sensitive values in `.env.local` (gitignored). Document r

🎯 Best For

  • Claude users
  • Knowledge workers
  • Remote teams
  • Professionals

💡 Use Cases

  • Using Project Scaffolding in daily workflow
  • Automating repetitive productivity tasks

📖 How to Use This Skill

  1. 1

    Install the Skill

    Copy the install command from the Terminal tab and run it. The SKILL.md file downloads to your local skills directory.

  2. 2

    Load into Your AI Assistant

    Open Claude and reference the skill. Paste the SKILL.md content or use the system prompt tab.

  3. 3

    Apply Project Scaffolding to Your Work

    Provide context for your task — paste source material, describe your audience, or share existing work to guide the AI.

  4. 4

    Review and Refine

    Edit the AI output for accuracy, tone, and completeness. Add human insight where the AI lacks context.

❓ Frequently Asked Questions

How do I install Project Scaffolding?

Copy the install command from the Terminal tab and run it. The skill downloads to ./skills/project-scaffolding/SKILL.md, ready to use.

Can I customize this skill for my team?

Absolutely. Edit the SKILL.md file to add team-specific instructions, examples, or workflows.

⚠️ Common Mistakes to Avoid

Not reading the full skill

Skills contain important context and edge cases beyond the quick start.

🔗 Related Skills