@etiquekit/etq 1.0.1 → 1.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/QuickStart.md CHANGED
@@ -1,42 +1,28 @@
1
1
  # Quick Start
2
2
 
3
- Use this for a clean repo, team canary, or new Etiquette developer. For private rollout, use [docs/TEAM_HANDOFF.md](docs/TEAM_HANDOFF.md).
3
+ For a clean repo, a team canary, or a new Etiquette developer.
4
4
 
5
- Prereqs: Git and Bun `>=1.3.0`. The CLI shims refuse if `bun` is not on `PATH`.
6
- The public hosted installer is parked until approval and signing complete.
5
+ Prereqs: `git >= 2.40` and `bun >= 1.3` on `PATH`. macOS and Linux.
7
6
 
8
7
  ## 1. Get The CLI
9
8
 
10
- Preferred private path is the signed native installer:
11
-
12
9
  ```sh
13
- sh install.sh --version 1.0.0 --base-url "$ETQ_RELEASES_URL" \
14
- --public-key "$ETQ_PUBLIC_KEY" --install-root "$HOME/.etiquette"
15
- export PATH="$HOME/.etiquette/bin:$PATH"
10
+ npm install -g @etiquekit/etq # etq + etiquette on PATH
11
+ curl -fsSL https://etiquekit.com/install.sh | sh # or: native installer
16
12
  ```
17
13
 
18
- If you only have the private `.tgz`, install it under a user-local prefix:
14
+ The installer verifies every artifact against a pinned public key before
15
+ anything executes and installs under `~/.etiquette`. Offline or air-gapped:
16
+ download `etiquette-<version>.tgz` plus `SHA256SUMS` and `SHA256SUMS.sig`
17
+ from `https://etiquekit.com/releases/`, verify them (see the README's
18
+ "Verify releases"), then:
19
19
 
20
20
  ```sh
21
- ETQ_ROOT="$HOME/.etiquette"
22
- ETQ_LIB="$ETQ_ROOT/lib/etiquette-1.0.0"
23
- mkdir -p "$ETQ_LIB" "$ETQ_ROOT/bin" /tmp/etq-tgz
24
- tar -xzf etiquette-1.0.0.tgz -C /tmp/etq-tgz
25
- cp -R /tmp/etq-tgz/package/. "$ETQ_LIB/"
26
- (cd "$ETQ_LIB" && bun install --production)
27
- ln -sfn "$ETQ_LIB/bin/etiquette" "$ETQ_ROOT/bin/etiquette"
28
- ln -sfn "$ETQ_LIB/bin/etiquette-core" "$ETQ_ROOT/bin/etiquette-core"
29
- export PATH="$ETQ_ROOT/bin:$PATH"
30
- ```
31
-
32
- Source checkout fallback; replace `<company-etiquette-git-url>` with the
33
- internal private repo URL supplied by your manager:
34
-
35
- ```sh
36
- git clone <company-etiquette-git-url> etiquette
37
- cd etiquette
38
- ./bin/etiquette help
39
- ./bin/etiquette-core help
21
+ ETQ_LIB="$HOME/.etiquette/lib/etiquette-<version>"
22
+ mkdir -p "$ETQ_LIB" "$HOME/.etiquette/bin"
23
+ tar -xzf etiquette-<version>.tgz --strip-components=1 -C "$ETQ_LIB"
24
+ ln -sfn "$ETQ_LIB/bin/etiquette" "$HOME/.etiquette/bin/etiquette"
25
+ export PATH="$HOME/.etiquette/bin:$PATH"
40
26
  ```
41
27
 
42
28
  ## 2. Initialize A Project
@@ -44,19 +30,20 @@ cd etiquette
44
30
  From the project repo:
45
31
 
