Add moyu anti-overengineering rules#281
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
✅ Files skipped from review due to trivial changes (2)
📝 WalkthroughWalkthroughTwo new documentation files are added to establish "Moyu — Anti-Over-Engineering Rules," a set of principles designed to constrain AI-assisted development to requested changes only. Includes guidance rules and Windsurf integration setup instructions. Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes 🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
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 |
There was a problem hiding this comment.
Pull request overview
Adds a “Moyu” (anti-overengineering) rules document intended for Windsurf/Cascade usage, capturing a minimal-change philosophy and a checklist to prevent scope creep.
Changes:
- Introduces a new Moyu ruleset document (Chinese + brief English metadata) emphasizing minimal diffs and simplest-solution-first.
- Adds a comparison table (“内卷 vs 摸鱼”) and a short checklist for self-review before expanding scope.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| ## 身份 | ||
|
|
||
| 你是一个深谙"少即是多"的 Staff 级工程师。克制是能力,不是偷懒。你绝不内卷。你摸鱼。 | ||
|
|
There was a problem hiding this comment.
Repo contribution guidelines describe a per-user directory structure with a memories/<username>/README.md to explain usage. memories/uucz/ currently only contains this rules file; adding a README for this folder would help others understand how/where to copy/apply these rules.
| # 摸鱼 (Moyu) | ||
|
|
||
| > 最好的代码是你没写的代码。最好的 PR 是最小的 PR。 | ||
|
|
There was a problem hiding this comment.
This file is named moyu.md, but repo docs say Windsurf only recognizes global_rules.md (global) and .windsurfrules (workspace) as rule filenames (see memories/README.md). If the intent is for these rules to be directly usable by Windsurf without manual copying, consider renaming/moving this content into one of the recognized filenames (or add a short note explaining how users should apply it).
| > 注意:Windsurf 只会自动加载 `global_rules.md` 和 `.windsurfrules`。如需让本规则生效,请将其内容复制或合并到上述其中一个文件中使用。 |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
memories/uucz/moyu.md (1)
32-32: Soften the absolute “no tests unless asked” rule to avoid quality regressions.
不问不写is too strict for cases where behavior changes require minimal test updates to keep CI and reliability intact.✏️ Suggested wording tweak
-| 没人要求写一套测试 | 不问不写 | +| 没人要求写一套测试 | 默认不扩测;若改动行为且现有测试会失效,只补最小必要测试并说明原因 |🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@memories/uucz/moyu.md` at line 32, Replace the absolute rule "不问不写" in the table row containing "没人要求写一套测试 | 不问不写" with a softer guideline that encourages adding tests for behavioral changes (e.g., "优先补充测试;对小改动可备注并补测"), so the policy reads as a recommendation to add tests when changes affect behavior rather than a strict ban; locate the table cell containing the exact phrase "不问不写" and update it to the revised wording.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@memories/uucz/moyu.md`:
- Line 32: Replace the absolute rule "不问不写" in the table row containing
"没人要求写一套测试 | 不问不写" with a softer guideline that encourages adding tests for
behavioral changes (e.g., "优先补充测试;对小改动可备注并补测"), so the policy reads as a
recommendation to add tests when changes affect behavior rather than a strict
ban; locate the table cell containing the exact phrase "不问不写" and update it to
the revised wording.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 55ff865b-0b72-40ee-a37d-fd21fc905f88
📒 Files selected for processing (1)
memories/uucz/moyu.md
📜 Review details
⏰ 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). (1)
- GitHub Check: Upload results
🧰 Additional context used
🪛 LanguageTool
memories/uucz/moyu.md
[uncategorized] ~15-~15: 您的意思是“"既"是”吗?
Context: ...是你没写的代码。最好的 PR 是最小的 PR。 ## 身份 你是一个深谙"少即是多"的 Staff 级工程师。克制是能力,不是偷懒。你绝不内卷。你摸鱼。 #...
(JI11_JI2)
🔇 Additional comments (1)
memories/uucz/moyu.md (1)
1-31: Strong, clear anti-overengineering guidance.This is well-scoped and consistent with the PR goal: it sets concrete boundaries and decision heuristics without unnecessary complexity.
Also applies to: 34-44
- Add required README.md for uucz/ directory - Move rules to Global-AI-rules/moyu/global-rules.md (recognized filename) - Translate content to English for accessibility - Remove dangling PUA reference
There was a problem hiding this comment.
📝 Info: Directory structure correctly follows repository conventions
The contribution at memories/uucz/ includes the required README.md and places global rules under Global-AI-rules/moyu/global-rules.md, matching the directory structure specified in memories/README.md:16-50. The file naming (global-rules.md) is consistent with SchneiderSam's existing contributions. The computerk directory is the outlier (no README.md, flat structure), not this PR.
Was this helpful? React with 👍 or 👎 to provide feedback.
| Before submitting, verify: | ||
| - Only changed what the user asked for? | ||
| - Is there a solution with less code? | ||
| - Would removing any line break functionality? |
There was a problem hiding this comment.
🟡 Ambiguous checklist item violates rule that content must make sense to others
Line 31 reads "Would removing any line break functionality?" which is grammatically broken and ambiguous. It can be parsed as "Would removing any line break [the] functionality?" (i.e., is every line essential?) or "Would removing any line-break functionality [be acceptable]?" (i.e., should line-break features be removed?). The .windsurfrules rule states: "This is a public repository, so please be respectful of others and make sure the content makes sense to others." This sentence fails that requirement.
| - Would removing any line break functionality? | |
| - Would removing any line break the functionality? |
Was this helpful? React with 👍 or 👎 to provide feedback.
| @@ -0,0 +1,29 @@ | |||
| # Moyu — Anti-Over-Engineering Rules | |||
There was a problem hiding this comment.
📝 Info: Identical H1 title in both files — borderline DRY but follows common convention
Both memories/uucz/README.md:1 and memories/uucz/Global-AI-rules/moyu/global-rules.md:1 use the identical heading # Moyu — Anti-Over-Engineering Rules. The .windsurfrules mandates DRY. However, having the same H1 in a README (which describes and markets the contribution) and the actual rules file (which is the artifact itself) is standard documentation practice — each file needs a self-contained title for navigability. SchneiderSam's contribution uses different titles (# Welcome to My Windsurf Rules in README vs distinct rule file titles), but that's a style choice, not a requirement. Decided this is not a DRY violation worth flagging as a bug.
Was this helpful? React with 👍 or 👎 to provide feedback.
|
|
||
| ## Why | ||
|
|
||
| AI coding assistants tend to over-engineer: fixing one bug but "improving" three others, adding unrequested abstractions, writing comments nobody asked for. Moyu stops this by enforcing minimal, focused changes. |
There was a problem hiding this comment.
📝 Info: README 'Why' section paraphrases examples from the rules table
The README's "Why" section at line 25 says "fixing one bug but 'improving' three others, adding unrequested abstractions, writing comments nobody asked for" — which maps almost directly to rows in the comparison table at memories/uucz/Global-AI-rules/moyu/global-rules.md:19-24. This is content overlap that could be considered a DRY violation per .windsurfrules. However, a README summarizing the content it introduces is standard practice and serves a different audience (someone browsing the repo vs. someone using the rules file in Windsurf). Not flagged as a bug since this pattern is inherent to how READMEs function.
Was this helpful? React with 👍 or 👎 to provide feedback.
Adds moyu anti-overengineering windsurf rules. Three iron rules: only change what was asked, simplest solution first, ask when unsure. Source: https://github.com/uucz/moyu
Summary by CodeRabbit