init
This commit is contained in:
@@ -0,0 +1,176 @@
|
||||
# Directory Patterns
|
||||
|
||||
Detailed patterns for each top-level category. See SKILL.md Rule 1 for overview.
|
||||
|
||||
## Documentation (`docs/`)
|
||||
|
||||
Evergreen project documentation for humans and AI agents.
|
||||
|
||||
```text
|
||||
docs/
|
||||
├── project-overview-pdr.md # Product/project requirements
|
||||
├── system-architecture.md # Architecture & components
|
||||
├── code-standards.md # Coding conventions
|
||||
├── codebase-summary.md # Auto-generated structure overview
|
||||
├── project-roadmap.md # Milestones & progress
|
||||
├── project-changelog.md # Version history
|
||||
├── design-guidelines.md # UI/UX standards
|
||||
├── deployment-guide.md # Deploy procedures
|
||||
├── journals/ # Technical diary
|
||||
│ └── {YYMMDD-HHmm}-{slug}.md # Session reflections, decisions
|
||||
└── decisions/ # Architecture Decision Records
|
||||
└── {YYMMDD}-{slug}.md # ADR documents
|
||||
```
|
||||
|
||||
**Rules:**
|
||||
- Evergreen docs: no date prefix, slug-only naming
|
||||
- Journals: always timestamped, one per session/event
|
||||
- ADRs: date-prefixed, sequential numbering optional
|
||||
- Keep docs under 200 lines; split into subsections if needed
|
||||
|
||||
## Plans (`plans/`)
|
||||
|
||||
Implementation plans, research, and agent communication.
|
||||
|
||||
```text
|
||||
plans/
|
||||
├── {YYMMDD-HHmm}-{slug}/ # Timestamped plan folders
|
||||
│ ├── plan.md # Overview (<80 lines)
|
||||
│ ├── phase-{NN}-{name}.md # Phase details
|
||||
│ ├── research/ # Research for this plan
|
||||
│ │ └── researcher-{NN}-{topic}.md
|
||||
│ └── reports/ # Agent reports scoped to plan
|
||||
│ ├── scout-report.md
|
||||
│ ├── code-reviewer-report.md
|
||||
│ └── tester-report.md
|
||||
├── reports/ # Standalone agent reports
|
||||
│ └── {type}-{YYMMDD-HHmm}-{slug}.md
|
||||
├── research/ # Standalone research
|
||||
│ └── researcher-{YYMMDD-HHmm}-{topic}.md
|
||||
├── templates/ # Reusable plan templates
|
||||
│ └── {type}-template.md
|
||||
└── visuals/ # Generated diagrams/previews
|
||||
└── {slug}.{ext}
|
||||
```
|
||||
|
||||
**Report type prefixes:** `scout-`, `researcher-`, `brainstorm-`, `code-reviewer-`, `tester-`, `debugger-`, `planner-`
|
||||
|
||||
**Rules:**
|
||||
- Plan folders always timestamped
|
||||
- Phase files: `phase-{NN}-{name}.md` with zero-padded numbers (01, 02...)
|
||||
- Scoped reports go inside their plan folder
|
||||
- Standalone reports go in `plans/reports/`
|
||||
- plan.md: keep generic, under 80 lines, link to phase files
|
||||
|
||||
## Tests (`tests/`)
|
||||
|
||||
Test suites mirroring source structure.
|
||||
|
||||
```text
|
||||
tests/
|
||||
├── unit/ # Unit tests
|
||||
│ └── {module}.test.{ext}
|
||||
├── integration/ # Integration tests
|
||||
│ └── {feature}.integration.{ext}
|
||||
├── e2e/ # End-to-end tests
|
||||
│ └── {flow}.e2e.{ext}
|
||||
├── fixtures/ # Test data/fixtures
|
||||
│ └── {name}.{ext}
|
||||
└── helpers/ # Shared test utilities
|
||||
└── {name}.{ext}
|
||||
```
|
||||
|
||||
**Rules:**
|
||||
- Mirror source directory structure where practical
|
||||
- Use `.test.`, `.spec.`, `.integration.`, `.e2e.` suffixes
|
||||
- Fixtures: descriptive names, no dates
|
||||
- Follow project's existing test convention if one exists
|
||||
|
||||
## Scripts (`scripts/`)
|
||||
|
||||
Build, deploy, and utility scripts.
|
||||
|
||||
```text
|
||||
scripts/
|
||||
├── {action}-{target}.{ext} # e.g., prepare-release-assets.cjs
|
||||
├── {category}/ # Group if 5+ scripts
|
||||
│ └── {action}-{target}.{ext}
|
||||
```
|
||||
|
||||
**Rules:**
|
||||
- Kebab-case, verb-first naming: `generate-manifest.cjs`, `send-notification.py`
|
||||
- Group into subdirs only when 5+ scripts in same category
|
||||
- Include shebang line for shell scripts
|
||||
- No date prefixes (versioned in git)
|
||||
|
||||
## Assets (`assets/`)
|
||||
|
||||
Media, branding, designs, and generated content.
|
||||
|
||||
```text
|
||||
assets/
|
||||
├── images/ # Static images, screenshots
|
||||
│ └── {slug}.{ext}
|
||||
├── videos/ # Video files
|
||||
│ ├── {slug}/ # Multi-file: self-contained folder
|
||||
│ │ ├── master.mp4
|
||||
│ │ ├── scene-{NN}.mp4
|
||||
│ │ └── captions.srt
|
||||
│ └── {slug}.mp4 # Single file: flat
|
||||
├── designs/ # UI/UX designs, mockups
|
||||
│ └── {project}/
|
||||
│ ├── mockup-{variant}.{ext}
|
||||
│ └── exports/
|
||||
├── branding/ # Logos, brand assets
|
||||
│ └── {name}-{variant}.{ext} # logo-dark.svg, logo-icon.png
|
||||
├── generated/ # AI-generated content
|
||||
│ └── {type}/ # images/, audio/, text/
|
||||
│ └── {YYMMDD-HHmm}-{slug}.{ext}
|
||||
└── {custom-type}/ # Project-specific categories
|
||||
└── ...
|
||||
```
|
||||
|
||||
**Rules:**
|
||||
- Single file → flat in category dir
|
||||
- Multi-file → self-contained subdirectory
|
||||
- Variants: append `-{variant}` suffix (not separate folders)
|
||||
- Size variants: `{name}-{width}x{height}.{ext}`
|
||||
- Platform variants: `{name}-{platform}.{ext}`
|
||||
- Generated content: always timestamped
|
||||
- Custom categories allowed for project-specific needs
|
||||
|
||||
## Configuration (Root / `.config/`)
|
||||
|
||||
```text
|
||||
project-root/
|
||||
├── .env # Environment variables (gitignored)
|
||||
├── .env.example # Env template (committed)
|
||||
├── .gitignore
|
||||
├── .eslintrc.* # Linter config
|
||||
├── tsconfig.json # TypeScript config
|
||||
├── package.json # Node.js manifest
|
||||
└── .config/ # Optional: grouped configs
|
||||
└── {tool}.{ext}
|
||||
```
|
||||
|
||||
**Rules:**
|
||||
- Follow ecosystem conventions (package.json at root, not in .config/)
|
||||
- `.env` files: never commit actual secrets, only `.example` templates
|
||||
- Group into `.config/` only if ecosystem supports it
|
||||
|
||||
## Guides (`guide/` or `guides/`)
|
||||
|
||||
User-facing reference documentation, tutorials.
|
||||
|
||||
```text
|
||||
guide/
|
||||
├── {topic}.md # Reference docs
|
||||
├── {topic}.yaml # Structured data
|
||||
└── {category}/ # Group by category if 5+ files
|
||||
└── {topic}.md
|
||||
```
|
||||
|
||||
**Rules:**
|
||||
- Evergreen naming (no dates)
|
||||
- Flat structure unless 5+ files warrant categorization
|
||||
- Self-documenting names: `SKILLS.md`, `COMMANDS.md`, `ENVIRONMENT_RESOLVER.md`
|
||||
Reference in New Issue
Block a user