- name
- scaffold
- description
- Generate incremental local code modules following existing codebase patterns. Use for endpoints, components, packages, collections, or modules inside an existing repo; not for full project scaffolds.
- metadata
- {"version":"1.0.0","tags":"scaffolding, code-generation, boilerplate, productivity"}
# Scaffold
Generate incremental code inside an existing repository, following local
codebase patterns.
## Contract
Inputs:
- Scaffold target type and name
- Repository root
- Existing examples to follow
Outputs:
- Files created or modified
- Patterns copied from existing code
- Manual follow-up steps and tests to run
Creates/Modifies:
- Local source, test, and export files for the requested module/component/package
- Does not create a full product repo
External Side Effects:
- None
Confirmation Required:
- Before overwriting existing files
- Before introducing a new pattern when fewer than 3 matching examples exist
Delegates To:
- `project-init-orchestrator` when the user needs a whole new project
- `fullstack-workspace-init` / `npx @shipshitdev/v0` when the user needs a new Shipshit.dev product repo
- Framework-specific skills such as `nestjs-expert`, `react-patterns`, `shadcn`, or `typescript-expert`
## Steps
1. **Determine what to scaffold** from arguments:
- `endpoint [name]` — New API endpoint (controller + service + module)
- `module [name]` — New backend module with full structure
- `component [name]` — New UI component with proper typing
- `package [name]` — New shared package
- `collection [name]` — New database collection with schema + service
2. **Find 3+ existing examples**:
- Search for similar implementations in the codebase
- Identify the exact patterns used (imports, naming, file structure)
- Note any module-specific conventions
3. **Scaffold based on type**:
### API Endpoint
- Controller, Service, Module in appropriate directory
- Follow: auth guards, tenant filtering, serializer response
### UI Component
- Component file with proper typing
- Props interface in dedicated props file
- Export from barrel
### Shared Package
- Directory with package.json
- Barrel export: `src/index.ts`
- TypeScript config
### Database Collection
- Schema/model file
- Interface in shared interfaces package
- Serializer in shared serializers package (if applicable)
4. **Apply critical rules**:
- Interfaces in dedicated files, not inline
- Path aliases, not relative imports
- Tenant/organization filter in all queries (if applicable)
5. **Report**: List all files created and any manual steps needed
## Arguments
- Required: what to scaffold (e.g., "endpoint tasks", "component ImageGrid", "collection workflows")
View on GitHub