46
32
  ```sh
47
- ETQ=${ETQ:-etiquette}
48
- "$ETQ" setup --target codex --project "$PWD"
49
- "$ETQ" handoff --project "$PWD" --profile codex-cc-gemini --task-prefix APP
50
- "$ETQ" bootstrap local --project "$PWD" --profile codex-cc-gemini --task-prefix APP
51
- "$ETQ" whereami --project "$PWD" --seat codex-seat --task APP-001
52
- "$ETQ" doctor --project "$PWD"
53
- "$ETQ" join --project "$PWD" --seat codex-seat
54
- "$ETQ" pickup --project "$PWD" --seat codex-seat --task APP-001 --allow-current-project --text
55
- "$ETQ" console board --project "$PWD" --text
33
+ etq setup --target auto --project "$PWD"
34
+ etq handoff --project "$PWD" --profile codex-cc-gemini --task-prefix APP
35
+ etq bootstrap local --project "$PWD" --profile codex-cc-gemini --task-prefix APP
36
+ etq whereami --project "$PWD" --seat codex-seat --task APP-001
37
+ etq doctor --project "$PWD"
38
+ etq join --project "$PWD" --seat codex-seat
39
+ etq pickup --project "$PWD" --seat codex-seat --task APP-001 --allow-current-project --text
40
+ etq console board --project "$PWD" --text
56
41
  ```
57
42
 
58
43
  `bootstrap local` creates repo-local state, seats, task envelopes, pickup docs,
59
44
  events, and runbooks. It does not grant, publish, merge, close, or promote.
45
+ `handoff` is a read-only guide: it prints install, bootstrap, and pickup
46
+ commands without changing anything.
60
47
 
61
48
  ## 3. Orient The Live Seat
62
49
 
@@ -64,21 +51,20 @@ Run `whereami` whenever a developer or agent resumes, changes directories, or
64
51
  inherits a worktree:
65
52
 
66
53
  ```sh
67
- "$ETQ" whereami --project "$PWD" --seat codex-seat --task APP-001
68
- "$ETQ" pickup --project "$PWD" --seat codex-seat --task APP-001 --allow-current-project --text
54
+ etq whereami --project "$PWD" --seat codex-seat --task APP-001
55
+ etq pickup --project "$PWD" --seat codex-seat --task APP-001 --allow-current-project --text
69
56
  ```
70
57
 
71
58
  Runner resume recovers chat context; `whereami` confirms the repo, branch, task
72
59
  envelope, and runbook. For branch hygiene, read [docs/WORKTREE_QOL.md](docs/WORKTREE_QOL.md).
73
- For in-session pickup UX, use the `seat-session-bootstrap` skill.
74
60
 
75
61
  ## 4. Check And Record Evidence
76
62
 
77
63
  Create checkable dispatch examples, then run the generated command:
78
64
 
