miles-knowbl

scaffold

1
0
# Install this skill:
npx skills add miles-knowbl/orchestrator --skill "scaffold"

Install specific skill from multi-skill repository

# Description

Generate project and feature scaffolding with proper structure, configuration, and boilerplate. Creates new projects from scratch or adds features to existing codebases. Applies stack-specific conventions, tooling setup, and best practices. Produces ready-to-develop foundations that follow team standards.

# SKILL.md


name: scaffold
description: "Generate project and feature scaffolding with proper structure, configuration, and boilerplate. Creates new projects from scratch or adds features to existing codebases. Applies stack-specific conventions, tooling setup, and best practices. Produces ready-to-develop foundations that follow team standards."
phase: SCAFFOLD
category: core
version: "1.0.0"
depends_on: ["spec"]
tags: [setup, structure, boilerplate]


Scaffold

Generate project and feature scaffolding with proper structure.

When to Use

  • New project β€” Starting from scratch, need full setup
  • New feature β€” Adding feature to existing codebase
  • New service β€” Adding service to existing system
  • Migration β€” Moving to new structure or stack
  • When you say: "scaffold this", "set up a new project", "create the structure for"

Reference Requirements

MUST read before applying this skill:

Reference Why Required
directory-structures.md Standard project layouts
configuration-templates.md Config file templates

Read if applicable:

Reference When Needed
project-templates.md When creating new projects
service-templates.md When adding services
documentation-templates.md When setting up docs structure

Verification: Ensure scaffold builds and runs before proceeding.

Required Deliverables

Deliverable Location Condition
Project directory structure Project root Always
package.json or equivalent Project root Always
tsconfig.json / config files Project root As applicable
README.md Project root Always (initial)

Core Concept

Scaffold answers: "What's the starting structure for this?"

Good scaffolding is:
- Consistent β€” Follows established patterns and conventions
- Complete β€” Includes all necessary configuration
- Minimal β€” No unnecessary boilerplate
- Ready β€” Can start development immediately

