Initial commit: Fresh start with current state
This commit is contained in:
145
.claude/commands/scaffold.md
Normal file
145
.claude/commands/scaffold.md
Normal file
@@ -0,0 +1,145 @@
|
||||
---
|
||||
description: Generate boilerplate code structure for new features (component, service, API endpoint, etc.)
|
||||
allowed-tools: Read(*), Write(*), Edit(*), Grep(*), Glob(*), Bash(*)
|
||||
argument-hint: [type] [name]
|
||||
---
|
||||
|
||||
# Scaffold Command
|
||||
|
||||
Generate boilerplate code structure for common components.
|
||||
|
||||
## Technology Adaptation
|
||||
|
||||
**Configuration Source**: [CLAUDE.md](../../CLAUDE.md)
|
||||
|
||||
Consult CLAUDE.md for:
|
||||
- **Project Structure**: Where files should be created
|
||||
- **Naming Conventions**: How to name files and components
|
||||
- **Framework Patterns**: Component structure for the framework
|
||||
- **Testing Setup**: Test file structure and naming
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
/scaffold [type] [name]
|
||||
```
|
||||
|
||||
Examples:
|
||||
- `/scaffold component UserProfile`
|
||||
- `/scaffold api user`
|
||||
- `/scaffold service PaymentProcessor`
|
||||
- `/scaffold model Product`
|
||||
|
||||
## Instructions
|
||||
|
||||
1. **Parse Arguments**
|
||||
- $1 = type (component, api, service, model, test, etc.)
|
||||
- $2 = name (PascalCase or camelCase as appropriate)
|
||||
|
||||
2. **Read Project Patterns**
|
||||
- Review CLAUDE.md for:
|
||||
- Project structure and conventions
|
||||
- Framework in use
|
||||
- Existing patterns
|
||||
- Find similar existing files as templates
|
||||
- Use serena MCP to analyze existing patterns
|
||||
|
||||
3. **Generate Structure**
|
||||
- Create appropriate files per project conventions
|
||||
- Follow naming from CLAUDE.md
|
||||
- Include:
|
||||
- Main implementation file
|
||||
- Test file (if applicable)
|
||||
- Interface/types (if applicable)
|
||||
- Documentation comments
|
||||
- Imports for common dependencies
|
||||
|
||||
4. **Adapt to Framework**
|
||||
- Apply framework-specific patterns
|
||||
- Use correct syntax from CLAUDE.md language
|
||||
- Include framework boilerplate
|
||||
- Follow project's organization
|
||||
|
||||
## Supported Types
|
||||
|
||||
Adapt based on CLAUDE.md technology stack:
|
||||
|
||||
### Frontend (React, Vue, Angular, etc.)
|
||||
- `component`: UI component with props/state
|
||||
- `page`: Page-level component with routing
|
||||
- `hook`: Custom hook (React)
|
||||
- `store`: State management slice
|
||||
- `service`: Frontend service/API client
|
||||
|
||||
### Backend (Express, Django, Rails, etc.)
|
||||
- `api`: API endpoint/route with controller
|
||||
- `service`: Business logic service
|
||||
- `model`: Data model/entity
|
||||
- `repository`: Data access layer
|
||||
- `middleware`: Request middleware
|
||||
|
||||
### Full Stack
|
||||
- `feature`: Complete feature with frontend + backend
|
||||
- `module`: Self-contained module
|
||||
- `test`: Test suite for existing code
|
||||
|
||||
### Database
|
||||
- `migration`: Database migration
|
||||
- `seed`: Database seed data
|
||||
- `schema`: Database schema definition
|
||||
|
||||
## MCP Server Usage
|
||||
|
||||
### Serena MCP
|
||||
|
||||
**Code Navigation**:
|
||||
- `get_symbols_overview` - Find existing patterns to follow
|
||||
- `find_symbol` - Locate similar components to use as templates
|
||||
- `search_for_pattern` - Find common boilerplate patterns
|
||||
|
||||
**Persistent Memory** (stored in `.serena/memories/`):
|
||||
- Use `write_memory` to store scaffold patterns:
|
||||
- "scaffold-pattern-[type]-[framework]"
|
||||
- "scaffold-convention-[component-type]"
|
||||
- "lesson-boilerplate-[feature]"
|
||||
- Use `read_memory` to recall project scaffolding conventions
|
||||
- Use `list_memories` to review scaffold patterns
|
||||
|
||||
### Memory MCP (Knowledge Graph)
|
||||
|
||||
**Temporary Context** (in-memory, cleared after session):
|
||||
- Use `create_entities` for components being scaffolded
|
||||
- Use `create_relations` to map component dependencies
|
||||
- Use `add_observations` to document scaffold decisions
|
||||
|
||||
**Note**: After scaffolding, store reusable patterns in Serena memory.
|
||||
|
||||
### Context7 MCP
|
||||
- Use `get-library-docs` for framework scaffolding patterns and best practices
|
||||
|
||||
## Output Format
|
||||
|
||||
After scaffolding:
|
||||
|
||||
```markdown
|
||||
## Scaffolded: [Type] - [Name]
|
||||
|
||||
### Files Created
|
||||
- `[path/to/file1]` - [Description]
|
||||
- `[path/to/file2]` - [Description]
|
||||
- `[path/to/file3]` - [Description]
|
||||
|
||||
### Next Steps
|
||||
1. Implement core logic in `[main file]`
|
||||
2. Add tests in `[test file]`
|
||||
3. Update imports where needed
|
||||
4. Run: [test command from CLAUDE.md]
|
||||
|
||||
### Example Usage
|
||||
```[language]
|
||||
[Code example showing how to use the scaffolded code]
|
||||
```
|
||||
|
||||
### Integration
|
||||
[How this integrates with existing code]
|
||||
```
|
||||
Reference in New Issue
Block a user