@codihaus/claude-skills 1.0.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/README.md +167 -0
- package/bin/cli.js +58 -0
- package/package.json +46 -0
- package/skills/_quality-attributes.md +392 -0
- package/skills/_registry.md +189 -0
- package/skills/debrief/SKILL.md +647 -0
- package/skills/debrief/references/change-request-template.md +124 -0
- package/skills/debrief/references/file-patterns.md +173 -0
- package/skills/debrief/references/group-codes.md +72 -0
- package/skills/debrief/references/research-queries.md +106 -0
- package/skills/debrief/references/use-case-template.md +141 -0
- package/skills/debrief/scripts/generate_questionnaire.py +195 -0
- package/skills/dev-arch/SKILL.md +747 -0
- package/skills/dev-changelog/SKILL.md +378 -0
- package/skills/dev-coding/SKILL.md +470 -0
- package/skills/dev-coding-backend/SKILL.md +361 -0
- package/skills/dev-coding-frontend/SKILL.md +534 -0
- package/skills/dev-coding-frontend/references/nextjs.md +477 -0
- package/skills/dev-review/SKILL.md +548 -0
- package/skills/dev-scout/SKILL.md +723 -0
- package/skills/dev-scout/references/feature-patterns.md +210 -0
- package/skills/dev-scout/references/file-patterns.md +252 -0
- package/skills/dev-scout/references/tech-detection.md +211 -0
- package/skills/dev-scout/scripts/scout-analyze.sh +280 -0
- package/skills/dev-specs/SKILL.md +577 -0
- package/skills/dev-specs/references/checklist.md +176 -0
- package/skills/dev-specs/references/spec-templates.md +460 -0
- package/skills/dev-test/SKILL.md +364 -0
- package/skills/utils/diagram/SKILL.md +205 -0
- package/skills/utils/diagram/references/common-errors.md +305 -0
- package/skills/utils/diagram/references/diagram-types.md +636 -0
- package/skills/utils/docs-graph/SKILL.md +204 -0
- package/skills/utils/gemini/SKILL.md +292 -0
- package/skills/utils/gemini/scripts/gemini-scan.py +340 -0
- package/skills/utils/gemini/scripts/setup.sh +169 -0
- package/src/commands/add.js +64 -0
- package/src/commands/doctor.js +179 -0
- package/src/commands/init.js +251 -0
- package/src/commands/list.js +88 -0
- package/src/commands/remove.js +60 -0
- package/src/commands/update.js +72 -0
- package/src/index.js +26 -0
- package/src/utils/config.js +272 -0
- package/src/utils/deps.js +599 -0
- package/src/utils/skills.js +253 -0
- package/templates/CLAUDE.md.template +58 -0
package/README.md
ADDED
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
# @codihaus/claude-skills
|
|
2
|
+
|
|
3
|
+
Claude Code skills for software development workflow.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
# Initialize in your project
|
|
9
|
+
npx @codihaus/claude-skills init
|
|
10
|
+
|
|
11
|
+
# That's it! Start Claude Code and try a skill
|
|
12
|
+
/debrief "Build a todo app"
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
## What This Does
|
|
16
|
+
|
|
17
|
+
1. **Checks your system** - Ensures you have required tools (node, git, etc.)
|
|
18
|
+
2. **Installs skills** - Copies skills to `.claude/skills/`
|
|
19
|
+
3. **Configures Claude Code** - Sets up permissions and hooks
|
|
20
|
+
4. **Sets up CLAUDE.md** - Creates project instructions file
|
|
21
|
+
|
|
22
|
+
## Available Skills
|
|
23
|
+
|
|
24
|
+
| Skill | Purpose |
|
|
25
|
+
|-------|---------|
|
|
26
|
+
| `/debrief` | Create BRD and use cases from requirements |
|
|
27
|
+
| `/dev-scout` | Explore and document existing codebase |
|
|
28
|
+
| `/dev-arch` | Make architecture decisions |
|
|
29
|
+
| `/dev-specs` | Create implementation specifications |
|
|
30
|
+
| `/dev-coding` | Implement features from specs |
|
|
31
|
+
| `/dev-test` | Automated UI testing |
|
|
32
|
+
| `/dev-review` | Code review with quality checks |
|
|
33
|
+
| `/dev-changelog` | Document what was implemented |
|
|
34
|
+
|
|
35
|
+
### Utility Skills
|
|
36
|
+
|
|
37
|
+
| Skill | Purpose |
|
|
38
|
+
|-------|---------|
|
|
39
|
+
| `/utils/diagram` | Mermaid diagram validation |
|
|
40
|
+
| `/utils/docs-graph` | Documentation relationships |
|
|
41
|
+
| `/utils/gemini` | Large codebase scanning (1M context) |
|
|
42
|
+
|
|
43
|
+
## Commands
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Initialize skills in project
|
|
47
|
+
npx @codihaus/claude-skills init
|
|
48
|
+
|
|
49
|
+
# Update to latest version
|
|
50
|
+
npx @codihaus/claude-skills update
|
|
51
|
+
|
|
52
|
+
# Check for updates only
|
|
53
|
+
npx @codihaus/claude-skills update --check
|
|
54
|
+
|
|
55
|
+
# List available skills
|
|
56
|
+
npx @codihaus/claude-skills list
|
|
57
|
+
|
|
58
|
+
# List installed skills only
|
|
59
|
+
npx @codihaus/claude-skills list --installed
|
|
60
|
+
|
|
61
|
+
# Add a specific skill
|
|
62
|
+
npx @codihaus/claude-skills add dev-arch
|
|
63
|
+
|
|
64
|
+
# Remove a skill
|
|
65
|
+
npx @codihaus/claude-skills remove dev-arch
|
|
66
|
+
|
|
67
|
+
# Check system and project setup
|
|
68
|
+
npx @codihaus/claude-skills doctor
|
|
69
|
+
|
|
70
|
+
# Fix issues automatically
|
|
71
|
+
npx @codihaus/claude-skills doctor --fix
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## Init Options
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
# Skip dependency checking
|
|
78
|
+
npx @codihaus/claude-skills init --no-deps
|
|
79
|
+
|
|
80
|
+
# Skip hooks setup
|
|
81
|
+
npx @codihaus/claude-skills init --no-hooks
|
|
82
|
+
|
|
83
|
+
# Install specific skills only
|
|
84
|
+
npx @codihaus/claude-skills init --skills debrief,dev-specs,dev-coding
|
|
85
|
+
|
|
86
|
+
# Skip confirmation prompts
|
|
87
|
+
npx @codihaus/claude-skills init -y
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## System Requirements
|
|
91
|
+
|
|
92
|
+
### Required
|
|
93
|
+
- Node.js 18+
|
|
94
|
+
- Git
|
|
95
|
+
|
|
96
|
+
### Recommended
|
|
97
|
+
- Python 3.8+ (for `/utils/gemini`)
|
|
98
|
+
- jq (for `/utils/docs-graph`)
|
|
99
|
+
|
|
100
|
+
### Optional
|
|
101
|
+
- GitHub CLI (for PR creation)
|
|
102
|
+
|
|
103
|
+
## Project Dependencies
|
|
104
|
+
|
|
105
|
+
Some skills work better with project dependencies:
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# For UI testing with /dev-test
|
|
109
|
+
npm install -D @playwright/test
|
|
110
|
+
|
|
111
|
+
# For large codebase scanning with /utils/gemini
|
|
112
|
+
pip install google-generativeai
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## Workflow
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
/debrief "Customer wants..."
|
|
119
|
+
↓
|
|
120
|
+
Creates BRD + Use Cases
|
|
121
|
+
↓
|
|
122
|
+
/dev-arch validates architecture
|
|
123
|
+
↓
|
|
124
|
+
/dev-specs creates implementation plans
|
|
125
|
+
↓
|
|
126
|
+
/dev-coding implements features
|
|
127
|
+
├── /dev-coding-backend (API work)
|
|
128
|
+
└── /dev-coding-frontend (UI work)
|
|
129
|
+
↓
|
|
130
|
+
/dev-test runs automated tests
|
|
131
|
+
↓
|
|
132
|
+
/dev-review checks code quality
|
|
133
|
+
↓
|
|
134
|
+
/dev-changelog documents what was built
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
## Configuration
|
|
138
|
+
|
|
139
|
+
Skills are installed to `.claude/skills/`. You can customize:
|
|
140
|
+
|
|
141
|
+
- **`.claude/settings.local.json`** - Claude Code permissions
|
|
142
|
+
- **`.claude/hooks.json`** - Automation hooks
|
|
143
|
+
- **`CLAUDE.md`** - Project-specific instructions
|
|
144
|
+
|
|
145
|
+
## Updating
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
# Check for updates
|
|
149
|
+
npx @codihaus/claude-skills update --check
|
|
150
|
+
|
|
151
|
+
# Apply updates
|
|
152
|
+
npx @codihaus/claude-skills update
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
## Troubleshooting
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
# Run doctor to check setup
|
|
159
|
+
npx @codihaus/claude-skills doctor
|
|
160
|
+
|
|
161
|
+
# Fix issues automatically
|
|
162
|
+
npx @codihaus/claude-skills doctor --fix
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
## License
|
|
166
|
+
|
|
167
|
+
MIT
|
package/bin/cli.js
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
import { Command } from 'commander';
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import { init } from '../src/commands/init.js';
|
|
6
|
+
import { update } from '../src/commands/update.js';
|
|
7
|
+
import { list } from '../src/commands/list.js';
|
|
8
|
+
import { add } from '../src/commands/add.js';
|
|
9
|
+
import { remove } from '../src/commands/remove.js';
|
|
10
|
+
import { doctor } from '../src/commands/doctor.js';
|
|
11
|
+
|
|
12
|
+
const program = new Command();
|
|
13
|
+
|
|
14
|
+
program
|
|
15
|
+
.name('claude-skills')
|
|
16
|
+
.description('Claude Code skills for software development workflow')
|
|
17
|
+
.version('1.0.0');
|
|
18
|
+
|
|
19
|
+
program
|
|
20
|
+
.command('init')
|
|
21
|
+
.description('Initialize skills in current project')
|
|
22
|
+
.option('-s, --skills <skills>', 'Comma-separated list of skills to install')
|
|
23
|
+
.option('--all', 'Install all skills (default)', true)
|
|
24
|
+
.option('--no-deps', 'Skip dependency checking')
|
|
25
|
+
.option('--no-hooks', 'Skip hooks setup')
|
|
26
|
+
.option('-y, --yes', 'Skip confirmation prompts')
|
|
27
|
+
.action(init);
|
|
28
|
+
|
|
29
|
+
program
|
|
30
|
+
.command('update')
|
|
31
|
+
.description('Update installed skills to latest version')
|
|
32
|
+
.option('--check', 'Only check for updates, do not install')
|
|
33
|
+
.action(update);
|
|
34
|
+
|
|
35
|
+
program
|
|
36
|
+
.command('list')
|
|
37
|
+
.description('List available skills')
|
|
38
|
+
.option('-i, --installed', 'Show only installed skills')
|
|
39
|
+
.option('-a, --available', 'Show all available skills')
|
|
40
|
+
.action(list);
|
|
41
|
+
|
|
42
|
+
program
|
|
43
|
+
.command('add <skill>')
|
|
44
|
+
.description('Add a specific skill')
|
|
45
|
+
.action(add);
|
|
46
|
+
|
|
47
|
+
program
|
|
48
|
+
.command('remove <skill>')
|
|
49
|
+
.description('Remove a specific skill')
|
|
50
|
+
.action(remove);
|
|
51
|
+
|
|
52
|
+
program
|
|
53
|
+
.command('doctor')
|
|
54
|
+
.description('Check system dependencies and project setup')
|
|
55
|
+
.option('--fix', 'Attempt to fix issues automatically')
|
|
56
|
+
.action(doctor);
|
|
57
|
+
|
|
58
|
+
program.parse();
|
package/package.json
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@codihaus/claude-skills",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Claude Code skills for software development workflow",
|
|
5
|
+
"main": "src/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"claude-skills": "./bin/cli.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "node scripts/build.js",
|
|
11
|
+
"prepublishOnly": "npm run build",
|
|
12
|
+
"test": "node bin/cli.js --help"
|
|
13
|
+
},
|
|
14
|
+
"type": "module",
|
|
15
|
+
"keywords": [
|
|
16
|
+
"claude",
|
|
17
|
+
"claude-code",
|
|
18
|
+
"ai",
|
|
19
|
+
"skills",
|
|
20
|
+
"development",
|
|
21
|
+
"automation"
|
|
22
|
+
],
|
|
23
|
+
"author": "CodiHaus",
|
|
24
|
+
"license": "MIT",
|
|
25
|
+
"repository": {
|
|
26
|
+
"type": "git",
|
|
27
|
+
"url": "https://github.com/codihaus/claude-skills.git"
|
|
28
|
+
},
|
|
29
|
+
"engines": {
|
|
30
|
+
"node": ">=18.0.0"
|
|
31
|
+
},
|
|
32
|
+
"dependencies": {
|
|
33
|
+
"chalk": "^5.3.0",
|
|
34
|
+
"commander": "^12.0.0",
|
|
35
|
+
"fs-extra": "^11.2.0",
|
|
36
|
+
"inquirer": "^9.2.0",
|
|
37
|
+
"ora": "^8.0.0"
|
|
38
|
+
},
|
|
39
|
+
"files": [
|
|
40
|
+
"bin",
|
|
41
|
+
"src",
|
|
42
|
+
"skills",
|
|
43
|
+
"templates",
|
|
44
|
+
"README.md"
|
|
45
|
+
]
|
|
46
|
+
}
|
|
@@ -0,0 +1,392 @@
|
|
|
1
|
+
# Quality Attributes
|
|
2
|
+
|
|
3
|
+
Central methodology for building scalable, maintainable, and reliable software. Each skill loads its relevant section.
|
|
4
|
+
|
|
5
|
+
## How to Use
|
|
6
|
+
|
|
7
|
+
| Skill | Loads Section |
|
|
8
|
+
|-------|---------------|
|
|
9
|
+
| `/dev-arch` | Architecture Level |
|
|
10
|
+
| `/dev-specs` | Specification Level |
|
|
11
|
+
| `/dev-coding` | Implementation Level |
|
|
12
|
+
| `/dev-review` | All levels (verification) |
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Scalability
|
|
17
|
+
|
|
18
|
+
Building systems that handle growth without major rewrites.
|
|
19
|
+
|
|
20
|
+
### Architecture Level (`/dev-arch`)
|
|
21
|
+
|
|
22
|
+
**Database:**
|
|
23
|
+
- [ ] Can handle 10x current data volume?
|
|
24
|
+
- [ ] Sharding strategy needed?
|
|
25
|
+
- [ ] Read replicas for heavy read loads?
|
|
26
|
+
- [ ] Connection pooling configured?
|
|
27
|
+
|
|
28
|
+
**API Design:**
|
|
29
|
+
- [ ] Stateless services (no server-side sessions)?
|
|
30
|
+
- [ ] Horizontally scalable (add more instances)?
|
|
31
|
+
- [ ] Load balancer compatible?
|
|
32
|
+
- [ ] API versioning strategy?
|
|
33
|
+
|
|
34
|
+
**Caching:**
|
|
35
|
+
- [ ] Cache layer defined (Redis, CDN, in-memory)?
|
|
36
|
+
- [ ] Cache invalidation strategy?
|
|
37
|
+
- [ ] What to cache: queries, computed values, static assets?
|
|
38
|
+
|
|
39
|
+
**Async Processing:**
|
|
40
|
+
- [ ] Background jobs for heavy operations?
|
|
41
|
+
- [ ] Queue system (Redis, SQS, RabbitMQ)?
|
|
42
|
+
- [ ] Retry and dead-letter handling?
|
|
43
|
+
|
|
44
|
+
**Data Flow:**
|
|
45
|
+
- [ ] Event-driven where appropriate?
|
|
46
|
+
- [ ] Pub/sub for decoupling?
|
|
47
|
+
- [ ] CQRS for read/write separation (if complex)?
|
|
48
|
+
|
|
49
|
+
### Specification Level (`/dev-specs`)
|
|
50
|
+
|
|
51
|
+
**API Patterns:**
|
|
52
|
+
- [ ] Pagination for all list endpoints (cursor or offset)
|
|
53
|
+
- [ ] Filtering and sorting parameters
|
|
54
|
+
- [ ] Batch endpoints for bulk operations
|
|
55
|
+
- [ ] Partial responses (field selection)
|
|
56
|
+
|
|
57
|
+
**Database Patterns:**
|
|
58
|
+
- [ ] Indexes planned for query patterns
|
|
59
|
+
- [ ] Denormalization where read-heavy
|
|
60
|
+
- [ ] Soft deletes for audit trails
|
|
61
|
+
- [ ] Archival strategy for old data
|
|
62
|
+
|
|
63
|
+
**Rate Limiting:**
|
|
64
|
+
- [ ] Per-user limits defined
|
|
65
|
+
- [ ] Per-endpoint limits for expensive operations
|
|
66
|
+
- [ ] Graceful degradation responses
|
|
67
|
+
|
|
68
|
+
### Implementation Level (`/dev-coding`)
|
|
69
|
+
|
|
70
|
+
**Query Efficiency:**
|
|
71
|
+
- [ ] No N+1 queries (use joins/includes)
|
|
72
|
+
- [ ] Select only needed fields
|
|
73
|
+
- [ ] Limit result sets
|
|
74
|
+
- [ ] Use database-level aggregations
|
|
75
|
+
|
|
76
|
+
**Memory Management:**
|
|
77
|
+
- [ ] Stream large files (don't load into memory)
|
|
78
|
+
- [ ] Paginate internal loops
|
|
79
|
+
- [ ] Clean up resources (close connections)
|
|
80
|
+
|
|
81
|
+
**Concurrency:**
|
|
82
|
+
- [ ] Connection pooling used
|
|
83
|
+
- [ ] Async/await for I/O operations
|
|
84
|
+
- [ ] No blocking in hot paths
|
|
85
|
+
|
|
86
|
+
### Review Level (`/dev-review`)
|
|
87
|
+
|
|
88
|
+
- [ ] Query complexity acceptable (no full table scans)?
|
|
89
|
+
- [ ] Memory usage bounded?
|
|
90
|
+
- [ ] Response times within SLA?
|
|
91
|
+
- [ ] Load tested for expected traffic?
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
## Maintainability
|
|
96
|
+
|
|
97
|
+
Building systems that are easy to understand, modify, and extend.
|
|
98
|
+
|
|
99
|
+
### Architecture Level (`/dev-arch`)
|
|
100
|
+
|
|
101
|
+
**Modularity:**
|
|
102
|
+
- [ ] Clear boundaries between features?
|
|
103
|
+
- [ ] Loose coupling between modules?
|
|
104
|
+
- [ ] Shared code extracted appropriately?
|
|
105
|
+
|
|
106
|
+
**Code Organization:**
|
|
107
|
+
- [ ] Consistent folder structure?
|
|
108
|
+
- [ ] Feature-based or layer-based (pick one)?
|
|
109
|
+
- [ ] Where does new code go? (clear answer)
|
|
110
|
+
|
|
111
|
+
**Dependencies:**
|
|
112
|
+
- [ ] External dependencies justified?
|
|
113
|
+
- [ ] Abstraction layer for third-party services?
|
|
114
|
+
- [ ] Version pinning strategy?
|
|
115
|
+
|
|
116
|
+
### Specification Level (`/dev-specs`)
|
|
117
|
+
|
|
118
|
+
**API Design:**
|
|
119
|
+
- [ ] RESTful conventions followed?
|
|
120
|
+
- [ ] Consistent naming across endpoints?
|
|
121
|
+
- [ ] Clear error response format?
|
|
122
|
+
- [ ] Documented with examples?
|
|
123
|
+
|
|
124
|
+
**Data Model:**
|
|
125
|
+
- [ ] Normalized appropriately?
|
|
126
|
+
- [ ] Naming conventions consistent?
|
|
127
|
+
- [ ] Relationships clear?
|
|
128
|
+
|
|
129
|
+
### Implementation Level (`/dev-coding`)
|
|
130
|
+
|
|
131
|
+
**Code Quality:**
|
|
132
|
+
- [ ] Functions do one thing
|
|
133
|
+
- [ ] Names describe intent
|
|
134
|
+
- [ ] No magic numbers/strings
|
|
135
|
+
- [ ] DRY without over-abstraction
|
|
136
|
+
|
|
137
|
+
**Documentation:**
|
|
138
|
+
- [ ] Complex logic commented
|
|
139
|
+
- [ ] Public APIs documented
|
|
140
|
+
- [ ] README updated if needed
|
|
141
|
+
|
|
142
|
+
### Review Level (`/dev-review`)
|
|
143
|
+
|
|
144
|
+
- [ ] Can a new developer understand this?
|
|
145
|
+
- [ ] Would you want to maintain this?
|
|
146
|
+
- [ ] Test coverage adequate?
|
|
147
|
+
- [ ] No code smells?
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
## Performance
|
|
152
|
+
|
|
153
|
+
Building systems that respond quickly.
|
|
154
|
+
|
|
155
|
+
### Architecture Level (`/dev-arch`)
|
|
156
|
+
|
|
157
|
+
**Latency Targets:**
|
|
158
|
+
- [ ] P50, P95, P99 latency targets defined?
|
|
159
|
+
- [ ] Which operations are latency-critical?
|
|
160
|
+
- [ ] Acceptable degradation under load?
|
|
161
|
+
|
|
162
|
+
**Optimization Strategy:**
|
|
163
|
+
- [ ] CDN for static assets?
|
|
164
|
+
- [ ] Edge caching where appropriate?
|
|
165
|
+
- [ ] Database query optimization plan?
|
|
166
|
+
|
|
167
|
+
### Specification Level (`/dev-specs`)
|
|
168
|
+
|
|
169
|
+
**API Design:**
|
|
170
|
+
- [ ] Batch endpoints to reduce round trips?
|
|
171
|
+
- [ ] GraphQL for flexible queries (if applicable)?
|
|
172
|
+
- [ ] Compression enabled?
|
|
173
|
+
|
|
174
|
+
**Data Access:**
|
|
175
|
+
- [ ] Eager vs lazy loading decided?
|
|
176
|
+
- [ ] Indexes specified for queries?
|
|
177
|
+
- [ ] Caching hints in spec?
|
|
178
|
+
|
|
179
|
+
### Implementation Level (`/dev-coding`)
|
|
180
|
+
|
|
181
|
+
**Frontend:**
|
|
182
|
+
- [ ] Bundle size optimized?
|
|
183
|
+
- [ ] Images optimized?
|
|
184
|
+
- [ ] Lazy loading for below-fold content?
|
|
185
|
+
- [ ] No unnecessary re-renders?
|
|
186
|
+
|
|
187
|
+
**Backend:**
|
|
188
|
+
- [ ] Database queries optimized?
|
|
189
|
+
- [ ] N+1 queries eliminated?
|
|
190
|
+
- [ ] Heavy computation cached or async?
|
|
191
|
+
|
|
192
|
+
### Review Level (`/dev-review`)
|
|
193
|
+
|
|
194
|
+
- [ ] No obvious performance issues?
|
|
195
|
+
- [ ] Acceptable query patterns?
|
|
196
|
+
- [ ] Bundle size impact reviewed?
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
## Security
|
|
201
|
+
|
|
202
|
+
Building systems that protect data and users.
|
|
203
|
+
|
|
204
|
+
### Architecture Level (`/dev-arch`)
|
|
205
|
+
|
|
206
|
+
**Authentication:**
|
|
207
|
+
- [ ] Auth strategy chosen (JWT, session, OAuth)?
|
|
208
|
+
- [ ] Token storage secure (httpOnly cookies)?
|
|
209
|
+
- [ ] Refresh token strategy?
|
|
210
|
+
|
|
211
|
+
**Authorization:**
|
|
212
|
+
- [ ] Permission model defined (RBAC, ABAC)?
|
|
213
|
+
- [ ] Where are permissions checked?
|
|
214
|
+
- [ ] Default deny policy?
|
|
215
|
+
|
|
216
|
+
**Data Protection:**
|
|
217
|
+
- [ ] Sensitive data identified?
|
|
218
|
+
- [ ] Encryption at rest needed?
|
|
219
|
+
- [ ] Encryption in transit (HTTPS)?
|
|
220
|
+
- [ ] PII handling compliant?
|
|
221
|
+
|
|
222
|
+
### Specification Level (`/dev-specs`)
|
|
223
|
+
|
|
224
|
+
**API Security:**
|
|
225
|
+
- [ ] Authentication required on endpoints?
|
|
226
|
+
- [ ] Authorization rules per endpoint?
|
|
227
|
+
- [ ] Input validation rules defined?
|
|
228
|
+
- [ ] Rate limiting specified?
|
|
229
|
+
|
|
230
|
+
**Data Handling:**
|
|
231
|
+
- [ ] Sensitive fields marked?
|
|
232
|
+
- [ ] Audit logging requirements?
|
|
233
|
+
- [ ] Data retention policy?
|
|
234
|
+
|
|
235
|
+
### Implementation Level (`/dev-coding`)
|
|
236
|
+
|
|
237
|
+
**Input Handling:**
|
|
238
|
+
- [ ] All input validated
|
|
239
|
+
- [ ] SQL injection prevented (parameterized queries)
|
|
240
|
+
- [ ] XSS prevented (output encoding)
|
|
241
|
+
- [ ] CSRF protection enabled
|
|
242
|
+
|
|
243
|
+
**Secrets:**
|
|
244
|
+
- [ ] No hardcoded secrets
|
|
245
|
+
- [ ] Environment variables used
|
|
246
|
+
- [ ] Secrets not logged
|
|
247
|
+
|
|
248
|
+
**Dependencies:**
|
|
249
|
+
- [ ] No known vulnerabilities
|
|
250
|
+
- [ ] Regular updates planned
|
|
251
|
+
|
|
252
|
+
### Review Level (`/dev-review`)
|
|
253
|
+
|
|
254
|
+
- [ ] OWASP Top 10 considered?
|
|
255
|
+
- [ ] Auth/authz correctly implemented?
|
|
256
|
+
- [ ] Sensitive data protected?
|
|
257
|
+
- [ ] No security anti-patterns?
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## Reliability
|
|
262
|
+
|
|
263
|
+
Building systems that don't break.
|
|
264
|
+
|
|
265
|
+
### Architecture Level (`/dev-arch`)
|
|
266
|
+
|
|
267
|
+
**Failure Handling:**
|
|
268
|
+
- [ ] Single points of failure identified?
|
|
269
|
+
- [ ] Redundancy where critical?
|
|
270
|
+
- [ ] Graceful degradation strategy?
|
|
271
|
+
|
|
272
|
+
**Recovery:**
|
|
273
|
+
- [ ] Backup strategy defined?
|
|
274
|
+
- [ ] Recovery time objective (RTO)?
|
|
275
|
+
- [ ] Recovery point objective (RPO)?
|
|
276
|
+
|
|
277
|
+
**Monitoring:**
|
|
278
|
+
- [ ] What metrics to track?
|
|
279
|
+
- [ ] Alerting thresholds?
|
|
280
|
+
- [ ] Logging strategy?
|
|
281
|
+
|
|
282
|
+
### Specification Level (`/dev-specs`)
|
|
283
|
+
|
|
284
|
+
**Error Handling:**
|
|
285
|
+
- [ ] Error responses defined?
|
|
286
|
+
- [ ] Retry behavior specified?
|
|
287
|
+
- [ ] Timeout values set?
|
|
288
|
+
|
|
289
|
+
**Validation:**
|
|
290
|
+
- [ ] Input constraints defined?
|
|
291
|
+
- [ ] Business rule validations?
|
|
292
|
+
- [ ] Data integrity checks?
|
|
293
|
+
|
|
294
|
+
### Implementation Level (`/dev-coding`)
|
|
295
|
+
|
|
296
|
+
**Error Handling:**
|
|
297
|
+
- [ ] Errors caught and handled
|
|
298
|
+
- [ ] User-friendly error messages
|
|
299
|
+
- [ ] Errors logged for debugging
|
|
300
|
+
- [ ] No swallowed errors
|
|
301
|
+
|
|
302
|
+
**Resilience:**
|
|
303
|
+
- [ ] Timeouts on external calls
|
|
304
|
+
- [ ] Circuit breakers for failing services
|
|
305
|
+
- [ ] Retries with backoff
|
|
306
|
+
|
|
307
|
+
### Review Level (`/dev-review`)
|
|
308
|
+
|
|
309
|
+
- [ ] Error paths tested?
|
|
310
|
+
- [ ] Failure scenarios considered?
|
|
311
|
+
- [ ] Logging adequate for debugging?
|
|
312
|
+
|
|
313
|
+
---
|
|
314
|
+
|
|
315
|
+
## Testability
|
|
316
|
+
|
|
317
|
+
Building systems that can be verified.
|
|
318
|
+
|
|
319
|
+
### Architecture Level (`/dev-arch`)
|
|
320
|
+
|
|
321
|
+
**Test Strategy:**
|
|
322
|
+
- [ ] Unit test coverage target?
|
|
323
|
+
- [ ] Integration test approach?
|
|
324
|
+
- [ ] E2E test scope?
|
|
325
|
+
|
|
326
|
+
**Design for Testing:**
|
|
327
|
+
- [ ] Dependencies injectable?
|
|
328
|
+
- [ ] Side effects isolated?
|
|
329
|
+
- [ ] Test data strategy?
|
|
330
|
+
|
|
331
|
+
### Specification Level (`/dev-specs`)
|
|
332
|
+
|
|
333
|
+
**Test Cases:**
|
|
334
|
+
- [ ] Happy path tests defined?
|
|
335
|
+
- [ ] Error cases covered?
|
|
336
|
+
- [ ] Edge cases identified?
|
|
337
|
+
- [ ] Test data specified?
|
|
338
|
+
|
|
339
|
+
### Implementation Level (`/dev-coding`)
|
|
340
|
+
|
|
341
|
+
**Code Testability:**
|
|
342
|
+
- [ ] Pure functions where possible
|
|
343
|
+
- [ ] Dependencies injected
|
|
344
|
+
- [ ] Side effects at boundaries
|
|
345
|
+
|
|
346
|
+
**Test Quality:**
|
|
347
|
+
- [ ] Tests test behavior, not implementation
|
|
348
|
+
- [ ] Tests are independent
|
|
349
|
+
- [ ] Tests are fast
|
|
350
|
+
|
|
351
|
+
### Review Level (`/dev-review`)
|
|
352
|
+
|
|
353
|
+
- [ ] Tests exist for new code?
|
|
354
|
+
- [ ] Tests actually test something?
|
|
355
|
+
- [ ] Coverage acceptable?
|
|
356
|
+
|
|
357
|
+
---
|
|
358
|
+
|
|
359
|
+
## Quick Reference
|
|
360
|
+
|
|
361
|
+
### When to Prioritize What
|
|
362
|
+
|
|
363
|
+
| Project Type | Priority 1 | Priority 2 | Priority 3 |
|
|
364
|
+
|--------------|------------|------------|------------|
|
|
365
|
+
| MVP/Prototype | Maintainability | Testability | Security |
|
|
366
|
+
| Growth Stage | Scalability | Performance | Reliability |
|
|
367
|
+
| Enterprise | Security | Reliability | Maintainability |
|
|
368
|
+
| High Traffic | Scalability | Performance | Reliability |
|
|
369
|
+
|
|
370
|
+
### Red Flags to Watch
|
|
371
|
+
|
|
372
|
+
| Attribute | Red Flag |
|
|
373
|
+
|-----------|----------|
|
|
374
|
+
| Scalability | "It works for now" without growth plan |
|
|
375
|
+
| Maintainability | "Only John understands this code" |
|
|
376
|
+
| Performance | "It's slow but we'll optimize later" |
|
|
377
|
+
| Security | "We'll add auth after launch" |
|
|
378
|
+
| Reliability | "It rarely crashes" |
|
|
379
|
+
| Testability | "Too complex to test" |
|
|
380
|
+
|
|
381
|
+
### Minimum Viable Quality
|
|
382
|
+
|
|
383
|
+
For ANY feature, at minimum:
|
|
384
|
+
|
|
385
|
+
```
|
|
386
|
+
[ ] Input validated
|
|
387
|
+
[ ] Errors handled
|
|
388
|
+
[ ] Auth checked (if needed)
|
|
389
|
+
[ ] No N+1 queries
|
|
390
|
+
[ ] Basic tests exist
|
|
391
|
+
[ ] No hardcoded secrets
|
|
392
|
+
```
|