fix(init): prevent clobbering instruction files (GEMINI.md, RTK.md)#835
Open
bnaylor wants to merge 1 commit intortk-ai:developfrom
Open
fix(init): prevent clobbering instruction files (GEMINI.md, RTK.md)#835bnaylor wants to merge 1 commit intortk-ai:developfrom
bnaylor wants to merge 1 commit intortk-ai:developfrom
Conversation
Collaborator
|
Hi! Two things needed before we can review:
Thanks! |
Author
|
Thanks! Switched branches. CLA should be good. |
Contributor
|
Hey We are cleaning up the codebase and improving the project structure for better onboarding. As part of this effort, PR #826 reorganizes No logic changes — only file moves and import path updates. What you need to doRebase your branch on git fetch origin && git rebase origin/developGit detects renames automatically. If you get import conflicts, update the paths: use crate::git; // now: use crate::cmds::git::git;
use crate::tracking; // now: use crate::core::tracking;
use crate::config; // now: use crate::core::config;
use crate::init; // now: use crate::hooks::init;
use crate::gain; // now: use crate::analytics::gain;Need help rebasing? Tag @aeppling |
- Implement to preserve user content - Implement for safer uninstalls - Add end-to-end tests for file-level block management - Use atomic writes for all instruction file updates Fixes issue where Gemini CLI hook installed (global). Hook: /Users/bnaylor/.gemini/hooks/rtk-hook-gemini.sh GEMINI.md: /Users/bnaylor/.gemini/GEMINI.md Restart Gemini CLI. Test with: git status would overwrite existing ~/.gemini/GEMINI.md
0c1c3b5 to
9446258
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
The current implementation of
rtk initandrtk uninstallperforms full file overwrites/deletions of instruction files likeGEMINI.mdandRTK.md. This leads to data loss if users have custom notes or configuration in those files.Solution
upsert_write_rtk_blockto manage RTK's instruction block using<!-- rtk-instructions v2 -->markers.remove_rtk_block_from_fileto only remove RTK's block during uninstalls, preserving other content.run_gemini,run_default_mode, andrun_codex_modeto use these safer functions.Verification
test_upsert_write_rtk_blockandtest_remove_rtk_block_from_filetests pass.rtk cargo testthat existing tests are not regressed.Fixes #834 (Referenced but not closed, as per user instructions).
Credit for the fix: Gemini CLI (with assistance from bnaylor).