Scaffolding is NOT:
- Implementation (that's implement)
- Architecture design (that's architect)
- Code generation for business logic

Scaffolding Types

Type Scope Output
Project Entire new project Full directory structure, config, tooling
Feature New feature in existing project Feature directory, components, tests
Service New service in system Service boilerplate, API, deployment
Module New module/package Module structure, exports, tests
Component UI component Component file(s), styles, tests

The Scaffolding Process

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                 SCAFFOLDING PROCESS                     β”‚
β”‚                                                         β”‚
β”‚  1. UNDERSTAND CONTEXT                                  β”‚
β”‚     └─→ What type? What stack? What conventions?        β”‚
β”‚                                                         β”‚
β”‚  2. IDENTIFY REQUIREMENTS                               β”‚
β”‚     └─→ What's needed? What integrations? What tools?   β”‚
β”‚                                                         β”‚
β”‚  3. SELECT TEMPLATE                                     β”‚
β”‚     └─→ Use existing template or create custom?         β”‚
β”‚                                                         β”‚
β”‚  4. CUSTOMIZE CONFIGURATION                             β”‚
β”‚     └─→ Adapt template to specific needs                β”‚
β”‚                                                         β”‚
β”‚  5. GENERATE STRUCTURE                                  β”‚
β”‚     └─→ Create directories, files, boilerplate          β”‚
β”‚                                                         β”‚
β”‚  6. VERIFY SETUP                                        β”‚
β”‚     └─→ Does it build? Does it run? Are tools working?  β”‚
β”‚                                                         β”‚
β”‚  7. DOCUMENT                                            β”‚
β”‚     └─→ README, setup instructions, conventions         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Step 1: Understand Context

Before scaffolding, gather:

Aspect Questions
Type Project, feature, service, module, component?
Stack Languages, frameworks, tools?
Conventions Existing patterns? Team standards?
Environment Dev, staging, prod? Cloud provider?
Team Experience level? Preferred tools?

Context Checklist

- [ ] Scaffolding type identified
- [ ] Technology stack confirmed
- [ ] Existing conventions documented
- [ ] Target environment understood
- [ ] Team preferences known

Step 2: Identify Requirements

Project Requirements

## Project Scaffolding Requirements

**Core:**
- [ ] Language/runtime version
- [ ] Framework and version
- [ ] Package manager
- [ ] Build tooling

**Development:**
- [ ] Linting configuration
- [ ] Formatting configuration
- [ ] Testing framework
- [ ] Development server

**Infrastructure:**
- [ ] Docker/containerization
- [ ] CI/CD pipeline
- [ ] Deployment configuration
- [ ] Environment management

**Integrations:**
- [ ] Database
- [ ] Authentication
- [ ] External APIs
- [ ] Monitoring/logging

Feature Requirements

## Feature Scaffolding Requirements

- [ ] Feature name and location
- [ ] Components needed (UI, API, data)
- [ ] Test files needed
- [ ] Shared dependencies
- [ ] Routing/navigation integration

Step 3: Select Template

Template Decision

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                                                         β”‚
β”‚  Existing project with conventions?                     β”‚
β”‚           β”‚                                             β”‚
β”‚           β”œβ”€β”€ YES β†’ Follow existing patterns            β”‚
β”‚           β”‚                                             β”‚
β”‚           └── NO β†’ Standard template exists?            β”‚
β”‚                        β”‚                                β”‚
β”‚                        β”œβ”€β”€ YES β†’ Use standard template  β”‚
β”‚                        β”‚                                β”‚
β”‚                        └── NO β†’ Create minimal custom   β”‚
β”‚                                                         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Standard Templates

Stack Template Source Notes
React Create React App, Vite, Next.js Vite preferred for new projects
Vue create-vue, Nuxt
Node.js Express generator, Fastify CLI
Python Poetry new, Cookiecutter
Django django-admin startproject
Go Standard layout, go mod init
Rust cargo new

β†’ See references/project-templates.md

Brownfield Project Handling

CRITICAL: Before scaffolding, detect existing project setup.

Detection Checklist

Run these checks before generating any files:

Check Files to Look For If Found
Package manager pnpm-lock.yaml, yarn.lock, package-lock.json, bun.lockb Use detected package manager
Framework next.config.*, nuxt.config.*, svelte.config.*, vite.config.*, elm.json, angular.json Follow framework conventions
Backend manage.py, go.mod, Cargo.toml, requirements.txt, pyproject.toml Follow backend patterns
Directory structure src/, lib/, app/, packages/ Follow existing structure
Config files tsconfig.json, .eslintrc.*, .prettierrc Extend, don't replace
Test framework jest.config.*, vitest.config.*, pytest.ini Use existing test setup
Build tooling vite.config.*, webpack.config.*, turbo.json Use existing bundler
Database prisma/, drizzle.config.*, migrations/, alembic/ See infra-database skill
Docker docker-compose.yml, Dockerfile See infra-docker skill

If Existing Project Found

Scenario Action
Adding feature to existing project Follow existing patterns exactly
Has different tech than requested Clarify with user: extend existing or migrate?
Has partial setup Complete setup without replacing existing config
Converting structure Gradual migration, preserve functionality first
Has Makefile or scripts/dev.sh Preserve/wrap existing interfaces

Universal Package Manager Detection

detect_package_manager() {
    [ -f "pnpm-lock.yaml" ] && echo "pnpm" && return
    [ -f "yarn.lock" ] && echo "yarn" && return
    [ -f "bun.lockb" ] && echo "bun" && return
    [ -f "package-lock.json" ] && echo "npm" && return
    [ -f "package.json" ] && echo "npm" && return
    [ -f "poetry.lock" ] && echo "poetry" && return
    [ -f "Pipfile.lock" ] && echo "pipenv" && return
    [ -f "go.mod" ] && echo "go" && return
    [ -f "Cargo.toml" ] && echo "cargo" && return
    [ -f "Gemfile.lock" ] && echo "bundler" && return
    echo "unknown"
}

Brownfield Decision Tree

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                                                                             β”‚
β”‚  Does project have existing package.json / pyproject.toml / go.mod?         β”‚
β”‚           β”‚                                                                 β”‚
β”‚           β”œβ”€β”€ YES β†’ Does it have existing directory structure?              β”‚
β”‚           β”‚              β”‚                                                  β”‚
β”‚           β”‚              β”œβ”€β”€ YES β†’ BROWNFIELD: Follow existing patterns     β”‚
β”‚           β”‚              β”‚                                                  β”‚
β”‚           β”‚              └── NO β†’ PARTIAL: Complete setup carefully         β”‚
β”‚           β”‚                                                                 β”‚
β”‚           └── NO β†’ GREENFIELD: Use standard templates                       β”‚
β”‚                                                                             β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Step 4: Customize Configuration

Configuration Layers

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚            Application Config           β”‚  ← app.config.ts, settings.py
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚            Build/Bundle Config          β”‚  ← vite.config.ts, webpack.config.js
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚            Tooling Config               β”‚  ← eslint, prettier, jest
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚            Environment Config           β”‚  ← .env, docker-compose
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚            Infrastructure Config        β”‚  ← Dockerfile, k8s, terraform
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Essential Configuration Files

Category Files Purpose
Package package.json, pyproject.toml, go.mod Dependencies
TypeScript tsconfig.json Compiler options
Linting .eslintrc, .pylintrc, .golangci.yml Code quality
Formatting .prettierrc, .editorconfig Code style
Testing jest.config.js, pytest.ini Test runner
Git .gitignore, .gitattributes Version control
Environment .env.example, .env.local Env variables
Docker Dockerfile, docker-compose.yml Containerization
CI/CD .github/workflows/, .gitlab-ci.yml Automation

β†’ See references/configuration-templates.md

Step 5: Generate Structure

Project Structure Principles

Principle Description
Flat over nested Avoid deep nesting (max 3-4 levels)
Feature-based Group by feature, not by type
Predictable Consistent naming, obvious locations
Scalable Structure that works at 10x size

Common Structures

Frontend (React/Vue)

project/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/          # Shared components
β”‚   β”‚   └── Button/
β”‚   β”‚       β”œβ”€β”€ Button.tsx
β”‚   β”‚       β”œβ”€β”€ Button.test.tsx
β”‚   β”‚       └── index.ts
β”‚   β”œβ”€β”€ features/            # Feature modules
β”‚   β”‚   └── auth/
β”‚   β”‚       β”œβ”€β”€ components/
β”‚   β”‚       β”œβ”€β”€ hooks/
β”‚   β”‚       β”œβ”€β”€ api.ts
β”‚   β”‚       └── index.ts
β”‚   β”œβ”€β”€ hooks/               # Shared hooks
β”‚   β”œβ”€β”€ lib/                 # Utilities
β”‚   β”œβ”€β”€ types/               # TypeScript types
β”‚   β”œβ”€β”€ App.tsx
β”‚   └── main.tsx
β”œβ”€β”€ public/
β”œβ”€β”€ tests/
β”‚   β”œβ”€β”€ e2e/
β”‚   └── integration/
β”œβ”€β”€ .env.example
β”œβ”€β”€ package.json
β”œβ”€β”€ tsconfig.json
β”œβ”€β”€ vite.config.ts
└── README.md

Backend (Node.js/Express)

project/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ modules/             # Feature modules
β”‚   β”‚   └── users/
β”‚   β”‚       β”œβ”€β”€ users.controller.ts
β”‚   β”‚       β”œβ”€β”€ users.service.ts
β”‚   β”‚       β”œβ”€β”€ users.repository.ts
β”‚   β”‚       β”œβ”€β”€ users.routes.ts
β”‚   β”‚       β”œβ”€β”€ users.types.ts
β”‚   β”‚       └── users.test.ts
β”‚   β”œβ”€β”€ common/              # Shared code
β”‚   β”‚   β”œβ”€β”€ middleware/
β”‚   β”‚   β”œβ”€β”€ errors/
β”‚   β”‚   └── utils/
β”‚   β”œβ”€β”€ config/              # Configuration
β”‚   β”œβ”€β”€ database/            # DB setup, migrations
β”‚   β”œβ”€β”€ app.ts               # Express app setup
β”‚   └── server.ts            # Entry point
β”œβ”€β”€ tests/
β”‚   β”œβ”€β”€ integration/
β”‚   └── fixtures/
β”œβ”€β”€ scripts/
β”œβ”€β”€ .env.example
β”œβ”€β”€ package.json
β”œβ”€β”€ tsconfig.json
β”œβ”€β”€ Dockerfile
└── README.md

Backend (Python/Django)

project/
β”œβ”€β”€ src/
β”‚   └── project_name/
β”‚       β”œβ”€β”€ apps/
β”‚       β”‚   └── users/
β”‚       β”‚       β”œβ”€β”€ models.py
β”‚       β”‚       β”œβ”€β”€ views.py
β”‚       β”‚       β”œβ”€β”€ serializers.py
β”‚       β”‚       β”œβ”€β”€ urls.py
β”‚       β”‚       └── tests/
β”‚       β”œβ”€β”€ core/            # Shared code
β”‚       β”œβ”€β”€ settings/
β”‚       β”‚   β”œβ”€β”€ base.py
β”‚       β”‚   β”œβ”€β”€ development.py
β”‚       β”‚   └── production.py
β”‚       β”œβ”€β”€ urls.py
β”‚       └── wsgi.py
β”œβ”€β”€ tests/
β”œβ”€β”€ scripts/
β”œβ”€β”€ pyproject.toml
β”œβ”€β”€ Dockerfile
└── README.md

β†’ See references/directory-structures.md

Step 6: Verify Setup

Verification Checklist

## Scaffolding Verification

### Build
- [ ] Dependencies install without errors
- [ ] Project builds/compiles successfully
- [ ] No TypeScript/type errors
- [ ] Linting passes

### Run
- [ ] Development server starts
- [ ] Application renders/responds
- [ ] Hot reload works
- [ ] Environment variables load

### Test
- [ ] Test runner executes
- [ ] Sample tests pass
- [ ] Coverage reporting works

### Tools
- [ ] Linting works (IDE and CLI)
- [ ] Formatting works
- [ ] Git hooks run (if configured)
- [ ] CI pipeline runs (if configured)

Smoke Test Commands

# Install dependencies
npm install  # or yarn, pnpm, pip install, go mod download

# Build
npm run build  # or equivalent

# Lint
npm run lint

# Test
npm run test

# Start dev server
npm run dev

Step 7: Document

README Template

# Project Name

Brief description of what this project does.

## Prerequisites

- Node.js 18+
- pnpm 8+
- PostgreSQL 14+

## Getting Started

1. Clone the repository
2. Copy environment file: `cp .env.example .env`
3. Install dependencies: `pnpm install`
4. Start database: `docker-compose up -d db`
5. Run migrations: `pnpm db:migrate`
6. Start dev server: `pnpm dev`

## Scripts

| Script | Description |
|--------|-------------|
| `dev` | Start development server |
| `build` | Build for production |
| `test` | Run tests |
| `lint` | Run linter |
| `format` | Format code |

## Project Structure

[Brief explanation of directory structure]

## Environment Variables

| Variable | Description | Required |
|----------|-------------|----------|
| `DATABASE_URL` | PostgreSQL connection string | Yes |
| `API_KEY` | External API key | Yes |

## Deployment

[Deployment instructions]

## Contributing

[Contribution guidelines]

β†’ See references/documentation-templates.md

Feature Scaffolding

Feature Structure

When adding a feature to existing project:

src/features/[feature-name]/
β”œβ”€β”€ components/              # Feature-specific components
β”‚   └── FeatureComponent.tsx
β”œβ”€β”€ hooks/                   # Feature-specific hooks
β”‚   └── useFeature.ts
β”œβ”€β”€ api/                     # API calls
β”‚   └── featureApi.ts
β”œβ”€β”€ types/                   # Type definitions
β”‚   └── feature.types.ts
β”œβ”€β”€ utils/                   # Utilities
β”‚   └── featureUtils.ts
β”œβ”€β”€ __tests__/               # Tests
β”‚   └── Feature.test.tsx
└── index.ts                 # Public exports

Feature Checklist

## Feature Scaffolding Checklist

### Structure
- [ ] Feature directory created
- [ ] Components directory (if UI)
- [ ] Hooks directory (if needed)
- [ ] API module (if backend calls)
- [ ] Types file
- [ ] Test files
- [ ] Index file with exports

### Integration
- [ ] Route added (if needed)
- [ ] Navigation updated (if needed)
- [ ] State management connected (if needed)
- [ ] API endpoints defined

### Boilerplate
- [ ] Component skeleton
- [ ] Hook skeleton
- [ ] Test skeleton
- [ ] Type definitions

Service Scaffolding

Microservice Structure

service-name/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ handlers/            # Request handlers
β”‚   β”œβ”€β”€ services/            # Business logic
β”‚   β”œβ”€β”€ repositories/        # Data access
β”‚   β”œβ”€β”€ models/              # Data models
β”‚   β”œβ”€β”€ middleware/          # Middleware
β”‚   β”œβ”€β”€ config/              # Configuration
β”‚   └── index.ts             # Entry point
β”œβ”€β”€ tests/
β”œβ”€β”€ scripts/
β”œβ”€β”€ Dockerfile
β”œβ”€β”€ docker-compose.yml
β”œβ”€β”€ .env.example
β”œβ”€β”€ package.json
└── README.md

Service Checklist

## Service Scaffolding Checklist

### Core
- [ ] Entry point configured
- [ ] HTTP server setup
- [ ] Health check endpoint
- [ ] Graceful shutdown

### Configuration
- [ ] Environment variables
- [ ] Config validation
- [ ] Secrets management

### Infrastructure
- [ ] Dockerfile
- [ ] Docker Compose (dev)
- [ ] Kubernetes manifests (if needed)

### Observability
- [ ] Logging setup
- [ ] Metrics endpoint
- [ ] Tracing setup (if needed)

### CI/CD
- [ ] Build workflow
- [ ] Test workflow
- [ ] Deploy workflow

β†’ See references/service-templates.md

Stack-Specific Guidance

TypeScript/Node.js

// tsconfig.json essentials
{
  "compilerOptions": {
    "target": "ES2022",
    "module": "NodeNext",
    "moduleResolution": "NodeNext",
    "strict": true,
    "esModuleInterop": true,
    "skipLibCheck": true,
    "outDir": "./dist",
    "rootDir": "./src"
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "dist"]
}

Python

# pyproject.toml essentials
[project]
name = "project-name"
version = "0.1.0"
requires-python = ">=3.11"
dependencies = []

[project.optional-dependencies]
dev = [
    "pytest>=7.0",
    "ruff>=0.1",
    "mypy>=1.0",
]

[tool.ruff]
line-length = 88
select = ["E", "F", "I"]

[tool.mypy]
strict = true

Go

// Standard project layout
project/
β”œβ”€β”€ cmd/
β”‚   └── server/
β”‚       └── main.go
β”œβ”€β”€ internal/
β”‚   β”œβ”€β”€ handlers/
β”‚   β”œβ”€β”€ services/
β”‚   └── models/
β”œβ”€β”€ pkg/                     # Public packages
β”œβ”€β”€ go.mod
β”œβ”€β”€ go.sum
└── Makefile

β†’ See references/stack-configurations.md

Common Pitfalls

Pitfall Problem Solution
Over-scaffolding Too many empty directories Only create what you need now
Wrong abstraction level Premature service extraction Start simple, extract when needed
Inconsistent naming Mixed conventions Establish and follow naming rules
Missing configuration Works locally, fails in CI Include all config files
No verification Scaffold doesn't build Always verify setup works

Output Checklist

Before considering scaffolding complete:

## Scaffolding Completion Checklist

### Structure
- [ ] All necessary directories created
- [ ] Entry points configured
- [ ] Exports properly defined

### Configuration
- [ ] Package manager configured
- [ ] Build tooling configured
- [ ] Linting configured
- [ ] Formatting configured
- [ ] Testing configured
- [ ] Environment management set up

### Verification
- [ ] Dependencies install
- [ ] Project builds
- [ ] Tests run
- [ ] Dev server starts
- [ ] Linting passes

### Documentation
- [ ] README with setup instructions
- [ ] Environment variables documented
- [ ] Scripts documented
- [ ] Structure explained

Relationship to Other Skills

Skill Relationship
architect Architecture informs scaffold structure
frontend-design (Frontend systems) DESIGN.md informs component directory structure
spec Spec may define required components to scaffold
implement Scaffold provides foundation for implementation
code-verification Scaffold should pass verification from start

Key Principles

Start minimal. Add structure as needed, not preemptively.

Follow conventions. Use established patterns for the stack.

Verify immediately. A scaffold that doesn't build is useless.

Document setup. Others need to know how to get started.

Consistency over novelty. Match existing project patterns when adding features.

References

  • references/project-templates.md: Full project templates by stack
  • references/directory-structures.md: Directory layout patterns
  • references/configuration-templates.md: Config file templates
  • references/service-templates.md: Microservice scaffolding
  • references/documentation-templates.md: README and doc templates
  • references/stack-configurations.md: Stack-specific setup guides

# Supported AI Coding Agents

This skill is compatible with the SKILL.md standard and works with all major AI coding agents:

Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.