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

@@ -25,10 +25,10 @@ pub struct WorktreeListEntry {
pub path: PathBuf,
}
/// Worktree path inside the project: `{project_root}/.story_kit/worktrees/{story_id}`.
/// Worktree path inside the project: `{project_root}/.storkit/worktrees/{story_id}`.
pub fn worktree_path(project_root: &Path, story_id: &str) -> PathBuf {
project_root
.join(".story_kit")
.join(".storkit")
.join("worktrees")
.join(story_id)
}
@@ -56,7 +56,7 @@ fn detect_base_branch(project_root: &Path) -> String {
/// Create a git worktree for the given story.
///
/// - Creates the worktree at `{project_root}/.story_kit/worktrees/{story_id}`
/// - Creates the worktree at `{project_root}/.storkit/worktrees/{story_id}`
/// on branch `feature/story-{story_id}`.
/// - Writes `.mcp.json` in the worktree pointing to the MCP server at `port`.
/// - Runs setup commands from the config for each component.
@@ -149,14 +149,14 @@ fn create_worktree_sync(
}
// Enable sparse checkout to exclude pipeline files from the worktree.
// This prevents .story_kit/work/ changes from ending up in feature branches,
// This prevents .storkit/work/ changes from ending up in feature branches,
// which cause rename/delete merge conflicts when merging back to master.
configure_sparse_checkout(wt_path)?;
Ok(())
}
/// Placeholder for worktree isolation of `.story_kit/work/`.
/// Placeholder for worktree isolation of `.storkit/work/`.
///
/// Previous approaches (sparse checkout, skip-worktree) all leaked state
/// from worktrees back to the main checkout's config/index. For now this
@@ -218,11 +218,11 @@ pub async fn remove_worktree_by_story_id(
remove_worktree(project_root, &info, config).await
}
/// List all worktrees under `{project_root}/.story_kit/worktrees/`.
/// List all worktrees under `{project_root}/.storkit/worktrees/`.
/// Find the worktree path for a given story ID, if it exists.
pub fn find_worktree_path(project_root: &Path, story_id: &str) -> Option<PathBuf> {
let wt_path = project_root
.join(".story_kit")
.join(".storkit")
.join("worktrees")
.join(story_id);
if wt_path.is_dir() {
@@ -233,7 +233,7 @@ pub fn find_worktree_path(project_root: &Path, story_id: &str) -> Option<PathBuf
}
pub fn list_worktrees(project_root: &Path) -> Result<Vec<WorktreeListEntry>, String> {
let worktrees_dir = project_root.join(".story_kit").join("worktrees");
let worktrees_dir = project_root.join(".storkit").join("worktrees");
if !worktrees_dir.exists() {
return Ok(Vec::new());
}
@@ -375,7 +375,7 @@ mod tests {
let path = worktree_path(project_root, "42_my_story");
assert_eq!(
path,
Path::new("/home/user/my-project/.story_kit/worktrees/42_my_story")
Path::new("/home/user/my-project/.storkit/worktrees/42_my_story")
);
}
@@ -389,7 +389,7 @@ mod tests {
#[test]
fn list_worktrees_returns_subdirs() {
let tmp = TempDir::new().unwrap();
let worktrees_dir = tmp.path().join(".story_kit").join("worktrees");
let worktrees_dir = tmp.path().join(".storkit").join("worktrees");
fs::create_dir_all(worktrees_dir.join("42_story_a")).unwrap();
fs::create_dir_all(worktrees_dir.join("43_story_b")).unwrap();
// A file (not dir) — should be ignored
@@ -438,8 +438,8 @@ mod tests {
fs::create_dir_all(&project_root).unwrap();
init_git_repo(&project_root);
// Create a tracked file under .story_kit/work/ on the initial branch
let work_dir = project_root.join(".story_kit").join("work");
// Create a tracked file under .storkit/work/ on the initial branch
let work_dir = project_root.join(".storkit").join("work");
fs::create_dir_all(&work_dir).unwrap();
fs::write(work_dir.join("test_story.md"), "# Test").unwrap();
Command::new("git")
@@ -457,14 +457,14 @@ mod tests {
let branch = "feature/test-sparse";
create_worktree_sync(&project_root, &wt_path, branch).unwrap();
// Worktree should have all files including .story_kit/work/
assert!(wt_path.join(".story_kit").join("work").exists());
// Worktree should have all files including .storkit/work/
assert!(wt_path.join(".storkit").join("work").exists());
assert!(wt_path.join(".git").exists());
// Main checkout must NOT be affected by worktree creation.
assert!(
work_dir.exists(),
".story_kit/work/ must still exist in the main checkout"
".storkit/work/ must still exist in the main checkout"
);
}
@@ -656,7 +656,7 @@ mod tests {
init_git_repo(&project_root);
let wt_path = project_root
.join(".story_kit")
.join(".storkit")
.join("worktrees")
.join("test_rm");
create_worktree_sync(&project_root, &wt_path, "feature/test-rm").unwrap();