docs: fix overlay location description in CLAUDE.md
The overlay lives on dev (canonical) and local, not master. Master is now a pure mirror of upstream. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -7,16 +7,16 @@ Fork repo: https://github.com/farhoodlabs/paperclip
|
||||
|
||||
| Branch | Purpose |
|
||||
|---|---|
|
||||
| `master` | Mirrors `upstream/master` exactly + `.farhoodlabs/` overlay directory + `assemble-local.yml` action. Never commit application code here. |
|
||||
| `local` | **Default branch.** Assembled automatically by `assemble-local.yml` on every `master` push. Contains: upstream + fork Dockerfile/workflows + all pending upstream PR cherry-picks. Builds `ghcr.io/farhoodlabs/paperclip`. |
|
||||
| `dev` | Development branch based on upstream/master. Builds `ghcr.io/farhoodlabs/paperclip-dev` on every push. |
|
||||
| `master` | Pure mirror of `upstream/master`. No fork-specific files in the tree. Sync via `git push origin upstream/master:master --force-with-lease`. |
|
||||
| `local` | **Default branch.** Assembled automatically by `assemble-local.yml` (defined on `dev`) on every `master` push. Contains: upstream + fork Dockerfile/workflows + all pending upstream PR cherry-picks. Builds `ghcr.io/farhoodlabs/paperclip`. |
|
||||
| `dev` | Development branch and canonical home of the `.farhoodlabs/` overlay and the `assemble-local.yml` action. Based on upstream/master. Builds `ghcr.io/farhoodlabs/paperclip-dev` on every push. |
|
||||
| PR branches | `skill-pat-feature`, `skill-scan-refresh`, `feat/company-portability-complete` — open PRs to upstream, never rebase onto master/local. |
|
||||
|
||||
**Never commit directly to `local`** — it is fully regenerated by the assemble action and any direct commits will be overwritten.
|
||||
|
||||
## Fork Overlay (`.farhoodlabs/`)
|
||||
|
||||
Files committed to `master` that get copied into position on `local` by the assemble action:
|
||||
Files committed to `.farhoodlabs/` on `dev` (the canonical source) that get copied into position on `local` by the assemble action:
|
||||
|
||||
```
|
||||
.farhoodlabs/
|
||||
@@ -28,7 +28,7 @@ Files committed to `master` that get copied into position on `local` by the asse
|
||||
|
||||
The fork's Dockerfile production stage additions over upstream: `kubectl`, `kubeseal`, `uv`/`uvx`, `forgejo-cli` (`fj`, `fj-ex`, `fgj`), `nano`, `vim`.
|
||||
|
||||
To modify fork-specific files, edit them in `.farhoodlabs/` on `master` and push — the assemble action will apply them to `local` automatically.
|
||||
To modify fork-specific files, edit them in `.farhoodlabs/` on `dev` and push. The assemble action will apply them to `local` on the next `master` push (or trigger it manually via `workflow_dispatch`).
|
||||
|
||||
## Pending Upstream PRs (included in `local`)
|
||||
|
||||
@@ -50,13 +50,13 @@ git push origin upstream/master:master --force-with-lease
|
||||
```
|
||||
|
||||
### Add a new pending PR to local
|
||||
Edit `.github/workflows/assemble-local.yml` on `master`:
|
||||
Edit `.github/workflows/assemble-local.yml` on `dev`:
|
||||
- Simple PR (clean commits, no merge commits): add to `PR_CHERRY_PICK`
|
||||
- Complex PR (has merge commits mixed in): add to `PR_SQUASH`
|
||||
- If the branch was rebased onto another PR branch: use `exclude:base-branch`
|
||||
|
||||
### Remove a PR after upstream merges it
|
||||
Delete its entry from `PR_CHERRY_PICK` or `PR_SQUASH` in `assemble-local.yml` on `master`.
|
||||
Delete its entry from `PR_CHERRY_PICK` or `PR_SQUASH` in `assemble-local.yml` on `dev`.
|
||||
|
||||
### Submit a new PR to upstream
|
||||
Branch from `upstream/master` (not from `local` or `master`):
|
||||
@@ -66,7 +66,7 @@ git checkout -b feat/my-feature upstream/master
|
||||
```
|
||||
|
||||
### Modify the fork Dockerfile
|
||||
Edit `.farhoodlabs/Dockerfile` on `master`. Only modify the production stage — keep base/deps/build stages identical to upstream so diffs are minimal and upstream changes apply cleanly.
|
||||
Edit `.farhoodlabs/Dockerfile` on `dev`. Only modify the production stage — keep base/deps/build stages identical to upstream so diffs are minimal and upstream changes apply cleanly.
|
||||
|
||||
## Deployment
|
||||
|
||||
@@ -75,5 +75,5 @@ Paperclip runs in Kubernetes, not locally. Use `kubectl` to access it. The produ
|
||||
## Key Files
|
||||
|
||||
- `.github/workflows/assemble-local.yml` — assembles `local` branch; edit this to manage pending PRs
|
||||
- `.farhoodlabs/` — fork overlay; all fork-specific files live here on `master`
|
||||
- `.farhoodlabs/` — fork overlay; all fork-specific files live here on `dev` (canonical) and are also kept in sync on `local`
|
||||
- `server/package.json` — has an adapter-utils workspace vs canary hack that needs fixing eventually
|
||||
|
||||
Reference in New Issue
Block a user