@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,290 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
const fs = require('fs');
|
|
4
|
+
const path = require('path');
|
|
5
|
+
const os = require('os');
|
|
6
|
+
const { execSync } = require('child_process');
|
|
7
|
+
|
|
8
|
+
// Colors for console output
|
|
9
|
+
const colors = {
|
|
10
|
+
reset: '\x1b[0m',
|
|
11
|
+
bright: '\x1b[1m',
|
|
12
|
+
green: '\x1b[32m',
|
|
13
|
+
yellow: '\x1b[33m',
|
|
14
|
+
blue: '\x1b[34m',
|
|
15
|
+
red: '\x1b[31m',
|
|
16
|
+
cyan: '\x1b[36m',
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
function log(message, color = 'reset') {
|
|
20
|
+
console.log(`${colors[color]}${message}${colors.reset}`);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// Get target directory (same logic as install.js)
|
|
24
|
+
function getTargetDir() {
|
|
25
|
+
// Check if .claude exists in current directory (local)
|
|
26
|
+
if (fs.existsSync(path.join(process.cwd(), '.claude'))) {
|
|
27
|
+
return path.join(process.cwd(), '.claude');
|
|
28
|
+
}
|
|
29
|
+
// Otherwise use global
|
|
30
|
+
return path.join(os.homedir(), '.claude');
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
// Get installed package version
|
|
34
|
+
function getInstalledVersion() {
|
|
35
|
+
try {
|
|
36
|
+
const packagePath = path.join(__dirname, '..', 'package.json');
|
|
37
|
+
if (fs.existsSync(packagePath)) {
|
|
38
|
+
const pkg = JSON.parse(fs.readFileSync(packagePath, 'utf8'));
|
|
39
|
+
return pkg.version;
|
|
40
|
+
}
|
|
41
|
+
} catch (err) {
|
|
42
|
+
// Ignore
|
|
43
|
+
}
|
|
44
|
+
return null;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Get latest version from npm
|
|
48
|
+
function getLatestVersion() {
|
|
49
|
+
try {
|
|
50
|
+
const result = execSync('npm view @jwdobeutechsolutions/dobeutech-claude-code-custom version', {
|
|
51
|
+
encoding: 'utf8',
|
|
52
|
+
stdio: 'pipe',
|
|
53
|
+
});
|
|
54
|
+
return result.trim();
|
|
55
|
+
} catch (err) {
|
|
56
|
+
return null;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Count installed components
|
|
61
|
+
function countComponents(targetDir) {
|
|
62
|
+
const counts = {
|
|
63
|
+
agents: 0,
|
|
64
|
+
skills: 0,
|
|
65
|
+
commands: 0,
|
|
66
|
+
rules: 0,
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
const agentsDir = path.join(targetDir, 'agents');
|
|
70
|
+
if (fs.existsSync(agentsDir)) {
|
|
71
|
+
counts.agents = fs.readdirSync(agentsDir).filter(f => f.endsWith('.md')).length;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const skillsDir = path.join(targetDir, 'skills');
|
|
75
|
+
if (fs.existsSync(skillsDir)) {
|
|
76
|
+
const entries = fs.readdirSync(skillsDir, { withFileTypes: true });
|
|
77
|
+
counts.skills = entries.filter(e => {
|
|
78
|
+
if (e.isDirectory()) {
|
|
79
|
+
return fs.existsSync(path.join(skillsDir, e.name, 'SKILL.md'));
|
|
80
|
+
}
|
|
81
|
+
return e.name.endsWith('.md');
|
|
82
|
+
}).length;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
const commandsDir = path.join(targetDir, 'commands');
|
|
86
|
+
if (fs.existsSync(commandsDir)) {
|
|
87
|
+
counts.commands = fs.readdirSync(commandsDir).filter(f => f.endsWith('.md')).length;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
const rulesDir = path.join(targetDir, 'rules');
|
|
91
|
+
if (fs.existsSync(rulesDir)) {
|
|
92
|
+
counts.rules = fs.readdirSync(rulesDir).filter(f => f.endsWith('.md')).length;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return counts;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
// Command: status
|
|
99
|
+
function showStatus() {
|
|
100
|
+
const targetDir = getTargetDir();
|
|
101
|
+
const installedVersion = getInstalledVersion();
|
|
102
|
+
const latestVersion = getLatestVersion();
|
|
103
|
+
|
|
104
|
+
log(`\n${colors.bright}Claude Code Config Status${colors.reset}`, 'bright');
|
|
105
|
+
log(`─`.repeat(50), 'blue');
|
|
106
|
+
|
|
107
|
+
if (!fs.existsSync(targetDir)) {
|
|
108
|
+
log(`\n${colors.red}✗ Not installed${colors.reset}`, 'red');
|
|
109
|
+
log(`Run: npm install -g @jwdobeutechsolutions/dobeutech-claude-code-custom`, 'yellow');
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
log(`\nInstallation directory: ${targetDir}`, 'blue');
|
|
114
|
+
|
|
115
|
+
if (installedVersion) {
|
|
116
|
+
log(`Installed version: ${installedVersion}`, 'green');
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
if (latestVersion) {
|
|
120
|
+
if (installedVersion && installedVersion !== latestVersion) {
|
|
121
|
+
log(`Latest version: ${latestVersion} ${colors.yellow}(update available)${colors.reset}`, 'yellow');
|
|
122
|
+
log(`\nRun 'claude-config update' to update`, 'yellow');
|
|
123
|
+
} else if (installedVersion === latestVersion) {
|
|
124
|
+
log(`Latest version: ${latestVersion} ${colors.green}(up to date)${colors.reset}`, 'green');
|
|
125
|
+
} else {
|
|
126
|
+
log(`Latest version: ${latestVersion}`, 'blue');
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
const counts = countComponents(targetDir);
|
|
131
|
+
log(`\nInstalled components:`, 'bright');
|
|
132
|
+
log(` Agents: ${counts.agents}`, 'cyan');
|
|
133
|
+
log(` Skills: ${counts.skills}`, 'cyan');
|
|
134
|
+
log(` Commands: ${counts.commands}`, 'cyan');
|
|
135
|
+
log(` Rules: ${counts.rules}`, 'cyan');
|
|
136
|
+
|
|
137
|
+
log(``, 'reset');
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
// Command: list
|
|
141
|
+
function listComponents() {
|
|
142
|
+
const targetDir = getTargetDir();
|
|
143
|
+
|
|
144
|
+
if (!fs.existsSync(targetDir)) {
|
|
145
|
+
log(`\n${colors.red}✗ Not installed${colors.reset}`, 'red');
|
|
146
|
+
log(`Run: npm install -g @jwdobeutechsolutions/dobeutech-claude-code-custom`, 'yellow');
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
log(`\n${colors.bright}Installed Components${colors.reset}`, 'bright');
|
|
151
|
+
log(`─`.repeat(50), 'blue');
|
|
152
|
+
|
|
153
|
+
// List agents
|
|
154
|
+
const agentsDir = path.join(targetDir, 'agents');
|
|
155
|
+
if (fs.existsSync(agentsDir)) {
|
|
156
|
+
const agents = fs.readdirSync(agentsDir).filter(f => f.endsWith('.md'));
|
|
157
|
+
if (agents.length > 0) {
|
|
158
|
+
log(`\n${colors.bright}Agents (${agents.length}):${colors.reset}`, 'bright');
|
|
159
|
+
agents.forEach(agent => {
|
|
160
|
+
log(` • ${agent.replace('.md', '')}`, 'cyan');
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
// List skills
|
|
166
|
+
const skillsDir = path.join(targetDir, 'skills');
|
|
167
|
+
if (fs.existsSync(skillsDir)) {
|
|
168
|
+
const entries = fs.readdirSync(skillsDir, { withFileTypes: true });
|
|
169
|
+
const skills = entries.filter(e => {
|
|
170
|
+
if (e.isDirectory()) {
|
|
171
|
+
return fs.existsSync(path.join(skillsDir, e.name, 'SKILL.md'));
|
|
172
|
+
}
|
|
173
|
+
return e.name.endsWith('.md');
|
|
174
|
+
});
|
|
175
|
+
if (skills.length > 0) {
|
|
176
|
+
log(`\n${colors.bright}Skills (${skills.length}):${colors.reset}`, 'bright');
|
|
177
|
+
skills.forEach(skill => {
|
|
178
|
+
const name = skill.isDirectory() ? skill.name : skill.name.replace('.md', '');
|
|
179
|
+
log(` • ${name}`, 'cyan');
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
// List commands
|
|
185
|
+
const commandsDir = path.join(targetDir, 'commands');
|
|
186
|
+
if (fs.existsSync(commandsDir)) {
|
|
187
|
+
const commands = fs.readdirSync(commandsDir).filter(f => f.endsWith('.md'));
|
|
188
|
+
if (commands.length > 0) {
|
|
189
|
+
log(`\n${colors.bright}Commands (${commands.length}):${colors.reset}`, 'bright');
|
|
190
|
+
commands.forEach(cmd => {
|
|
191
|
+
log(` • ${cmd.replace('.md', '')}`, 'cyan');
|
|
192
|
+
});
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
// List rules
|
|
197
|
+
const rulesDir = path.join(targetDir, 'rules');
|
|
198
|
+
if (fs.existsSync(rulesDir)) {
|
|
199
|
+
const rules = fs.readdirSync(rulesDir).filter(f => f.endsWith('.md'));
|
|
200
|
+
if (rules.length > 0) {
|
|
201
|
+
log(`\n${colors.bright}Rules (${rules.length}):${colors.reset}`, 'bright');
|
|
202
|
+
rules.forEach(rule => {
|
|
203
|
+
log(` • ${rule.replace('.md', '')}`, 'cyan');
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
log(``, 'reset');
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
// Command: update
|
|
212
|
+
function update() {
|
|
213
|
+
const targetDir = getTargetDir();
|
|
214
|
+
const installedVersion = getInstalledVersion();
|
|
215
|
+
const latestVersion = getLatestVersion();
|
|
216
|
+
|
|
217
|
+
if (!fs.existsSync(targetDir)) {
|
|
218
|
+
log(`\n${colors.red}✗ Not installed${colors.reset}`, 'red');
|
|
219
|
+
log(`Run: npm install -g @jwdobeutechsolutions/dobeutech-claude-code-custom`, 'yellow');
|
|
220
|
+
return;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
if (installedVersion && latestVersion && installedVersion === latestVersion) {
|
|
224
|
+
log(`\n${colors.green}✓ Already up to date (${installedVersion})${colors.reset}`, 'green');
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
log(`\n${colors.bright}Updating Claude Code Configurations...${colors.reset}`, 'bright');
|
|
229
|
+
|
|
230
|
+
// Check if installed globally or locally
|
|
231
|
+
const isGlobal = targetDir === path.join(os.homedir(), '.claude');
|
|
232
|
+
|
|
233
|
+
try {
|
|
234
|
+
if (isGlobal) {
|
|
235
|
+
log(`Updating global installation...`, 'blue');
|
|
236
|
+
execSync('npm install -g @jwdobeutechsolutions/dobeutech-claude-code-custom@latest', {
|
|
237
|
+
stdio: 'inherit',
|
|
238
|
+
});
|
|
239
|
+
} else {
|
|
240
|
+
log(`Updating local installation...`, 'blue');
|
|
241
|
+
execSync('npm install @jwdobeutechsolutions/dobeutech-claude-code-custom@latest', {
|
|
242
|
+
stdio: 'inherit',
|
|
243
|
+
cwd: process.cwd(),
|
|
244
|
+
});
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
log(`\n${colors.green}✓ Update complete!${colors.reset}`, 'green');
|
|
248
|
+
log(`Run 'claude-config status' to verify`, 'yellow');
|
|
249
|
+
} catch (err) {
|
|
250
|
+
log(`\n${colors.red}✗ Update failed${colors.reset}`, 'red');
|
|
251
|
+
log(err.message, 'red');
|
|
252
|
+
process.exit(1);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
// Main CLI handler
|
|
257
|
+
function main() {
|
|
258
|
+
const command = process.argv[2] || 'status';
|
|
259
|
+
|
|
260
|
+
switch (command) {
|
|
261
|
+
case 'status':
|
|
262
|
+
showStatus();
|
|
263
|
+
break;
|
|
264
|
+
case 'list':
|
|
265
|
+
listComponents();
|
|
266
|
+
break;
|
|
267
|
+
case 'update':
|
|
268
|
+
update();
|
|
269
|
+
break;
|
|
270
|
+
case 'help':
|
|
271
|
+
case '--help':
|
|
272
|
+
case '-h':
|
|
273
|
+
log(`\n${colors.bright}Claude Config CLI${colors.reset}`, 'bright');
|
|
274
|
+
log(`─`.repeat(50), 'blue');
|
|
275
|
+
log(`\nUsage: claude-config <command>\n`, 'bright');
|
|
276
|
+
log(`Commands:`, 'bright');
|
|
277
|
+
log(` status Show installation status and version`, 'cyan');
|
|
278
|
+
log(` list List all installed components`, 'cyan');
|
|
279
|
+
log(` update Update to latest version`, 'cyan');
|
|
280
|
+
log(` help Show this help message`, 'cyan');
|
|
281
|
+
log(``, 'reset');
|
|
282
|
+
break;
|
|
283
|
+
default:
|
|
284
|
+
log(`\n${colors.red}Unknown command: ${command}${colors.reset}`, 'red');
|
|
285
|
+
log(`Run 'claude-config help' for usage`, 'yellow');
|
|
286
|
+
process.exit(1);
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
|
|
290
|
+
main();
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate API specifications and design RESTful, GraphQL, or gRPC APIs
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# API Design Command
|
|
6
|
+
|
|
7
|
+
Generate comprehensive API specifications including OpenAPI specs, endpoint designs, and implementation guides.
|
|
8
|
+
|
|
9
|
+
## Process
|
|
10
|
+
|
|
11
|
+
1. **Analyze Requirements**
|
|
12
|
+
- Understand API use cases
|
|
13
|
+
- Identify resources and relationships
|
|
14
|
+
- Determine authentication needs
|
|
15
|
+
- Assess performance requirements
|
|
16
|
+
|
|
17
|
+
2. **Select API Style**
|
|
18
|
+
- RESTful for resource-based operations
|
|
19
|
+
- GraphQL for complex data relationships
|
|
20
|
+
- gRPC for high-performance microservices
|
|
21
|
+
|
|
22
|
+
3. **Design Endpoints**
|
|
23
|
+
- Resource-based URLs
|
|
24
|
+
- Request/response formats
|
|
25
|
+
- Error handling
|
|
26
|
+
- Authentication patterns
|
|
27
|
+
|
|
28
|
+
4. **Create OpenAPI Specification**
|
|
29
|
+
- Complete YAML/JSON spec
|
|
30
|
+
- All endpoints documented
|
|
31
|
+
- Request/response schemas
|
|
32
|
+
- Authentication requirements
|
|
33
|
+
|
|
34
|
+
5. **Generate Implementation Guide**
|
|
35
|
+
- File structure
|
|
36
|
+
- Route handlers
|
|
37
|
+
- Validation schemas
|
|
38
|
+
- Error handling
|
|
39
|
+
|
|
40
|
+
## Output
|
|
41
|
+
|
|
42
|
+
- OpenAPI 3.0 specification
|
|
43
|
+
- Endpoint implementation code
|
|
44
|
+
- Request/response type definitions
|
|
45
|
+
- Authentication setup
|
|
46
|
+
- Testing strategy
|
|
47
|
+
|
|
48
|
+
## Related Agents
|
|
49
|
+
|
|
50
|
+
- `api-designer` - API design specialist
|
|
51
|
+
|
|
52
|
+
## Related Skills
|
|
53
|
+
|
|
54
|
+
- `api-design-patterns` - API design patterns
|
|
55
|
+
- `api-documentation` - API documentation patterns
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Audit accessibility compliance and fix a11y issues
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Accessibility Audit Command
|
|
6
|
+
|
|
7
|
+
Audit and fix accessibility issues to ensure WCAG compliance.
|
|
8
|
+
|
|
9
|
+
## Process
|
|
10
|
+
|
|
11
|
+
1. **Accessibility Scanning**
|
|
12
|
+
- Automated a11y testing
|
|
13
|
+
- Screen reader testing
|
|
14
|
+
- Keyboard navigation testing
|
|
15
|
+
- Color contrast analysis
|
|
16
|
+
|
|
17
|
+
2. **WCAG Compliance Check**
|
|
18
|
+
- Level A compliance
|
|
19
|
+
- Level AA compliance
|
|
20
|
+
- Level AAA (if applicable)
|
|
21
|
+
|
|
22
|
+
3. **Generate Report**
|
|
23
|
+
- Issues found
|
|
24
|
+
- Severity ratings
|
|
25
|
+
- Fix recommendations
|
|
26
|
+
- Compliance status
|
|
27
|
+
|
|
28
|
+
## Output
|
|
29
|
+
|
|
30
|
+
- Accessibility audit report
|
|
31
|
+
- Issues list with priorities
|
|
32
|
+
- Fix recommendations
|
|
33
|
+
- WCAG compliance status
|
|
34
|
+
|
|
35
|
+
## Related Agents
|
|
36
|
+
|
|
37
|
+
- `accessibility-auditor` - Accessibility specialist
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Analyze application performance and identify bottlenecks
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Performance Audit Command
|
|
6
|
+
|
|
7
|
+
Analyze application performance and identify optimization opportunities.
|
|
8
|
+
|
|
9
|
+
## Process
|
|
10
|
+
|
|
11
|
+
1. **Performance Analysis**
|
|
12
|
+
- Measure response times
|
|
13
|
+
- Analyze database queries
|
|
14
|
+
- Check memory usage
|
|
15
|
+
- Monitor CPU usage
|
|
16
|
+
|
|
17
|
+
2. **Identify Bottlenecks**
|
|
18
|
+
- Slow database queries
|
|
19
|
+
- N+1 query problems
|
|
20
|
+
- Missing indexes
|
|
21
|
+
- Inefficient algorithms
|
|
22
|
+
|
|
23
|
+
3. **Generate Report**
|
|
24
|
+
- Performance metrics
|
|
25
|
+
- Identified bottlenecks
|
|
26
|
+
- Optimization recommendations
|
|
27
|
+
- Expected improvements
|
|
28
|
+
|
|
29
|
+
## Output
|
|
30
|
+
|
|
31
|
+
- Performance analysis report
|
|
32
|
+
- Bottleneck identification
|
|
33
|
+
- Optimization recommendations
|
|
34
|
+
- Before/after comparisons
|
|
35
|
+
|
|
36
|
+
## Related Agents
|
|
37
|
+
|
|
38
|
+
- `performance-tester` - Performance testing specialist
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Perform security audit of codebase
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Security Audit Command
|
|
6
|
+
|
|
7
|
+
Perform comprehensive security audit of codebase.
|
|
8
|
+
|
|
9
|
+
## Process
|
|
10
|
+
|
|
11
|
+
1. **Security Scanning**
|
|
12
|
+
- Dependency vulnerability scan
|
|
13
|
+
- Secrets detection
|
|
14
|
+
- Code security analysis
|
|
15
|
+
- Configuration review
|
|
16
|
+
|
|
17
|
+
2. **Security Checks**
|
|
18
|
+
- Authentication/authorization
|
|
19
|
+
- Input validation
|
|
20
|
+
- SQL injection risks
|
|
21
|
+
- XSS vulnerabilities
|
|
22
|
+
- CSRF protection
|
|
23
|
+
|
|
24
|
+
3. **Generate Report**
|
|
25
|
+
- Security issues found
|
|
26
|
+
- Severity ratings
|
|
27
|
+
- Remediation steps
|
|
28
|
+
- Compliance status
|
|
29
|
+
|
|
30
|
+
## Output
|
|
31
|
+
|
|
32
|
+
- Security audit report
|
|
33
|
+
- Vulnerability list
|
|
34
|
+
- Remediation recommendations
|
|
35
|
+
- Compliance checklist
|
|
36
|
+
|
|
37
|
+
## Related Agents
|
|
38
|
+
|
|
39
|
+
- `security-reviewer` - Security analysis specialist
|
|
40
|
+
|
|
41
|
+
## Related Skills
|
|
42
|
+
|
|
43
|
+
- `security-review` - Security review patterns
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Build and Fix
|
|
2
|
+
|
|
3
|
+
Incrementally fix TypeScript and build errors:
|
|
4
|
+
|
|
5
|
+
1. Run build: npm run build or pnpm build
|
|
6
|
+
|
|
7
|
+
2. Parse error output:
|
|
8
|
+
- Group by file
|
|
9
|
+
- Sort by severity
|
|
10
|
+
|
|
11
|
+
3. For each error:
|
|
12
|
+
- Show error context (5 lines before/after)
|
|
13
|
+
- Explain the issue
|
|
14
|
+
- Propose fix
|
|
15
|
+
- Apply fix
|
|
16
|
+
- Re-run build
|
|
17
|
+
- Verify error resolved
|
|
18
|
+
|
|
19
|
+
4. Stop if:
|
|
20
|
+
- Fix introduces new errors
|
|
21
|
+
- Same error persists after 3 attempts
|
|
22
|
+
- User requests pause
|
|
23
|
+
|
|
24
|
+
5. Show summary:
|
|
25
|
+
- Errors fixed
|
|
26
|
+
- Errors remaining
|
|
27
|
+
- New errors introduced
|
|
28
|
+
|
|
29
|
+
Fix one error at a time for safety!
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate changelog from git commits and changes
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Changelog Command
|
|
6
|
+
|
|
7
|
+
Generate changelog entries from git commits and code changes.
|
|
8
|
+
|
|
9
|
+
## Process
|
|
10
|
+
|
|
11
|
+
1. **Analyze Changes**
|
|
12
|
+
- Review git commits
|
|
13
|
+
- Identify features and fixes
|
|
14
|
+
- Categorize changes
|
|
15
|
+
|
|
16
|
+
2. **Generate Changelog**
|
|
17
|
+
- Format: Keep a Changelog format
|
|
18
|
+
- Categorize: Added, Changed, Fixed, Removed
|
|
19
|
+
- Include breaking changes
|
|
20
|
+
- Link to issues/PRs
|
|
21
|
+
|
|
22
|
+
## Output
|
|
23
|
+
|
|
24
|
+
- Changelog entry
|
|
25
|
+
- Formatted for release notes
|
|
26
|
+
- Categorized changes
|
|
27
|
+
- Breaking changes highlighted
|
|
28
|
+
|
|
29
|
+
## Related Skills
|
|
30
|
+
|
|
31
|
+
- `technical-writing` - Technical writing patterns
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Code Review
|
|
2
|
+
|
|
3
|
+
Comprehensive security and quality review of uncommitted changes:
|
|
4
|
+
|
|
5
|
+
1. Get changed files: git diff --name-only HEAD
|
|
6
|
+
|
|
7
|
+
2. For each changed file, check for:
|
|
8
|
+
|
|
9
|
+
**Security Issues (CRITICAL):**
|
|
10
|
+
- Hardcoded credentials, API keys, tokens
|
|
11
|
+
- SQL injection vulnerabilities
|
|
12
|
+
- XSS vulnerabilities
|
|
13
|
+
- Missing input validation
|
|
14
|
+
- Insecure dependencies
|
|
15
|
+
- Path traversal risks
|
|
16
|
+
|
|
17
|
+
**Code Quality (HIGH):**
|
|
18
|
+
- Functions > 50 lines
|
|
19
|
+
- Files > 800 lines
|
|
20
|
+
- Nesting depth > 4 levels
|
|
21
|
+
- Missing error handling
|
|
22
|
+
- console.log statements
|
|
23
|
+
- TODO/FIXME comments
|
|
24
|
+
- Missing JSDoc for public APIs
|
|
25
|
+
|
|
26
|
+
**Best Practices (MEDIUM):**
|
|
27
|
+
- Mutation patterns (use immutable instead)
|
|
28
|
+
- Emoji usage in code/comments
|
|
29
|
+
- Missing tests for new code
|
|
30
|
+
- Accessibility issues (a11y)
|
|
31
|
+
|
|
32
|
+
3. Generate report with:
|
|
33
|
+
- Severity: CRITICAL, HIGH, MEDIUM, LOW
|
|
34
|
+
- File location and line numbers
|
|
35
|
+
- Issue description
|
|
36
|
+
- Suggested fix
|
|
37
|
+
|
|
38
|
+
4. Block commit if CRITICAL or HIGH issues found
|
|
39
|
+
|
|
40
|
+
Never approve code with security vulnerabilities!
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Plan and execute deployments with zero-downtime strategies
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Deployment Command
|
|
6
|
+
|
|
7
|
+
Plan and execute safe, zero-downtime deployments.
|
|
8
|
+
|
|
9
|
+
## Process
|
|
10
|
+
|
|
11
|
+
1. **Pre-Deployment Checklist**
|
|
12
|
+
- Review changes
|
|
13
|
+
- Check migrations
|
|
14
|
+
- Verify environment variables
|
|
15
|
+
- Confirm rollback plan
|
|
16
|
+
|
|
17
|
+
2. **Select Deployment Strategy**
|
|
18
|
+
- Blue-green for instant rollback
|
|
19
|
+
- Canary for gradual rollout
|
|
20
|
+
- Rolling for gradual updates
|
|
21
|
+
|
|
22
|
+
3. **Coordinate Migrations**
|
|
23
|
+
- Run migrations before deployment
|
|
24
|
+
- Ensure backward compatibility
|
|
25
|
+
- Plan cleanup migrations
|
|
26
|
+
|
|
27
|
+
4. **Execute Deployment**
|
|
28
|
+
- Deploy to staging first
|
|
29
|
+
- Run health checks
|
|
30
|
+
- Monitor metrics
|
|
31
|
+
- Deploy to production
|
|
32
|
+
|
|
33
|
+
5. **Post-Deployment**
|
|
34
|
+
- Verify functionality
|
|
35
|
+
- Monitor for issues
|
|
36
|
+
- Update deployment log
|
|
37
|
+
|
|
38
|
+
## Output
|
|
39
|
+
|
|
40
|
+
- Deployment plan
|
|
41
|
+
- Migration coordination
|
|
42
|
+
- Health check configuration
|
|
43
|
+
- Rollback procedures
|
|
44
|
+
|
|
45
|
+
## Related Agents
|
|
46
|
+
|
|
47
|
+
- `deployment-manager` - Deployment automation specialist
|
|
48
|
+
|
|
49
|
+
## Related Skills
|
|
50
|
+
|
|
51
|
+
- `deployment-strategies` - Deployment strategies
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Generate API documentation from code or specifications
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# API Documentation Command
|
|
6
|
+
|
|
7
|
+
Generate comprehensive API documentation from OpenAPI specs or code analysis.
|
|
8
|
+
|
|
9
|
+
## Process
|
|
10
|
+
|
|
11
|
+
1. **Analyze API**
|
|
12
|
+
- Read OpenAPI specification
|
|
13
|
+
- Or analyze code for endpoints
|
|
14
|
+
- Extract request/response types
|
|
15
|
+
|
|
16
|
+
2. **Generate Documentation**
|
|
17
|
+
- Endpoint descriptions
|
|
18
|
+
- Request/response examples
|
|
19
|
+
- Authentication guide
|
|
20
|
+
- Error handling guide
|
|
21
|
+
|
|
22
|
+
3. **Create Interactive Docs**
|
|
23
|
+
- Swagger UI setup
|
|
24
|
+
- Redoc configuration
|
|
25
|
+
- Postman collection
|
|
26
|
+
|
|
27
|
+
## Output
|
|
28
|
+
|
|
29
|
+
- API documentation
|
|
30
|
+
- Interactive API docs
|
|
31
|
+
- Code examples
|
|
32
|
+
- Postman collection
|
|
33
|
+
|
|
34
|
+
## Related Agents
|
|
35
|
+
|
|
36
|
+
- `doc-updater` - Documentation specialist
|
|
37
|
+
|
|
38
|
+
## Related Skills
|
|
39
|
+
|
|
40
|
+
- `api-documentation` - API documentation patterns
|
|
41
|
+
- `technical-writing` - Technical writing patterns
|