diff --git a/.claude/memory/fork-and-upstream.md b/.claude/memory/fork-and-upstream.md index b6d2b729ac..76a3a52fc0 100644 --- a/.claude/memory/fork-and-upstream.md +++ b/.claude/memory/fork-and-upstream.md @@ -25,8 +25,18 @@ official Spec-Kit). The fork relationship keeps biting agents who forget it: - Same `-R markmals/spec-kit` caveat for **any** cross-fork `gh` op (`gh pr list`, `gh issue`, `gh api`) — without it you read/write the upstream by accident. -- The git remote is `markmals/spec-kit`, but GitHub redirects the older name - `markmals/speckit`, so `gh`/PR URLs may show either spelling — same repo. - -PRs here are **fork-internal** (`markmals/spec-kit` `main` <- branch); we do not +- **Canonical name is `markmals/speckit`; `markmals/spec-kit` is an OLDER name that + GitHub rename-redirects to it** — ONE repo (not two), so both spellings resolve in + `gh` and `git`. Proof: `git push` to the `spec-kit` URL prints "repository moved → + speckit.git"; `gh api repos/markmals/spec-kit` returns `full_name: markmals/speckit`; + a PR opened with `-R markmals/spec-kit` lands at `markmals/speckit#N`. (Earlier this + note had the direction backwards — `speckit` is the new/current name, not the old one.) + Prefer `markmals/speckit` in new commands; `spec-kit` keeps working via the redirect. + +- **Releases all target the canonical `speckit`.** goreleaser's `release.github.name: + speckit`, the `release.yml` Homebrew-tap dispatch, and the Mise plugin's download URL + all point at `markmals/speckit` — consistent with the canonical name, so a `v*` tag + pushed from this clone publishes to the right place with the repo-scoped `GITHUB_TOKEN`. + +PRs here are **fork-internal** (`markmals/speckit` `main` <- branch); we do not PR up to `github/spec-kit`.