feature start

Create a new feature. This command creates both the public branch and its @local shadow counterpart, then switches you to the shadow branch to start working.

Usage

git shadow feature start <branch-name>

Example

git shadow feature start feature/user-login

This creates:

feature/user-login         โ† public branch (collaboration layer)
feature/user-login@local   โ† shadow branch (thinking layer)

Then switches your working directory to feature/user-login@local.

What it does

  1. Creates the public branch from your configured base branch (default: main)
  2. Creates the @local shadow branch from the local base branch (e.g. main@local)
  3. Switches to the @local branch so you can start working immediately

If the local base branch (e.g. main@local) does not exist, git shadow falls back to using the public base branch as the starting point and informs you.

After running this command

You are on feature/user-login@local. Work normally โ€” write code, add /// comments, create architecture notes, include AI memory files. None of this will reach the public branch until you explicitly publish.

# Work on your @local branch
# ... edit files, add /// comments ...

# When ready to publish
git shadow feature publish --commit -m "feat(auth): user login"