@neyugn/agent-kits 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +514 -0
- package/README.vi.md +410 -0
- package/README.zh.md +410 -0
- package/dist/cli.d.ts +1 -0
- package/dist/cli.js +422 -0
- package/kits/coder/ARCHITECTURE.md +289 -0
- package/kits/coder/agents/ai-engineer.md +344 -0
- package/kits/coder/agents/backend-specialist.md +270 -0
- package/kits/coder/agents/cloud-architect.md +363 -0
- package/kits/coder/agents/code-reviewer.md +284 -0
- package/kits/coder/agents/data-engineer.md +401 -0
- package/kits/coder/agents/database-specialist.md +251 -0
- package/kits/coder/agents/debugger.md +209 -0
- package/kits/coder/agents/devops-engineer.md +281 -0
- package/kits/coder/agents/documentation-writer.md +296 -0
- package/kits/coder/agents/frontend-specialist.md +298 -0
- package/kits/coder/agents/i18n-specialist.md +348 -0
- package/kits/coder/agents/integration-specialist.md +314 -0
- package/kits/coder/agents/mobile-developer.md +271 -0
- package/kits/coder/agents/multi-tenant-architect.md +281 -0
- package/kits/coder/agents/orchestrator.md +263 -0
- package/kits/coder/agents/performance-analyst.md +327 -0
- package/kits/coder/agents/project-planner.md +277 -0
- package/kits/coder/agents/queue-specialist.md +282 -0
- package/kits/coder/agents/realtime-specialist.md +267 -0
- package/kits/coder/agents/security-auditor.md +253 -0
- package/kits/coder/agents/test-engineer.md +315 -0
- package/kits/coder/agents/ux-researcher.md +388 -0
- package/kits/coder/rules/.cursorrules +287 -0
- package/kits/coder/rules/CLAUDE.md +287 -0
- package/kits/coder/rules/CODEX.md +287 -0
- package/kits/coder/rules/GEMINI.md +287 -0
- package/kits/coder/scripts/checklist.py +318 -0
- package/kits/coder/scripts/kit_status.py +292 -0
- package/kits/coder/scripts/skills_manager.py +243 -0
- package/kits/coder/scripts/verify_all.py +391 -0
- package/kits/coder/skills/accessibility-patterns/SKILL.md +372 -0
- package/kits/coder/skills/accessibility-patterns/scripts/a11y_checker.py +211 -0
- package/kits/coder/skills/ai-rag-patterns/SKILL.md +444 -0
- package/kits/coder/skills/api-patterns/SKILL.md +316 -0
- package/kits/coder/skills/api-patterns/assets/.gitkeep +1 -0
- package/kits/coder/skills/api-patterns/references/deep-dive.md +21 -0
- package/kits/coder/skills/api-patterns/scripts/api_validator.py +253 -0
- package/kits/coder/skills/api-patterns/scripts/validate.py +56 -0
- package/kits/coder/skills/auth-patterns/SKILL.md +267 -0
- package/kits/coder/skills/aws-patterns/SKILL.md +576 -0
- package/kits/coder/skills/brainstorming/SKILL.md +370 -0
- package/kits/coder/skills/brainstorming/assets/.gitkeep +1 -0
- package/kits/coder/skills/brainstorming/references/deep-dive.md +21 -0
- package/kits/coder/skills/brainstorming/scripts/validate.py +56 -0
- package/kits/coder/skills/clean-code/SKILL.md +240 -0
- package/kits/coder/skills/clean-code/assets/.gitkeep +1 -0
- package/kits/coder/skills/clean-code/references/deep-dive.md +21 -0
- package/kits/coder/skills/clean-code/scripts/lint_runner.py +186 -0
- package/kits/coder/skills/clean-code/scripts/validate.py +56 -0
- package/kits/coder/skills/database-design/SKILL.md +255 -0
- package/kits/coder/skills/database-design/assets/.gitkeep +1 -0
- package/kits/coder/skills/database-design/references/deep-dive.md +21 -0
- package/kits/coder/skills/database-design/scripts/schema_validator.py +272 -0
- package/kits/coder/skills/database-design/scripts/validate.py +56 -0
- package/kits/coder/skills/docker-patterns/SKILL.md +240 -0
- package/kits/coder/skills/documentation-templates/SKILL.md +441 -0
- package/kits/coder/skills/e2e-testing/SKILL.md +457 -0
- package/kits/coder/skills/flutter-patterns/SKILL.md +330 -0
- package/kits/coder/skills/frontend-design/SKILL.md +127 -0
- package/kits/coder/skills/github-actions/SKILL.md +349 -0
- package/kits/coder/skills/gitlab-ci-patterns/SKILL.md +466 -0
- package/kits/coder/skills/graphql-patterns/SKILL.md +558 -0
- package/kits/coder/skills/i18n-localization/SKILL.md +345 -0
- package/kits/coder/skills/i18n-localization/scripts/i18n_checker.py +267 -0
- package/kits/coder/skills/kubernetes-patterns/SKILL.md +357 -0
- package/kits/coder/skills/mermaid-diagrams/SKILL.md +351 -0
- package/kits/coder/skills/mobile-design/SKILL.md +305 -0
- package/kits/coder/skills/monitoring-observability/SKILL.md +458 -0
- package/kits/coder/skills/multi-tenancy/SKILL.md +317 -0
- package/kits/coder/skills/multi-tenancy/assets/.gitkeep +1 -0
- package/kits/coder/skills/multi-tenancy/references/deep-dive.md +21 -0
- package/kits/coder/skills/multi-tenancy/scripts/validate.py +56 -0
- package/kits/coder/skills/nodejs-best-practices/SKILL.md +220 -0
- package/kits/coder/skills/performance-profiling/SKILL.md +333 -0
- package/kits/coder/skills/performance-profiling/assets/.gitkeep +1 -0
- package/kits/coder/skills/performance-profiling/references/deep-dive.md +21 -0
- package/kits/coder/skills/performance-profiling/scripts/validate.py +56 -0
- package/kits/coder/skills/plan-writing/SKILL.md +360 -0
- package/kits/coder/skills/plan-writing/assets/.gitkeep +1 -0
- package/kits/coder/skills/plan-writing/references/deep-dive.md +21 -0
- package/kits/coder/skills/plan-writing/scripts/validate.py +56 -0
- package/kits/coder/skills/postgres-patterns/SKILL.md +361 -0
- package/kits/coder/skills/prompt-engineering/SKILL.md +277 -0
- package/kits/coder/skills/queue-patterns/SKILL.md +359 -0
- package/kits/coder/skills/queue-patterns/assets/.gitkeep +1 -0
- package/kits/coder/skills/queue-patterns/references/deep-dive.md +21 -0
- package/kits/coder/skills/queue-patterns/scripts/validate.py +56 -0
- package/kits/coder/skills/react-native-patterns/SKILL.md +393 -0
- package/kits/coder/skills/react-patterns/SKILL.md +319 -0
- package/kits/coder/skills/realtime-patterns/SKILL.md +506 -0
- package/kits/coder/skills/realtime-patterns/assets/.gitkeep +1 -0
- package/kits/coder/skills/realtime-patterns/references/deep-dive.md +21 -0
- package/kits/coder/skills/realtime-patterns/scripts/validate.py +56 -0
- package/kits/coder/skills/redis-patterns/SKILL.md +484 -0
- package/kits/coder/skills/security-fundamentals/SKILL.md +363 -0
- package/kits/coder/skills/security-fundamentals/assets/.gitkeep +1 -0
- package/kits/coder/skills/security-fundamentals/references/deep-dive.md +21 -0
- package/kits/coder/skills/security-fundamentals/scripts/security_scan.py +326 -0
- package/kits/coder/skills/security-fundamentals/scripts/validate.py +56 -0
- package/kits/coder/skills/seo-patterns/SKILL.md +262 -0
- package/kits/coder/skills/seo-patterns/scripts/seo_checker.py +211 -0
- package/kits/coder/skills/systematic-debugging/SKILL.md +478 -0
- package/kits/coder/skills/systematic-debugging/assets/.gitkeep +1 -0
- package/kits/coder/skills/systematic-debugging/references/deep-dive.md +21 -0
- package/kits/coder/skills/systematic-debugging/scripts/validate.py +56 -0
- package/kits/coder/skills/tailwind-patterns/SKILL.md +395 -0
- package/kits/coder/skills/terraform-patterns/SKILL.md +470 -0
- package/kits/coder/skills/testing-patterns/SKILL.md +285 -0
- package/kits/coder/skills/testing-patterns/assets/.gitkeep +1 -0
- package/kits/coder/skills/testing-patterns/references/deep-dive.md +21 -0
- package/kits/coder/skills/testing-patterns/scripts/test_runner.py +219 -0
- package/kits/coder/skills/testing-patterns/scripts/validate.py +56 -0
- package/kits/coder/skills/typescript-patterns/SKILL.md +417 -0
- package/kits/coder/skills/ui-ux-pro-max/SKILL.md +364 -0
- package/kits/coder/skills/ui-ux-pro-max/data/charts.csv +26 -0
- package/kits/coder/skills/ui-ux-pro-max/data/colors.csv +97 -0
- package/kits/coder/skills/ui-ux-pro-max/data/icons.csv +101 -0
- package/kits/coder/skills/ui-ux-pro-max/data/landing.csv +31 -0
- package/kits/coder/skills/ui-ux-pro-max/data/products.csv +97 -0
- package/kits/coder/skills/ui-ux-pro-max/data/prompts.csv +24 -0
- package/kits/coder/skills/ui-ux-pro-max/data/react-performance.csv +45 -0
- package/kits/coder/skills/ui-ux-pro-max/data/stacks/flutter.csv +53 -0
- package/kits/coder/skills/ui-ux-pro-max/data/stacks/html-tailwind.csv +56 -0
- package/kits/coder/skills/ui-ux-pro-max/data/stacks/nextjs.csv +53 -0
- package/kits/coder/skills/ui-ux-pro-max/data/stacks/nuxt-ui.csv +51 -0
- package/kits/coder/skills/ui-ux-pro-max/data/stacks/nuxtjs.csv +59 -0
- package/kits/coder/skills/ui-ux-pro-max/data/stacks/react-native.csv +52 -0
- package/kits/coder/skills/ui-ux-pro-max/data/stacks/react.csv +54 -0
- package/kits/coder/skills/ui-ux-pro-max/data/stacks/shadcn.csv +61 -0
- package/kits/coder/skills/ui-ux-pro-max/data/stacks/svelte.csv +54 -0
- package/kits/coder/skills/ui-ux-pro-max/data/stacks/swiftui.csv +51 -0
- package/kits/coder/skills/ui-ux-pro-max/data/stacks/vue.csv +50 -0
- package/kits/coder/skills/ui-ux-pro-max/data/styles.csv +59 -0
- package/kits/coder/skills/ui-ux-pro-max/data/typography.csv +58 -0
- package/kits/coder/skills/ui-ux-pro-max/data/ui-reasoning.csv +101 -0
- package/kits/coder/skills/ui-ux-pro-max/data/ux-guidelines.csv +100 -0
- package/kits/coder/skills/ui-ux-pro-max/data/web-interface.csv +31 -0
- package/kits/coder/skills/ui-ux-pro-max/scripts/__pycache__/core.cpython-314.pyc +0 -0
- package/kits/coder/skills/ui-ux-pro-max/scripts/__pycache__/design_system.cpython-314.pyc +0 -0
- package/kits/coder/skills/ui-ux-pro-max/scripts/core.py +257 -0
- package/kits/coder/skills/ui-ux-pro-max/scripts/design_system.py +488 -0
- package/kits/coder/skills/ui-ux-pro-max/scripts/search.py +76 -0
- package/kits/coder/workflows/.gitkeep +20 -0
- package/kits/coder/workflows/create.md +152 -0
- package/kits/coder/workflows/debug.md +223 -0
- package/kits/coder/workflows/deploy.md +283 -0
- package/kits/coder/workflows/orchestrate.md +243 -0
- package/kits/coder/workflows/plan.md +134 -0
- package/kits/coder/workflows/test.md +237 -0
- package/kits/coder/workflows/ui-ux-pro-max.md +109 -0
- package/package.json +49 -0
|
@@ -0,0 +1,441 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: documentation-templates
|
|
3
|
+
description: Documentation templates and patterns. README, API docs, ADRs, code comments, and technical writing. Use when writing project documentation, API references, or architecture decisions.
|
|
4
|
+
allowed-tools: Read, Write, Edit, Glob, Grep, Bash
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Documentation Templates
|
|
8
|
+
|
|
9
|
+
> Good documentation is the difference between a project that gets adopted and one that gets abandoned.
|
|
10
|
+
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
## Core Principles
|
|
14
|
+
|
|
15
|
+
1. **Write for your audience** - Different docs for different readers
|
|
16
|
+
2. **Show, don't tell** - Examples over explanations
|
|
17
|
+
3. **Keep it current** - Outdated docs are worse than no docs
|
|
18
|
+
4. **Start with why** - Context before details
|
|
19
|
+
5. **Make it scannable** - Headers, lists, code blocks
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 📖 README Template
|
|
24
|
+
|
|
25
|
+
```markdown
|
|
26
|
+
# Project Name
|
|
27
|
+
|
|
28
|
+
> One-line description of what this does.
|
|
29
|
+
|
|
30
|
+
[](link)
|
|
31
|
+
[](link)
|
|
32
|
+
[](link)
|
|
33
|
+
|
|
34
|
+
## ✨ Features
|
|
35
|
+
|
|
36
|
+
- **Feature 1** - Brief description
|
|
37
|
+
- **Feature 2** - Brief description
|
|
38
|
+
- **Feature 3** - Brief description
|
|
39
|
+
|
|
40
|
+
## 🚀 Quick Start
|
|
41
|
+
|
|
42
|
+
\`\`\`bash
|
|
43
|
+
|
|
44
|
+
# Install
|
|
45
|
+
|
|
46
|
+
npm install your-package
|
|
47
|
+
|
|
48
|
+
# Run
|
|
49
|
+
|
|
50
|
+
npm start
|
|
51
|
+
\`\`\`
|
|
52
|
+
|
|
53
|
+
## 📦 Installation
|
|
54
|
+
|
|
55
|
+
\`\`\`bash
|
|
56
|
+
|
|
57
|
+
# npm
|
|
58
|
+
|
|
59
|
+
npm install your-package
|
|
60
|
+
|
|
61
|
+
# pnpm (recommended)
|
|
62
|
+
|
|
63
|
+
pnpm add your-package
|
|
64
|
+
|
|
65
|
+
# yarn
|
|
66
|
+
|
|
67
|
+
yarn add your-package
|
|
68
|
+
\`\`\`
|
|
69
|
+
|
|
70
|
+
## 🔧 Usage
|
|
71
|
+
|
|
72
|
+
### Basic Example
|
|
73
|
+
|
|
74
|
+
\`\`\`typescript
|
|
75
|
+
import { something } from 'your-package';
|
|
76
|
+
|
|
77
|
+
const result = something();
|
|
78
|
+
console.log(result);
|
|
79
|
+
\`\`\`
|
|
80
|
+
|
|
81
|
+
### Advanced Example
|
|
82
|
+
|
|
83
|
+
\`\`\`typescript
|
|
84
|
+
// More complex usage...
|
|
85
|
+
\`\`\`
|
|
86
|
+
|
|
87
|
+
## ⚙️ Configuration
|
|
88
|
+
|
|
89
|
+
| Option | Type | Default | Description |
|
|
90
|
+
| --------- | -------- | ------- | ---------------- |
|
|
91
|
+
| `option1` | `string` | `""` | Description here |
|
|
92
|
+
| `option2` | `number` | `10` | Description here |
|
|
93
|
+
|
|
94
|
+
## 📚 Documentation
|
|
95
|
+
|
|
96
|
+
- [Full Documentation](link)
|
|
97
|
+
- [API Reference](link)
|
|
98
|
+
- [Examples](link)
|
|
99
|
+
|
|
100
|
+
## 🤝 Contributing
|
|
101
|
+
|
|
102
|
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.
|
|
103
|
+
|
|
104
|
+
## 📄 License
|
|
105
|
+
|
|
106
|
+
[MIT](LICENSE) © [Your Name]
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## 📋 API Documentation
|
|
112
|
+
|
|
113
|
+
### Endpoint Documentation
|
|
114
|
+
|
|
115
|
+
```markdown
|
|
116
|
+
## Create User
|
|
117
|
+
|
|
118
|
+
Creates a new user account.
|
|
119
|
+
|
|
120
|
+
### Request
|
|
121
|
+
|
|
122
|
+
`POST /api/v1/users`
|
|
123
|
+
|
|
124
|
+
#### Headers
|
|
125
|
+
|
|
126
|
+
| Header | Required | Description |
|
|
127
|
+
| --------------- | -------- | ------------------ |
|
|
128
|
+
| `Authorization` | Yes | Bearer token |
|
|
129
|
+
| `Content-Type` | Yes | `application/json` |
|
|
130
|
+
|
|
131
|
+
#### Body
|
|
132
|
+
|
|
133
|
+
\`\`\`json
|
|
134
|
+
{
|
|
135
|
+
"email": "user@example.com",
|
|
136
|
+
"name": "John Doe",
|
|
137
|
+
"role": "user"
|
|
138
|
+
}
|
|
139
|
+
\`\`\`
|
|
140
|
+
|
|
141
|
+
| Field | Type | Required | Description |
|
|
142
|
+
| ------- | -------- | -------- | ------------------- |
|
|
143
|
+
| `email` | `string` | Yes | Valid email address |
|
|
144
|
+
| `name` | `string` | Yes | 2-100 characters |
|
|
145
|
+
| `role` | `string` | No | Default: `"user"` |
|
|
146
|
+
|
|
147
|
+
### Response
|
|
148
|
+
|
|
149
|
+
#### Success (201 Created)
|
|
150
|
+
|
|
151
|
+
\`\`\`json
|
|
152
|
+
{
|
|
153
|
+
"id": "user_abc123",
|
|
154
|
+
"email": "user@example.com",
|
|
155
|
+
"name": "John Doe",
|
|
156
|
+
"role": "user",
|
|
157
|
+
"createdAt": "2025-01-15T10:30:00Z"
|
|
158
|
+
}
|
|
159
|
+
\`\`\`
|
|
160
|
+
|
|
161
|
+
#### Errors
|
|
162
|
+
|
|
163
|
+
| Status | Code | Description |
|
|
164
|
+
| ------ | ------------------ | ------------------------ |
|
|
165
|
+
| 400 | `VALIDATION_ERROR` | Invalid input data |
|
|
166
|
+
| 409 | `EMAIL_EXISTS` | Email already registered |
|
|
167
|
+
| 401 | `UNAUTHORIZED` | Invalid or missing token |
|
|
168
|
+
|
|
169
|
+
### Example
|
|
170
|
+
|
|
171
|
+
\`\`\`bash
|
|
172
|
+
curl -X POST https://api.example.com/v1/users \
|
|
173
|
+
-H "Authorization: Bearer token123" \
|
|
174
|
+
-H "Content-Type: application/json" \
|
|
175
|
+
-d '{"email": "user@example.com", "name": "John Doe"}'
|
|
176
|
+
\`\`\`
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
---
|
|
180
|
+
|
|
181
|
+
## 🏗️ Architecture Decision Record (ADR)
|
|
182
|
+
|
|
183
|
+
```markdown
|
|
184
|
+
# ADR-001: Use PostgreSQL as Primary Database
|
|
185
|
+
|
|
186
|
+
## Status
|
|
187
|
+
|
|
188
|
+
Accepted
|
|
189
|
+
|
|
190
|
+
## Context
|
|
191
|
+
|
|
192
|
+
We need to choose a primary database for the application. Key requirements:
|
|
193
|
+
|
|
194
|
+
- Strong consistency for financial transactions
|
|
195
|
+
- JSON support for flexible metadata
|
|
196
|
+
- Scalability to 10M+ records
|
|
197
|
+
- Team familiarity
|
|
198
|
+
|
|
199
|
+
## Decision
|
|
200
|
+
|
|
201
|
+
We will use **PostgreSQL 16** as our primary database.
|
|
202
|
+
|
|
203
|
+
## Alternatives Considered
|
|
204
|
+
|
|
205
|
+
### MySQL 8
|
|
206
|
+
|
|
207
|
+
- ✅ Team familiar
|
|
208
|
+
- ❌ Weaker JSON support
|
|
209
|
+
- ❌ Less flexible indexing
|
|
210
|
+
|
|
211
|
+
### MongoDB
|
|
212
|
+
|
|
213
|
+
- ✅ Flexible schema
|
|
214
|
+
- ❌ Eventual consistency issues
|
|
215
|
+
- ❌ Less mature for transactions
|
|
216
|
+
|
|
217
|
+
## Consequences
|
|
218
|
+
|
|
219
|
+
### Positive
|
|
220
|
+
|
|
221
|
+
- Excellent JSON support with JSONB
|
|
222
|
+
- Row-level security for multi-tenancy
|
|
223
|
+
- Strong ecosystem (extensions, tools)
|
|
224
|
+
|
|
225
|
+
### Negative
|
|
226
|
+
|
|
227
|
+
- More complex scaling than NoSQL
|
|
228
|
+
- Requires careful index management
|
|
229
|
+
|
|
230
|
+
### Risks
|
|
231
|
+
|
|
232
|
+
- Connection pooling needed at scale
|
|
233
|
+
- Mitigation: Use PgBouncer
|
|
234
|
+
|
|
235
|
+
## Decision Date
|
|
236
|
+
|
|
237
|
+
2025-01-15
|
|
238
|
+
|
|
239
|
+
## Decision Makers
|
|
240
|
+
|
|
241
|
+
- @lead-developer
|
|
242
|
+
- @database-specialist
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## 📝 Code Comments
|
|
248
|
+
|
|
249
|
+
### Function Documentation (JSDoc)
|
|
250
|
+
|
|
251
|
+
````typescript
|
|
252
|
+
/**
|
|
253
|
+
* Calculates the total price including tax and discounts.
|
|
254
|
+
*
|
|
255
|
+
* @example
|
|
256
|
+
* ```ts
|
|
257
|
+
* const total = calculateTotal(100, 0.1, 20);
|
|
258
|
+
* // Returns: 88 (100 - 20 = 80, 80 * 1.1 = 88)
|
|
259
|
+
* ```
|
|
260
|
+
*
|
|
261
|
+
* @param basePrice - The original price before adjustments
|
|
262
|
+
* @param taxRate - Tax rate as decimal (0.1 = 10%)
|
|
263
|
+
* @param discount - Flat discount amount to subtract
|
|
264
|
+
* @returns The final calculated price
|
|
265
|
+
* @throws {Error} If basePrice is negative
|
|
266
|
+
*/
|
|
267
|
+
function calculateTotal(
|
|
268
|
+
basePrice: number,
|
|
269
|
+
taxRate: number,
|
|
270
|
+
discount: number = 0,
|
|
271
|
+
): number {
|
|
272
|
+
if (basePrice < 0) {
|
|
273
|
+
throw new Error("Base price cannot be negative");
|
|
274
|
+
}
|
|
275
|
+
const afterDiscount = basePrice - discount;
|
|
276
|
+
return afterDiscount * (1 + taxRate);
|
|
277
|
+
}
|
|
278
|
+
````
|
|
279
|
+
|
|
280
|
+
### Module Header
|
|
281
|
+
|
|
282
|
+
```typescript
|
|
283
|
+
/**
|
|
284
|
+
* @module UserService
|
|
285
|
+
* @description Handles user authentication, registration, and profile management.
|
|
286
|
+
*
|
|
287
|
+
* ## Architecture
|
|
288
|
+
* - Uses Repository pattern for data access
|
|
289
|
+
* - Events emitted for user lifecycle (created, updated, deleted)
|
|
290
|
+
* - Passwords hashed with bcrypt (cost factor 12)
|
|
291
|
+
*
|
|
292
|
+
* ## Dependencies
|
|
293
|
+
* - UserRepository: Database operations
|
|
294
|
+
* - EmailService: Verification emails
|
|
295
|
+
* - EventBus: Lifecycle events
|
|
296
|
+
*
|
|
297
|
+
* @see {@link UserRepository} for data layer
|
|
298
|
+
* @see {@link AuthMiddleware} for request authentication
|
|
299
|
+
*/
|
|
300
|
+
```
|
|
301
|
+
|
|
302
|
+
### Complex Logic Comments
|
|
303
|
+
|
|
304
|
+
```typescript
|
|
305
|
+
// WHY: We use a two-phase approach here because:
|
|
306
|
+
// 1. First pass filters invalid entries without expensive validation
|
|
307
|
+
// 2. Second pass performs full validation only on candidates
|
|
308
|
+
// This reduces processing time by ~60% for large datasets
|
|
309
|
+
const candidates = items.filter(isCandidate);
|
|
310
|
+
const validated = candidates.filter(fullValidation);
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## 📊 Changelog (Keep a Changelog)
|
|
316
|
+
|
|
317
|
+
```markdown
|
|
318
|
+
# Changelog
|
|
319
|
+
|
|
320
|
+
All notable changes to this project will be documented in this file.
|
|
321
|
+
|
|
322
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/),
|
|
323
|
+
and this project adheres to [Semantic Versioning](https://semver.org/).
|
|
324
|
+
|
|
325
|
+
## [Unreleased]
|
|
326
|
+
|
|
327
|
+
### Added
|
|
328
|
+
|
|
329
|
+
- New feature X for better Y
|
|
330
|
+
|
|
331
|
+
### Changed
|
|
332
|
+
|
|
333
|
+
- Updated dependency Z to v2.0
|
|
334
|
+
|
|
335
|
+
## [1.2.0] - 2025-01-15
|
|
336
|
+
|
|
337
|
+
### Added
|
|
338
|
+
|
|
339
|
+
- User profile API endpoints
|
|
340
|
+
- Email verification flow
|
|
341
|
+
- Rate limiting on auth endpoints
|
|
342
|
+
|
|
343
|
+
### Changed
|
|
344
|
+
|
|
345
|
+
- Improved error messages for validation failures
|
|
346
|
+
- Updated TypeScript to 5.3
|
|
347
|
+
|
|
348
|
+
### Fixed
|
|
349
|
+
|
|
350
|
+
- Race condition in session refresh
|
|
351
|
+
- Memory leak in WebSocket handler
|
|
352
|
+
|
|
353
|
+
### Security
|
|
354
|
+
|
|
355
|
+
- Updated bcrypt to patch CVE-2025-xxxx
|
|
356
|
+
|
|
357
|
+
## [1.1.0] - 2025-01-01
|
|
358
|
+
|
|
359
|
+
### Added
|
|
360
|
+
|
|
361
|
+
- Initial release with core features
|
|
362
|
+
```
|
|
363
|
+
|
|
364
|
+
---
|
|
365
|
+
|
|
366
|
+
## 📁 Common Doc Structures
|
|
367
|
+
|
|
368
|
+
### docs/ Folder
|
|
369
|
+
|
|
370
|
+
```
|
|
371
|
+
docs/
|
|
372
|
+
├── getting-started.md # Quick start guide
|
|
373
|
+
├── installation.md # Detailed installation
|
|
374
|
+
├── configuration.md # Config options
|
|
375
|
+
├── api/ # API reference
|
|
376
|
+
│ ├── overview.md
|
|
377
|
+
│ ├── authentication.md
|
|
378
|
+
│ └── endpoints/
|
|
379
|
+
├── guides/ # How-to guides
|
|
380
|
+
│ ├── deployment.md
|
|
381
|
+
│ └── migration.md
|
|
382
|
+
├── architecture/ # ADRs
|
|
383
|
+
│ ├── README.md
|
|
384
|
+
│ └── decisions/
|
|
385
|
+
└── contributing.md # Contribution guide
|
|
386
|
+
```
|
|
387
|
+
|
|
388
|
+
---
|
|
389
|
+
|
|
390
|
+
## ✅ Documentation Checklist
|
|
391
|
+
|
|
392
|
+
### README
|
|
393
|
+
|
|
394
|
+
- [ ] Clear project description
|
|
395
|
+
- [ ] Quick start (< 5 steps)
|
|
396
|
+
- [ ] Installation instructions
|
|
397
|
+
- [ ] Basic usage example
|
|
398
|
+
- [ ] Configuration options
|
|
399
|
+
- [ ] Links to full docs
|
|
400
|
+
|
|
401
|
+
### API Docs
|
|
402
|
+
|
|
403
|
+
- [ ] All endpoints documented
|
|
404
|
+
- [ ] Request/response examples
|
|
405
|
+
- [ ] Error codes explained
|
|
406
|
+
- [ ] Authentication shown
|
|
407
|
+
- [ ] Rate limits noted
|
|
408
|
+
|
|
409
|
+
### Code
|
|
410
|
+
|
|
411
|
+
- [ ] Public APIs have JSDoc
|
|
412
|
+
- [ ] Complex logic explained
|
|
413
|
+
- [ ] Edge cases noted
|
|
414
|
+
- [ ] Examples in docstrings
|
|
415
|
+
|
|
416
|
+
---
|
|
417
|
+
|
|
418
|
+
## ❌ Anti-Patterns
|
|
419
|
+
|
|
420
|
+
| ❌ Don't | ✅ Do |
|
|
421
|
+
| ------------------------------- | ------------------------------- |
|
|
422
|
+
| Document implementation details | Document behavior and contracts |
|
|
423
|
+
| Write docs after release | Write docs during development |
|
|
424
|
+
| Skip error documentation | Document all error cases |
|
|
425
|
+
| Use outdated examples | Test examples in CI |
|
|
426
|
+
| Wall of text without structure | Use headers, lists, code blocks |
|
|
427
|
+
| Assume reader knows context | Explain the "why" first |
|
|
428
|
+
|
|
429
|
+
---
|
|
430
|
+
|
|
431
|
+
## 🔗 Related Skills
|
|
432
|
+
|
|
433
|
+
| Need | Skill |
|
|
434
|
+
| ------------ | ------------------ |
|
|
435
|
+
| API design | `api-patterns` |
|
|
436
|
+
| Clean code | `clean-code` |
|
|
437
|
+
| Architecture | `mermaid-diagrams` |
|
|
438
|
+
|
|
439
|
+
---
|
|
440
|
+
|
|
441
|
+
> **Remember:** The best documentation is the documentation that gets read. Make it scannable, keep it current, and always include working examples.
|