4.9 KiB
description, argument-hint, allowed-tools
| description | argument-hint | allowed-tools | |||||
|---|---|---|---|---|---|---|---|
| Initialize comprehensive documentation structure for project | [context] |
|
Initialize Project Documentation
Generate comprehensive documentation structure for your project based on detected technologies and configuration.
Your Task
-
Detect Project Characteristics:
- Technology stack (language, frameworks, databases)
- Project type (web app, CLI, library, microservice, etc.)
- Infrastructure (Docker, K8s, cloud configs)
- Database/ORM presence (SQLAlchemy, Prisma, TypeORM, Django, etc.)
-
Determine Relevant Documentation:
-
Core Documentation (always generate):
docs/architecture.md- System architecture overviewdocs/onboarding.md- Developer onboarding guidedocs/adr/0001-record-architecture-decisions.md- First ADR (meta-ADR)
-
Data Documentation (if database detected):
docs/data-model.md- Database schema & ER diagrams
-
Infrastructure Documentation (if deployment configs found):
docs/deployment.md- CI/CD & deployment proceduresdocs/security.md- Security architecture
-
Development Documentation (if collaborative project):
docs/contributing.md- Contribution guidelinesdocs/rfc/- RFC directory for proposals
-
-
Check for Existing Documentation:
- Scan
docs/directory - If files exist, ask user before overwriting
- Show what will be created vs what exists
- Scan
-
Load Templates:
- Templates are in
commands/docs/templates/ - Use appropriate template for each document type
- Replace placeholders with project-specific values
- Templates are in
-
Generate Documentation:
- Create
docs/directory if it doesn't exist - Create subdirectories:
docs/adr/,docs/rfc/(if needed) - Generate each relevant documentation file
- Populate with project-specific content
- Create
-
Template Placeholders: Replace these in templates:
{{PROJECT_NAME}}- From git repo name or directory name{{DATE}}- Current date (YYYY-MM-DD format){{TECH_STACK}}- Detected technologies{{DESCRIPTION}}- Brief project description from README or git{{CONTEXT}}- Gathered context from codebase analysis
-
Report Results:
- List all documentation files created
- Show what was skipped (already exists)
- Provide next steps
Context Detection Examples
Technology Stack
# Check for language/framework
!`find . -name "package.json" -o -name "pyproject.toml" -o -name "go.mod" -o -name "Cargo.toml" | head -5`
# Check for database
!`find . -name "*models.py" -o -name "*schema.prisma" -o -name "*entity.ts" | head -5`
# Check for infrastructure
!`find . -name "Dockerfile" -o -name "docker-compose.yml" -o -name "*.k8s.yaml" | head -5`
Project Information
# Get project name
!`basename $(git rev-parse --show-toplevel 2>/dev/null || pwd)`
# Get project description
!`head -20 README.md 2>/dev/null || echo ""`
Usage
Basic initialization (auto-detect everything):
/docs:init
With additional context:
/docs:init for Python FastAPI microservice
/docs:init for Next.js SaaS application
/docs:init for React component library
Template Locations
Templates are loaded from commands/docs/templates/:
| Document Type | Template File |
|---|---|
| Architecture | architecture.md |
| Onboarding | onboarding.md |
| ADR (first) | adr/nygard.md |
| Data Model | data-model.md |
| Deployment | deployment.md |
| Security | security.md |
| Contributing | contributing.md |
Important Notes
- Zero-config: Works without any configuration file
- Smart detection: Only generates relevant documentation
- Safe: Always asks before overwriting existing files
- Customizable: User context in command is used to enhance generation
- Git-aware: Uses git information when available
- Incremental: Can be run multiple times safely
Example Output
Documentation Initialization Complete ✓
Created:
✓ docs/architecture.md - System architecture overview
✓ docs/onboarding.md - Developer onboarding guide
✓ docs/adr/0001-record-architecture-decisions.md - Meta-ADR
✓ docs/data-model.md - Database schema (SQLAlchemy detected)
✓ docs/deployment.md - Deployment guide (Docker detected)
Skipped (already exists):
⊘ docs/contributing.md
Next Steps:
1. Review and customize generated documentation
2. Run /docs:diagram er to generate ER diagram
3. Run /docs:diagram arch to generate architecture diagram
4. Create ADRs for key decisions: /docs:adr "Decision Title"
When to Run
Run this command when:
- Starting a new project
- Adding documentation to an existing project
- Reorganizing project documentation
- Onboarding new team members
Note: You can run this command multiple times. It will only create missing files and ask before overwriting existing ones.