docs: add Claude framework enhancements#565
docs: add Claude framework enhancements#565david-waltermire merged 4 commits intometaschema-framework:developfrom
Conversation
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughAdded three documentation artifacts under Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes
Possibly related PRs
Suggested reviewers
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 inconclusive)
✅ Passed checks (2 passed)
📜 Recent review detailsConfiguration used: Organization UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (3)
Comment |
|
@coderabbitai review |
✅ Actions performedReview triggered.
|
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
.claude/rules/development-workflow.md (1)
127-127: Clarify the placement and scope of the Build Verification Summary Format section.The section is inserted mid-Phase 5, which creates ambiguity about whether it's a required sub-section of Phase 5 verification or a general format applicable to all build verification contexts. Consider either:
- Explicitly marking it as a subsection of Phase 5 with a header like "Phase 5.1: Build Verification Summary Format"
- Moving it to a separate "Build Output Standards" section at workflow level
This will clarify when developers should apply this format.
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (3)
.claude/rules/development-workflow.md(2 hunks).claude/rules/unit-testing.md(1 hunks).claude/skills/unit-test-writing.md(1 hunks)
🧰 Additional context used
🧠 Learnings (6)
📚 Learning: 2025-12-17T13:27:43.679Z
Learnt from: CR
Repo: metaschema-framework/metaschema-java PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-17T13:27:43.679Z
Learning: Code changes should use TDD principles: write tests first before implementing code, watch tests fail, write minimal code to pass tests, then refactor. For existing code without tests, add tests when modifying files to ensure behavioral equivalence.
Applied to files:
.claude/skills/unit-test-writing.md.claude/rules/unit-testing.md
📚 Learning: 2025-12-17T13:27:43.679Z
Learnt from: CR
Repo: metaschema-framework/metaschema-java PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-17T13:27:43.679Z
Learning: Applies to **/*.java : Follow Test-Driven Development (TDD) principles: write tests first before implementing functionality, verify tests fail with current implementation, implement minimal code to pass tests, then refactor while keeping tests green
Applied to files:
.claude/skills/unit-test-writing.md.claude/rules/unit-testing.md
📚 Learning: 2025-12-17T13:27:43.679Z
Learnt from: CR
Repo: metaschema-framework/metaschema-java PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-17T13:27:43.679Z
Learning: All PRs require passing CI checks before merge
Applied to files:
.claude/rules/development-workflow.md
📚 Learning: 2025-12-17T13:27:43.679Z
Learnt from: CR
Repo: metaschema-framework/metaschema-java PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-17T13:27:43.679Z
Learning: Use SpotBugs, PMD, Checkstyle, and Jacoco for static analysis. Project enforces Checkstyle code style, PMD source analysis (fails on priority 2+ violations), SpotBugs bug detection (with spotbugs-exclude.xml exclusions), and Jacoco code coverage (target: 60% coverage)
Applied to files:
.claude/rules/development-workflow.md.claude/rules/unit-testing.md
📚 Learning: 2025-12-17T13:27:43.679Z
Learnt from: CR
Repo: metaschema-framework/metaschema-java PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-17T13:27:43.679Z
Learning: Applies to **/*.java : All code changes must follow the Javadoc style guide (docs/javadoc-style-guide.md). New code requires 100% Javadoc coverage on public/protected members. Modified code must add/update Javadoc on any members touched. All Javadoc must include param, return, throws tags in the correct order (BLOCKING)
Applied to files:
.claude/rules/unit-testing.md
📚 Learning: 2025-12-17T13:27:43.679Z
Learnt from: CR
Repo: metaschema-framework/metaschema-java PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-17T13:27:43.679Z
Learning: 100% of unit tests must pass before pushing code (BLOCKING)
Applied to files:
.claude/rules/unit-testing.md
🔇 Additional comments (7)
.claude/rules/development-workflow.md (1)
32-32: Skill entry is well-integrated.The new
unit-test-writingskill entry fits naturally into the Project Skills list and provides a clear, accurate description. The skill is properly referenced from the unit-testing rule and the Phase 3 development workflow..claude/rules/unit-testing.md (1)
1-40: Comprehensive and well-aligned unit testing standards.The document establishes clear, actionable principles that align well with the project's TDD requirements. The "What NOT to test" section effectively eliminates common anti-patterns, while prioritizing edge cases acknowledges the reality that boundary conditions are where bugs hide. The mandatory coverage evaluation workflow integrates cleanly with the development lifecycle.
.claude/skills/unit-test-writing.md (5)
1-12: Skill metadata and usage section are clear and complete.The YAML frontmatter is properly formatted, and the "When to Use" section accurately captures the three primary scenarios for applying this skill. The description provides sufficient context for developers to understand when to invoke the skill.
14-28: Edge Case Checklist is comprehensive and well-organized.The table effectively categorizes edge case types with concrete examples. The integration with TodoWrite (line 16) creates accountability by converting checklist items into tracked tasks. The nine categories provide thorough coverage of edge case domains, from simple boundary conditions to complex scenarios like concurrency and state.
30-60: Practical coverage expansion workflow with good integration of tools.The four-step process moves logically from assessment to implementation, with each step building on the previous. The shell commands and code examples are concrete and actionable. Integration with TodoWrite at Step 3 ensures tests don't get overlooked. The Jacoco reference in Step 1 (line 41) properly aligns with the project's code coverage requirements.
62-94: Test naming conventions are clear with excellent examples.The naming pattern ([action]When[condition] format) creates self-documenting tests that immediately convey the scenario and expected behavior. The good/bad examples make it easy for developers to understand the distinction. The use of @DisplayName (line 68) provides a secondary layer of clarity beyond method names.
96-158: Test fixture patterns, TDD integration, and quick reference are well-structured.The fixture patterns (focused fixtures, helper methods, nested classes) provide practical strategies for organizing tests at scale. The TDD integration guidance—prioritizing edge cases over happy paths—ensures tests catch bugs early. The quick reference table provides a scannable guide that developers can apply immediately. All Java examples use modern JUnit 5 conventions appropriate for the metaschema-java project.
There was a problem hiding this comment.
Actionable comments posted: 1
📜 Review details
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (1)
.claude/rules/development-workflow.md(2 hunks)
🧰 Additional context used
🧠 Learnings (3)
📚 Learning: 2025-12-17T13:27:43.679Z
Learnt from: CR
Repo: metaschema-framework/metaschema-java PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-17T13:27:43.679Z
Learning: Use SpotBugs, PMD, Checkstyle, and Jacoco for static analysis. Project enforces Checkstyle code style, PMD source analysis (fails on priority 2+ violations), SpotBugs bug detection (with spotbugs-exclude.xml exclusions), and Jacoco code coverage (target: 60% coverage)
Applied to files:
.claude/rules/development-workflow.md
📚 Learning: 2025-12-17T13:27:43.679Z
Learnt from: CR
Repo: metaschema-framework/metaschema-java PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-17T13:27:43.679Z
Learning: Applies to **/*.java : All code changes must follow the Javadoc style guide (docs/javadoc-style-guide.md). New code requires 100% Javadoc coverage on public/protected members. Modified code must add/update Javadoc on any members touched. All Javadoc must include param, return, throws tags in the correct order (BLOCKING)
Applied to files:
.claude/rules/development-workflow.md
📚 Learning: 2025-12-17T13:27:43.679Z
Learnt from: CR
Repo: metaschema-framework/metaschema-java PR: 0
File: CLAUDE.md:0-0
Timestamp: 2025-12-17T13:27:43.679Z
Learning: All PRs require passing CI checks before merge
Applied to files:
.claude/rules/development-workflow.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (2)
- GitHub Check: Code
- GitHub Check: Website
🔇 Additional comments (2)
.claude/rules/development-workflow.md (2)
32-32: Skill reference is clear and well-placed.The
unit-test-writingskill addition integrates naturally into the Available Skills section with a concise, descriptive summary that matches the PR objective.
127-155: Build Verification Summary Format correctly incorporates Jacoco coverage (addressing prior feedback).The format now includes Jacoco coverage metrics with appropriate ✅/
⚠️ indicators for passing and below-target scenarios, fulfilling the previous review request.
Rule (.claude/rules/unit-testing.md): - Never test getters/setters or trivial code - Prioritize edge cases over happy paths - Mandatory coverage evaluation when touching existing code Skill (.claude/skills/unit-test-writing.md): - Edge case checklist (Empty/Null, Boundaries, Invalid, etc.) - Coverage expansion workflow - Test naming conventions and fixture patterns - Integration with TDD Updated development-workflow.md to reference new skill.
- Added coverage line with percentage and target (60%) - Use ✅ when meeting target,⚠️ when below - Updated both passing and failing examples
8d75d6c to
39fb1da
Compare
d1a766a
into
metaschema-framework:develop
Summary
Adds enhancements to the Claude Code framework:
Changes
.claude/rules/development-workflow.mdunit-test-writingto project skills list.claude/rules/unit-testing.md(new).claude/skills/unit-test-writing.md(new)Test plan
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.