spec-kitty

How to Accept and Merge a Feature

Use this guide to validate feature readiness and merge to main.

Prerequisites

Accept the Feature

In your agent:

/spec-kitty.accept

Or in your terminal:

spec-kitty accept

What Accept Checks

To run a read-only checklist (in your terminal):

spec-kitty accept --mode checklist

Merge to Main

In your agent:

/spec-kitty.merge --push

Or in your terminal:

spec-kitty merge --push

For detailed merge options including dry-run, strategies, and cleanup flags, see Merge a Feature.

Merge Strategies

Note: Rebase is not supported for workspace-per-WP features. Use merge or squash instead.

Cleanup

By default, merge removes the feature worktree and deletes the feature branch. Use these flags to keep them (in your terminal):

spec-kitty merge --keep-worktree --keep-branch

Abandon a Feature (Manual Cleanup)

If you decide to drop a feature without merging, remove its worktrees and branches manually. These steps are safe and reversible until you delete the branch and commit the cleanup.

  1. List worktrees to find all workspaces for the feature:
    git worktree list
    
  2. Remove each feature worktree:
    git worktree remove .worktrees/<feature>-WP01
    git worktree remove .worktrees/<feature>-WP02
    

If a worktree has uncommitted changes you want to discard, use --force:

git worktree remove --force .worktrees/<feature>-WP01
  1. Delete the feature branches:
    git branch -D <feature>-WP01
    git branch -D <feature>-WP02
    
  2. Remove the planning artifacts from main (spec/plan/tasks), then commit:
    rm -rf kitty-specs/<feature>
    git add kitty-specs/
    git commit -m "Remove abandoned feature <feature>"
    

Troubleshooting

For detailed troubleshooting including pre-flight failures, conflict resolution, and merge recovery, see Troubleshoot Merge Issues.


Command Reference

See Also

Background

Getting Started