@etiquekit/etq 0.0.1 → 1.0.4
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/AGENTS.md +28 -0
- package/QuickStart.md +86 -0
- package/README.md +77 -9
- package/bin/etiquette +1150 -0
- package/bin/etiquette-core +313 -0
- package/docs/ARCHITECTURE.md +100 -0
- package/docs/CODEX_CLIENT_COMPATIBILITY.md +83 -0
- package/docs/CONCEPTS.md +128 -0
- package/docs/CONCEPT_STATUS.md +67 -0
- package/docs/CORE_PROFILE.md +70 -0
- package/docs/LANE_PROVISIONING.md +157 -0
- package/docs/README.md +29 -0
- package/docs/RELEASE_SURFACE_AUDIT.md +156 -0
- package/docs/SEAT_DISCIPLINE.md +116 -0
- package/docs/SEAT_PROVISIONING.md +100 -0
- package/docs/TEAM_HANDOFF.md +190 -0
- package/docs/WORKTREE_QOL.md +92 -0
- package/docs/contracts/ledger-entry/README.md +83 -0
- package/docs/contracts/ledger-entry/ledger-entry.v0.1.md +116 -0
- package/docs/contracts/ledger-entry/ledger-entry.v0.2.md +90 -0
- package/docs/contracts/ledger-entry/ledger-entry.v0.md +123 -0
- package/docs/contracts/ledger-entry/ledger-query-cli.v0.1.md +64 -0
- package/package.json +42 -11
- package/scripts/install.sh +144 -0
- package/scripts/uninstall.sh +58 -0
- package/templates/etiquette-vanilla-v0/README.md +69 -0
- package/templates/etiquette-vanilla-v0/bin/stamp-vanilla +33 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/.llm-substrate/HANDOFF.md +22 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/README.md +16 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/_lib/http.sh +121 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/_lib/sanitize.sh +191 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/_lib/state.sh +67 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/access-assurance-check +55 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/compact-local-events +71 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/hooks/post-tool-use +64 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/hooks/session-end +64 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/hooks/session-start +64 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/hooks/stop +64 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/hooks/user-prompt-submit +64 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/local-event +53 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/post-receipt +143 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/post-telemetry +112 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/seat-consume-pass +115 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/seat-doctor +20 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/seat-init +86 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/seat-post-readiness +171 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/bin/session-init +132 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/docs/work/access/ACCESS-ASSURANCE.md +39 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/docs/work/access/workspace-secure-profile.v0.json +53 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/docs/work/ledger/LEDGER.md +7 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/docs/work/playbacks/PLAYBACK_TEMPLATE.md +31 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/docs/work/receipts/.gitkeep +1 -0
- package/templates/etiquette-vanilla-v0/source/control-seat/docs/work/tasks/CONTROL-001.yaml +13 -0
- package/templates/etiquette-vanilla-v0/source/etiquette-kernel/README.md +6 -0
- package/templates/etiquette-vanilla-v0/source/etiquette-kernel/bin/kernel-doctor +11 -0
- package/templates/etiquette-vanilla-v0/source/etiquette-kernel/contracts/playback.v0.md +37 -0
- package/templates/etiquette-vanilla-v0/source/etiquette-kernel/contracts/receipt.v0.md +25 -0
- package/templates/etiquette-vanilla-v0/source/etiquette-kernel/contracts/seat-readiness.v0.md +22 -0
- package/templates/etiquette-vanilla-v0/source/etiquette-kernel/contracts/task.v0.md +18 -0
- package/templates/etiquette-vanilla-v0/validate-vanilla.sh +43 -0
- package/templates/github-actions/README.md +30 -0
- package/templates/github-actions/w1-webhook-wake-canary.yml +111 -0
- package/templates/hosted-receiver/README.md +41 -0
- package/templates/hosted-receiver/w1-github-webhook-receiver.mjs +129 -0
- package/templates/seat-packs-v0/README.md +72 -0
- package/templates/seat-packs-v0/bin/provision-seat +70 -0
- package/templates/seat-packs-v0/source/claude-code-seat/.llm-substrate/HANDOFF.md +24 -0
- package/templates/seat-packs-v0/source/claude-code-seat/README.md +19 -0
- package/templates/seat-packs-v0/source/claude-code-seat/bin/seat-doctor +8 -0
- package/templates/seat-packs-v0/source/codex-seat/.llm-substrate/HANDOFF.md +25 -0
- package/templates/seat-packs-v0/source/codex-seat/README.md +22 -0
- package/templates/seat-packs-v0/source/codex-seat/bin/seat-doctor +8 -0
- package/templates/seat-packs-v0/source/gemini-seat/.llm-substrate/HANDOFF.md +23 -0
- package/templates/seat-packs-v0/source/gemini-seat/README.md +19 -0
- package/templates/seat-packs-v0/source/gemini-seat/bin/seat-doctor +8 -0
- package/templates/seat-packs-v0/source/ollama-seat/.llm-substrate/HANDOFF.md +24 -0
- package/templates/seat-packs-v0/source/ollama-seat/README.md +19 -0
- package/templates/seat-packs-v0/source/ollama-seat/bin/seat-doctor +8 -0
- package/templates/seat-packs-v0/source/openrouter-seat/.llm-substrate/HANDOFF.md +24 -0
- package/templates/seat-packs-v0/source/openrouter-seat/README.md +19 -0
- package/templates/seat-packs-v0/source/openrouter-seat/bin/seat-doctor +8 -0
- package/templates/seat-packs-v0/validate-seat-packs.sh +27 -0
- package/bin/etq +0 -4
package/AGENTS.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Etiquette Agent Guide
|
|
2
|
+
|
|
3
|
+
This repo is the Etiquette source repo. Keep the all-developer onboarding path small.
|
|
4
|
+
|
|
5
|
+
## Default Rule
|
|
6
|
+
|
|
7
|
+
New engineers should start with:
|
|
8
|
+
|
|
9
|
+
1. [README.md](README.md)
|
|
10
|
+
2. [docs/SEAT_PROVISIONING.md](docs/SEAT_PROVISIONING.md)
|
|
11
|
+
3. [templates/etiquette-vanilla-v0/README.md](templates/etiquette-vanilla-v0/README.md)
|
|
12
|
+
|
|
13
|
+
Do not send new seats through internal history, old coordination lanes, or maintainer-only notes.
|
|
14
|
+
|
|
15
|
+
## Ownership
|
|
16
|
+
|
|
17
|
+
This repo owns:
|
|
18
|
+
|
|
19
|
+
- the minimal vanilla seat scaffold;
|
|
20
|
+
- optional runtime seat-pack scaffolds;
|
|
21
|
+
- shared task, readiness, and receipt contracts;
|
|
22
|
+
- validation scripts for release hygiene.
|
|
23
|
+
|
|
24
|
+
This repo does not own product repos, product lane state, secrets, hosted services, or runtime vendor setup.
|
|
25
|
+
|
|
26
|
+
## Editing Rule
|
|
27
|
+
|
|
28
|
+
Release-facing docs must stay role-based and portable. Do not introduce person names, local machine paths, historical bus references, or project-specific lane IDs into the default onboarding surface.
|
package/QuickStart.md
ADDED
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Quick Start
|
|
2
|
+
|
|
3
|
+
For a clean repo, a team canary, or a new Etiquette developer.
|
|
4
|
+
|
|
5
|
+
Prereqs: `git >= 2.40` and `bun >= 1.3` on `PATH`. macOS and Linux.
|
|
6
|
+
|
|
7
|
+
## 1. Get The CLI
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
npm install -g @etiquekit/etq # etq + etiquette on PATH
|
|
11
|
+
curl -fsSL https://etiquekit.com/install.sh | sh # or: native installer
|
|
12
|
+
```
|
|
13
|
+
|
|
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
|
+
|
|
20
|
+
```sh
|
|
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"
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
## 2. Initialize A Project
|
|
29
|
+
|
|
30
|
+
From the project repo:
|
|
31
|
+
|
|
32
|
+
```sh
|
|
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
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
`bootstrap local` creates repo-local state, seats, task envelopes, pickup docs,
|
|
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.
|
|
47
|
+
|
|
48
|
+
## 3. Orient The Live Seat
|
|
49
|
+
|
|
50
|
+
Run `whereami` whenever a developer or agent resumes, changes directories, or
|
|
51
|
+
inherits a worktree:
|
|
52
|
+
|
|
53
|
+
```sh
|
|
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
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Runner resume recovers chat context; `whereami` confirms the repo, branch, task
|
|
59
|
+
envelope, and runbook. For branch hygiene, read [docs/WORKTREE_QOL.md](docs/WORKTREE_QOL.md).
|
|
60
|
+
|
|
61
|
+
## 4. Check And Record Evidence
|
|
62
|
+
|
|
63
|
+
Create checkable dispatch examples, then run the generated command:
|
|
64
|
+
|
|
65
|
+
```sh
|
|
66
|
+
etq dispatch scaffold --project "$PWD" --task-id APP-001 --seat codex-seat
|
|
67
|
+
etq dispatch check --project "$PWD" \
|
|
68
|
+
--mode docs/work/dispatch/APP-001/mode.yaml \
|
|
69
|
+
--task docs/work/dispatch/APP-001/task.yaml \
|
|
70
|
+
--sandbox-receipt docs/work/dispatch/APP-001/receipt.yaml \
|
|
71
|
+
--state docs/work/dispatch/APP-001/seat-readiness.json
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
`dispatch record` writes local metadata and receipt refs; it does not merge,
|
|
75
|
+
close, publish, or grant.
|
|
76
|
+
|
|
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.
|
|
85
|
+
|
|
86
|
+
Docs: https://etiquekit.com/docs/ · Agents start at: https://etiquekit.com/llms.txt
|
package/README.md
CHANGED
|
@@ -1,12 +1,80 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Etiquette
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
sees your code.
|
|
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.
|
|
7
6
|
|
|
8
|
-
|
|
9
|
-
|
|
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.
|
|
10
12
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
Docs: https://etiquekit.com/docs/ · Agents start at: https://etiquekit.com/llms.txt
|
|
14
|
+
|
|
15
|
+
## Install
|
|
16
|
+
|
|
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.
|
|
24
|
+
|
|
25
|
+
## Sixty seconds to a governed workspace
|
|
26
|
+
|
|
27
|
+
```sh
|
|
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
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Per-runtime seat packs: `provision-seat claude-code` · `provision-seat codex`
|
|
38
|
+
· `provision-seat gemini` · `provision-seat ollama` · `provision-seat openrouter`.
|
|
39
|
+
|
|
40
|
+
The daily loop is three verbs:
|
|
41
|
+
|
|
42
|
+
```sh
|
|
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
|
|
46
|
+
```
|
|
47
|
+
|
|
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.
|
|
50
|
+
|
|
51
|
+
## Concepts in one breath
|
|
52
|
+
|
|
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? |
|
|
60
|
+
|
|
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.
|
|
64
|
+
|
|
65
|
+
## Verify releases
|
|
66
|
+
|
|
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:
|
|
70
|
+
|
|
71
|
+
```
|
|
72
|
+
917fbced1d6a82897ec3441a1d12947803ca4d42a6bc63d3412dee8bf8c3ce31
|
|
73
|
+
```
|
|
74
|
+
|
|
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.
|
|
77
|
+
|
|
78
|
+
## License
|
|
79
|
+
|
|
80
|
+
Proprietary; distributed as compiled bundles for convenience.
|