docs: add AI Coding Guide for cpp-linter-hooks#172
Conversation
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #172 +/- ##
=======================================
Coverage 95.41% 95.41%
=======================================
Files 4 4
Lines 109 109
=======================================
Hits 104 104
Misses 5 5 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
WalkthroughAdds a new Markdown documentation file at Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~15 minutes 🚥 Pre-merge checks | ✅ 3 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
⚔️ Resolve merge conflicts (beta)
Tip Issue Planner is now in beta. Read the docs and try it out! Share your feedback on Discord. 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.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
Before applying any fix, first verify the finding against the current code and
decide whether a code change is actually needed. If the finding is not valid or
no change is required, do not modify code for that item and briefly explain why
it was skipped.
In @.github/copilot-instructions.md:
- Around line 35-36: The two pre-commit try-repo commands use the wrong
repository path (`./..`) and should point to the current repo; update the lines
containing "pre-commit try-repo ./.. clang-format --verbose --all-files" and
"pre-commit try-repo ./.. clang-tidy --verbose --all-files" to use a single dot
instead: "pre-commit try-repo . clang-format --verbose --all-files" and
"pre-commit try-repo . clang-tidy --verbose --all-files".
- Around line 1-113: Add a brief "Getting Started" section at the top with quick
steps to run and test the hooks (installation, example commands like pre-commit
try-repo and uv run pytest), a "Troubleshooting" section listing common failures
and fixes (pip install issues, version resolution, verbose flags), and an
"External Links" subsection linking to pre-commit, clang-format, and clang-tidy
docs plus a short "Version History / Changelog" pointer (or link) for updates;
place these new headings in the existing guide near the top so they are
prominent and update the README/examples references under "Development
Workflows" to point to the new Getting Started and Troubleshooting sections.
🧹 Nitpick comments (1)
🤖 Fix all nitpicks with AI agents
Before applying any fix, first verify the finding against the current code and decide whether a code change is actually needed. If the finding is not valid or no change is required, do not modify code for that item and briefly explain why it was skipped. In @.github/copilot-instructions.md: - Around line 1-113: Add a brief "Getting Started" section at the top with quick steps to run and test the hooks (installation, example commands like pre-commit try-repo and uv run pytest), a "Troubleshooting" section listing common failures and fixes (pip install issues, version resolution, verbose flags), and an "External Links" subsection linking to pre-commit, clang-format, and clang-tidy docs plus a short "Version History / Changelog" pointer (or link) for updates; place these new headings in the existing guide near the top so they are prominent and update the README/examples references under "Development Workflows" to point to the new Getting Started and Troubleshooting sections..github/copilot-instructions.md (1)
1-113: Documentation quality: well-structured and comprehensive.This AI Coding Guide is well-organized and provides valuable context for developers and AI assistants working on the project. The structure covers all essential aspects: architecture, workflows, conventions, and common tasks.
Consider adding:
- A "Getting Started" section at the beginning for new contributors
- A troubleshooting section for common issues
- Links to external resources (pre-commit docs, clang-format/clang-tidy docs)
- Version history or changelog reference
🤖 Prompt for AI Agents
Before applying any fix, first verify the finding against the current code and decide whether a code change is actually needed. If the finding is not valid or no change is required, do not modify code for that item and briefly explain why it was skipped. In @.github/copilot-instructions.md around lines 1 - 113, Add a brief "Getting Started" section at the top with quick steps to run and test the hooks (installation, example commands like pre-commit try-repo and uv run pytest), a "Troubleshooting" section listing common failures and fixes (pip install issues, version resolution, verbose flags), and an "External Links" subsection linking to pre-commit, clang-format, and clang-tidy docs plus a short "Version History / Changelog" pointer (or link) for updates; place these new headings in the existing guide near the top so they are prominent and update the README/examples references under "Development Workflows" to point to the new Getting Started and Troubleshooting sections.
| pre-commit try-repo ./.. clang-format --verbose --all-files | ||
| pre-commit try-repo ./.. clang-tidy --verbose --all-files |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
# Read the copilot-instructions.md file to see the context around lines 35-36
head -n 60 .github/copilot-instructions.md | tail -n 30Repository: cpp-linter/cpp-linter-hooks
Length of output: 1223
🏁 Script executed:
# Search for any other pre-commit try-repo usage in the repository
rg -n 'try-repo' --type md --type sh --type yaml --type ymlRepository: cpp-linter/cpp-linter-hooks
Length of output: 98
🏁 Script executed:
# Check if there are any GitHub Actions workflows that use pre-commit
find .github -name "*.yaml" -o -name "*.yml" | head -20Repository: cpp-linter/cpp-linter-hooks
Length of output: 405
🏁 Script executed:
# Read the pre-commit workflow file to see how try-repo is used there
cat .github/workflows/pre-commit.ymlRepository: cpp-linter/cpp-linter-hooks
Length of output: 314
🌐 Web query:
pre-commit try-repo documentation syntax path argument
💡 Result:
pre-commit try-repo syntax is:
pre-commit try-repo [options] repo [hook]repois the “Repository to source hooks from” (positional argument). It can be a git repo URL or a local filesystem path to a repo checkout (for example:../path/to/my-hooks). [1][2]hook(optional) is a single hook id to run; if omitted, it will generate a config snippet / run the repo’s hooks per your selection. [1]- To try a specific revision, use
--ref/--rev; if you don’t specify it,try-repouses the repo’sHEAD. [1]
Example with a local path:
pre-commit try-repo ../LOCAL/PATH/TO/my-hooks[2]
Example with a remote + ref:
pre-commit try-repo --ref v4.0.0 https://github.com/pre-commit/pre-commit-hooks trailing-whitespace[1]
Sources: [1] https://www.mankier.com/1/pre-commit-try-repo [2] https://blog.dagworks.io/p/custom-pre-commit-hooks-for-safer
🏁 Script executed:
# Search for any setup.py, pyproject.toml, or README that might document this
rg -n 'try-repo' -type md -A 2 -B 2Repository: cpp-linter/cpp-linter-hooks
Length of output: 98
🏁 Script executed:
# Check if there's any documentation about where to run pre-commit commands from
rg -n 'pre-commit' README.md -A 2 -B 2 | head -50Repository: cpp-linter/cpp-linter-hooks
Length of output: 1281
🏁 Script executed:
# Check pyproject.toml or tox.ini for pre-commit usage patterns
fd -e toml -e ini | xargs grep -l 'pre-commit' 2>/dev/nullRepository: cpp-linter/cpp-linter-hooks
Length of output: 85
🏁 Script executed:
# Check pyproject.toml for pre-commit related configurations
grep -n 'pre-commit' pyproject.toml -A 5 -B 5Repository: cpp-linter/cpp-linter-hooks
Length of output: 695
🏁 Script executed:
# Let me also check what the actual repository root structure looks like
# and understand where commands would typically be run from
ls -la | head -20Repository: cpp-linter/cpp-linter-hooks
Length of output: 1225
Fix pre-commit try-repo path from ./.. to .
Lines 35-36 use ./.. as the repository path, which resolves to the parent directory rather than the current repository. When running these commands from the repository root (as the documentation context indicates), the path should be . instead:
Suggested fix
- pre-commit try-repo ./.. clang-format --verbose --all-files
- pre-commit try-repo ./.. clang-tidy --verbose --all-files
+ pre-commit try-repo . clang-format --verbose --all-files
+ pre-commit try-repo . clang-tidy --verbose --all-files📝 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.
| pre-commit try-repo ./.. clang-format --verbose --all-files | |
| pre-commit try-repo ./.. clang-tidy --verbose --all-files | |
| pre-commit try-repo . clang-format --verbose --all-files | |
| pre-commit try-repo . clang-tidy --verbose --all-files |
🤖 Prompt for AI Agents
Before applying any fix, first verify the finding against the current code and
decide whether a code change is actually needed. If the finding is not valid or
no change is required, do not modify code for that item and briefly explain why
it was skipped.
In @.github/copilot-instructions.md around lines 35 - 36, The two pre-commit
try-repo commands use the wrong repository path (`./..`) and should point to the
current repo; update the lines containing "pre-commit try-repo ./.. clang-format
--verbose --all-files" and "pre-commit try-repo ./.. clang-tidy --verbose
--all-files" to use a single dot instead: "pre-commit try-repo . clang-format
--verbose --all-files" and "pre-commit try-repo . clang-tidy --verbose
--all-files".



Summary by CodeRabbit