Conversation
Reviewer's GuideThis PR extends rule handling to allow multiple rule references per target by switching the File-Level Changes
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
Summary by CodeRabbit
WalkthroughApply extensive editorial and formatting improvements to the Changes
Poem
✨ Finishing Touches🧪 Generate unit tests
🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
SupportNeed help? Create a ticket on our support page for assistance with any issues or questions. Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
There was a problem hiding this comment.
Actionable comments posted: 4
📜 Review details
Configuration used: CodeRabbit UI
Review profile: ASSERTIVE
Plan: Pro
📒 Files selected for processing (1)
docs/netsuke-design.md(32 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
docs/**/*.md
Instructions used from:
Sources:
📄 CodeRabbit Inference Engine
- AGENTS.md
**/*.md
Instructions used from:
Sources:
📄 CodeRabbit Inference Engine
- AGENTS.md
⚙️ CodeRabbit Configuration File
🧠 Learnings (1)
docs/netsuke-design.md (2)
Learnt from: CR
PR: leynos/netsuke#0
File: docs/netsuke-design.md:0-0
Timestamp: 2025-07-12T13:36:08.546Z
Learning: Applies to docs/**/Netsukefile : The Netsuke manifest file must be named 'Netsukefile' and use a YAML schema with top-level keys: netsuke_version, vars, macros, rules, targets, and defaults.
Learnt from: CR
PR: leynos/netsuke#0
File: docs/netsuke-design.md:0-0
Timestamp: 2025-07-12T13:36:08.546Z
Learning: Applies to docs/src/ast.rs : Fields in the AST that can be either a single string or a list of strings must use an enum with #[serde(untagged)] (e.g., StringOrList).
🪛 LanguageTool
docs/netsuke-design.md
[misspelling] ~24-~24: This word is normally spelled with a hyphen.
Context: ...fulfills this role. It provides a rich, user- friendly language (YAML with Jinja) for describi...
(EN_COMPOUNDS_USER_FRIENDLY)
[uncategorized] ~242-~242: Loose punctuation mark.
Context: ...build-local variables.[^3] - macros: An optional list of Jinja macro definit...
(UNLIKELY_OPENING_PUNCTUATION)
[uncategorized] ~562-~562: Possible missing comma found.
Context: ...nction would execute python --version or python3 --version using `std::proce...
(AI_HYDRA_LEO_MISSING_COMMA)
[grammar] ~563-~563: Please add a punctuation mark at the end of paragraph.
Context: ...ss::Command19, parse the output using the semver` crate 4, and compare it aga...
(PUNCTUATION_PARAGRAPH_END)
[style] ~593-~593: Consider using the typographical ellipsis character here instead.
Context: ...owerful but often opaque functions like $(shell...) and $(wildcard...). Netsuke achieve...
(ELLIPSIS)
[style] ~593-~593: Consider using the typographical ellipsis character here instead.
Context: ...opaque functions like $(shell...) and $(wildcard...). Netsuke achieves and surpasses this ...
(ELLIPSIS)
[misspelling] ~834-~834: This word is normally spelled with a hyphen.
Context: ..., Bash, sh, Fish), which is vital for a cross- platform build tool. It also correctly handles a...
(EN_COMPOUNDS_CROSS_PLATFORM)
[misspelling] ~861-~861: This word is normally spelled with a hyphen.
Context: ...ect shell quoting falls on the user, an error- prone task that requires specialized knowledg...
(EN_COMPOUNDS_ERROR_PRONE)
[typographical] ~1192-~1192: To join two clauses or introduce examples, consider using an em dash.
Context: ...-build.org/> [^2]: Ninja (build system) - Wikipedia, accessed on July 12, 2025, <h...
(DASH_RULE)
[typographical] ~1195-~1195: To join two clauses or introduce examples, consider using an em dash.
Context: ...Complete Guide To The Ninja Build System - Spectra - Mathpix, accessed on July 12, ...
(DASH_RULE)
[typographical] ~1195-~1195: To join two clauses or introduce examples, consider using an em dash.
Context: ...uide To The Ninja Build System - Spectra - Mathpix, accessed on July 12, 2025, <<<h...
(DASH_RULE)
[typographical] ~1199-~1199: To join two clauses or introduce examples, consider using an em dash.
Context: ...to-the-ninja-build-system> [^4]: semver - Rust, accessed on July 12, 2025, <<https...
(DASH_RULE)
[typographical] ~1202-~1202: To join two clauses or introduce examples, consider using an em dash.
Context: ...io/Agents/semver/index.html> Versioning - GitHub, accessed on July 12, 2025, <<<ht...
(DASH_RULE)
[typographical] ~1207-~1207: To join two clauses or introduce examples, consider using an em dash.
Context: ...r/latest/semver/> [^7]: How Ninja works - Fuchsia, accessed on July 12, 2025, <htt...
(DASH_RULE)
[typographical] ~1215-~1215: To join two clauses or introduce examples, consider using an em dash.
Context: .../c/34ebqOUxnXg> [^11]: Saphyr libraries - crates.io: Rust Pack...
(DASH_RULE)
[typographical] ~1224-~1224: To join two clauses or introduce examples, consider using an em dash.
Context: ...ttps://docs.rs/saphyr> [^15]: minijinja - crates.io: Rust Pack...
(DASH_RULE)
[typographical] ~1227-~1227: To join two clauses or introduce examples, consider using an em dash.
Context: ...s.io/crates/minijinja> [^16]: minijinja - Rust - Docs.rs, access...
(DASH_RULE)
[typographical] ~1227-~1227: To join two clauses or introduce examples, consider using an em dash.
Context: ...ates/minijinja> [^16]: minijinja - Rust - Docs.rs, accessed on J...
(DASH_RULE)
[typographical] ~1230-~1230: To join two clauses or introduce examples, consider using an em dash.
Context: ...://docs.rs/minijinja/> [^17]: minijinja - Rust, accessed on July 12, 2025, <<https...
(DASH_RULE)
[typographical] ~1243-~1243: To join two clauses or introduce examples, consider using an em dash.
Context: ...heck-python-version> [^22]: shell_quote - Rust - Docs.rs, access...
(DASH_RULE)
[typographical] ~1243-~1243: To join two clauses or introduce examples, consider using an em dash.
Context: ...thon-version> [^22]: shell_quote - Rust - Docs.rs, accessed on J...
(DASH_RULE)
[typographical] ~1249-~1249: To join two clauses or introduce examples, consider using an em dash.
Context: ...process/index.html> [^24]: std::process - Rust, accessed on July 12, 2025, <<https...
(DASH_RULE)
[typographical] ~1260-~1260: To join two clauses or introduce examples, consider using an em dash.
Context: ...-vs-snafu-2003> and Advanced Techniques - Technorely, accessed on July 12, 2025, <...
(DASH_RULE)
[typographical] ~1264-~1264: To join two clauses or introduce examples, consider using an em dash.
Context: ...ractical guide to Error Handling in Rust - Dev State, accessed on July 12, 2025, <h...
(DASH_RULE)
[typographical] ~1267-~1267: To join two clauses or introduce examples, consider using an em dash.
Context: ..._handling/> [^30]: thiserror and anyhow - Comprehensive Rust, accessed on July 12,...
(DASH_RULE)
🔇 Additional comments (1)
docs/netsuke-design.md (1)
1-1278: Runmdformat-allandmarkdownlintbefore merging.Several minor lint issues (loose punctuation, missing commas) remain. Execute the documented formatting pipeline to catch any residual violations and keep docs consistent.
| A `Netsukefile` file is a YAML mapping containing a set of well-defined top- | ||
| level keys. |
There was a problem hiding this comment.
🧹 Nitpick (assertive)
Avoid mid-word line breaks in “top-level”.
Keep hyphenated compounds intact to satisfy MD013 and improve readability.
-A `Netsukefile` file is a YAML mapping containing a set of well-defined top-
-level keys.
+A `Netsukefile` file is a YAML mapping containing a set of well-defined top-level keys.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| A `Netsukefile` file is a YAML mapping containing a set of well-defined top- | |
| level keys. | |
| A `Netsukefile` file is a YAML mapping containing a set of well-defined top-level keys. |
🤖 Prompt for AI Agents
In docs/netsuke-design.md around lines 134 to 135, the phrase "top-level" is
broken across lines, which violates markdown lint rule MD013 and reduces
readability. Adjust the line break so that the hyphenated compound "top-level"
remains on the same line without splitting the word.
| This design choice by Ninja's authors necessitates the existence of a higher- | ||
| level generator tool. Netsuke fulfills this role. It provides a rich, user- | ||
| friendly language (YAML with Jinja) for describing the *what* and *why* of |
There was a problem hiding this comment.
🧹 Nitpick (assertive)
Join the broken “user-friendly” compound and apply en-GB spelling.
Breaking a hyphenated word across lines violates the style guide and confuses spell-checkers. Merge the lines and switch “fulfills” → “fulfils”.
-level generator tool. Netsuke fulfills this role. It provides a rich, user-
-friendly language (YAML with Jinja) for describing the *what* and *why* of
+level generator tool. Netsuke fulfils this role. It provides a rich, user-friendly language (YAML with Jinja) for describing the *what* and *why* ofCommittable suggestion skipped: line range outside the PR's diff.
🧰 Tools
🪛 LanguageTool
[misspelling] ~24-~24: This word is normally spelled with a hyphen.
Context: ...fulfills this role. It provides a rich, user- friendly language (YAML with Jinja) for describi...
(EN_COMPOUNDS_USER_FRIENDLY)
🤖 Prompt for AI Agents
In docs/netsuke-design.md around lines 23 to 25, the phrase "user-friendly" is
broken across lines and uses en-US spelling. Merge the hyphenated word into a
single line and change "user-friendly" to "user-friendly" with en-GB spelling
conventions, and also change "fulfills" to "fulfils" to comply with the style
guide.
| build systems, the burden of correct shell quoting falls on the user, an error- | ||
| prone task that requires specialized knowledge. |
There was a problem hiding this comment.
🧹 Nitpick (assertive)
Unify the “error-prone” compound and switch to en-GB “specialised”.
-build systems, the burden of correct shell quoting falls on the user, an error-
-prone task that requires specialized knowledge.
+build systems, the burden of correct shell quoting falls on the user, an error-prone task that requires specialised knowledge.📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| build systems, the burden of correct shell quoting falls on the user, an error- | |
| prone task that requires specialized knowledge. | |
| build systems, the burden of correct shell quoting falls on the user, an error-prone task that requires specialised knowledge. |
🧰 Tools
🪛 LanguageTool
[misspelling] ~861-~861: This word is normally spelled with a hyphen.
Context: ...ect shell quoting falls on the user, an error- prone task that requires specialized knowledg...
(EN_COMPOUNDS_ERROR_PRONE)
🤖 Prompt for AI Agents
In docs/netsuke-design.md around lines 861 to 862, unify the hyphenation of
"error-prone" to be consistent and change the spelling of "specialized" to the
en-GB variant "specialised". Update the text to use "error-prone" consistently
and replace "specialized" with "specialised" to match British English
conventions.
| for multiple shell flavors (e.g., Bash, sh, Fish), which is vital for a cross- | ||
| platform build tool. It also correctly handles a wide variety of input types, |
There was a problem hiding this comment.
🧹 Nitpick (assertive)
Fix the split “cross-platform” compound and adopt en-GB “flavours”.
-for multiple shell flavors (e.g., Bash, sh, Fish), which is vital for a cross-
-platform build tool. It also correctly handles a wide variety of input types,
+for multiple shell flavours (e.g., Bash, sh, Fish), which is vital for a cross-platform build tool. It also correctly handles a wide variety of input types,Committable suggestion skipped: line range outside the PR's diff.
🧰 Tools
🪛 LanguageTool
[misspelling] ~834-~834: This word is normally spelled with a hyphen.
Context: ..., Bash, sh, Fish), which is vital for a cross- platform build tool. It also correctly handles a...
(EN_COMPOUNDS_CROSS_PLATFORM)
🤖 Prompt for AI Agents
In docs/netsuke-design.md around lines 834 to 835, fix the hyphenation of the
compound "cross-platform" by ensuring it is correctly split or formatted as a
single hyphenated term. Additionally, change the American English spelling
"flavors" to the British English "flavours" to maintain consistency with en-GB
usage.
Summary
rulecan list multiple rulesStringOrListusageTesting
make fmtmake lintmake testmake markdownlintmake nixiehttps://chatgpt.com/codex/tasks/task_e_6873852dfb548322bcfb8fab0c5271f3
Summary by Sourcery
Enable multiple rule references per target by extending the rule field to accept lists, updating both code and documentation to reflect this flexibility
Enhancements: