Update README.md
This commit is contained in:
parent
85dfdc5c08
commit
90e1725313
1 changed files with 3 additions and 34 deletions
37
README.md
37
README.md
|
|
@ -23,8 +23,6 @@ flatpak install catcrafts net.catcrafts.CrafterReview
|
|||
alias crafter-review='flatpak run net.catcrafts.CrafterReview'
|
||||
```
|
||||
|
||||
Every push to `master` is a release, published as `stable`. The alias is for people: the `/prepush` skill spells every command as `flatpak run net.catcrafts.CrafterReview …`, because Claude's Bash tool sees no aliases.
|
||||
|
||||
What the machine provides:
|
||||
|
||||
- **The Claude Code CLI.** It is proprietary and not bundled. crafter-review looks for it in this order: `CLAUDE_BIN` or `REVIEW_GATES_CLAUDE_BIN`, the PATH, the editor extensions' bundled binary (newest first), then `~/.claude/local` and `~/.local/bin`. It runs inside the sandbox, so every pass is measured and every pass's process tree can be killed.
|
||||
|
|
@ -61,15 +59,6 @@ It writes nothing in a subdirectory, in your home directory or over a `SKILL.md`
|
|||
|
||||
`crafter-review doc config` prints the template; `crafter-review doc prepush` prints the procedure, `process/prepush.md`.
|
||||
|
||||
### Moving a repository off the review-gates submodule
|
||||
|
||||
1. Re-freeze every review in flight with crafter-review. The Flatpak's git may be another version than the one that froze it, and a different git version gives a different hash. The old `run-line.txt` also points into the submodule.
|
||||
2. `git submodule deinit -f review-gates && git rm review-gates`
|
||||
3. `crafter-review init`. If `.claude/skills/prepush` is the old link into `review-gates/`, it removes the link, never writing through it, and makes a real directory with the skill.
|
||||
4. If a copy of the skill that an earlier `init` wrote is tracked, `git rm --cached .claude/skills/prepush/SKILL.md` (init says so when it sees one): the skill is generated, and the `.gitignore` init writes beside it keeps it out of git from then on.
|
||||
|
||||
An existing `config.json` needs one change since 2026-11-01: `lenses.<name>.run` is retired, so list the lenses in `modes.commits.lenses` (`config` names what is missing, and `freeze`, `run` and `slots` refuse until it is there). The reuse keys keep working: a range reviewed before the move is reused, not bought again.
|
||||
|
||||
## Running a review
|
||||
|
||||
```bash
|
||||
|
|
@ -107,32 +96,12 @@ To stop a run, run `crafter-review stop <its scratch dir>`, or `crafter-review s
|
|||
| `init`, `doc`, `browser install`, `stop` | the setup, the shipped texts, the Chromium, a stop |
|
||||
| `sql`, `totp`, `inventory` | the helpers a lens runs, and the partition of an export, a series or a reply |
|
||||
|
||||
## Inside the Flatpak
|
||||
|
||||
The sandbox gets the network, the whole host filesystem (`--filesystem=host`), the host's `/tmp` and gnupg's keyboxd socket. `--filesystem=host` is a convenience for a developer tool, **not an isolation boundary**: a lens's tool allowlist is what keeps a pass to its job, as it was outside the Flatpak.
|
||||
|
||||
The driver hands its children the host's XDG directories. git then reads `~/.config/git/config`, Playwright finds `~/.cache/ms-playwright`, and claude and npx behave as on the host. A pass's shell is bash. A few things do differ from a native run:
|
||||
- a lens reading `/usr` sees the Sdk's; the host's is at `/run/host/usr`, which the commit-range lenses' common text (`_common-repo.md`) tells them;
|
||||
- git hooks run with the Sdk's tools;
|
||||
- `FLATPAK_ID` reaches every child;
|
||||
- a runtime update can change git between `freeze` and `--verify`, which the MISMATCH message then names.
|
||||
|
||||
**Several drivers on one machine.** Every driver registers its passes on one board, `~/.cache/review-gates/seat-board.json`, and holds a lifetime lock beside it while it runs. A driver in the Flatpak publishes the host pid of its sandbox, so a driver outside it sees it alive exactly as long as it runs and sweeps it the moment it is gone.
|
||||
|
||||
## Building from source
|
||||
|
||||
```bash
|
||||
crafter-build --local test # the suite; --local takes ../Crafter.Network instead of the pinned commit
|
||||
crafter-build --local lint
|
||||
crafter-build run flatpak # the Flatpak on the stable Crafter.Build base (flatpak-builder or org.flatpak.Builder)
|
||||
crafter-build run install # install that build as net.catcrafts.CrafterReview//local
|
||||
```
|
||||
|
||||
`run flatpak --base=<branch>` builds on another branch of the base app, and `--deps=local` takes Crafter.Network and Crafter.Thread from the checkouts next to this one, for commits not yet on forgejo. `AGENTS.md` is the guide for changing the pipeline.
|
||||
|
||||
## License
|
||||
|
||||
crafter-review is licensed under the GNU Affero General Public License v3.0 only (`LICENSE`). It vendors [nlohmann/json](https://github.com/nlohmann/json) 3.12.0 (`lib/json.hpp`, MIT License, © 2013-2025 Niels Lohmann).
|
||||
crafter-review is licensed under the GNU Affero General Public License v3.0 only (`LICENSE`).
|
||||
|
||||
Vendored files in the lib directory maintain their own license.
|
||||
|
||||
## Copyright
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue