@jwdobeutechsolutions/dobeutech-claude-code-custom 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/CLAUDE.md +174 -0
- package/CONTRIBUTING.md +191 -0
- package/README.md +345 -0
- package/agents/accessibility-auditor.md +315 -0
- package/agents/api-designer.md +265 -0
- package/agents/architect.md +211 -0
- package/agents/build-error-resolver.md +532 -0
- package/agents/ci-cd-generator.md +318 -0
- package/agents/code-reviewer.md +104 -0
- package/agents/database-migrator.md +258 -0
- package/agents/deployment-manager.md +296 -0
- package/agents/doc-updater.md +452 -0
- package/agents/docker-specialist.md +293 -0
- package/agents/e2e-runner.md +708 -0
- package/agents/fullstack-architect.md +293 -0
- package/agents/infrastructure-engineer.md +297 -0
- package/agents/integration-tester.md +320 -0
- package/agents/performance-tester.md +243 -0
- package/agents/planner.md +119 -0
- package/agents/refactor-cleaner.md +306 -0
- package/agents/security-reviewer.md +545 -0
- package/agents/tdd-guide.md +280 -0
- package/agents/unit-test-generator.md +290 -0
- package/bin/claude-config.js +290 -0
- package/commands/api-design.md +55 -0
- package/commands/audit-accessibility.md +37 -0
- package/commands/audit-performance.md +38 -0
- package/commands/audit-security.md +43 -0
- package/commands/build-fix.md +29 -0
- package/commands/changelog.md +31 -0
- package/commands/code-review.md +40 -0
- package/commands/deploy.md +51 -0
- package/commands/docs-api.md +41 -0
- package/commands/e2e.md +363 -0
- package/commands/plan.md +113 -0
- package/commands/refactor-clean.md +28 -0
- package/commands/tdd.md +326 -0
- package/commands/test-coverage.md +27 -0
- package/commands/update-codemaps.md +17 -0
- package/commands/update-docs.md +31 -0
- package/hooks/hooks.json +121 -0
- package/mcp-configs/mcp-servers.json +163 -0
- package/package.json +53 -0
- package/rules/agents.md +49 -0
- package/rules/coding-style.md +70 -0
- package/rules/git-workflow.md +45 -0
- package/rules/hooks.md +46 -0
- package/rules/patterns.md +55 -0
- package/rules/performance.md +47 -0
- package/rules/security.md +36 -0
- package/rules/testing.md +30 -0
- package/scripts/install.js +254 -0
- package/skills/backend-patterns.md +582 -0
- package/skills/clickhouse-io.md +429 -0
- package/skills/coding-standards.md +520 -0
- package/skills/frontend-patterns.md +631 -0
- package/skills/project-guidelines-example.md +345 -0
- package/skills/security-review/SKILL.md +494 -0
- package/skills/tdd-workflow/SKILL.md +409 -0
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
{
|
|
2
|
+
"mcpServers": {
|
|
3
|
+
"github": {
|
|
4
|
+
"command": "npx",
|
|
5
|
+
"args": ["-y", "@modelcontextprotocol/server-github"],
|
|
6
|
+
"env": {
|
|
7
|
+
"GITHUB_PERSONAL_ACCESS_TOKEN": "YOUR_GITHUB_PAT_HERE"
|
|
8
|
+
},
|
|
9
|
+
"description": "GitHub operations - PRs, issues, repos"
|
|
10
|
+
},
|
|
11
|
+
"firecrawl": {
|
|
12
|
+
"command": "npx",
|
|
13
|
+
"args": ["-y", "firecrawl-mcp"],
|
|
14
|
+
"env": {
|
|
15
|
+
"FIRECRAWL_API_KEY": "YOUR_FIRECRAWL_KEY_HERE"
|
|
16
|
+
},
|
|
17
|
+
"description": "Web scraping and crawling"
|
|
18
|
+
},
|
|
19
|
+
"supabase": {
|
|
20
|
+
"command": "npx",
|
|
21
|
+
"args": ["-y", "@supabase/mcp-server-supabase@latest", "--project-ref=YOUR_PROJECT_REF"],
|
|
22
|
+
"description": "Supabase database operations"
|
|
23
|
+
},
|
|
24
|
+
"memory": {
|
|
25
|
+
"command": "npx",
|
|
26
|
+
"args": ["-y", "@modelcontextprotocol/server-memory"],
|
|
27
|
+
"description": "Persistent memory across sessions"
|
|
28
|
+
},
|
|
29
|
+
"sequential-thinking": {
|
|
30
|
+
"command": "npx",
|
|
31
|
+
"args": ["-y", "@modelcontextprotocol/server-sequential-thinking"],
|
|
32
|
+
"description": "Chain-of-thought reasoning"
|
|
33
|
+
},
|
|
34
|
+
"vercel": {
|
|
35
|
+
"type": "http",
|
|
36
|
+
"url": "https://mcp.vercel.com",
|
|
37
|
+
"description": "Vercel deployments and projects"
|
|
38
|
+
},
|
|
39
|
+
"railway": {
|
|
40
|
+
"command": "npx",
|
|
41
|
+
"args": ["-y", "@railway/mcp-server"],
|
|
42
|
+
"description": "Railway deployments"
|
|
43
|
+
},
|
|
44
|
+
"cloudflare-docs": {
|
|
45
|
+
"type": "http",
|
|
46
|
+
"url": "https://docs.mcp.cloudflare.com/mcp",
|
|
47
|
+
"description": "Cloudflare documentation search"
|
|
48
|
+
},
|
|
49
|
+
"cloudflare-workers-builds": {
|
|
50
|
+
"type": "http",
|
|
51
|
+
"url": "https://builds.mcp.cloudflare.com/mcp",
|
|
52
|
+
"description": "Cloudflare Workers builds"
|
|
53
|
+
},
|
|
54
|
+
"cloudflare-workers-bindings": {
|
|
55
|
+
"type": "http",
|
|
56
|
+
"url": "https://bindings.mcp.cloudflare.com/mcp",
|
|
57
|
+
"description": "Cloudflare Workers bindings"
|
|
58
|
+
},
|
|
59
|
+
"cloudflare-observability": {
|
|
60
|
+
"type": "http",
|
|
61
|
+
"url": "https://observability.mcp.cloudflare.com/mcp",
|
|
62
|
+
"description": "Cloudflare observability/logs"
|
|
63
|
+
},
|
|
64
|
+
"clickhouse": {
|
|
65
|
+
"type": "http",
|
|
66
|
+
"url": "https://mcp.clickhouse.cloud/mcp",
|
|
67
|
+
"description": "ClickHouse analytics queries"
|
|
68
|
+
},
|
|
69
|
+
"context7": {
|
|
70
|
+
"command": "npx",
|
|
71
|
+
"args": ["-y", "@context7/mcp-server"],
|
|
72
|
+
"description": "Live documentation lookup"
|
|
73
|
+
},
|
|
74
|
+
"magic": {
|
|
75
|
+
"command": "npx",
|
|
76
|
+
"args": ["-y", "@magicuidesign/mcp@latest"],
|
|
77
|
+
"description": "Magic UI components"
|
|
78
|
+
},
|
|
79
|
+
"filesystem": {
|
|
80
|
+
"command": "npx",
|
|
81
|
+
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/your/projects"],
|
|
82
|
+
"description": "Filesystem operations (set your path)"
|
|
83
|
+
},
|
|
84
|
+
"mem0": {
|
|
85
|
+
"command": "npx",
|
|
86
|
+
"args": ["-y", "@mem0ai/mcp-server-mem0"],
|
|
87
|
+
"env": {
|
|
88
|
+
"MEM0_API_KEY": "YOUR_MEM0_API_KEY_HERE"
|
|
89
|
+
},
|
|
90
|
+
"description": "Mem0 memory and persistence - long-term context storage and retrieval"
|
|
91
|
+
},
|
|
92
|
+
"postgres": {
|
|
93
|
+
"command": "npx",
|
|
94
|
+
"args": ["-y", "@modelcontextprotocol/server-postgres"],
|
|
95
|
+
"env": {
|
|
96
|
+
"POSTGRES_CONNECTION_STRING": "YOUR_POSTGRES_CONNECTION_STRING_HERE"
|
|
97
|
+
},
|
|
98
|
+
"description": "PostgreSQL database operations"
|
|
99
|
+
},
|
|
100
|
+
"mongodb": {
|
|
101
|
+
"command": "npx",
|
|
102
|
+
"args": ["-y", "@modelcontextprotocol/server-mongodb"],
|
|
103
|
+
"env": {
|
|
104
|
+
"MONGODB_URI": "YOUR_MONGODB_URI_HERE"
|
|
105
|
+
},
|
|
106
|
+
"description": "MongoDB database operations"
|
|
107
|
+
},
|
|
108
|
+
"aws": {
|
|
109
|
+
"command": "npx",
|
|
110
|
+
"args": ["-y", "@modelcontextprotocol/server-aws"],
|
|
111
|
+
"env": {
|
|
112
|
+
"AWS_ACCESS_KEY_ID": "YOUR_AWS_ACCESS_KEY_ID_HERE",
|
|
113
|
+
"AWS_SECRET_ACCESS_KEY": "YOUR_AWS_SECRET_ACCESS_KEY_HERE",
|
|
114
|
+
"AWS_REGION": "YOUR_AWS_REGION_HERE"
|
|
115
|
+
},
|
|
116
|
+
"description": "AWS cloud services operations"
|
|
117
|
+
},
|
|
118
|
+
"gcp": {
|
|
119
|
+
"command": "npx",
|
|
120
|
+
"args": ["-y", "@modelcontextprotocol/server-gcp"],
|
|
121
|
+
"env": {
|
|
122
|
+
"GCP_PROJECT_ID": "YOUR_GCP_PROJECT_ID_HERE",
|
|
123
|
+
"GCP_CREDENTIALS": "YOUR_GCP_CREDENTIALS_JSON_HERE"
|
|
124
|
+
},
|
|
125
|
+
"description": "Google Cloud Platform operations"
|
|
126
|
+
},
|
|
127
|
+
"azure": {
|
|
128
|
+
"command": "npx",
|
|
129
|
+
"args": ["-y", "@modelcontextprotocol/server-azure"],
|
|
130
|
+
"env": {
|
|
131
|
+
"AZURE_SUBSCRIPTION_ID": "YOUR_AZURE_SUBSCRIPTION_ID_HERE",
|
|
132
|
+
"AZURE_CLIENT_ID": "YOUR_AZURE_CLIENT_ID_HERE",
|
|
133
|
+
"AZURE_CLIENT_SECRET": "YOUR_AZURE_CLIENT_SECRET_HERE",
|
|
134
|
+
"AZURE_TENANT_ID": "YOUR_AZURE_TENANT_ID_HERE"
|
|
135
|
+
},
|
|
136
|
+
"description": "Microsoft Azure cloud operations"
|
|
137
|
+
},
|
|
138
|
+
"sentry": {
|
|
139
|
+
"command": "npx",
|
|
140
|
+
"args": ["-y", "@sentry/mcp-server"],
|
|
141
|
+
"env": {
|
|
142
|
+
"SENTRY_AUTH_TOKEN": "YOUR_SENTRY_AUTH_TOKEN_HERE",
|
|
143
|
+
"SENTRY_ORG": "YOUR_SENTRY_ORG_HERE"
|
|
144
|
+
},
|
|
145
|
+
"description": "Sentry error tracking and monitoring"
|
|
146
|
+
},
|
|
147
|
+
"datadog": {
|
|
148
|
+
"command": "npx",
|
|
149
|
+
"args": ["-y", "@datadog/mcp-server"],
|
|
150
|
+
"env": {
|
|
151
|
+
"DATADOG_API_KEY": "YOUR_DATADOG_API_KEY_HERE",
|
|
152
|
+
"DATADOG_APP_KEY": "YOUR_DATADOG_APP_KEY_HERE"
|
|
153
|
+
},
|
|
154
|
+
"description": "Datadog monitoring and observability"
|
|
155
|
+
}
|
|
156
|
+
},
|
|
157
|
+
"_comments": {
|
|
158
|
+
"usage": "Copy the servers you need to your ~/.claude.json mcpServers section",
|
|
159
|
+
"env_vars": "Replace YOUR_*_HERE placeholders with actual values",
|
|
160
|
+
"disabling": "Use disabledMcpServers array in project config to disable per-project",
|
|
161
|
+
"context_warning": "Keep under 10 MCPs enabled to preserve context window"
|
|
162
|
+
}
|
|
163
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jwdobeutechsolutions/dobeutech-claude-code-custom",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Comprehensive centralized repository of Claude Code configurations including agents, skills, commands, hooks, and MCP servers optimized for full-stack development",
|
|
5
|
+
"author": "jwdobeutechsolutions",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"main": "scripts/install.js",
|
|
8
|
+
"bin": {
|
|
9
|
+
"claude-config": "bin/claude-config.js"
|
|
10
|
+
},
|
|
11
|
+
"scripts": {
|
|
12
|
+
"postinstall": "node scripts/install.js"
|
|
13
|
+
},
|
|
14
|
+
"files": [
|
|
15
|
+
"agents",
|
|
16
|
+
"skills",
|
|
17
|
+
"commands",
|
|
18
|
+
"rules",
|
|
19
|
+
"hooks",
|
|
20
|
+
"mcp-configs",
|
|
21
|
+
"templates",
|
|
22
|
+
"docs",
|
|
23
|
+
"bin",
|
|
24
|
+
"scripts",
|
|
25
|
+
"README.md",
|
|
26
|
+
"CONTRIBUTING.md",
|
|
27
|
+
"CLAUDE.md"
|
|
28
|
+
],
|
|
29
|
+
"keywords": [
|
|
30
|
+
"claude-code",
|
|
31
|
+
"agents",
|
|
32
|
+
"skills",
|
|
33
|
+
"commands",
|
|
34
|
+
"hooks",
|
|
35
|
+
"mcp",
|
|
36
|
+
"full-stack",
|
|
37
|
+
"development",
|
|
38
|
+
"claude",
|
|
39
|
+
"ai",
|
|
40
|
+
"configuration"
|
|
41
|
+
],
|
|
42
|
+
"repository": {
|
|
43
|
+
"type": "git",
|
|
44
|
+
"url": "https://github.com/dobeutech/dobeutech-claude-code-custom.git"
|
|
45
|
+
},
|
|
46
|
+
"publishConfig": {
|
|
47
|
+
"registry": "https://registry.npmjs.org/",
|
|
48
|
+
"access": "public"
|
|
49
|
+
},
|
|
50
|
+
"engines": {
|
|
51
|
+
"node": ">=14.0.0"
|
|
52
|
+
}
|
|
53
|
+
}
|
package/rules/agents.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# Agent Orchestration
|
|
2
|
+
|
|
3
|
+
## Available Agents
|
|
4
|
+
|
|
5
|
+
Located in `~/.claude/agents/`:
|
|
6
|
+
|
|
7
|
+
| Agent | Purpose | When to Use |
|
|
8
|
+
|-------|---------|-------------|
|
|
9
|
+
| planner | Implementation planning | Complex features, refactoring |
|
|
10
|
+
| architect | System design | Architectural decisions |
|
|
11
|
+
| tdd-guide | Test-driven development | New features, bug fixes |
|
|
12
|
+
| code-reviewer | Code review | After writing code |
|
|
13
|
+
| security-reviewer | Security analysis | Before commits |
|
|
14
|
+
| build-error-resolver | Fix build errors | When build fails |
|
|
15
|
+
| e2e-runner | E2E testing | Critical user flows |
|
|
16
|
+
| refactor-cleaner | Dead code cleanup | Code maintenance |
|
|
17
|
+
| doc-updater | Documentation | Updating docs |
|
|
18
|
+
|
|
19
|
+
## Immediate Agent Usage
|
|
20
|
+
|
|
21
|
+
No user prompt needed:
|
|
22
|
+
1. Complex feature requests - Use **planner** agent
|
|
23
|
+
2. Code just written/modified - Use **code-reviewer** agent
|
|
24
|
+
3. Bug fix or new feature - Use **tdd-guide** agent
|
|
25
|
+
4. Architectural decision - Use **architect** agent
|
|
26
|
+
|
|
27
|
+
## Parallel Task Execution
|
|
28
|
+
|
|
29
|
+
ALWAYS use parallel Task execution for independent operations:
|
|
30
|
+
|
|
31
|
+
```markdown
|
|
32
|
+
# GOOD: Parallel execution
|
|
33
|
+
Launch 3 agents in parallel:
|
|
34
|
+
1. Agent 1: Security analysis of auth.ts
|
|
35
|
+
2. Agent 2: Performance review of cache system
|
|
36
|
+
3. Agent 3: Type checking of utils.ts
|
|
37
|
+
|
|
38
|
+
# BAD: Sequential when unnecessary
|
|
39
|
+
First agent 1, then agent 2, then agent 3
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## Multi-Perspective Analysis
|
|
43
|
+
|
|
44
|
+
For complex problems, use split role sub-agents:
|
|
45
|
+
- Factual reviewer
|
|
46
|
+
- Senior engineer
|
|
47
|
+
- Security expert
|
|
48
|
+
- Consistency reviewer
|
|
49
|
+
- Redundancy checker
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# Coding Style
|
|
2
|
+
|
|
3
|
+
## Immutability (CRITICAL)
|
|
4
|
+
|
|
5
|
+
ALWAYS create new objects, NEVER mutate:
|
|
6
|
+
|
|
7
|
+
```javascript
|
|
8
|
+
// WRONG: Mutation
|
|
9
|
+
function updateUser(user, name) {
|
|
10
|
+
user.name = name // MUTATION!
|
|
11
|
+
return user
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
// CORRECT: Immutability
|
|
15
|
+
function updateUser(user, name) {
|
|
16
|
+
return {
|
|
17
|
+
...user,
|
|
18
|
+
name
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
## File Organization
|
|
24
|
+
|
|
25
|
+
MANY SMALL FILES > FEW LARGE FILES:
|
|
26
|
+
- High cohesion, low coupling
|
|
27
|
+
- 200-400 lines typical, 800 max
|
|
28
|
+
- Extract utilities from large components
|
|
29
|
+
- Organize by feature/domain, not by type
|
|
30
|
+
|
|
31
|
+
## Error Handling
|
|
32
|
+
|
|
33
|
+
ALWAYS handle errors comprehensively:
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
try {
|
|
37
|
+
const result = await riskyOperation()
|
|
38
|
+
return result
|
|
39
|
+
} catch (error) {
|
|
40
|
+
console.error('Operation failed:', error)
|
|
41
|
+
throw new Error('Detailed user-friendly message')
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Input Validation
|
|
46
|
+
|
|
47
|
+
ALWAYS validate user input:
|
|
48
|
+
|
|
49
|
+
```typescript
|
|
50
|
+
import { z } from 'zod'
|
|
51
|
+
|
|
52
|
+
const schema = z.object({
|
|
53
|
+
email: z.string().email(),
|
|
54
|
+
age: z.number().int().min(0).max(150)
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
const validated = schema.parse(input)
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
## Code Quality Checklist
|
|
61
|
+
|
|
62
|
+
Before marking work complete:
|
|
63
|
+
- [ ] Code is readable and well-named
|
|
64
|
+
- [ ] Functions are small (<50 lines)
|
|
65
|
+
- [ ] Files are focused (<800 lines)
|
|
66
|
+
- [ ] No deep nesting (>4 levels)
|
|
67
|
+
- [ ] Proper error handling
|
|
68
|
+
- [ ] No console.log statements
|
|
69
|
+
- [ ] No hardcoded values
|
|
70
|
+
- [ ] No mutation (immutable patterns used)
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Git Workflow
|
|
2
|
+
|
|
3
|
+
## Commit Message Format
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
<type>: <description>
|
|
7
|
+
|
|
8
|
+
<optional body>
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
Types: feat, fix, refactor, docs, test, chore, perf, ci
|
|
12
|
+
|
|
13
|
+
Note: Attribution disabled globally via ~/.claude/settings.json.
|
|
14
|
+
|
|
15
|
+
## Pull Request Workflow
|
|
16
|
+
|
|
17
|
+
When creating PRs:
|
|
18
|
+
1. Analyze full commit history (not just latest commit)
|
|
19
|
+
2. Use `git diff [base-branch]...HEAD` to see all changes
|
|
20
|
+
3. Draft comprehensive PR summary
|
|
21
|
+
4. Include test plan with TODOs
|
|
22
|
+
5. Push with `-u` flag if new branch
|
|
23
|
+
|
|
24
|
+
## Feature Implementation Workflow
|
|
25
|
+
|
|
26
|
+
1. **Plan First**
|
|
27
|
+
- Use **planner** agent to create implementation plan
|
|
28
|
+
- Identify dependencies and risks
|
|
29
|
+
- Break down into phases
|
|
30
|
+
|
|
31
|
+
2. **TDD Approach**
|
|
32
|
+
- Use **tdd-guide** agent
|
|
33
|
+
- Write tests first (RED)
|
|
34
|
+
- Implement to pass tests (GREEN)
|
|
35
|
+
- Refactor (IMPROVE)
|
|
36
|
+
- Verify 80%+ coverage
|
|
37
|
+
|
|
38
|
+
3. **Code Review**
|
|
39
|
+
- Use **code-reviewer** agent immediately after writing code
|
|
40
|
+
- Address CRITICAL and HIGH issues
|
|
41
|
+
- Fix MEDIUM issues when possible
|
|
42
|
+
|
|
43
|
+
4. **Commit & Push**
|
|
44
|
+
- Detailed commit messages
|
|
45
|
+
- Follow conventional commits format
|
package/rules/hooks.md
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Hooks System
|
|
2
|
+
|
|
3
|
+
## Hook Types
|
|
4
|
+
|
|
5
|
+
- **PreToolUse**: Before tool execution (validation, parameter modification)
|
|
6
|
+
- **PostToolUse**: After tool execution (auto-format, checks)
|
|
7
|
+
- **Stop**: When session ends (final verification)
|
|
8
|
+
|
|
9
|
+
## Current Hooks (in ~/.claude/settings.json)
|
|
10
|
+
|
|
11
|
+
### PreToolUse
|
|
12
|
+
- **tmux reminder**: Suggests tmux for long-running commands (npm, pnpm, yarn, cargo, etc.)
|
|
13
|
+
- **git push review**: Opens Zed for review before push
|
|
14
|
+
- **doc blocker**: Blocks creation of unnecessary .md/.txt files
|
|
15
|
+
|
|
16
|
+
### PostToolUse
|
|
17
|
+
- **PR creation**: Logs PR URL and GitHub Actions status
|
|
18
|
+
- **Prettier**: Auto-formats JS/TS files after edit
|
|
19
|
+
- **TypeScript check**: Runs tsc after editing .ts/.tsx files
|
|
20
|
+
- **console.log warning**: Warns about console.log in edited files
|
|
21
|
+
|
|
22
|
+
### Stop
|
|
23
|
+
- **console.log audit**: Checks all modified files for console.log before session ends
|
|
24
|
+
|
|
25
|
+
## Auto-Accept Permissions
|
|
26
|
+
|
|
27
|
+
Use with caution:
|
|
28
|
+
- Enable for trusted, well-defined plans
|
|
29
|
+
- Disable for exploratory work
|
|
30
|
+
- Never use dangerously-skip-permissions flag
|
|
31
|
+
- Configure `allowedTools` in `~/.claude.json` instead
|
|
32
|
+
|
|
33
|
+
## TodoWrite Best Practices
|
|
34
|
+
|
|
35
|
+
Use TodoWrite tool to:
|
|
36
|
+
- Track progress on multi-step tasks
|
|
37
|
+
- Verify understanding of instructions
|
|
38
|
+
- Enable real-time steering
|
|
39
|
+
- Show granular implementation steps
|
|
40
|
+
|
|
41
|
+
Todo list reveals:
|
|
42
|
+
- Out of order steps
|
|
43
|
+
- Missing items
|
|
44
|
+
- Extra unnecessary items
|
|
45
|
+
- Wrong granularity
|
|
46
|
+
- Misinterpreted requirements
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Common Patterns
|
|
2
|
+
|
|
3
|
+
## API Response Format
|
|
4
|
+
|
|
5
|
+
```typescript
|
|
6
|
+
interface ApiResponse<T> {
|
|
7
|
+
success: boolean
|
|
8
|
+
data?: T
|
|
9
|
+
error?: string
|
|
10
|
+
meta?: {
|
|
11
|
+
total: number
|
|
12
|
+
page: number
|
|
13
|
+
limit: number
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## Custom Hooks Pattern
|
|
19
|
+
|
|
20
|
+
```typescript
|
|
21
|
+
export function useDebounce<T>(value: T, delay: number): T {
|
|
22
|
+
const [debouncedValue, setDebouncedValue] = useState<T>(value)
|
|
23
|
+
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
const handler = setTimeout(() => setDebouncedValue(value), delay)
|
|
26
|
+
return () => clearTimeout(handler)
|
|
27
|
+
}, [value, delay])
|
|
28
|
+
|
|
29
|
+
return debouncedValue
|
|
30
|
+
}
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Repository Pattern
|
|
34
|
+
|
|
35
|
+
```typescript
|
|
36
|
+
interface Repository<T> {
|
|
37
|
+
findAll(filters?: Filters): Promise<T[]>
|
|
38
|
+
findById(id: string): Promise<T | null>
|
|
39
|
+
create(data: CreateDto): Promise<T>
|
|
40
|
+
update(id: string, data: UpdateDto): Promise<T>
|
|
41
|
+
delete(id: string): Promise<void>
|
|
42
|
+
}
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Skeleton Projects
|
|
46
|
+
|
|
47
|
+
When implementing new functionality:
|
|
48
|
+
1. Search for battle-tested skeleton projects
|
|
49
|
+
2. Use parallel agents to evaluate options:
|
|
50
|
+
- Security assessment
|
|
51
|
+
- Extensibility analysis
|
|
52
|
+
- Relevance scoring
|
|
53
|
+
- Implementation planning
|
|
54
|
+
3. Clone best match as foundation
|
|
55
|
+
4. Iterate within proven structure
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# Performance Optimization
|
|
2
|
+
|
|
3
|
+
## Model Selection Strategy
|
|
4
|
+
|
|
5
|
+
**Haiku 4.5** (90% of Sonnet capability, 3x cost savings):
|
|
6
|
+
- Lightweight agents with frequent invocation
|
|
7
|
+
- Pair programming and code generation
|
|
8
|
+
- Worker agents in multi-agent systems
|
|
9
|
+
|
|
10
|
+
**Sonnet 4.5** (Best coding model):
|
|
11
|
+
- Main development work
|
|
12
|
+
- Orchestrating multi-agent workflows
|
|
13
|
+
- Complex coding tasks
|
|
14
|
+
|
|
15
|
+
**Opus 4.5** (Deepest reasoning):
|
|
16
|
+
- Complex architectural decisions
|
|
17
|
+
- Maximum reasoning requirements
|
|
18
|
+
- Research and analysis tasks
|
|
19
|
+
|
|
20
|
+
## Context Window Management
|
|
21
|
+
|
|
22
|
+
Avoid last 20% of context window for:
|
|
23
|
+
- Large-scale refactoring
|
|
24
|
+
- Feature implementation spanning multiple files
|
|
25
|
+
- Debugging complex interactions
|
|
26
|
+
|
|
27
|
+
Lower context sensitivity tasks:
|
|
28
|
+
- Single-file edits
|
|
29
|
+
- Independent utility creation
|
|
30
|
+
- Documentation updates
|
|
31
|
+
- Simple bug fixes
|
|
32
|
+
|
|
33
|
+
## Ultrathink + Plan Mode
|
|
34
|
+
|
|
35
|
+
For complex tasks requiring deep reasoning:
|
|
36
|
+
1. Use `ultrathink` for enhanced thinking
|
|
37
|
+
2. Enable **Plan Mode** for structured approach
|
|
38
|
+
3. "Rev the engine" with multiple critique rounds
|
|
39
|
+
4. Use split role sub-agents for diverse analysis
|
|
40
|
+
|
|
41
|
+
## Build Troubleshooting
|
|
42
|
+
|
|
43
|
+
If build fails:
|
|
44
|
+
1. Use **build-error-resolver** agent
|
|
45
|
+
2. Analyze error messages
|
|
46
|
+
3. Fix incrementally
|
|
47
|
+
4. Verify after each fix
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
# Security Guidelines
|
|
2
|
+
|
|
3
|
+
## Mandatory Security Checks
|
|
4
|
+
|
|
5
|
+
Before ANY commit:
|
|
6
|
+
- [ ] No hardcoded secrets (API keys, passwords, tokens)
|
|
7
|
+
- [ ] All user inputs validated
|
|
8
|
+
- [ ] SQL injection prevention (parameterized queries)
|
|
9
|
+
- [ ] XSS prevention (sanitized HTML)
|
|
10
|
+
- [ ] CSRF protection enabled
|
|
11
|
+
- [ ] Authentication/authorization verified
|
|
12
|
+
- [ ] Rate limiting on all endpoints
|
|
13
|
+
- [ ] Error messages don't leak sensitive data
|
|
14
|
+
|
|
15
|
+
## Secret Management
|
|
16
|
+
|
|
17
|
+
```typescript
|
|
18
|
+
// NEVER: Hardcoded secrets
|
|
19
|
+
const apiKey = "sk-proj-xxxxx"
|
|
20
|
+
|
|
21
|
+
// ALWAYS: Environment variables
|
|
22
|
+
const apiKey = process.env.OPENAI_API_KEY
|
|
23
|
+
|
|
24
|
+
if (!apiKey) {
|
|
25
|
+
throw new Error('OPENAI_API_KEY not configured')
|
|
26
|
+
}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## Security Response Protocol
|
|
30
|
+
|
|
31
|
+
If security issue found:
|
|
32
|
+
1. STOP immediately
|
|
33
|
+
2. Use **security-reviewer** agent
|
|
34
|
+
3. Fix CRITICAL issues before continuing
|
|
35
|
+
4. Rotate any exposed secrets
|
|
36
|
+
5. Review entire codebase for similar issues
|
package/rules/testing.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Testing Requirements
|
|
2
|
+
|
|
3
|
+
## Minimum Test Coverage: 80%
|
|
4
|
+
|
|
5
|
+
Test Types (ALL required):
|
|
6
|
+
1. **Unit Tests** - Individual functions, utilities, components
|
|
7
|
+
2. **Integration Tests** - API endpoints, database operations
|
|
8
|
+
3. **E2E Tests** - Critical user flows (Playwright)
|
|
9
|
+
|
|
10
|
+
## Test-Driven Development
|
|
11
|
+
|
|
12
|
+
MANDATORY workflow:
|
|
13
|
+
1. Write test first (RED)
|
|
14
|
+
2. Run test - it should FAIL
|
|
15
|
+
3. Write minimal implementation (GREEN)
|
|
16
|
+
4. Run test - it should PASS
|
|
17
|
+
5. Refactor (IMPROVE)
|
|
18
|
+
6. Verify coverage (80%+)
|
|
19
|
+
|
|
20
|
+
## Troubleshooting Test Failures
|
|
21
|
+
|
|
22
|
+
1. Use **tdd-guide** agent
|
|
23
|
+
2. Check test isolation
|
|
24
|
+
3. Verify mocks are correct
|
|
25
|
+
4. Fix implementation, not tests (unless tests are wrong)
|
|
26
|
+
|
|
27
|
+
## Agent Support
|
|
28
|
+
|
|
29
|
+
- **tdd-guide** - Use PROACTIVELY for new features, enforces write-tests-first
|
|
30
|
+
- **e2e-runner** - Playwright E2E testing specialist
|