Table of Contents

How to Accept and Merge a Feature

Use this guide to validate feature readiness and merge to the mission's target branch.

Prerequisites

  • All WPs are in lane: "done"
  • You are in a checkout where the feature can be resolved (repository root checkout or execution workspace)

Accept the Feature

In your agent:

/spec-kitty.accept

Or in your terminal:

spec-kitty accept

What Accept Checks

  • All WPs are in done
  • Required metadata and activity logs are present
  • No unresolved [NEEDS CLARIFICATION] markers remain

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

spec-kitty accept --mode checklist

Merge to the Target Branch

In your agent:

/spec-kitty.merge --push

Or in your terminal:

spec-kitty merge --push

By default, spec-kitty merge lands in the mission's recorded target branch. Use spec-kitty merge --target <branch> only when you intentionally need to override that destination.

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

Merge Strategies

  • Default (merge commit): spec-kitty merge
  • Squash: spec-kitty merge --strategy squash

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

Cleanup

By default, merge removes resolved execution worktrees 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 execution 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
  1. Remove each execution worktree for the feature:
git worktree remove .worktrees/<feature>-lane-a
git worktree remove .worktrees/<feature>-lane-b

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

git worktree remove --force .worktrees/<feature>-lane-a
  1. Delete the feature branches:
git branch -D <feature>-lane-a
git branch -D <feature>-lane-b
  1. Remove the planning artifacts from the repository root checkout (spec/plan/tasks), then commit:
rm -rf kitty-specs/<feature>
git add kitty-specs/
git commit -m "Remove abandoned feature <feature>"

Troubleshooting

  • Accept reports blockers: Resolve the listed issues, then rerun /spec-kitty.accept.
  • Merge fails: Ensure your current checkout is clean and the feature resolves correctly.
  • Merge is heading to the wrong branch: Inspect the mission's recorded target branch before retrying, and use spec-kitty merge --target <branch> only if you intend to override it.

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


Command Reference

See Also

Background

Getting Started