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

View File

@@ -124,7 +124,7 @@ pub(super) fn tool_get_story_todos(args: &Value, ctx: &AppContext) -> Result<Str
.ok_or("Missing required argument: story_id")?;
let root = ctx.state.get_project_root()?;
let current_dir = root.join(".story_kit").join("work").join("2_current");
let current_dir = root.join(".storkit").join("work").join("2_current");
let filepath = current_dir.join(format!("{story_id}.md"));
if !filepath.exists() {
@@ -414,7 +414,7 @@ pub(super) async fn tool_delete_story(args: &Value, ctx: &AppContext) -> Result<
}
// 4. Find and delete the story file from any pipeline stage
let sk = project_root.join(".story_kit").join("work");
let sk = project_root.join(".storkit").join("work");
let stage_dirs = ["1_backlog", "2_current", "3_qa", "4_merge", "5_done", "6_archived"];
let mut deleted = false;
for stage in &stage_dirs {
@@ -626,7 +626,7 @@ mod tests {
("4_merge", "40_story_merge", "Merge Story"),
("5_done", "50_story_done", "Done Story"),
] {
let dir = root.join(".story_kit/work").join(stage);
let dir = root.join(".storkit/work").join(stage);
std::fs::create_dir_all(&dir).unwrap();
std::fs::write(
dir.join(format!("{id}.md")),
@@ -661,7 +661,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");
std::fs::create_dir_all(&current).unwrap();
std::fs::write(
current.join("20_story_active.md"),
@@ -701,7 +701,7 @@ mod tests {
#[test]
fn tool_get_story_todos_returns_unchecked() {
let tmp = tempfile::tempdir().unwrap();
let current_dir = tmp.path().join(".story_kit").join("work").join("2_current");
let current_dir = tmp.path().join(".storkit").join("work").join("2_current");
fs::create_dir_all(&current_dir).unwrap();
fs::write(
current_dir.join("1_test.md"),
@@ -795,8 +795,8 @@ mod tests {
"create_bug description should reference work/1_backlog/, got: {desc}"
);
assert!(
!desc.contains(".story_kit/bugs"),
"create_bug description should not reference nonexistent .story_kit/bugs/, got: {desc}"
!desc.contains(".storkit/bugs"),
"create_bug description should not reference nonexistent .storkit/bugs/, got: {desc}"
);
let required = t["inputSchema"]["required"].as_array().unwrap();
let req_names: Vec<&str> = required.iter().map(|v| v.as_str().unwrap()).collect();
@@ -821,8 +821,8 @@ mod tests {
"list_bugs description should reference work/1_backlog/, got: {desc}"
);
assert!(
!desc.contains(".story_kit/bugs"),
"list_bugs description should not reference nonexistent .story_kit/bugs/, got: {desc}"
!desc.contains(".storkit/bugs"),
"list_bugs description should not reference nonexistent .storkit/bugs/, got: {desc}"
);
}
@@ -836,8 +836,8 @@ mod tests {
let t = tool.unwrap();
let desc = t["description"].as_str().unwrap();
assert!(
!desc.contains(".story_kit/bugs"),
"close_bug description should not reference nonexistent .story_kit/bugs/, got: {desc}"
!desc.contains(".storkit/bugs"),
"close_bug description should not reference nonexistent .storkit/bugs/, got: {desc}"
);
assert!(
desc.contains("work/5_done/"),
@@ -903,7 +903,7 @@ mod tests {
assert!(result.contains("1_bug_login_crash"));
let bug_file = tmp
.path()
.join(".story_kit/work/1_backlog/1_bug_login_crash.md");
.join(".storkit/work/1_backlog/1_bug_login_crash.md");
assert!(bug_file.exists());
}
@@ -919,7 +919,7 @@ mod tests {
#[test]
fn tool_list_bugs_returns_open_bugs() {
let tmp = tempfile::tempdir().unwrap();
let backlog_dir = tmp.path().join(".story_kit/work/1_backlog");
let backlog_dir = tmp.path().join(".storkit/work/1_backlog");
std::fs::create_dir_all(&backlog_dir).unwrap();
std::fs::write(
backlog_dir.join("1_bug_crash.md"),
@@ -955,7 +955,7 @@ mod tests {
fn tool_close_bug_moves_to_archive() {
let tmp = tempfile::tempdir().unwrap();
setup_git_repo_in(tmp.path());
let backlog_dir = tmp.path().join(".story_kit/work/1_backlog");
let backlog_dir = tmp.path().join(".storkit/work/1_backlog");
std::fs::create_dir_all(&backlog_dir).unwrap();
let bug_file = backlog_dir.join("1_bug_crash.md");
std::fs::write(&bug_file, "# Bug 1: Crash\n").unwrap();
@@ -975,7 +975,7 @@ mod tests {
let result = tool_close_bug(&json!({"bug_id": "1_bug_crash"}), &ctx).unwrap();
assert!(result.contains("1_bug_crash"));
assert!(!bug_file.exists());
assert!(tmp.path().join(".story_kit/work/5_done/1_bug_crash.md").exists());
assert!(tmp.path().join(".storkit/work/5_done/1_bug_crash.md").exists());
}
#[test]
@@ -1026,7 +1026,7 @@ mod tests {
assert!(result.contains("1_spike_compare_encoders"));
let spike_file = tmp
.path()
.join(".story_kit/work/1_backlog/1_spike_compare_encoders.md");
.join(".storkit/work/1_backlog/1_spike_compare_encoders.md");
assert!(spike_file.exists());
let contents = std::fs::read_to_string(&spike_file).unwrap();
assert!(contents.starts_with("---\nname: \"Compare Encoders\"\n---"));
@@ -1041,7 +1041,7 @@ mod tests {
let result = tool_create_spike(&json!({"name": "My Spike"}), &ctx).unwrap();
assert!(result.contains("1_spike_my_spike"));
let spike_file = tmp.path().join(".story_kit/work/1_backlog/1_spike_my_spike.md");
let spike_file = tmp.path().join(".storkit/work/1_backlog/1_spike_my_spike.md");
assert!(spike_file.exists());
let contents = std::fs::read_to_string(&spike_file).unwrap();
assert!(contents.starts_with("---\nname: \"My Spike\"\n---"));
@@ -1087,7 +1087,7 @@ mod tests {
#[test]
fn tool_validate_stories_with_valid_story() {
let tmp = tempfile::tempdir().unwrap();
let current_dir = tmp.path().join(".story_kit").join("work").join("2_current");
let current_dir = tmp.path().join(".storkit").join("work").join("2_current");
fs::create_dir_all(&current_dir).unwrap();
fs::write(
current_dir.join("1_test.md"),
@@ -1104,7 +1104,7 @@ mod tests {
#[test]
fn tool_validate_stories_with_invalid_front_matter() {
let tmp = tempfile::tempdir().unwrap();
let current_dir = tmp.path().join(".story_kit").join("work").join("2_current");
let current_dir = tmp.path().join(".storkit").join("work").join("2_current");
fs::create_dir_all(&current_dir).unwrap();
fs::write(
current_dir.join("1_test.md"),
@@ -1121,7 +1121,7 @@ mod tests {
#[test]
fn record_tests_persists_to_story_file() {
let tmp = tempfile::tempdir().unwrap();
let current = tmp.path().join(".story_kit/work/2_current");
let current = tmp.path().join(".storkit/work/2_current");
fs::create_dir_all(&current).unwrap();
fs::write(current.join("1_story_persist.md"), "---\nname: Persist\n---\n# Story\n").unwrap();
@@ -1145,7 +1145,7 @@ mod tests {
#[test]
fn ensure_acceptance_reads_from_file_when_not_in_memory() {
let tmp = tempfile::tempdir().unwrap();
let current = tmp.path().join(".story_kit/work/2_current");
let current = tmp.path().join(".storkit/work/2_current");
fs::create_dir_all(&current).unwrap();
// Write a story file with a pre-populated Test Results section (simulating a restart)
@@ -1164,7 +1164,7 @@ mod tests {
#[test]
fn ensure_acceptance_file_with_failures_still_blocks() {
let tmp = tempfile::tempdir().unwrap();
let current = tmp.path().join(".story_kit/work/2_current");
let current = tmp.path().join(".storkit/work/2_current");
fs::create_dir_all(&current).unwrap();
let story_content = "---\nname: Fail\n---\n# Story\n\n## Test Results\n\n<!-- story-kit-test-results: {\"unit\":[{\"name\":\"u1\",\"status\":\"fail\",\"details\":\"error\"}],\"integration\":[]} -->\n";
@@ -1197,7 +1197,7 @@ mod tests {
#[tokio::test]
async fn tool_delete_story_deletes_file_from_backlog() {
let tmp = tempfile::tempdir().unwrap();
let backlog = tmp.path().join(".story_kit/work/1_backlog");
let backlog = tmp.path().join(".storkit/work/1_backlog");
fs::create_dir_all(&backlog).unwrap();
let story_file = backlog.join("10_story_cleanup.md");
fs::write(&story_file, "---\nname: Cleanup\n---\n").unwrap();
@@ -1211,7 +1211,7 @@ mod tests {
#[tokio::test]
async fn tool_delete_story_deletes_file_from_current() {
let tmp = tempfile::tempdir().unwrap();
let current = tmp.path().join(".story_kit/work/2_current");
let current = tmp.path().join(".storkit/work/2_current");
fs::create_dir_all(&current).unwrap();
let story_file = current.join("11_story_active.md");
fs::write(&story_file, "---\nname: Active\n---\n").unwrap();
@@ -1271,7 +1271,7 @@ mod tests {
.unwrap();
// Create story file in current/ so move_story_to_archived would work.
let current_dir = tmp.path().join(".story_kit/work/2_current");
let current_dir = tmp.path().join(".storkit/work/2_current");
std::fs::create_dir_all(&current_dir).unwrap();
std::fs::write(
current_dir.join("50_story_test.md"),
@@ -1297,7 +1297,7 @@ mod tests {
setup_git_repo_in(tmp.path());
// Create story file in current/ (no feature branch).
let current_dir = tmp.path().join(".story_kit/work/2_current");
let current_dir = tmp.path().join(".storkit/work/2_current");
std::fs::create_dir_all(&current_dir).unwrap();
std::fs::write(
current_dir.join("51_story_no_branch.md"),
@@ -1333,7 +1333,7 @@ mod tests {
fn tool_check_criterion_marks_unchecked_item() {
let tmp = tempfile::tempdir().unwrap();
setup_git_repo_in(tmp.path());
let current_dir = tmp.path().join(".story_kit").join("work").join("2_current");
let current_dir = tmp.path().join(".storkit").join("work").join("2_current");
fs::create_dir_all(&current_dir).unwrap();
fs::write(
current_dir.join("1_test.md"),