79
65
  ```sh
80
- "$ETQ" dispatch scaffold --project "$PWD" --task-id APP-001 --seat codex-seat
81
- "$ETQ" dispatch check --project "$PWD" \
66
+ etq dispatch scaffold --project "$PWD" --task-id APP-001 --seat codex-seat
67
+ etq dispatch check --project "$PWD" \
82
68
  --mode docs/work/dispatch/APP-001/mode.yaml \
83
69
  --task docs/work/dispatch/APP-001/task.yaml \
84
70
  --sandbox-receipt docs/work/dispatch/APP-001/receipt.yaml \
@@ -88,7 +74,13 @@ Create checkable dispatch examples, then run the generated command:
88
74
  `dispatch record` writes local metadata and receipt refs; it does not merge,
89
75
  close, publish, or grant.
90
76
 
91
- ## 5. Stop Conditions
77
+ ## 5. Seat Packs And Stop Conditions
78
+
79
+ Per-runtime integrations are explicit, never automatic: `provision-seat claude-code`,
80
+ `provision-seat codex`, `provision-seat gemini`, `provision-seat ollama`,
81
+ `provision-seat openrouter`.
82
+
83
+ Stop when authority is unclear, validation cannot run, writes exceed the
84
+ envelope, a secret appears, or the session is unbounded.
92
85
 
93
- Seat packs: `provision-seat claude-code`, `provision-seat codex`, `provision-seat gemini`, `provision-seat ollama`, `provision-seat openrouter`.
94
- Stop when authority is unclear, validation cannot run, writes exceed the envelope, a secret appears, or the session is unbounded.
86
+ Docs: https://etiquekit.com/docs/ · Agents start at: https://etiquekit.com/llms.txt
package/README.md CHANGED
@@ -1,80 +1,80 @@
1
1
  # Etiquette
2
2
 
3
- Etiquette is a governance and evidence CLI for agent-assisted engineering work.
3
+ **Govern agent-assisted engineering work with seats, evidence, and promotion
4
+ gates.** Local-first: your repo is the ledger, receipts are the proof, and no
5
+ server ever sees your code.
4
6
 
5
- It answers the questions that matter when agents help write code: who acted,
6
- under which seat, inside what scope, with what evidence, and who accepted the
7
- result.
7
+ When several coding agents (and humans) work the same repository, the hard
8
+ part isn't running them it's knowing **who did what, on whose authority,
9
+ and what proved it worked**. Etiquette gives each participant a *seat*, each
10
+ unit of work a *task envelope*, each completion a *receipt*, and each merge a
11
+ *promotion gate* — recorded as plain files and git history you can audit.
8
12
 
9
- Default loop: `setup -> handoff -> bootstrap local -> whereami -> doctor -> join -> pickup -> receipt -> promotion gate`.
13
+ Docs: https://etiquekit.com/docs/ · Agents start at: https://etiquekit.com/llms.txt
10
14
 
11
- Execution runtimes are optional; they return evidence and do not mint authority.
15
+ ## Install
12
16
 
13
- ## Start
17
+ ```sh
18
+ npm install -g @etiquekit/etq # etq, etiquette, etiquette-core on PATH
19
+ curl -fsSL https://etiquekit.com/install.sh | sh # or: native installer
20
+ ```
21
+
22
+ Requires `bun >= 1.3` and `git >= 2.40`. macOS and Linux. The installer
23
+ verifies signatures against a pinned public key before anything executes.
14
24
 
15
- Prereqs: Git and Bun `>=1.3.0`; the CLI shims require `bun` on `PATH`.
16
- For a clean repo or a new seat, read [QuickStart.md](QuickStart.md). For private team rollout, use [docs/TEAM_HANDOFF.md](docs/TEAM_HANDOFF.md), then:
25
+ ## Sixty seconds to a governed workspace
17
26
 
18
27
  ```sh
19
- ./bin/etiquette setup --target codex --project /tmp/etiquette-start
20
- ./bin/etiquette handoff --project /tmp/etiquette-start --profile codex-cc-gemini --task-prefix APP
21
- ./bin/etiquette bootstrap local --project /tmp/etiquette-start --profile codex-cc-gemini --task-prefix APP
22
- ./bin/etiquette whereami --project /tmp/etiquette-start --seat codex-seat --task APP-001
23
- ./bin/etiquette doctor --project /tmp/etiquette-start
24
- ./bin/etiquette status --project /tmp/etiquette-start
25
- ./bin/etiquette join --project /tmp/etiquette-start --seat codex-seat
26
- ./bin/etiquette pickup --project /tmp/etiquette-start --seat codex-seat --task APP-001 --allow-current-project --text
27
- ./bin/etiquette console board --project /tmp/etiquette-start --text
28
+ etq init --project . # provision folders, journal, roster
29
+ etq doctor --project . # readiness green before work
30
+ etq bootstrap local --project . \
31
+ --profile codex-cc-gemini --task-prefix APP
32
+ etq setup --target auto --project . # register your agent CLI (explicit)
33
+ etq join --seat dev-a --project .
34
+ etq console board --project . --text # the live task board
28
35
  ```
29
36
 
30
- `handoff` is a read-only guide: it prints install, bootstrap, and pickup commands without installing, bootstrapping, pushing, closing, or granting.
37
+ Per-runtime seat packs: `provision-seat claude-code` · `provision-seat codex`
38
+ · `provision-seat gemini` · `provision-seat ollama` · `provision-seat openrouter`.
31
39
 
32
- `bootstrap local` creates repo-local seats, task envelopes, bounded runbooks,
33
- local packet events, and pickup docs without global bus writes or authority.
34
- `whereami` is the context readback: runner resume restores conversation
35
- history; `whereami` tells the seat which project, worktree, task, and runbook it
36
- is actually operating in.
37
-
38
- For the bare-bones Core surface:
40
+ The daily loop is three verbs:
39
41
 
40
42
  ```sh
