chore: update - #839
Conversation
Entire-Checkpoint: aa7447682fdf
Entire-Checkpoint: aa7447682fdf
Entire-Checkpoint: 38e625e50d40
- PreToolUse: add `claude --hook-input stdin` args - PostToolUse: use `stdin` instead of `$(cat)`, remove async/timeout Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> Entire-Checkpoint: 38e625e50d40
Entire-Checkpoint: 38e625e50d40
Entire-Checkpoint: 38e625e50d40
Entire-Checkpoint: 38e625e50d40
Entire-Checkpoint: 38e625e50d40
|
You do not have enough credits to review this pull request. Please purchase more credits to continue. |
|
Warning Rate limit exceeded
⌛ How to resolve this issue?After the wait time has elapsed, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout. Please see our FAQ for further information. 📝 WalkthroughWalkthroughThe PR updates configuration files and adds two new dependencies across multiple systems. It modifies Claude settings with a new marketplace alias and checkpoint hook commands, adds git status configuration to Starship, updates the dotagents submodule reference, adds WhatsApp to the dock persistent apps, and registers two new npm packages as trusted dependencies. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 2 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (2 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 |
Mesa DescriptionTL;DRIntegrates new CLI tools (QMD and Bird), refactors git-ai checkpoint hooks to use What changed?
Description generated by Mesa. Update settings |
Summary of ChangesHello @shunkakinoki, 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 primarily focuses on updating and introducing new dependencies to the project, enhancing its capabilities and ensuring compatibility with the latest library versions. It integrates a new Highlights
Changelog
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
|
There was a problem hiding this comment.
Pull request overview
This PR updates project dependencies and configuration settings, including adding new npm packages, updating lockfiles, and modifying various configuration files for development tools.
Changes:
- Added two new npm packages:
@steipete/birdand@tobilu/qmd - Updated dock configuration to include WhatsApp application
- Modified starship configuration to ignore git submodules
- Updated Claude settings for new marketplace extensions and git-ai checkpoint hooks
Reviewed changes
Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| package.json | Added @steipete/bird and @tobilu/qmd dependencies |
| nix-darwin/config/dock.nix | Added WhatsApp.app to dock applications |
| dotagents | Updated subproject commit reference |
| config/starship/starship.toml | Added git_status configuration to ignore submodules |
| config/claude/settings.json | Added qmd marketplace extension and updated git-ai checkpoint hook commands |
| bun.lock | Updated lockfile with new dependencies and version changes |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "type": "command", | ||
| "command": "git-ai checkpoint 2>/dev/null || true", | ||
| "timeout": 5 | ||
| "command": "git-ai checkpoint claude --hook-input stdin" |
There was a problem hiding this comment.
The command now references 'stdin' as a string argument, but it's unclear if this is meant to be a literal string or if the stdin redirection is handled elsewhere. Consider adding a comment to clarify the expected behavior or if this requires stdin to be piped to the command.
There was a problem hiding this comment.
Code Review
This pull request updates project dependencies and configurations, including the addition of the @steipete/bird and @tobilu/qmd packages. The most significant changes are in the Claude settings, where the git-ai checkpoint hooks have been updated to a new API. However, these updates removed several robustness features such as timeouts, error suppression, and asynchronous execution, which could lead to performance regressions or unexpected failures during agent operations. Other changes include prompt configuration tweaks and UI updates to the macOS dock.
| "type": "command", | ||
| "command": "git-ai checkpoint 2>/dev/null || true", | ||
| "timeout": 5 | ||
| "command": "git-ai checkpoint claude --hook-input stdin" |
There was a problem hiding this comment.
The PreToolUse hook for Write|Edit|MultiEdit has lost its timeout and error suppression (2>/dev/null || true). Without a timeout, a hanging git-ai process could block the agent indefinitely. Additionally, removing error suppression might cause the agent to fail if the command exits with a non-zero status (e.g., when not in a git repository).
"command": "git-ai checkpoint claude --hook-input stdin 2>/dev/null || true",
"timeout": 5| "command": "git-ai checkpoint claude --hook-input \"$(cat)\" 2>/dev/null || true", | ||
| "timeout": 5, | ||
| "async": true | ||
| "command": "git-ai checkpoint claude --hook-input stdin" |
There was a problem hiding this comment.
The PostToolUse hook for Write|Edit|MultiEdit has lost its async: true property, along with the timeout and error suppression. Making this hook synchronous will increase the latency of every file modification, as the agent must now wait for the checkpoint command to complete before proceeding. Restoring async: true and the safety measures is recommended for a smoother user experience.
"command": "git-ai checkpoint claude --hook-input stdin 2>/dev/null || true",
"timeout": 5,
"async": trueThere was a problem hiding this comment.
Actionable comments posted: 1
🤖 Fix all issues with AI agents
In `@config/claude/settings.json`:
- Around line 214-220: Update the synchronous hook command strings in the hooks
array so they cannot block indefinitely: for the command entries whose command
is "git-ai checkpoint claude --hook-input stdin" (and the similar PostToolUse
hook), prefix the call with a timeout (e.g., timeout 5s) and append error
suppression/fallback (e.g., redirect stderr to /dev/null and "|| true") so a
hung git-ai won't block write/edit/multiedit operations; modify the command
field in those hook objects accordingly.
| "hooks": [ | ||
| { | ||
| "type": "command", | ||
| "command": "git-ai checkpoint 2>/dev/null || true", | ||
| "timeout": 5 | ||
| "command": "git-ai checkpoint claude --hook-input stdin" | ||
| } | ||
| ] | ||
| } |
There was a problem hiding this comment.
Missing timeout on synchronous checkpoint hooks could block Claude indefinitely.
The previous version had a timeout and error suppression (2>/dev/null || true). Without a timeout, if git-ai hangs (e.g., waiting on a lock or network), this synchronous hook will block all Write/Edit/MultiEdit operations indefinitely. The same applies to the PostToolUse hook on line 228.
Proposed fix: add a timeout
{
"matcher": "Write|Edit|MultiEdit",
"hooks": [
{
"type": "command",
- "command": "git-ai checkpoint claude --hook-input stdin"
+ "command": "git-ai checkpoint claude --hook-input stdin",
+ "timeout": 10
}
]
}🤖 Prompt for AI Agents
In `@config/claude/settings.json` around lines 214 - 220, Update the synchronous
hook command strings in the hooks array so they cannot block indefinitely: for
the command entries whose command is "git-ai checkpoint claude --hook-input
stdin" (and the similar PostToolUse hook), prefix the call with a timeout (e.g.,
timeout 5s) and append error suppression/fallback (e.g., redirect stderr to
/dev/null and "|| true") so a hung git-ai won't block write/edit/multiedit
operations; modify the command field in those hook objects accordingly.
Entire-Checkpoint: 38e625e50d40
Changes
Testing
Generated with opencode by glm-4.7
Summary by cubic
Integrates QMD and Bird CLIs, fixes git-ai hooks to read from stdin, and tweaks shell/Dock config. Adds trustedDependencies for QMD and Bird; updates dotagents to add QMD and remove unused skills.
New Features
Bug Fixes
Written for commit 9c197f3. Summary will update on new commits.