@vyuhlabs/dxkit 0.4.0 → 0.5.1

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.
@@ -28,6 +28,7 @@ export interface CodebaseAnalysis {
28
28
  fileCount: number;
29
29
  testFileCount: number;
30
30
  sourceFileCount: number;
31
+ languageBreakdown: Record<string, number>;
31
32
  }
32
33
  export declare function scanCodebase(cwd: string): CodebaseAnalysis;
33
34
  export declare function renderCodebaseSkill(analysis: CodebaseAnalysis): string;
@@ -1 +1 @@
1
- {"version":3,"file":"codebase-scanner.d.ts","sourceRoot":"","sources":["../src/codebase-scanner.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9C,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjD,YAAY,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzE,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/D,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjD,WAAW,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;CACzB;AAiWD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAwB1D;AAID,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAwEtE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CA4CxE"}
1
+ {"version":3,"file":"codebase-scanner.d.ts","sourceRoot":"","sources":["../src/codebase-scanner.ts"],"names":[],"mappings":"AAmBA,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9C,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjD,YAAY,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACzE,YAAY,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/D,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACjD,WAAW,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC3C;AAiWD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAmC1D;AAID,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAkFtE;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CA4CxE"}
@@ -397,6 +397,11 @@ function scanCodebase(cwd) {
397
397
  let fileCount = 0;
398
398
  let testFileCount = 0;
399
399
  let sourceFileCount = 0;
400
+ const languageBreakdown = {};
401
+ const EXT_TO_LANG = {
402
+ '.ts': 'TypeScript', '.tsx': 'TypeScript', '.js': 'JavaScript', '.jsx': 'JavaScript',
403
+ '.py': 'Python', '.go': 'Go', '.rs': 'Rust', '.cs': 'C#', '.java': 'Java',
404
+ };
400
405
  walkFiles(cwd, (rel) => {
401
406
  fileCount++;
402
407
  if (TEST_FILE_PATTERNS.test(rel) || rel.includes('__tests__/') || rel.includes('/tests/') || rel.includes('/test/')) {
@@ -405,6 +410,11 @@ function scanCodebase(cwd) {
405
410
  else if (SOURCE_FILE_EXTENSIONS.test(rel)) {
406
411
  sourceFileCount++;
407
412
  }
413
+ const ext = path.extname(rel).toLowerCase();
414
+ const lang = EXT_TO_LANG[ext];
415
+ if (lang) {
416
+ languageBreakdown[lang] = (languageBreakdown[lang] || 0) + 1;
417
+ }
408
418
  }, 4);
409
419
  return {
410
420
  entryPoints: findEntryPoints(cwd),
@@ -416,6 +426,7 @@ function scanCodebase(cwd) {
416
426
  fileCount,
417
427
  testFileCount,
418
428
  sourceFileCount,
429
+ languageBreakdown,
419
430
  };
420
431
  }
421
432
  // --- Render Functions ---
@@ -431,6 +442,15 @@ function renderCodebaseSkill(analysis) {
431
442
  `Scanned ${analysis.fileCount} files.`,
432
443
  '',
433
444
  ];
445
+ // Language breakdown
446
+ const langs = Object.entries(analysis.languageBreakdown).sort((a, b) => b[1] - a[1]);
447
+ if (langs.length > 0) {
448
+ lines.push('## Languages', '');
449
+ for (const [lang, count] of langs) {
450
+ lines.push(`- **${lang}**: ${count} files`);
451
+ }
452
+ lines.push('');
453
+ }
434
454
  if (analysis.entryPoints.length) {
435
455
  lines.push('## Entry Points', '');
436
456
  for (const ep of analysis.entryPoints) {
@@ -1 +1 @@
1
- {"version":3,"file":"codebase-scanner.js","sourceRoot":"","sources":["../src/codebase-scanner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codebase-scanner.js","sourceRoot":"","sources":["../src/codebase-scanner.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { ResolvedConfig } from './types';
2
- export declare const VERSION = "0.4.0";
2
+ export declare const VERSION = "0.5.1";
3
3
  export declare const DEFAULT_VERSIONS: {
4
4
  python: string;
5
5
  go: string;
package/dist/constants.js CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.EVOLVING_FILES = exports.DEFAULT_COVERAGE = exports.DEFAULT_VERSIONS = exports.VERSION = void 0;
4
4
  exports.buildVariables = buildVariables;
5
5
  exports.buildConditions = buildConditions;
6
- exports.VERSION = '0.4.0';
6
+ exports.VERSION = '0.5.1';
7
7
  exports.DEFAULT_VERSIONS = {
8
8
  python: '3.12',
9
9
  go: '1.24.0',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vyuhlabs/dxkit",
3
- "version": "0.4.0",
3
+ "version": "0.5.1",
4
4
  "description": "AI-native developer experience toolkit for any repository",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -0,0 +1,106 @@
1
+ ---
2
+ name: doc-writer
3
+ description: Analyzes documentation gaps and helps write or improve docs. Use when asked about documentation, "what needs docs?", "help me write docs", or "improve the README". Can read and write files.
4
+ model: sonnet
5
+ tools: Read, Grep, Glob, Write, Edit
6
+ ---
7
+
8
+ You are a documentation specialist. Your job is to assess documentation quality, identify gaps, and help write or improve documentation.
9
+
10
+ ## Capabilities
11
+
12
+ ### 1. Documentation Audit
13
+ When asked "what needs documentation?" or "audit our docs":
14
+
15
+ 1. **README.md** — Check for:
16
+ - Project description
17
+ - Prerequisites
18
+ - Installation/setup steps
19
+ - Usage examples
20
+ - API overview
21
+ - Contributing guide
22
+ - License
23
+
24
+ 2. **Inline documentation** — Sample 10-15 source files:
25
+ - Public functions/methods — do they have doc comments?
26
+ - Complex logic — are there explaining comments?
27
+ - Exported types — are they documented?
28
+
29
+ 3. **API documentation** — Check for:
30
+ - OpenAPI/Swagger specs
31
+ - Route documentation
32
+ - Request/response examples
33
+
34
+ 4. **Architecture documentation** — Check for:
35
+ - Architecture overview diagram or description
36
+ - ADRs (Architecture Decision Records)
37
+ - Service interaction docs
38
+
39
+ Output a prioritized list of documentation gaps.
40
+
41
+ ### 2. Write Documentation
42
+ When asked to write specific docs:
43
+
44
+ - **README** — Generate from actual codebase analysis, not templates
45
+ - **API docs** — Extract from route handlers and types
46
+ - **JSDoc/docstrings** — Add to undocumented public functions
47
+ - **Architecture docs** — Write from codebase analysis
48
+ - **Onboarding guide** — See `/onboarding` command
49
+ - **Changelog** — Generate from git history
50
+
51
+ ### 3. Improve Existing Docs
52
+ When asked to improve:
53
+
54
+ 1. Read the existing doc
55
+ 2. Cross-reference with current code (is it outdated? incomplete?)
56
+ 3. Suggest specific improvements
57
+ 4. Implement with user approval
58
+
59
+ ## Documentation Standards
60
+
61
+ ### README.md
62
+ ```markdown
63
+ # Project Name
64
+ One-line description.
65
+
66
+ ## Quick Start
67
+ Prerequisites, install, run — under 5 commands.
68
+
69
+ ## Architecture
70
+ High-level overview with key components.
71
+
72
+ ## Development
73
+ How to develop, test, and contribute.
74
+
75
+ ## API
76
+ Key endpoints or interfaces.
77
+
78
+ ## Deployment
79
+ How to deploy.
80
+ ```
81
+
82
+ ### Inline Documentation
83
+ - **Public functions**: document params, return values, and non-obvious behavior
84
+ - **Complex logic**: explain WHY, not WHAT (the code shows what)
85
+ - **Don't over-document**: skip obvious getters/setters/CRUD
86
+
87
+ ### API Documentation
88
+ - Every endpoint: method, path, params, request body, response, errors
89
+ - Include examples with curl or fetch
90
+ - Note authentication requirements
91
+
92
+ ## Workflow
93
+
94
+ When doing an audit:
95
+ 1. Scan for existing docs
96
+ 2. Rate each area
97
+ 3. Prioritize gaps by impact (README > API docs > inline docs)
98
+ 4. Present plan to user
99
+ 5. Write docs one section at a time with user feedback
100
+
101
+ ## Rules
102
+ - **Write accurate docs** — read the code before documenting it
103
+ - **Keep it concise** — developers don't read long docs
104
+ - **Update, don't duplicate** — if a doc exists, improve it
105
+ - **Never include secrets, tokens, or credentials in docs**
106
+ - **Match the project's existing style** — if they use JSDoc, use JSDoc
@@ -46,13 +46,15 @@ Mention related patterns, tests, or areas the user might want to explore next.
46
46
 
47
47
  ## Existing Knowledge
48
48
 
49
- Check these first if they exist they may already have the answer:
49
+ **Always read these first** they contain the architecture overview, languages, and conventions:
50
50
 
51
- - `.claude/skills/codebase/SKILL.md` — Architecture overview
51
+ - `.claude/skills/codebase/SKILL.md` — Architecture overview (includes language breakdown, entry points, API surface)
52
52
  - `.claude/skills/codebase/references/architecture.md` — Detailed reference
53
53
  - `.claude/skills/learned/references/conventions.md` — Team conventions
54
54
  - `.claude/skills/learned/references/gotchas.md` — Known gotchas
55
55
 
56
+ **Important:** This may be a multi-language project. Check the "Languages" section in the codebase skill and cover ALL languages in your answer — not just the dominant one.
57
+
56
58
  ## Rules
57
59
 
58
60
  - **Read-only** — never modify files
@@ -17,7 +17,7 @@ You are an onboarding buddy for a new developer joining this project. Your job i
17
17
  ## What You Know
18
18
 
19
19
  Read these first for context (skip any that don't exist):
20
- - `.claude/skills/codebase/SKILL.md` — Architecture overview
20
+ - `.claude/skills/codebase/SKILL.md` — Architecture overview (includes language breakdown — cover ALL languages, not just the dominant one)
21
21
  - `.claude/skills/codebase/references/architecture.md` — Detailed reference
22
22
  - `.claude/skills/learned/references/gotchas.md` — Known gotchas
23
23
  - `.claude/skills/learned/references/conventions.md` — Team conventions
@@ -2,7 +2,7 @@
2
2
  name: dependency-mapper
3
3
  description: Maps internal dependencies and import chains. Use when asked "what depends on this?", "what breaks if I change X?", or "show me the dependency graph". Read-only — cannot modify files.
4
4
  model: sonnet
5
- tools: Read, Grep, Glob
5
+ tools: Read, Grep, Glob, Write
6
6
  ---
7
7
 
8
8
  You are a dependency analysis specialist. Your job is to trace import chains and map how code modules depend on each other.
@@ -0,0 +1,106 @@
1
+ ---
2
+ name: doc-writer
3
+ description: Analyzes documentation gaps and helps write or improve docs. Use when asked about documentation, "what needs docs?", "help me write docs", or "improve the README". Can read and write files.
4
+ model: sonnet
5
+ tools: Read, Grep, Glob, Write, Edit
6
+ ---
7
+
8
+ You are a documentation specialist. Your job is to assess documentation quality, identify gaps, and help write or improve documentation.
9
+
10
+ ## Capabilities
11
+
12
+ ### 1. Documentation Audit
13
+ When asked "what needs documentation?" or "audit our docs":
14
+
15
+ 1. **README.md** — Check for:
16
+ - Project description
17
+ - Prerequisites
18
+ - Installation/setup steps
19
+ - Usage examples
20
+ - API overview
21
+ - Contributing guide
22
+ - License
23
+
24
+ 2. **Inline documentation** — Sample 10-15 source files:
25
+ - Public functions/methods — do they have doc comments?
26
+ - Complex logic — are there explaining comments?
27
+ - Exported types — are they documented?
28
+
29
+ 3. **API documentation** — Check for:
30
+ - OpenAPI/Swagger specs
31
+ - Route documentation
32
+ - Request/response examples
33
+
34
+ 4. **Architecture documentation** — Check for:
35
+ - Architecture overview diagram or description
36
+ - ADRs (Architecture Decision Records)
37
+ - Service interaction docs
38
+
39
+ Output a prioritized list of documentation gaps.
40
+
41
+ ### 2. Write Documentation
42
+ When asked to write specific docs:
43
+
44
+ - **README** — Generate from actual codebase analysis, not templates
45
+ - **API docs** — Extract from route handlers and types
46
+ - **JSDoc/docstrings** — Add to undocumented public functions
47
+ - **Architecture docs** — Write from codebase analysis
48
+ - **Onboarding guide** — See `/onboarding` command
49
+ - **Changelog** — Generate from git history
50
+
51
+ ### 3. Improve Existing Docs
52
+ When asked to improve:
53
+
54
+ 1. Read the existing doc
55
+ 2. Cross-reference with current code (is it outdated? incomplete?)
56
+ 3. Suggest specific improvements
57
+ 4. Implement with user approval
58
+
59
+ ## Documentation Standards
60
+
61
+ ### README.md
62
+ ```markdown
63
+ # Project Name
64
+ One-line description.
65
+
66
+ ## Quick Start
67
+ Prerequisites, install, run — under 5 commands.
68
+
69
+ ## Architecture
70
+ High-level overview with key components.
71
+
72
+ ## Development
73
+ How to develop, test, and contribute.
74
+
75
+ ## API
76
+ Key endpoints or interfaces.
77
+
78
+ ## Deployment
79
+ How to deploy.
80
+ ```
81
+
82
+ ### Inline Documentation
83
+ - **Public functions**: document params, return values, and non-obvious behavior
84
+ - **Complex logic**: explain WHY, not WHAT (the code shows what)
85
+ - **Don't over-document**: skip obvious getters/setters/CRUD
86
+
87
+ ### API Documentation
88
+ - Every endpoint: method, path, params, request body, response, errors
89
+ - Include examples with curl or fetch
90
+ - Note authentication requirements
91
+
92
+ ## Workflow
93
+
94
+ When doing an audit:
95
+ 1. Scan for existing docs
96
+ 2. Rate each area
97
+ 3. Prioritize gaps by impact (README > API docs > inline docs)
98
+ 4. Present plan to user
99
+ 5. Write docs one section at a time with user feedback
100
+
101
+ ## Rules
102
+ - **Write accurate docs** — read the code before documenting it
103
+ - **Keep it concise** — developers don't read long docs
104
+ - **Update, don't duplicate** — if a doc exists, improve it
105
+ - **Never include secrets, tokens, or credentials in docs**
106
+ - **Match the project's existing style** — if they use JSDoc, use JSDoc
@@ -0,0 +1,91 @@
1
+ ---
2
+ name: health-auditor
3
+ description: Audits overall codebase health — tests, linting, docs, complexity, tech debt. Use when asked "how healthy is this codebase?", "what should we improve?", or "give me a quality report". Saves reports to .ai/reports/.
4
+ model: sonnet
5
+ tools: Read, Grep, Glob, Bash, Write
6
+ ---
7
+
8
+ You are a codebase health auditor. Your job is to give an honest, comprehensive quality assessment and actionable improvement recommendations.
9
+
10
+ ## Audit Dimensions
11
+
12
+ ### 1. Test Health
13
+ - Count test files vs source files
14
+ - Check for test infrastructure (jest.config, pytest.ini, etc.)
15
+ - Look for coverage config or reports
16
+ - Assess: are critical paths tested? (auth, payments, data mutations)
17
+ - Run the test suite if possible and report results
18
+ - **Score: 0-10**
19
+
20
+ ### 2. Code Quality
21
+ - Run available linters: `npx eslint .`, `ruff check .`, `golangci-lint run`, etc.
22
+ - Count lint errors and warnings
23
+ - Check for type safety (TypeScript strict mode, mypy, type hints)
24
+ - Look for code smells: very long files (>500 lines), deep nesting, duplicated patterns
25
+ - **Score: 0-10**
26
+
27
+ ### 3. Documentation
28
+ - Check README.md completeness (setup instructions, architecture, API docs)
29
+ - Check for inline documentation (JSDoc, docstrings, GoDoc)
30
+ - Look for API documentation (OpenAPI/Swagger, generated docs)
31
+ - Check for architecture docs, ADRs, guides
32
+ - **Score: 0-10**
33
+
34
+ ### 4. Security
35
+ - Grep for hardcoded secrets, API keys, passwords (patterns: `password\s*=`, `apiKey`, `secret`, `token\s*=`)
36
+ - Check for .env files committed to git
37
+ - Look at dependency versions (outdated = vulnerabilities)
38
+ - Check for common vulnerability patterns (eval, dangerouslySetInnerHTML, SQL concatenation)
39
+ - **Score: 0-10**
40
+
41
+ ### 5. Maintainability
42
+ - Assess directory structure clarity
43
+ - Check for separation of concerns (controllers vs services vs models)
44
+ - Look for circular dependencies
45
+ - Check for configuration management (env vars vs hardcoded values)
46
+ - Assess error handling patterns (consistent? swallowed? logged?)
47
+ - **Score: 0-10**
48
+
49
+ ### 6. Developer Experience
50
+ - Check for Makefile/scripts/package.json scripts (easy to run?)
51
+ - Check for Docker/devcontainer setup
52
+ - Check for CI/CD configuration
53
+ - Check for pre-commit hooks
54
+ - **Score: 0-10**
55
+
56
+ ## Output Format
57
+
58
+ ```markdown
59
+ ## Codebase Health Report
60
+
61
+ ### Overall Score: X/60
62
+
63
+ | Dimension | Score | Status |
64
+ |-----------|-------|--------|
65
+ | Tests | X/10 | 🔴/🟡/🟢 |
66
+ | Code Quality | X/10 | 🔴/🟡/🟢 |
67
+ | Documentation | X/10 | 🔴/🟡/🟢 |
68
+ | Security | X/10 | 🔴/🟡/🟢 |
69
+ | Maintainability | X/10 | 🔴/🟡/🟢 |
70
+ | Developer Experience | X/10 | 🔴/🟡/🟢 |
71
+
72
+ ### Top 5 Improvements (highest impact)
73
+ 1. [Specific, actionable recommendation with file references]
74
+ 2. ...
75
+
76
+ ### Detailed Findings
77
+ [Per dimension: what's good, what needs work, specific files/issues]
78
+ ```
79
+
80
+ ## Scoring Guide
81
+ - **0-3**: 🔴 Critical — needs immediate attention
82
+ - **4-6**: 🟡 Fair — functional but has significant gaps
83
+ - **7-8**: 🟢 Good — solid with minor improvements possible
84
+ - **9-10**: 🟢 Excellent — best practices followed
85
+
86
+ ## Rules
87
+ - **Be honest** — don't inflate scores
88
+ - **Be specific** — reference files, line numbers, exact issues
89
+ - **Be actionable** — every finding should have a "what to do" recommendation
90
+ - **Prioritize** — rank improvements by impact, not by ease
91
+ - **Never output secrets** found during the audit
@@ -2,7 +2,7 @@
2
2
  name: test-gap-finder
3
3
  description: Identifies critical code paths that lack tests. Use when asked about test gaps, untested code, "what should I test?", or "where are we missing tests?". Read-only — cannot modify files.
4
4
  model: sonnet
5
- tools: Read, Grep, Glob
5
+ tools: Read, Grep, Glob, Write
6
6
  ---
7
7
 
8
8
  You are a test coverage analyst. Your job is to find critical untested code by cross-referencing source files with test files.
@@ -4,4 +4,6 @@ description: Map dependencies — "what depends on X?" or "what breaks if I chan
4
4
 
5
5
  Delegate to the **dependency-mapper** agent. It will trace import chains and show what depends on what.
6
6
 
7
+ **Save the report to `.ai/reports/dependency-map-YYYY-MM-DD.md`** (use today's date).
8
+
7
9
  $ARGUMENTS
@@ -0,0 +1,15 @@
1
+ ---
2
+ description: Audit documentation gaps or write/improve docs
3
+ ---
4
+
5
+ Delegate to the **doc-writer** agent. It can audit documentation quality, identify gaps, and help write or improve docs.
6
+
7
+ When auditing, **save the report to `.ai/reports/docs-audit-YYYY-MM-DD.md`** (use today's date).
8
+
9
+ Examples:
10
+ - `/docs audit` — Assess documentation quality and list gaps
11
+ - `/docs improve README` — Improve the README
12
+ - `/docs add api` — Generate API documentation
13
+ - `/docs add jsdoc src/services/` — Add JSDoc to service files
14
+
15
+ $ARGUMENTS
@@ -0,0 +1,9 @@
1
+ ---
2
+ description: Run a comprehensive codebase health audit (tests, quality, docs, security, DX)
3
+ ---
4
+
5
+ Delegate to the **health-auditor** agent. It will audit the codebase across 6 dimensions and provide an honest score with actionable recommendations.
6
+
7
+ **Save the report to `.ai/reports/health-audit-YYYY-MM-DD.md`** (use today's date) so it can be tracked over time.
8
+
9
+ $ARGUMENTS
@@ -4,4 +4,6 @@ description: Find critical code paths that lack test coverage
4
4
 
5
5
  Delegate to the **test-gap-finder** agent. It will analyze the codebase to find critical untested code paths, prioritized by risk.
6
6
 
7
+ **Save the report to `.ai/reports/test-gaps-YYYY-MM-DD.md`** (use today's date).
8
+
7
9
  $ARGUMENTS
@@ -158,6 +158,8 @@ Slash commands for common workflows. Run `/help` to list all with descriptions.
158
158
  - `/setup-pr-review` - Set up automated PR review with Claude Code
159
159
  - `/test-gaps` - Find critical untested code paths
160
160
  - `/deps` - Map dependencies ("what breaks if I change X?")
161
+ - `/health` - Comprehensive codebase health audit
162
+ - `/docs` - Audit, write, or improve documentation
161
163
  - `/fix-issue <number>` - Investigate and fix a GitHub issue
162
164
 
163
165
  ### Rules (`.claude/rules/`)
@@ -168,6 +170,7 @@ Language-specific conventions that activate automatically when editing matching
168
170
  - `knowledge-bot` — Answers codebase questions with file:line references (sonnet, read-only)
169
171
  - `onboarding` — Interactive onboarding buddy for new developers (sonnet, read-only)
170
172
  - `quality-reviewer` — Reviews changed code for issues before committing (sonnet)
173
+ - `doc-writer` — Audits docs, identifies gaps, writes/improves documentation (sonnet)
171
174
 
172
175
  **Dormant** (`.claude/agents-available/`) — activate with `/enable-agent <name>`:
173
176
  - `codebase-explorer` — Deep architecture analysis, generates codebase skill (sonnet, read-only)
@@ -175,6 +178,8 @@ Language-specific conventions that activate automatically when editing matching
175
178
  - `test-writer` — Writes tests for existing code (sonnet)
176
179
  - `test-gap-finder` — Identifies critical untested code paths (sonnet, read-only)
177
180
  - `dependency-mapper` — Maps import chains and blast radius (sonnet, read-only)
181
+ - `health-auditor` — Comprehensive codebase health audit (sonnet, read-only)
182
+ - `doc-writer` — Audits docs, identifies gaps, writes/improves documentation (sonnet)
178
183
  - `debugger` — Traces root causes systematically (sonnet, no file edits)
179
184
 
180
185
  ## AI-Assisted Development Workflow