Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 13 additions & 13 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,15 +85,15 @@ to confirm on`. Give the human the same command for THEIR OWN terminal, where
it asks them, the one-liner too: setup reads the answer from that terminal and
never from the pipe. Never pass `--yes` yourself.

If it refuses, read the refusal: each one names what to run instead, or, for
some, the VALUE to change. Two you can foresee from your flags, both before
anything is created: `scaffold-leg-path-collides` (a `--spec-path` or
`--code-path` that is, holds or lies inside a FILE the shape writes into the
assembly root: `project.yaml` is one, and `contracts` holds
`contracts/spec-pin.yaml`; the defaults `spec` and `code` pass) and
`scaffold-pin-collides` (a `--pin` the shape cannot write, below). Both go
after `--`. Relay the refusal and ask the human for the value; never choose
another yourself. Do not retry with `--force`; there is none, deliberately.
If it refuses, read the refusal: each one names what to run instead, or, for some, the
VALUE to change. Three you can foresee, all before anything is created:
`scaffold-leg-path-collides` (a `--spec-path` or `--code-path` that is, holds or lies
inside a FILE the shape writes into the assembly root: `project.yaml` is one, and
`contracts` holds `contracts/spec-pin.yaml`; the defaults `spec` and `code` pass) and
`scaffold-pin-collides` (a `--pin` the shape cannot write, below), both after `--`;
and anything already at `<into>/<Project>`, a rehearsal's clone included. Relay the
refusal and ask the human for the value, or to move or delete what is there; never do
either yourself. Do not retry with `--force`; there is none, deliberately.

## 3. It finishes the job

Expand All @@ -107,10 +107,10 @@ copied and digest-pinned — and you read that before touching the project.

## If setup.sh cannot be used

The same steps by hand, in order: `validate-repository-naming.py --explain` on
the three names, `scaffold-project.py --dry-run`, an explicit human yes,
`scaffold-project.py` for real, then `git clone --recurse-submodules` and
`python3 scripts/bootstrap.py`. README's "What setup.sh does" carries the exact commands.
The same steps by hand, in order: a free clone path, `validate-repository-naming.py
--explain` on the three names, `scaffold-project.py --dry-run`, an explicit human yes,
`scaffold-project.py` for real, then `git clone --recurse-submodules` and `python3
scripts/bootstrap.py`. README's "What setup.sh does" carries the exact commands.

## Adopting an existing repository

Expand Down
20 changes: 10 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -303,14 +303,14 @@ checkout instead and nothing touches the network at all. On Windows the same
flag goes on the Python entry point — `py setup-project.py Atlas --org
<your-org> --local-remote-dir .\rehearsal` — which, run from a download, still
clones the standard into a temporary directory first, and from a checkout clones
nothing. What it leaves behind is `./Atlas`, three bare repositories in
`./rehearsal` and the scaffold's three working trees, in the temporary directory
its `Working trees are at` line names, all of which you can delete. `python3
setup-project.py --help` and, from a checkout, `setup.sh --help` list every
flag, this one included. From a download, `setup.sh --help` clones nothing and
lists none: it names `setup-project.py --help`, which answers offline from that
one file too, and [`docs/cli.md`](docs/cli.md), every tool's help and every
subcommand's in one file, generated from the tools themselves.
nothing. It leaves `./Atlas`, three bare repositories in `./rehearsal` and the
scaffold's three working trees, in the temporary directory its `Working trees are
at` line names, all deletable; a real run here refuses up front while `./Atlas`
is there. `python3 setup-project.py --help` and, from a checkout, `setup.sh
--help` list every flag, this one included. From a download, `setup.sh --help`
clones nothing and lists none: it names `setup-project.py --help`, which answers
offline from that one file too, and [`docs/cli.md`](docs/cli.md), every tool's
help and every subcommand's in one file, generated from the tools themselves.

Without installing anything — no fork, no manual clone — one command:

Expand Down Expand Up @@ -521,8 +521,8 @@ confers nothing and stays neutral.
`setup.sh` is a shim that finds a Python 3.9 or newer, clones this standard into a
temporary directory when you are not already in a checkout of it, and hands over to
`setup-project.py`, which IS the flow. These are the commands that flow runs, in
order, with no behaviour of its own (the first only in self-bootstrap mode, from the
one-liner above):
order (the first only in self-bootstrap mode, from the one-liner above); before
the second it refuses, creating nothing, if anything stands at `<into>/Atlas`:

```sh
git clone --depth 1 https://github.com/opensoft/openRepoShape.git <tmp-dir>
Expand Down
36 changes: 18 additions & 18 deletions docs/handbook.html
Original file line number Diff line number Diff line change
Expand Up @@ -866,10 +866,10 @@ <h3>Rehearse first, creating nothing</h3>
<p data-platform="linux" class="aside">Honestly: it still reaches GitHub before the run starts &mdash; to
fetch <code>setup.sh</code>, then for the self-bootstrap clone of this standard into a
temporary directory. Run the same flag on <code>./setup.sh</code> from a checkout
instead and nothing touches the network at all. What it leaves behind is
<code>./Atlas</code>, three bare repositories in <code>./rehearsal</code>, and the
scaffold&rsquo;s three working trees in the temporary directory its
<code>Working trees are at</code> line names, all of which you can delete.</p>
instead and nothing touches the network at all. It leaves <code>./Atlas</code>, three
bare repositories in <code>./rehearsal</code>, and the scaffold&rsquo;s three working
trees in the temporary directory its <code>Working trees are at</code> line names, all
deletable; a real run here refuses up front while <code>./Atlas</code> is there.</p>
<p data-platform="mac wsl" class="aside">Honestly: it still reaches GitHub before the run starts &mdash; to
fetch <code>setup.sh</code>, then for the self-bootstrap clone of this standard into a
temporary directory. Run the same flag on <code>./setup.sh</code> from a checkout
Expand Down Expand Up @@ -953,8 +953,8 @@ <h4>What <code>setup.sh</code> actually runs</h4>
<p>It is a shim that finds a Python 3.9 or newer, clones this standard into a temporary
directory when you are not already in a checkout of it, and hands over to
<code>setup-project.py</code>, which IS the flow. These are the commands that flow runs,
in order, with no behaviour of its own (the first only in self-bootstrap mode, from the
one-liner):</p>
in order (the first only in self-bootstrap mode, from the one-liner); before the second
it refuses, creating nothing, if anything stands at <code>&lt;into&gt;/Atlas</code>:</p>
<div class="code" data-lang="sh"><pre><code>git clone --depth 1 https://github.com/opensoft/openRepoShape.git &lt;tmp-dir&gt;
python3 scripts/validate-repository-naming.py --explain Atlas Atlas-spec Atlas-code
python3 scaffold-project.py --org &lt;your-org&gt; --project Atlas --dry-run
Expand Down Expand Up @@ -1815,14 +1815,14 @@ <h2>For AI assistants</h2>
it asks them, the one-liner too &mdash; setup reads the answer from that terminal and never
from the pipe &mdash; and never pass <code>--yes</code> yourself. Read a refusal rather than
retrying: each one names what to run instead, or, for some, the VALUE to change &mdash;
among them a <code>--spec-path</code> or
<code>--code-path</code> that is, holds or lies inside a file the shape writes, and a
<code>--pin</code> the shape cannot write, both before anything is created &mdash; and there
is no <code>--force</code>, deliberately. Relay the finished block &mdash; the clone
path, the three repository URLs and the next commands &mdash; and say that the line
<code>authority is not wallet-carried in this org</code> is a report and not a fault. The new
project carries <code>AGENTS-shape.md</code> at its assembly root, and you read that before
touching the project.</p>
among them a <code>--spec-path</code> or <code>--code-path</code> that is, holds or lies
inside a file the shape writes, a <code>--pin</code> the shape cannot write, and anything
already at <code>&lt;into&gt;/&lt;Project&gt;</code>, for the human to move or delete, all
before anything is created &mdash; and there is no <code>--force</code>, deliberately. Relay
the finished block &mdash; the clone path, the three repository URLs and the next commands
&mdash; and say that the line <code>authority is not wallet-carried in this org</code> is a
report and not a fault. The new project carries <code>AGENTS-shape.md</code> at its assembly
root, and you read that before touching the project.</p>
<p><strong>What you must not tell them:</strong> that the shape confers anything &mdash; or
that membership of a family does &mdash; or that a <code>&lt;user&gt;-wip</code> workspace
repository does, which holds no code, elects nothing and is membership of nothing. Electing
Expand Down Expand Up @@ -1869,10 +1869,10 @@ <h2>For AI assistants</h2>
added (#411); the doctor&rsquo;s <strong>merge</strong> row, and <code>INVALID (merge)</code>
above drift, added (#424); the assistant&rsquo;s route when its shell has no terminal, added
(#476); the one-liner asking at the person&rsquo;s own terminal, never reading the answer
from the pipe, added (#492); the statements the v1.0.0 accuracy pass found false,
corrected here as in the README, added (#483) &mdash; a page cannot name the commit
that contains it, and the blob below is the fact a test checks.
README.md blob 1417b9ec0235675da8f73ca023756411bc3fbe8a. Every command, flag, exit code
from the pipe, added (#492); the statements the v1.0.0 accuracy pass found false, corrected
here as in the README, added (#483); a taken clone path refused up front, added (#498) &mdash;
a page cannot name the commit that contains it, and the blob below is the fact a test checks.
README.md blob 43df8f47b8a70678a2ff1836f01468a686e41eb6. Every command, flag, exit code
and file name on this page is quoted from that README and from AGENTS.md.</p>
</footer>
</main>
Expand Down
Loading
Loading