-
-
Notifications
You must be signed in to change notification settings - Fork 942
docs(claude): Rewrite CLAUDE.md in EARS format #997
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Apply EARS (Easy Approach to Requirements Syntax) patterns to make guidelines clearer and more unambiguous: - Ubiquitous: "The assistant shall [action]" - Event-Driven: "When [trigger], the assistant shall [action]" - State-Driven: "While [state], the assistant shall [action]" - Optional: "Where [condition], the assistant shall [action]" - Unwanted: "If [condition], then the assistant shall [action]" This change improves clarity by explicitly stating conditions and expected behaviors using standardized requirement syntax.
|
Important Review skippedAuto incremental reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Note Other AI code review bot(s) detectedCodeRabbit has detected other AI code review bot(s) in this pull request and will avoid duplicating their findings in the review comments. This may lead to a less comprehensive review. WalkthroughThe PR rewrites guideline statements in the agent rules documentation from imperative to prescriptive "shall" style, standardizing language and formatting throughout the guidelines without introducing any functional code changes. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Possibly related PRs
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary of ChangesHello @yamadashy, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed! This pull request refactors the Highlights
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here. You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension. Footnotes
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #997 +/- ##
=======================================
Coverage 90.38% 90.38%
=======================================
Files 110 110
Lines 7890 7890
Branches 1528 1528
=======================================
Hits 7131 7131
Misses 759 759 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Deploying repomix with
|
| Latest commit: |
2872993
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://3f84d69d.repomix.pages.dev |
| Branch Preview URL: | https://chore-ears.repomix.pages.dev |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request successfully refactors the agent guidelines in .agents/rules/base.md to use the EARS (Easy Approach to Requirements Syntax) format, which makes the rules clearer and more unambiguous. The application of EARS patterns is consistent and well-executed.
I have two minor suggestions to further improve the document's clarity and structure. One is to rephrase an introductory sentence in the PR review guidelines to make it a complete statement. The other is to remove a requirement from the commit body guidelines that is more of a goal statement than an actionable instruction.
Please also note that the pull request title and description refer to CLAUDE.md, but the changes are in .agents/rules/base.md. It would be helpful to update them for accuracy.
.agents/rules/base.md
Outdated
|
|
||
| - When writing commit body, the assistant shall include context about what led to this commit. | ||
| - When writing commit body, the assistant shall describe the conversation or problem that motivated the change. | ||
| - The assistant shall preserve the decision-making process for future reference. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This requirement seems to state the goal of the previous two requirements rather than being a distinct action for the assistant. The original text was an explanation (This helps preserve...). As a requirement, it's abstract and could be confusing for an AI. Consider removing it to make the guidelines more direct and actionable, as the previous two points already cover how to achieve this goal.
.agents/rules/base.md
Outdated
| ## PR Review Guidelines | ||
| When reviewing pull requests, provide thoughtful feedback on: | ||
|
|
||
| When reviewing pull requests, the assistant shall provide thoughtful feedback on: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This introductory sentence is incomplete and relies on the following list, which doesn't strictly follow the EARS format where each requirement should be a self-contained statement. To improve this while avoiding repetition, you could rephrase this line to be a complete sentence that introduces the list.
| When reviewing pull requests, the assistant shall provide thoughtful feedback on: | |
| When reviewing pull requests, the assistant shall provide thoughtful feedback on the following topics: |
Code Review: EARS Format Documentation UpdateThank you for implementing EARS (Easy Approach to Requirements Syntax) patterns in the documentation. This is a valuable improvement that enhances clarity and reduces ambiguity. Here's my comprehensive review: ✅ StrengthsWell-executed EARS implementation
🔍 Areas for Consideration1. EARS Pattern ConsistencyDetailsWhile most guidelines follow EARS well, consider these refinements:
However, some guidelines could benefit from more specific trigger conditions. For example, the commit body guidelines could specify:
2. Missing Context PreservationDetailsThe original documentation mentioned that commit bodies help "preserve the decision-making process for future reference." The EARS version maintains this but could be more explicit: Consider: "The assistant shall preserve the decision-making process for future reference by documenting alternatives considered and reasons for rejection" 3. Potential Grammar EnhancementDetailsLine 81: "When writing commit body" could be "When writing a commit body" or "When writing the commit body" for better grammatical flow. This applies to lines 81-82. 🚀 Suggestions for EnhancementAdditional EARS patterns to consider
🔒 Security & Risk Analysis (Premortem)Potential failure scenarios and mitigations
✅ Verification
📊 Overall AssessmentThis is a high-quality documentation improvement that enhances clarity without introducing risks. The EARS format makes requirements testable and unambiguous, which is particularly valuable for AI assistant guidelines. Recommendation: ✅ Approve with minor suggestions The changes are ready to merge. The minor suggestions above are optional enhancements that could be addressed in a follow-up PR if desired. Generated with Claude Code assistance following the repository's review guidelines |
- Remove abstract requirement about preserving decision-making process (covered by previous two requirements) - Make PR review guideline sentence self-contained by adding "the following topics"
Code Review: Additional ObservationsI've reviewed PR #997 and the EARS format implementation. Building on the previous reviews by CodeRabbit and Gemini, here are some additional observations: ✅ Improvements Successfully AchievedThe transformation to EARS format brings immediate benefits:
📝 Additional Suggestions Not Previously Mentioned1. File Path DiscrepancyThe PR title and description reference "CLAUDE.md" but the actual changes are in 2. Missing Original Intent PreservationLine 83 removed an important clarification: "This helps preserve the decision-making process for future reference." Consider restoring this as: - When writing commit body, the assistant shall describe the conversation or problem that motivated the change to preserve the decision-making process for future reference.3. Grammar ConsistencyLines 82-83 use "commit body" without an article. For consistency with other sections:
4. Potential Future Enhancement: Priority LevelsConsider adding RFC 2119 keywords (MUST, SHOULD, MAY) for requirement prioritization in a future iteration:
🔍 Risk AnalysisLow Risk Changes: Documentation-only update with no runtime impact. The structured format actually reduces risk of misinterpretation. ✅ Verification Complete
Recommendation: Approve - The EARS implementation is well-executed and improves documentation clarity. The minor suggestions above are optional enhancements. Review conducted following repository PR review guidelines |
Apply EARS (Easy Approach to Requirements Syntax) patterns to CLAUDE.md to make guidelines clearer and more unambiguous.
EARS Patterns Used
The assistant shall [action]When [trigger], the assistant shall [action]Where [condition], the assistant shall [action]If [condition], then the assistant shall [action]Changes
Reference
Checklist
npm run testnpm run lint