From saga-core
Initializes .saga/ directory for SAGA epic/story workflow: creates epics/stories/archive/worktrees subdirs, adds .saga/worktrees/ to .gitignore.
npx claudepluginhub roeia1/saga --plugin coreThis skill is limited to using the following tools:
Initialize the `.saga/` directory structure for epic/story workflow management.
Scaffolds AgenticDev directory structure (docs/specs, docs/changes) via bash script for spec-driven development workflow. Use when starting new projects or adding to existing ones without docs.
Initializes new projects: sets up git, detects brownfield code (JS/TS/Python/Go/Rust/Swift/Java), offers codebase mapping, creates PROJECT.md, config.json, intel scaffolding.
Share bugs, ideas, or general feedback.
Initialize the .saga/ directory structure for epic/story workflow management.
| Subject | Description | Active Form | Blocked By | Blocks |
|---|---|---|---|---|
| Check existing .saga | Check if .saga/ already exists using ls .saga/ 2>/dev/null. If it exists, report to user: "SAGA is already initialized in this project. The .saga/ directory exists with:" followed by listing contents. Then stop - do not reinitialize. If it doesn't exist, proceed to create structure. | Checking existing structure | - | Create directory structure |
| Create directory structure | Create the SAGA directory structure using Bash: mkdir -p .saga/epics .saga/stories .saga/archive .saga/worktrees. This creates: (1) .saga/epics/ - for epic definition files, (2) .saga/stories/ - for story data folders (JSON), (3) .saga/archive/ - for completed/archived stories, (4) .saga/worktrees/ - for git worktree isolation during story execution. | Creating directories | Check existing .saga | Update gitignore |
| Update gitignore | Check if .gitignore exists and if it already contains .saga/worktrees/. Use grep -q '.saga/worktrees/' .gitignore 2>/dev/null to check. If pattern NOT found: append the worktrees pattern to .gitignore using Edit tool. Add a newline, then the comment # SAGA worktrees (git worktree isolation for stories), then .saga/worktrees/ on the next line. If .gitignore doesn't exist, create it with just the comment and pattern. If pattern already exists, skip this step. | Updating .gitignore | Create directory structure | Report completion |
| Report completion | Report success to the user with the following message: "SAGA initialized successfully!" followed by "Created directory structure:" with bullet points for .saga/epics/ (epic definitions), .saga/stories/ (story data folders, JSON), .saga/archive/ (completed stories), .saga/worktrees/ (worktree isolation, gitignored). Then show "Next steps:" section with: (1) Plan your work: /plan <goal>, (2) Execute a story: /execute-story <story>. | Reporting completion | Update gitignore | - |
After initialization, tell the user:
SAGA initialized successfully!
Created directory structure:
.saga/epics/ - Epic definition files.saga/stories/ - Story data folders (JSON).saga/archive/ - Completed/archived stories.saga/worktrees/ - Git worktree isolation (gitignored)Next steps:
/plan <goal> to collaboratively plan and create stories/execute-story <story> to start autonomous story execution/init command is idempotent - running it again on an initialized project will simply report the existing structure.saga/worktrees/ directory is gitignored because worktrees contain full repo checkouts for story isolation.saga/ and is committed to the repository (except worktrees).saga/stories/ directory stores story data as JSON files and is tracked in git