41
- ./bin/etiquette-core help
43
+ etq pickup --seat dev-a --task APP-001 --expect-project-id <id> --text
44
+ # ... do the work (you, or your agent) ...
45
+ etq return check --task APP-001 --seat dev-a # the evidence gate
42
46
  ```
43
47
 
44
- Use repo-local commands for now. The hosted public installer is parked.
48
+ Every step appends to the workspace journal an append-only event log inside
49
+ your repo. Nothing leaves your machine: no backend, no telemetry, no account.
45
50
 
46
- ## Core Concepts
51
+ ## Concepts in one breath
47
52
 
48
- - Seat: durable work identity; the occupant or model can change.
49
- - Task envelope: scope, allowed writes, validation, and stop conditions.
50
- - Receipt: evidence of what happened; it proves but does not authorize.
51
- - Promotion gate: the human/Git gate where candidate work becomes truth.
52
- - Ledger: durable local record of sessions, receipts, and decisions.
53
+ | Concept | Answers |
54
+ | --- | --- |
55
+ | Seat | What durable work role is acting? |
56
+ | Task envelope | What writes, validation, and stop conditions are allowed? |
57
+ | Session | Which bounded run produced the evidence? |
58
+ | Receipt | What proves the work happened? |
59
+ | Promotion gate | Where does candidate work become accepted truth? |
53
60
 
54
- Read next: [docs/README.md](docs/README.md), [docs/CONCEPTS.md](docs/CONCEPTS.md), [docs/CORE_PROFILE.md](docs/CORE_PROFILE.md), [docs/SEAT_PROVISIONING.md](docs/SEAT_PROVISIONING.md), and [docs/WORKTREE_QOL.md](docs/WORKTREE_QOL.md).
61
+ Commands can initialize, check, record evidence, and project read models.
62
+ They **do not** grant authority, merge, close work, publish, or promote truth.
63
+ Execution returns evidence; it never mints authority.
55
64
 
56
- Provision runtime seats only after assignment:
65
+ ## Verify releases
57
66
 
58
- ```sh
59
- sh templates/seat-packs-v0/bin/provision-seat codex /tmp/dev-codex-seat
60
- sh templates/seat-packs-v0/bin/provision-seat claude-code /tmp/dev-claude-code-seat
61
- sh templates/seat-packs-v0/bin/provision-seat gemini /tmp/dev-gemini-seat
62
- sh templates/seat-packs-v0/bin/provision-seat ollama /tmp/dev-ollama-seat
63
- sh templates/seat-packs-v0/bin/provision-seat openrouter /tmp/dev-openrouter-seat
64
- ```
67
+ The release signing public key has this SHA-256 fingerprint — cross-check it
68
+ against the copy at https://etiquekit.com/docs/ before trusting a downloaded
69
+ key:
65
70
 
66
- ## Validate
67
-
68
- ```sh
69
- npm run release:scan
70
- bun test
71
- npm run typecheck
71
+ ```
72
+ 917fbced1d6a82897ec3441a1d12947803ca4d42a6bc63d3412dee8bf8c3ce31
72
73
  ```
73
74
 
74
- ## Release Status
75
+ Then `openssl dgst -sha256 -verify <key> -signature SHA256SUMS.sig SHA256SUMS`
76
+ and `shasum -a 256 -c SHA256SUMS`. If any step fails: stop, do not install.
75
77
 
76
- ```yaml
77
- default_surface: templates/etiquette-vanilla-v0
78
- optional_runtime_surface: templates/seat-packs-v0
79
- public_installer: held
80
- ```
78
+ ## License
79
+
80
+ Proprietary; distributed as compiled bundles for convenience.