# GitFlow — Shared Reference

## ⛔ No `ss gitflow` command — never install to find one

There is NO `ss gitflow` subcommand. Every gitflow action runs the colocated
CLI directly: `npx --prefer-offline tsx skills/gitflow/cli/<cmd>/index.ts --spec '<JSON>' --json`
(see the SKILL.md routing table for the specs). If a doc mentions
`ss gitflow <cmd>`, translate it to that CLI invocation. NEVER install or
update any smartstack package (`npm install`, `npm i -g`, `npx smartstack*`,
`ss install`, `ss init`, `ss upgrade`) to make an `ss gitflow` command exist —
gitflow only touches git infra, it installs nothing.

## Config Schema (v2.1.0)

The config lives at `<repo-root>/.gitflow/config.json` (shared by all
worktrees; the legacy `.claude/gitflow/config.json` is auto-migrated) and is
written by `/gitflow init` (CLI `skills/gitflow/cli/init/`).

Key fields:
- `repository.name` — Project name
- `repository.remoteUrl` — Git remote URL
- `git.provider` — `github` or `azuredevops`
- `git.branches.main` / `.develop` — Main branch names
- `git.prefixes.feature` / `.release` / `.hotfix` — Branch prefixes
- `worktrees.mode` — `organized` (01-Main, 02-Develop), `simple`, or `disabled`
- `worktrees.structure.*` — Absolute paths to worktree directories
- `versioning.current` — Current SemVer version

## Conventions

- **Feature** branches from `develop`, merge back via squash
- **Release** branches from `develop`, **Hotfix** from `main` — both merge to `main` via merge commit (--no-ff), then merge-back to develop
- Version bumps: feature=none, release=minor, hotfix=patch
- Tags: `v{VERSION}` on main after release/hotfix merge
- Worktree paths: `features/{name}`, `releases/{version}`, `hotfixes/{name}`
- Only `01-Main` and `02-Develop` may use numbered prefixes
