rename .story_kit directory to .storkit and update all references

Renames the config directory and updates 514 references across 42 Rust
source files, plus CLAUDE.md, .gitignore, Makefile, script/release,
and .mcp.json files. All 1205 tests pass.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Dave
2026-03-20 11:34:53 +00:00
parent 375277f86e
commit 9581e5d51a
406 changed files with 531 additions and 530 deletions
+24 -24
View File
@@ -56,7 +56,7 @@ impl AgentPool {
let default_qa = config.default_qa_mode();
// Story is in 2_current/ when a coder completes.
let story_path = project_root
.join(".story_kit/work/2_current")
.join(".storkit/work/2_current")
.join(format!("{story_id}.md"));
crate::io::story_metadata::resolve_qa_mode(&story_path, default_qa)
}
@@ -105,7 +105,7 @@ impl AgentPool {
if let Err(e) = super::super::lifecycle::move_story_to_qa(&project_root, story_id) {
slog_error!("[pipeline] Failed to move '{story_id}' to 3_qa/: {e}");
} else {
let qa_dir = project_root.join(".story_kit/work/3_qa");
let qa_dir = project_root.join(".storkit/work/3_qa");
let story_path = qa_dir.join(format!("{story_id}.md"));
if let Err(e) =
crate::io::story_metadata::write_review_hold(&story_path)
@@ -120,7 +120,7 @@ impl AgentPool {
} else {
// Increment retry count and check if blocked.
let story_path = project_root
.join(".story_kit/work/2_current")
.join(".storkit/work/2_current")
.join(format!("{story_id}.md"));
if should_block_story(&story_path, config.max_retries, story_id, "coder") {
// Story has exceeded retry limit — do not restart.
@@ -171,7 +171,7 @@ impl AgentPool {
if item_type == "spike" {
true // Spikes always need human review.
} else {
let qa_dir = project_root.join(".story_kit/work/3_qa");
let qa_dir = project_root.join(".storkit/work/3_qa");
let story_path = qa_dir.join(format!("{story_id}.md"));
let default_qa = config.default_qa_mode();
matches!(
@@ -183,7 +183,7 @@ impl AgentPool {
if needs_human_review {
// Hold in 3_qa/ for human review.
let qa_dir = project_root.join(".story_kit/work/3_qa");
let qa_dir = project_root.join(".storkit/work/3_qa");
let story_path = qa_dir.join(format!("{story_id}.md"));
if let Err(e) =
crate::io::story_metadata::write_review_hold(&story_path)
@@ -219,7 +219,7 @@ impl AgentPool {
}
} else {
let story_path = project_root
.join(".story_kit/work/3_qa")
.join(".storkit/work/3_qa")
.join(format!("{story_id}.md"));
if should_block_story(&story_path, config.max_retries, story_id, "qa-coverage") {
// Story has exceeded retry limit — do not restart.
@@ -243,7 +243,7 @@ impl AgentPool {
}
} else {
let story_path = project_root
.join(".story_kit/work/3_qa")
.join(".storkit/work/3_qa")
.join(format!("{story_id}.md"));
if should_block_story(&story_path, config.max_retries, story_id, "qa") {
// Story has exceeded retry limit — do not restart.
@@ -319,7 +319,7 @@ impl AgentPool {
);
} else {
let story_path = project_root
.join(".story_kit/work/4_merge")
.join(".storkit/work/4_merge")
.join(format!("{story_id}.md"));
if should_block_story(&story_path, config.max_retries, story_id, "mergemaster") {
// Story has exceeded retry limit — do not restart.
@@ -1125,7 +1125,7 @@ mod tests {
let root = tmp.path();
// Set up story in 2_current/ (no qa frontmatter → uses project default "server")
let current = root.join(".story_kit/work/2_current");
let current = root.join(".storkit/work/2_current");
fs::create_dir_all(&current).unwrap();
fs::write(current.join("50_story_test.md"), "test").unwrap();
@@ -1146,7 +1146,7 @@ mod tests {
// With default qa: server, story skips QA and goes straight to 4_merge/
assert!(
root.join(".story_kit/work/4_merge/50_story_test.md")
root.join(".storkit/work/4_merge/50_story_test.md")
.exists(),
"story should be in 4_merge/"
);
@@ -1163,7 +1163,7 @@ mod tests {
let root = tmp.path();
// Set up story in 2_current/ with qa: agent frontmatter
let current = root.join(".story_kit/work/2_current");
let current = root.join(".storkit/work/2_current");
fs::create_dir_all(&current).unwrap();
fs::write(
current.join("50_story_test.md"),
@@ -1188,7 +1188,7 @@ mod tests {
// With qa: agent, story should move to 3_qa/
assert!(
root.join(".story_kit/work/3_qa/50_story_test.md").exists(),
root.join(".storkit/work/3_qa/50_story_test.md").exists(),
"story should be in 3_qa/"
);
assert!(
@@ -1204,7 +1204,7 @@ mod tests {
let root = tmp.path();
// Set up story in 3_qa/
let qa_dir = root.join(".story_kit/work/3_qa");
let qa_dir = root.join(".storkit/work/3_qa");
fs::create_dir_all(&qa_dir).unwrap();
// qa: server so the story skips human review and goes straight to merge.
fs::write(
@@ -1230,7 +1230,7 @@ mod tests {
// Story should have moved to 4_merge/
assert!(
root.join(".story_kit/work/4_merge/51_story_test.md")
root.join(".storkit/work/4_merge/51_story_test.md")
.exists(),
"story should be in 4_merge/"
);
@@ -1246,7 +1246,7 @@ mod tests {
let tmp = tempfile::tempdir().unwrap();
let root = tmp.path();
let current = root.join(".story_kit/work/2_current");
let current = root.join(".storkit/work/2_current");
fs::create_dir_all(&current).unwrap();
fs::write(current.join("52_story_test.md"), "test").unwrap();
@@ -1280,18 +1280,18 @@ mod tests {
let root = tmp.path();
// Set up story in 2_current/
let current = root.join(".story_kit/work/2_current");
let current = root.join(".storkit/work/2_current");
fs::create_dir_all(&current).unwrap();
fs::write(current.join("173_story_test.md"), "test").unwrap();
// Ensure 3_qa/ exists for the move target
fs::create_dir_all(root.join(".story_kit/work/3_qa")).unwrap();
fs::create_dir_all(root.join(".storkit/work/3_qa")).unwrap();
// Ensure 1_backlog/ exists (start_agent calls move_story_to_current)
fs::create_dir_all(root.join(".story_kit/work/1_backlog")).unwrap();
fs::create_dir_all(root.join(".storkit/work/1_backlog")).unwrap();
// Write a project.toml with a qa agent so start_agent can resolve it.
fs::create_dir_all(root.join(".story_kit")).unwrap();
fs::create_dir_all(root.join(".storkit")).unwrap();
fs::write(
root.join(".story_kit/project.toml"),
root.join(".storkit/project.toml"),
r#"
default_qa = "agent"
@@ -1426,7 +1426,7 @@ stage = "qa"
.unwrap();
// Create the story file in 4_merge/ so we can test archival
let merge_dir = repo.join(".story_kit/work/4_merge");
let merge_dir = repo.join(".storkit/work/4_merge");
fs::create_dir_all(&merge_dir).unwrap();
let story_file = merge_dir.join("23_test.md");
fs::write(&story_file, "---\nname: Test\n---\n").unwrap();
@@ -1454,7 +1454,7 @@ stage = "qa"
"report should be coherent: {report:?}"
);
if report.story_archived {
let done = repo.join(".story_kit/work/5_done/23_test.md");
let done = repo.join(".storkit/work/5_done/23_test.md");
assert!(done.exists(), "done file should exist");
}
}
@@ -1639,7 +1639,7 @@ stage = "qa"
.unwrap();
// Create story file in 4_merge.
let merge_dir = repo.join(".story_kit/work/4_merge");
let merge_dir = repo.join(".storkit/work/4_merge");
fs::create_dir_all(&merge_dir).unwrap();
fs::write(merge_dir.join("42_story_foo.md"), "---\nname: Test\n---\n").unwrap();
Command::new("git")
@@ -1689,7 +1689,7 @@ stage = "qa"
let tmp = tempfile::tempdir().unwrap();
let root = tmp.path();
let sk = root.join(".story_kit");
let sk = root.join(".storkit");
let qa_dir = sk.join("work/3_qa");
fs::create_dir_all(&qa_dir).unwrap();