mirror of
https://github.com/instructkr/claw-code.git
synced 2026-04-13 11:34:51 +08:00
Keep local clawhip artifacts from tripping routine repo work
Dogfooding kept reproducing OMX team merge conflicts on `.clawhip/state/prompt-submit.json`, so the init bootstrap now teaches repos to ignore `.clawhip/` alongside the existing local `.claw/` artifacts. This also updates the current repo ignore list so the fix helps immediately instead of only on future `claw init` runs. Constraint: Keep the fix narrow and centered on repo-local ignore hygiene Rejected: Broader team merge-hygiene changes | unnecessary for the proven local root cause Confidence: high Scope-risk: narrow Reversibility: clean Directive: If more runtime-local artifact directories appear, extend the shared init gitignore list instead of patching repos ad hoc Tested: cargo fmt --all --check Tested: cargo clippy --workspace --all-targets -- -D warnings Tested: cargo test --workspace Tested: Architect review (APPROVE) Not-tested: Existing clones with already-tracked `.clawhip` files still need manual cleanup Related: ROADMAP #75
This commit is contained in:
@@ -9,7 +9,7 @@ const STARTER_CLAW_JSON: &str = concat!(
|
||||
"}\n",
|
||||
);
|
||||
const GITIGNORE_COMMENT: &str = "# Claw Code local artifacts";
|
||||
const GITIGNORE_ENTRIES: [&str; 2] = [".claw/settings.local.json", ".claw/sessions/"];
|
||||
const GITIGNORE_ENTRIES: [&str; 3] = [".claw/settings.local.json", ".claw/sessions/", ".clawhip/"];
|
||||
|
||||
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
|
||||
pub(crate) enum InitStatus {
|
||||
@@ -375,6 +375,7 @@ mod tests {
|
||||
let gitignore = fs::read_to_string(root.join(".gitignore")).expect("read gitignore");
|
||||
assert!(gitignore.contains(".claw/settings.local.json"));
|
||||
assert!(gitignore.contains(".claw/sessions/"));
|
||||
assert!(gitignore.contains(".clawhip/"));
|
||||
let claude_md = fs::read_to_string(root.join("CLAUDE.md")).expect("read claude md");
|
||||
assert!(claude_md.contains("Languages: Rust."));
|
||||
assert!(claude_md.contains("cargo clippy --workspace --all-targets -- -D warnings"));
|
||||
@@ -407,6 +408,7 @@ mod tests {
|
||||
let gitignore = fs::read_to_string(root.join(".gitignore")).expect("read gitignore");
|
||||
assert_eq!(gitignore.matches(".claw/settings.local.json").count(), 1);
|
||||
assert_eq!(gitignore.matches(".claw/sessions/").count(), 1);
|
||||
assert_eq!(gitignore.matches(".clawhip/").count(), 1);
|
||||
|
||||
fs::remove_dir_all(root).expect("cleanup temp dir");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user