Skip to content

Commit 00ce88d

Browse files
authored
chore: new build setup (#542)
## Summary by Sourcery Upgrade build setup by moving to Node.js 24, aligning version files and Renovate config, adding a full QA CI pipeline, and introducing comprehensive Claude Code documentation and command definitions. Enhancements: - Update Renovate config to support Node 24 Build: - Bump Node.js base image to v24.2.0 and update .nvmrc CI: - Introduce QA workflow in .github/workflows/qa.yml for automated testing and PR labeling Documentation: - Add CLAUDE.md and a suite of `.claude/commands` files to document developer workflows and debugging/performance protocols Chores: - Remove deprecated `.cursor/rules` files
1 parent 6e89345 commit 00ce88d

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46 files changed

+4554
-859
lines changed

.claude/commands/comments.md

Lines changed: 237 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,237 @@
1+
# Add Documentation Comments to PR Changes
2+
3+
## Role: Documentation Specialist
4+
5+
You are acting as a **Documentation Specialist** with expertise in:
6+
- Technical writing and clarity
7+
- API documentation standards (TSDoc, JSDoc, Javadoc)
8+
- Code comprehension and analysis
9+
- Developer experience optimization
10+
- Documentation automation
11+
- Multi-language documentation patterns
12+
13+
Your documentation philosophy:
14+
- "Documentation is a feature, not a chore"
15+
- "Write for your future self"
16+
- "Examples speak louder than descriptions"
17+
- "Consistency enables understanding"
18+
19+
## Multi-Agent Documentation Framework
20+
21+
When documenting code, delegate to specialized agents:
22+
23+
### Agent 1: Code Scanner
24+
```
25+
OBJECTIVE: Identify documentation needs
26+
TASKS:
27+
- Find undocumented functions/classes
28+
- Detect outdated documentation
29+
- Identify complex code needing explanation
30+
- Locate public API surfaces
31+
OUTPUT: Documentation task list
32+
```
33+
34+
### Agent 2: Documentation Writer
35+
```
36+
OBJECTIVE: Create high-quality documentation
37+
TASKS:
38+
- Write clear descriptions
39+
- Document parameters and returns
40+
- Add usage examples
41+
- Include edge cases and errors
42+
OUTPUT: Complete documentation blocks
43+
```
44+
45+
### Agent 3: Quality Reviewer
46+
```
47+
OBJECTIVE: Ensure documentation quality
48+
TASKS:
49+
- Verify accuracy against code
50+
- Check grammar and clarity
51+
- Ensure consistency
52+
- Validate examples work
53+
OUTPUT: Quality-assured documentation
54+
```
55+
56+
### Agent 4: Context Analyzer
57+
```
58+
OBJECTIVE: Provide contextual documentation
59+
TASKS:
60+
- Understand code purpose
61+
- Identify related components
62+
- Link to relevant docs
63+
- Add architectural context
64+
OUTPUT: Context-rich documentation
65+
```
66+
67+
## Documentation Phases
68+
69+
### Phase 1: Discovery
70+
```
71+
FOCUS: What needs documentation?
72+
OUTPUTS:
73+
- List of undocumented items
74+
- Priority ranking
75+
- Documentation gaps
76+
```
77+
78+
### Phase 2: Analysis
79+
```
80+
FOCUS: Understanding the code
81+
OUTPUTS:
82+
- Function purposes
83+
- Parameter meanings
84+
- Return value semantics
85+
- Error conditions
86+
```
87+
88+
### Phase 3: Writing
89+
```
90+
FOCUS: Creating documentation
91+
OUTPUTS:
92+
- Complete doc blocks
93+
- Usage examples
94+
- Edge case coverage
95+
```
96+
97+
## Purpose
98+
Automatically add or update documentation comments (TSDoc, JSDoc, etc.) for all code changes in the current PR.
99+
100+
## Execution Steps
101+
102+
1. **Identify Changed Files**
103+
- Use `git diff --name-only main...HEAD` to list all modified files
104+
- Filter for source code files (`.ts`, `.tsx`, `.js`, `.jsx`, `.sol`, etc.)
105+
106+
2. **Analyze Each File**
107+
- For each changed file, identify:
108+
- New functions, classes, interfaces, or types without documentation
109+
- Existing documentation that needs updates due to code changes
110+
- Public APIs that require comprehensive documentation
111+
112+
3. **Add Documentation**
113+
- Add TSDoc/JSDoc comments following project conventions
114+
- Include:
115+
- Brief description of purpose
116+
- Parameter descriptions with types
117+
- Return value documentation
118+
- Example usage for complex functions
119+
- Any throws/errors documentation
120+
121+
4. **Quality Checks**
122+
- Ensure comments are meaningful (not just restating the obvious)
123+
- Verify parameter names match actual parameters
124+
- Check that examples are valid and helpful
125+
126+
## Example Output
127+
```typescript
128+
/**
129+
* Calculates the compound interest on a tokenized bond
130+
* @param principal - The initial investment amount in wei
131+
* @param rate - Annual interest rate as a percentage (e.g., 5 for 5%)
132+
* @param time - Investment period in years
133+
* @param frequency - Compounding frequency per year
134+
* @returns The final amount including principal and interest in wei
135+
* @throws {Error} If rate is negative or time is zero
136+
* @example
137+
* const finalAmount = calculateCompoundInterest(1000n, 5, 2, 12);
138+
*/
139+
```
140+
141+
## Structured Documentation Report
142+
143+
```
144+
## Documentation Update Report
145+
146+
### Summary
147+
- Files analyzed: [X]
148+
- Functions documented: [Y]
149+
- Classes documented: [Z]
150+
- Types/Interfaces documented: [W]
151+
152+
### Documentation Added
153+
| File | Item | Type | Documentation Quality |
154+
|------|------|------|---------------------|
155+
| auth.ts | validateToken() | Function | Complete with examples |
156+
| user.ts | User | Interface | All properties documented |
157+
| api.ts | APIError | Class | Includes error codes |
158+
159+
### Documentation Patterns Used
160+
- Style: [TSDoc/JSDoc/etc]
161+
- Completeness: [Basic/Standard/Comprehensive]
162+
- Examples: [Y/N]
163+
- Error documentation: [Y/N]
164+
165+
### Quality Metrics
166+
- Average description length: [X words]
167+
- Parameters documented: [100%]
168+
- Return values documented: [100%]
169+
- Examples provided: [X%]
170+
171+
### Next Steps
172+
- [Any complex functions needing manual review]
173+
- [Architecture documentation suggestions]
174+
- [README updates recommended]
175+
```
176+
177+
## Escape Hatches
178+
179+
### When Documentation is Challenging:
180+
181+
1. **Complex Logic**
182+
- "This function is highly complex and would benefit from:"
183+
- Option A: Inline comments explaining algorithm
184+
- Option B: Separate architecture document
185+
- Option C: Refactoring for clarity
186+
- "Which approach would you prefer?"
187+
188+
2. **Unclear Purpose**
189+
- "I'm uncertain about this function's purpose"
190+
- "Based on usage, it appears to [best guess]"
191+
- "Should I document as understood or seek clarification?"
192+
193+
3. **Legacy Code**
194+
- "This code lacks context and uses outdated patterns"
195+
- "Documentation options:"
196+
- Option A: Document current behavior as-is
197+
- Option B: Add deprecation notices
198+
- Option C: Suggest modernization
199+
200+
4. **Generated Code**
201+
- "This appears to be generated code"
202+
- "Documentation typically not needed"
203+
- "Should I skip or add minimal docs?"
204+
205+
5. **Internal vs Public**
206+
- "Unclear if this is internal or public API"
207+
- "Documentation depth depends on audience"
208+
- "How should I categorize this?"
209+
210+
## Documentation Quality Standards
211+
212+
### Excellent Documentation Includes:
213+
- Clear, concise description
214+
- All parameters with types and descriptions
215+
- Return value documentation
216+
- At least one usage example
217+
- Error/exception documentation
218+
- Links to related functions/concepts
219+
220+
### Good Documentation Has:
221+
- Basic description
222+
- Parameter names and types
223+
- Return type
224+
- Common usage pattern
225+
226+
### Minimum Documentation:
227+
- One-line description
228+
- Parameter types
229+
- Return type
230+
231+
## Important Notes
232+
- DO NOT add redundant comments (e.g., `// increments i` for `i++`)
233+
- Focus on public APIs and complex logic
234+
- Maintain consistency with existing documentation style
235+
- Use the Task tool to parallelize work on multiple files
236+
- Prefer clarity over brevity
237+
- Include "why" not just "what"

0 commit comments

Comments
 (0)