the code is ours now. ios/ is no longer framed as a tracking branch: there is no routine merge, no expectation that our tree resembles upstream's, and no reason to shape a change around a future merge. upstream stays pinned. .upstream-sync.json keeps recording the last commit folded in, so an on-request sync has somewhere to diff from — it gains mode: "hard-fork" to say what it is and is not. syncs happen when asked, and cherry-picking the wanted commits is now the default advice over a wholesale merge, since the trees have diverged by design. sync-upstream.sh no longer reports being "behind upstream" as though it were a defect, and apply-rebrand.sh is documented as what it now is: a no-op on a normal day, load-bearing right after a sync. the FEATHER_* xcconfig variables stay upstream-equal. renaming them is a defensible hard-fork cleanup, but they are referenced from both pbxproj files and both dev-repo workflows, and nothing here can verify a build — noted as an ask-first change instead. this changes the workflow, not the licence. every gpl-3.0 attribution to feather stays: the credits in AboutView, the app-repo news entry, the readme acknowledgements, the copyright headers.
1.1 KiB
FTStore — project guide for Claude
See AGENTS.md for the full project guide — it is the single, canonical source of truth for working in this repo: the monorepo layout, brand constants, the commit workflow, upstream tracking, the scripted rebrand, GPL-3.0 obligations, and validation steps all live there. Read it before making changes.
Shortest possible orientation: ios/ is the Swift app — a hard fork of
Feather, meaning it is our codebase and is not merged from upstream on any
routine (upstream stays pinned in .upstream-sync.json and is synced only when
the user asks). web/ is FTStore Admin (the Next.js dashboard at /admin plus
the feed server, ours alone), manager/ is FTStore Manager (a fork of ios/,
not of Feather, that installs and updates the app on-device).
scripts/apply-rebrand.sh acts on ios/ only and must never touch web/ or
manager/.
Both
CLAUDE.mdandAGENTS.mdare excluded fromscripts/apply-rebrand.sh, so they intentionally mention both "Feather" (upstream) and "FTStore" without being mangled.