|
| 1 | +# Adopting PyAutoScientist |
| 2 | + |
| 3 | +The adoption model is a **config-diff fork**: one upstream (the live |
| 4 | +organs), N private organisms downstream. You fork the framework organs, |
| 5 | +confine your diff to the declared config surfaces, and `git pull` upstream |
| 6 | +improvements cleanly forever after. There is deliberately no shared |
| 7 | +deployment, no "generic edition", and no stability promise on `main` — see |
| 8 | +{ref}`the disclaimer <stability>` below. |
| 9 | + |
| 10 | +## Prerequisites — what PyAutoScientist *is* |
| 11 | + |
| 12 | +These are the product, not incidental choices. If they don't fit how you |
| 13 | +work, this system is not for you (and that's fine): |
| 14 | + |
| 15 | +- **Claude Code** as the agent harness — the Brain's skills and verb |
| 16 | + commands install into `~/.claude` and are written for it. |
| 17 | +- **The GitHub CLI (`gh`)** and GitHub-hosted repos — issues, PRs and CI |
| 18 | + state are read and written through it. |
| 19 | +- **A trunk-based, single-maintainer flow** with task worktrees under a |
| 20 | + common workspace root (`~/Code/<YourLabs>/` + `<YourLabs>-wt/`). |
| 21 | +- **GitHub Actions + PyPI** for the release pipeline, if you release |
| 22 | + packages. |
| 23 | + |
| 24 | +## The walkthrough |
| 25 | + |
| 26 | +1. **Fork Brain, Heart, Hands** (keep the repo names — they are framework |
| 27 | + identity). |
| 28 | +2. **Create your Mind** with the documented shape |
| 29 | + ([PyAutoMind/REFERENCE.md](https://github.com/PyAutoLabs/PyAutoMind/blob/main/REFERENCE.md)): |
| 30 | + the registry files, the work-type prompt folders, a copy of `scripts/`, |
| 31 | + and — the load-bearing part — **your own `repos.yaml` body map** listing |
| 32 | + your libraries, workspaces and their categories per the |
| 33 | + {doc}`category contract <../satellites>`. |
| 34 | +3. **Replace the config surfaces** in your forks with rows for your repos — |
| 35 | + the complete inventory with file paths is {doc}`config_surfaces`. The |
| 36 | + big three: Heart's `config/repos.yaml` (what to poll and gate), the |
| 37 | + Hands' `run_workspace` table in `pre_build.sh` (what the pipeline runs), |
| 38 | + and the Brain's constant tables (sizing sets, routing keywords, the |
| 39 | + release library tuple). |
| 40 | +4. **Regenerate and check.** `python3 <YourMind>/scripts/repos_sync.py |
| 41 | + --write` stamps the generated doc blocks from your body map; `--check` |
| 42 | + verifies every mirror agrees — including the tenant firewall, which |
| 43 | + fails if an upstream instance fact survives anywhere outside the |
| 44 | + declared surfaces you just replaced. |
| 45 | +5. **Install the command surface**: `bash <YourBrain>/bin/install.sh` |
| 46 | + symlinks every organ's skills into `~/.claude`. |
| 47 | +6. **Create your Memory when you need it** — the shape is documented in |
| 48 | + {doc}`the Memory page <../organs/memory>`; the organism runs fine |
| 49 | + without one until your domain knowledge accumulates. |
| 50 | +7. **Go.** Write your first prompt in your Mind and run `/start_dev` on it. |
| 51 | + |
| 52 | +## Staying current |
| 53 | + |
| 54 | +Because your diff is confined to config surfaces, `git pull upstream main` |
| 55 | +in each framework organ stays clean: you take every improvement the |
| 56 | +upstream ships, and your instance facts never collide with it. The tenant |
| 57 | +firewall is what keeps this true over time — upstream runs it in `--check`, |
| 58 | +so new upstream code cannot silently hardcode an instance fact that would |
| 59 | +land in your fork. |
| 60 | + |
| 61 | +(stability)= |
| 62 | +## The stability disclaimer |
| 63 | + |
| 64 | +The upstream organs are a **living reference implementation** — the |
| 65 | +maintainer's daily working system, moving fast (hundreds of commits a |
| 66 | +quarter), with no compatibility promises on `main`. Fork-and-pull at your |
| 67 | +own pace; pin what you depend on; expect churn. Issues and PRs are welcome, |
| 68 | +but the pace is set by the live instance's needs. Each organ carries this |
| 69 | +disclaimer in its `CONTRIBUTING.md`. |
0 commit comments