llm-wb 0.1.0-beta.0
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/.agentic/00.chat/README.md +78 -0
- package/.agentic/00.chat/checklists/before-commit.md +195 -0
- package/.agentic/00.chat/checklists/llm-workbench-public-beta.md +94 -0
- package/.agentic/00.chat/commands/README.md +108 -0
- package/.agentic/00.chat/migration-plan.md +132 -0
- package/.agentic/00.chat/skills/session-summary.md +48 -0
- package/.agentic/00.chat/standards/llm-workbench-public-beta-contract.md +216 -0
- package/.agentic/00.chat/standards/main-refresh-conflict-types.md +358 -0
- package/.agentic/00.chat/workflows/README.md +40 -0
- package/.agentic/00.chat/workflows/bootstrap-chat-workbench-repo.md +212 -0
- package/.agentic/00.chat/workflows/chat-cleanup.md +102 -0
- package/.agentic/00.chat/workflows/chat-commit.md +56 -0
- package/.agentic/00.chat/workflows/chat-promote-to-main.md +169 -0
- package/.agentic/00.chat/workflows/chat-refresh-from-main.md +242 -0
- package/.agentic/00.chat/workflows/chat-reporting.md +69 -0
- package/.agentic/00.chat/workflows/chat-start.md +173 -0
- package/.agentic/00.chat/workflows/chat-upstream-reusable-lesson.md +123 -0
- package/.agentic/shared/standards/README.md +32 -0
- package/.agentic/shared/standards/upstream-repo-bootstrap.md +131 -0
- package/.agentic/shared/workflows/README.md +35 -0
- package/.agentic/shared/workflows/capability-resolution-workflow.md +189 -0
- package/.agentic/shared/workflows/change-shared-process.md +92 -0
- package/.cursor/rules/llm-workbench.mdc +17 -0
- package/.github/copilot-instructions.md +16 -0
- package/AGENTS.md +63 -0
- package/CLAUDE.md +16 -0
- package/CONTRIBUTING.md +57 -0
- package/LICENSE +21 -0
- package/LLM_WORKBENCH.md +17 -0
- package/README.md +98 -0
- package/SECURITY.md +44 -0
- package/bin/llm-workbench.js +672 -0
- package/docs/00.chat/README.md +47 -0
- package/docs/00.chat/llm-workbench-acceptance-matrix.md +55 -0
- package/docs/00.chat/script-layout.md +107 -0
- package/docs/adapting-to-your-repo.md +29 -0
- package/docs/concepts.md +38 -0
- package/docs/install.md +114 -0
- package/docs/public-beta-contract.md +45 -0
- package/docs/workflows.md +103 -0
- package/examples/minimal-repo/README.md +13 -0
- package/package.json +93 -0
- package/scripts/00.chat/README.md +46 -0
- package/scripts/00.chat/bootstrap/README.md +35 -0
- package/scripts/00.chat/bootstrap/audit-chat-bootstrap-file-set/README.md +39 -0
- package/scripts/00.chat/bootstrap/audit-chat-bootstrap-file-set/script.sh +213 -0
- package/scripts/00.chat/closeout/README.md +30 -0
- package/scripts/00.chat/closeout/build-closeout-prompt/README.md +35 -0
- package/scripts/00.chat/closeout/build-closeout-prompt/script.sh +124 -0
- package/scripts/00.chat/command/README.md +31 -0
- package/scripts/00.chat/command/close/README.md +30 -0
- package/scripts/00.chat/command/close/script.sh +25 -0
- package/scripts/00.chat/command/dispatcher/README.md +46 -0
- package/scripts/00.chat/command/dispatcher/script.sh +91 -0
- package/scripts/00.chat/command/dispatcher/smoke-test.sh +168 -0
- package/scripts/00.chat/command/new/README.md +32 -0
- package/scripts/00.chat/command/new/script.sh +28 -0
- package/scripts/00.chat/command/open-window/README.md +38 -0
- package/scripts/00.chat/command/open-window/script.sh +25 -0
- package/scripts/00.chat/command/package-scripts/README.md +34 -0
- package/scripts/00.chat/command/package-scripts/smoke-test.sh +113 -0
- package/scripts/00.chat/git/README.md +30 -0
- package/scripts/00.chat/git/cleanup-empty-chat-branches/README.md +36 -0
- package/scripts/00.chat/git/cleanup-empty-chat-branches/script.sh +243 -0
- package/scripts/00.chat/git/cleanup-empty-chat-branches/smoke-test.sh +136 -0
- package/scripts/00.chat/local-merge/README.md +30 -0
- package/scripts/00.chat/local-merge/list-active-chat-branches/README.md +29 -0
- package/scripts/00.chat/local-merge/list-active-chat-branches/script.sh +109 -0
- package/scripts/00.chat/local-merge/report-chat-branch-overlaps/README.md +29 -0
- package/scripts/00.chat/local-merge/report-chat-branch-overlaps/script.sh +142 -0
- package/scripts/00.chat/local-merge/verify-chat-ready-to-merge-local-main/README.md +33 -0
- package/scripts/00.chat/local-merge/verify-chat-ready-to-merge-local-main/script.sh +345 -0
- package/scripts/00.chat/local-merge/verify-chat-ready-to-merge-local-main/smoke-test.sh +244 -0
- package/scripts/00.chat/main-refresh/README.md +39 -0
- package/scripts/00.chat/main-refresh/apply-rehearsed-refresh/README.md +32 -0
- package/scripts/00.chat/main-refresh/apply-rehearsed-refresh/script.sh +198 -0
- package/scripts/00.chat/main-refresh/check-chat-is-current-with-main/README.md +30 -0
- package/scripts/00.chat/main-refresh/check-chat-is-current-with-main/script.sh +121 -0
- package/scripts/00.chat/main-refresh/classify-conflict/README.md +39 -0
- package/scripts/00.chat/main-refresh/classify-conflict/script.sh +169 -0
- package/scripts/00.chat/main-refresh/classify-conflict/smoke-test.sh +137 -0
- package/scripts/00.chat/main-refresh/classify-refresh-readiness/README.md +35 -0
- package/scripts/00.chat/main-refresh/classify-refresh-readiness/script.sh +171 -0
- package/scripts/00.chat/main-refresh/classify-refresh-readiness/smoke-test.sh +132 -0
- package/scripts/00.chat/main-refresh/rehearse-refresh-from-main/README.md +34 -0
- package/scripts/00.chat/main-refresh/rehearse-refresh-from-main/script.sh +124 -0
- package/scripts/00.chat/main-refresh/rehearse-refresh-from-main/smoke-test.sh +257 -0
- package/scripts/00.chat/main-refresh/show-main-update-status/README.md +31 -0
- package/scripts/00.chat/main-refresh/show-main-update-status/script.sh +73 -0
- package/scripts/00.chat/main-refresh/verify-conflict-audit/README.md +37 -0
- package/scripts/00.chat/main-refresh/verify-conflict-audit/script.sh +154 -0
- package/scripts/00.chat/main-refresh/verify-conflict-audit/smoke-test.sh +99 -0
- package/scripts/00.chat/metrics/README.md +35 -0
- package/scripts/00.chat/metrics/data/chat-pricing.json +107 -0
- package/scripts/00.chat/metrics/data/chat-pricing.schema.json +63 -0
- package/scripts/00.chat/metrics/estimate-chat-cost/README.md +40 -0
- package/scripts/00.chat/metrics/estimate-chat-cost/script.js +130 -0
- package/scripts/00.chat/migration/README.md +30 -0
- package/scripts/00.chat/migration/audit-chat-layer-migration/README.md +33 -0
- package/scripts/00.chat/migration/audit-chat-layer-migration/script.sh +127 -0
- package/scripts/00.chat/recovery/README.md +30 -0
- package/scripts/00.chat/recovery/import-active-paths-to-chat-worktree/README.md +76 -0
- package/scripts/00.chat/recovery/import-active-paths-to-chat-worktree/script.sh +212 -0
- package/scripts/00.chat/recovery/import-active-paths-to-chat-worktree/smoke-test.sh +162 -0
- package/scripts/00.chat/reporting/README.md +30 -0
- package/scripts/00.chat/reporting/generate-commit-log-summary/README.md +35 -0
- package/scripts/00.chat/reporting/generate-commit-log-summary/script.sh +299 -0
- package/scripts/00.chat/reporting/generate-commit-log-summary/smoke-test.sh +93 -0
- package/scripts/00.chat/reporting/report-chat-workspaces/README.md +32 -0
- package/scripts/00.chat/reporting/report-chat-workspaces/script.sh +82 -0
- package/scripts/00.chat/session-log/README.md +33 -0
- package/scripts/00.chat/session-log/check-commit-prerequisites/README.md +89 -0
- package/scripts/00.chat/session-log/check-commit-prerequisites/script.sh +121 -0
- package/scripts/00.chat/session-log/check-commit-prerequisites/smoke-test.sh +119 -0
- package/scripts/00.chat/session-log/check-commitlog-deletions/README.md +90 -0
- package/scripts/00.chat/session-log/check-commitlog-deletions/script.sh +131 -0
- package/scripts/00.chat/session-log/check-commitlog-deletions/smoke-test.sh +123 -0
- package/scripts/00.chat/session-log/checkpoint-chat-session-log/README.md +98 -0
- package/scripts/00.chat/session-log/checkpoint-chat-session-log/script.sh +126 -0
- package/scripts/00.chat/session-log/paths/README.md +38 -0
- package/scripts/00.chat/session-log/paths/lib.sh +133 -0
- package/scripts/00.chat/session-log/prepare-chat-session-before-commit/README.md +90 -0
- package/scripts/00.chat/session-log/prepare-chat-session-before-commit/script.sh +145 -0
- package/scripts/00.chat/session-log/read-current-chat-log/README.md +44 -0
- package/scripts/00.chat/session-log/read-current-chat-log/script.sh +92 -0
- package/scripts/00.chat/session-log/read-current-chat-log/smoke-test.sh +127 -0
- package/scripts/00.chat/session-log/record-chat-commit/README.md +133 -0
- package/scripts/00.chat/session-log/record-chat-commit/script.sh +394 -0
- package/scripts/00.chat/session-log/record-chat-commit/smoke-test.sh +227 -0
- package/scripts/00.chat/session-log/record-main-refresh-conflict/README.md +34 -0
- package/scripts/00.chat/session-log/record-main-refresh-conflict/script.sh +239 -0
- package/scripts/00.chat/session-log/rename-current-chat-log-folder/README.md +32 -0
- package/scripts/00.chat/session-log/rename-current-chat-log-folder/script.sh +112 -0
- package/scripts/00.chat/session-log/update-chat-log/README.md +32 -0
- package/scripts/00.chat/session-log/update-chat-log/script.sh +294 -0
- package/scripts/00.chat/startup/README.md +37 -0
- package/scripts/00.chat/startup/auto-start-missing-session/README.md +113 -0
- package/scripts/00.chat/startup/auto-start-missing-session/script.sh +54 -0
- package/scripts/00.chat/startup/resolve-current-chat-session/README.md +57 -0
- package/scripts/00.chat/startup/resolve-current-chat-session/script.sh +47 -0
- package/scripts/00.chat/startup/resolve-current-chat-session/smoke-test.sh +130 -0
- package/scripts/00.chat/startup/start-chat-session/README.md +197 -0
- package/scripts/00.chat/startup/start-chat-session/script.sh +330 -0
- package/scripts/00.chat/startup/start-chat-session/smoke-test.sh +182 -0
- package/scripts/00.chat/startup/start-new-chat/README.md +31 -0
- package/scripts/00.chat/startup/start-new-chat/script.sh +29 -0
- package/scripts/00.chat/transcript/README.md +36 -0
- package/scripts/00.chat/transcript/discover-codex-session-log/README.md +32 -0
- package/scripts/00.chat/transcript/discover-codex-session-log/script.sh +106 -0
- package/scripts/00.chat/transcript/register-codex-session-log/README.md +32 -0
- package/scripts/00.chat/transcript/register-codex-session-log/script.sh +115 -0
- package/scripts/00.chat/worktree/README.md +32 -0
- package/scripts/00.chat/worktree/check-write-location/README.md +87 -0
- package/scripts/00.chat/worktree/check-write-location/script.sh +95 -0
- package/scripts/00.chat/worktree/dirty-worktree-check/README.md +77 -0
- package/scripts/00.chat/worktree/dirty-worktree-check/script.sh +93 -0
- package/scripts/00.chat/worktree/ensure-chat-worktree/README.md +33 -0
- package/scripts/00.chat/worktree/ensure-chat-worktree/script.sh +132 -0
- package/scripts/00.chat/worktree/open-window/README.md +34 -0
- package/scripts/00.chat/worktree/open-window/script.sh +131 -0
- package/scripts/00.chat/worktree/paths/README.md +32 -0
- package/scripts/00.chat/worktree/paths/lib.sh +71 -0
- package/scripts/01.harness/artifact-metadata/check-headers/script.sh +522 -0
- package/scripts/01.harness/artifact-metadata/check-headers/smoke-test.sh +48 -0
- package/scripts/01.harness/check-deterministic-process-drift.sh +416 -0
- package/scripts/01.harness/check-governed-script-command-drift.sh +184 -0
- package/scripts/01.harness/run-governed-script.sh +178 -0
- package/scripts/install.sh +503 -0
- package/scripts/uninstall.sh +199 -0
- package/tests/smoke-test-install.sh +70 -0
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<!-- agentic-artifact:
|
|
2
|
+
schema: agentic-artifact/v2
|
|
3
|
+
id: chat.docs.llm-workbench-acceptance-matrix
|
|
4
|
+
version: 1
|
|
5
|
+
status: active
|
|
6
|
+
layer: 00.chat
|
|
7
|
+
domain: portability
|
|
8
|
+
disciplines:
|
|
9
|
+
- agentic
|
|
10
|
+
kind: doc
|
|
11
|
+
purpose: Map llm-workbench public-beta invariants to enforcing artifacts and checks.
|
|
12
|
+
portability:
|
|
13
|
+
class: required
|
|
14
|
+
targets:
|
|
15
|
+
- llm-workbench
|
|
16
|
+
used_by:
|
|
17
|
+
- id: chat.standards.llm-workbench-public-beta-contract
|
|
18
|
+
path: .agentic/00.chat/standards/llm-workbench-public-beta-contract.md
|
|
19
|
+
- id: chat.script.upstream.validate-llm-workbench-portability.readme
|
|
20
|
+
path: scripts/00.chat/upstream/validate-llm-workbench-portability/README.md
|
|
21
|
+
-->
|
|
22
|
+
# llm-workbench Acceptance Matrix
|
|
23
|
+
|
|
24
|
+
This matrix maps the public-beta contract to the artifacts that enforce it.
|
|
25
|
+
|
|
26
|
+
| Invariant | Primary Artifacts | Required Proof |
|
|
27
|
+
| --- | --- | --- |
|
|
28
|
+
| No durable chat classification | `chat-start.md`, `start-chat-session`, portability validator | Startup metadata has no whole-chat `layer`, `mode`, or `workflow` fields. |
|
|
29
|
+
| Standalone public export | Bootstrap planner, artifact metadata checker, portability validator | Generated public repo and installed target omit source-only trees/scripts and pass `check-headers --all`. |
|
|
30
|
+
| No source-specific generic gates | `prepare-chat-session-before-commit`, before-commit checklist, portability validator | Generic chat surfaces do not hard-code RAG/rulebook gates; optional gates use neutral hooks. |
|
|
31
|
+
| Provider-neutral transcript metrics | `record-chat-commit`, transcript scripts, startup templates | Missing transcript metrics are portable by default; Codex discovery is opt-in adapter behavior. |
|
|
32
|
+
| Provider-neutral cost metrics | `estimate-chat-cost`, `scripts/00.chat/metrics/data/`, record-commit smoke test | Default pricing is `portable-unpriced`; explicit profile overrides record cost. |
|
|
33
|
+
| Safe install/uninstall | Public install/uninstall templates, install smoke, portability validator | Dry run is read-only, apply preserves user files, uninstall removes only manifest-owned material. |
|
|
34
|
+
| Thin assistant adapters | Public adapter templates, install manifest, portability validator | Adapters route to chat-start and avoid provider-specific policy duplication. |
|
|
35
|
+
| Public CLI wrapper | `bin/llm-workbench.js`, package `bin`, package `files`, CLI smoke | `npm pack --dry-run` includes the CLI and required scripts; `init`, `list`, `sessions list`, `new`, `commit`, and `merge-main` are smoke-tested. |
|
|
36
|
+
| CLI/code-assistant robustness | Dispatcher, startup JSON mode, portability validator | `llm-wb new --json` works; stripped executable bits do not break dispatch. |
|
|
37
|
+
| Temporary eval loop | Public-beta checklist, closeout evidence | Temporary evals fail first, pass after implementation, and are removed before closeout. |
|
|
38
|
+
| Documentation truthfulness | Public README/docs/templates | Public docs use the accepted standalone/provider-neutral claim and avoid universal-assistant overclaims. |
|
|
39
|
+
|
|
40
|
+
The permanent acceptance entrypoint is:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
bash scripts/00.chat/upstream/validate-llm-workbench-portability/script.sh
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Changes that discover a new edge case should add that edge case to the
|
|
47
|
+
portability validator or a focused smoke test before closeout.
|
|
48
|
+
|
|
49
|
+
Source-only public-export exclusions include `.agentic/agentic`, `.docs`,
|
|
50
|
+
`.scripts`, `.agentic/01.harness`, `.agentic/docs`, `.agentic/scripts`, and
|
|
51
|
+
`scripts/00.chat/classification`, plus maintainer-history ADR surfaces such as
|
|
52
|
+
`docs/00.chat/public-chat-workbench-adrs.md` and
|
|
53
|
+
`docs/harness/architecture/adrs/`. Public `scripts/01.harness` is limited to
|
|
54
|
+
portable validation and governed-runner helpers; source-maintenance migration,
|
|
55
|
+
taxonomy-generation, and rule-test scripts must not be exported or installed.
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
<!-- agentic-artifact:
|
|
2
|
+
schema: agentic-artifact/v2
|
|
3
|
+
id: chat.script-layout
|
|
4
|
+
version: 1
|
|
5
|
+
status: active
|
|
6
|
+
layer: 00.chat
|
|
7
|
+
domain: scripts
|
|
8
|
+
disciplines:
|
|
9
|
+
- agentic
|
|
10
|
+
kind: doc
|
|
11
|
+
purpose: Explain the current script layout after the chat harness script migration.
|
|
12
|
+
portability:
|
|
13
|
+
class: required
|
|
14
|
+
targets:
|
|
15
|
+
- llm-workbench
|
|
16
|
+
used_by:
|
|
17
|
+
- id: harness.readme
|
|
18
|
+
- id: harness.architecture.adr.0017-organize-scripts-by-owner-domain-and-capability
|
|
19
|
+
- id: harness.architecture.adr.0020-use-scripts-for-layer-command-surfaces
|
|
20
|
+
-->
|
|
21
|
+
# Script Layout
|
|
22
|
+
|
|
23
|
+
This document describes the current script layout. Public workbench users
|
|
24
|
+
should treat this file and the current scripts as the operational source of
|
|
25
|
+
truth; maintainer ADRs remain source-side history only.
|
|
26
|
+
|
|
27
|
+
## Current Shape
|
|
28
|
+
|
|
29
|
+
Chat lifecycle scripts live under:
|
|
30
|
+
|
|
31
|
+
```txt
|
|
32
|
+
scripts/00.chat/<domain>/<capability>/
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Shared harness governance scripts live under:
|
|
36
|
+
|
|
37
|
+
```txt
|
|
38
|
+
scripts/01.harness/
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Future RAG/rulebook, product, and deployment command surfaces should live under:
|
|
42
|
+
|
|
43
|
+
```txt
|
|
44
|
+
scripts/02.rag-rulebook/<domain>/<capability>/
|
|
45
|
+
scripts/03.product/<domain>/<capability>/
|
|
46
|
+
scripts/04.deploy/<domain>/<capability>/
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
That split is intentional:
|
|
50
|
+
|
|
51
|
+
- `scripts/00.chat/` owns chat startup, commands, reporting, session logs,
|
|
52
|
+
recovery, worktrees, main refresh, local merge checks, and upstream bootstrap
|
|
53
|
+
support.
|
|
54
|
+
- `scripts/01.harness/` owns cross-layer harness checks such as metadata,
|
|
55
|
+
deterministic process drift, governed command drift, and the governed script
|
|
56
|
+
runner.
|
|
57
|
+
- `scripts/02.rag-rulebook/` is reserved for future standalone RAG/rulebook
|
|
58
|
+
automation such as corpus extraction, rulebook index generation, chunk
|
|
59
|
+
generation, graph expansion, and context-packet validation.
|
|
60
|
+
- `scripts/03.product/` is reserved for future product-owned automation such as
|
|
61
|
+
entity-builder commands, code generation, migration helpers, product
|
|
62
|
+
validation, and developer CLI capabilities.
|
|
63
|
+
- `scripts/04.deploy/` is reserved for future deployment-owned automation
|
|
64
|
+
such as environment checks, release helpers, deployment validation, and
|
|
65
|
+
operational command wrappers.
|
|
66
|
+
|
|
67
|
+
Use `scripts/` as the canonical executable command surface. The term `tools`
|
|
68
|
+
describes automation capabilities, not a separate top-level command namespace.
|
|
69
|
+
Future MCP exposure should wrap stable script capabilities through an explicit
|
|
70
|
+
registry or manifest instead of importing layer internals directly.
|
|
71
|
+
|
|
72
|
+
Do not add new chat lifecycle scripts under `scripts/shared/chat/` or
|
|
73
|
+
`scripts/shared/git/`. Those were compatibility locations from the earlier
|
|
74
|
+
layout and are now retired.
|
|
75
|
+
|
|
76
|
+
## Capability Folders
|
|
77
|
+
|
|
78
|
+
Each capability folder should contain the files that help a reader understand,
|
|
79
|
+
run, and test that capability:
|
|
80
|
+
|
|
81
|
+
- `script.sh`, `script.js`, or `lib.sh` for the implementation
|
|
82
|
+
- `smoke-test.sh` or another focused validation file when behavior needs proof
|
|
83
|
+
- `README.md` explaining the purpose, inputs, effects, and boundaries
|
|
84
|
+
|
|
85
|
+
Domain folders also have a `README.md` that explains how the capabilities in
|
|
86
|
+
that domain fit together.
|
|
87
|
+
|
|
88
|
+
## Public Surface
|
|
89
|
+
|
|
90
|
+
Humans should usually use `package.json` `chat:*` scripts. Those package
|
|
91
|
+
scripts delegate to canonical `scripts/00.chat/...` paths.
|
|
92
|
+
|
|
93
|
+
Harness workflows, checklists, standards, and gates should point directly at
|
|
94
|
+
canonical `scripts/<numbered-layer>/...` paths for the layer that owns the
|
|
95
|
+
behavior.
|
|
96
|
+
|
|
97
|
+
## Historical Paths
|
|
98
|
+
|
|
99
|
+
Historical documents may mention retired paths, but should do so as migration
|
|
100
|
+
history:
|
|
101
|
+
|
|
102
|
+
- say what previously lived there
|
|
103
|
+
- name the current canonical path or say the behavior was retired
|
|
104
|
+
- avoid runnable examples that make the old path look current
|
|
105
|
+
|
|
106
|
+
Negative tests may create retired paths in throwaway repositories when they are
|
|
107
|
+
proving the governed runner rejects old compatibility surfaces.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# Adapting To Your Repo
|
|
2
|
+
|
|
3
|
+
The workbench is intentionally small at the root and detailed in the harness
|
|
4
|
+
folders.
|
|
5
|
+
|
|
6
|
+
## Keep AGENTS.md Small
|
|
7
|
+
|
|
8
|
+
Use `AGENTS.md` as a router. Put detailed rules in workflows, standards,
|
|
9
|
+
checklists, and scripts.
|
|
10
|
+
|
|
11
|
+
## Add A Layer Deliberately
|
|
12
|
+
|
|
13
|
+
If your repo needs product, infrastructure, docs, or education governance, add
|
|
14
|
+
a layer under `.agentic/` and update `AGENTS.md` only with the routing summary.
|
|
15
|
+
|
|
16
|
+
## Prefer Scripts For Repeatable Checks
|
|
17
|
+
|
|
18
|
+
If a process can be checked deterministically, add or update a governed script
|
|
19
|
+
instead of relying only on prose.
|
|
20
|
+
|
|
21
|
+
## Keep Session History Local To The Repo
|
|
22
|
+
|
|
23
|
+
Do not import another repo's `commitLogs/`. The first chat in your repo creates
|
|
24
|
+
your repo's own session history inside the chat-owned worktree.
|
|
25
|
+
|
|
26
|
+
## Promote Reusable Lessons Upstream
|
|
27
|
+
|
|
28
|
+
When a target repo teaches you something reusable about the workbench, promote
|
|
29
|
+
that lesson back to `llm-workbench` instead of letting each repo drift.
|
package/docs/concepts.md
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# Concepts
|
|
2
|
+
|
|
3
|
+
## Chat Session
|
|
4
|
+
|
|
5
|
+
A chat session is one unit of agent-assisted work. The session log records the
|
|
6
|
+
task, branch, workflow, commits, and estimated transcript metrics.
|
|
7
|
+
|
|
8
|
+
Session logs live under:
|
|
9
|
+
|
|
10
|
+
```txt
|
|
11
|
+
commitLogs/<year>/<month>/<day>/<session>/README.md
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## Chat-Owned Worktree
|
|
15
|
+
|
|
16
|
+
Implementation work happens in a chat-owned Git worktree. The root repo stays
|
|
17
|
+
available as the local integration console.
|
|
18
|
+
|
|
19
|
+
This lets a chat branch do real work without blocking other chats or mixing
|
|
20
|
+
unrelated changes.
|
|
21
|
+
|
|
22
|
+
## Governed Script
|
|
23
|
+
|
|
24
|
+
A governed script is a helper command that has a known path, metadata, and
|
|
25
|
+
approval boundary. The harness prefers governed scripts over ad hoc shell
|
|
26
|
+
commands when behavior should be repeatable.
|
|
27
|
+
|
|
28
|
+
## Local Main Refresh
|
|
29
|
+
|
|
30
|
+
Chat branches should be refreshed from local `main` before promotion. The
|
|
31
|
+
harness separates rehearsal from apply so conflicts can be inspected before
|
|
32
|
+
the branch is changed.
|
|
33
|
+
|
|
34
|
+
## Commit Log
|
|
35
|
+
|
|
36
|
+
The commit log is the work ledger for a chat. It is not a changelog for the
|
|
37
|
+
whole project. It records what happened in one session and preserves the
|
|
38
|
+
evidence needed for closeout, reporting, and future recovery.
|
package/docs/install.md
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# Install
|
|
2
|
+
|
|
3
|
+
## Requirements
|
|
4
|
+
|
|
5
|
+
- Git
|
|
6
|
+
- Bash
|
|
7
|
+
- Node.js and npm for the `llm-wb` CLI
|
|
8
|
+
|
|
9
|
+
## Install Into A Target Repo
|
|
10
|
+
|
|
11
|
+
The intended public install path starts from the target Git repo:
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
cd /path/to/target/repo
|
|
15
|
+
|
|
16
|
+
npx llm-wb init --dry-run
|
|
17
|
+
npx llm-wb init
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Dry-run mode prints the package and file plan without writing. Apply mode
|
|
21
|
+
refuses to write when the plan contains conflicts.
|
|
22
|
+
|
|
23
|
+
The installer copies the workbench harness into the target Git repo. It does not
|
|
24
|
+
copy `commitLogs/` from the workbench repo, overwrite existing assistant
|
|
25
|
+
instruction files, or replace unrelated `package.json` scripts. Existing
|
|
26
|
+
instruction files receive a managed `llm-workbench` block; package files are
|
|
27
|
+
merged instead of overwritten.
|
|
28
|
+
|
|
29
|
+
For an empty Git repo with no first commit yet:
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
npx llm-wb init --init-commit
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
That creates an install commit after the clean plan is applied.
|
|
36
|
+
`--init-commit` is only for repos with no existing `HEAD`; existing repos should
|
|
37
|
+
review and commit the install changes through their normal process. The install
|
|
38
|
+
commit stages only workbench-owned files, managed instruction blocks,
|
|
39
|
+
`package.json` when workbench scripts were added, and the install manifest.
|
|
40
|
+
|
|
41
|
+
Target installs do not copy the upstream `.agentic/01.harness` maintenance
|
|
42
|
+
tree. Reusable harness lessons should be promoted back to `llm-workbench`
|
|
43
|
+
instead of creating source-specific harness governance in each target repo.
|
|
44
|
+
|
|
45
|
+
## Verify The Install
|
|
46
|
+
|
|
47
|
+
From the target repo:
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
npx llm-wb list
|
|
51
|
+
npx llm-wb sessions list
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
`llm-wb list` lists available installed workbench commands. `llm-wb sessions
|
|
55
|
+
list` lists active chat sessions and branches. Both commands should run without
|
|
56
|
+
requiring a current chat session.
|
|
57
|
+
|
|
58
|
+
The public-beta contract is summarized in `docs/public-beta-contract.md`.
|
|
59
|
+
|
|
60
|
+
## First Chat
|
|
61
|
+
|
|
62
|
+
Open the target repo with your coding agent. The first chat startup should
|
|
63
|
+
create that repo's own `commitLogs/` tree inside the chat-owned worktree and
|
|
64
|
+
use the target repo as the source of truth.
|
|
65
|
+
|
|
66
|
+
For tools that prefer machine-readable startup packets:
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
npx llm-wb new --json "Describe the prompt"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
The JSON packet includes the session log, chat-owned worktree, lifecycle
|
|
73
|
+
workflow, latest context-packet references, and first prompt.
|
|
74
|
+
|
|
75
|
+
## Transcript Metadata
|
|
76
|
+
|
|
77
|
+
The workbench stores neutral transcript metadata:
|
|
78
|
+
|
|
79
|
+
- `transcript_provider`
|
|
80
|
+
- `transcript_path`
|
|
81
|
+
- `transcript_bytes`
|
|
82
|
+
- `transcript_source`
|
|
83
|
+
|
|
84
|
+
Codex transcript discovery can populate these fields automatically. Other
|
|
85
|
+
providers can supply them when recording a commit:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
CHAT_TRANSCRIPT_PROVIDER=mistral \
|
|
89
|
+
CHAT_TRANSCRIPT_BYTES=4096 \
|
|
90
|
+
CHAT_TRANSCRIPT_SOURCE="Mistral CLI transcript bytes" \
|
|
91
|
+
bash scripts/00.chat/session-log/record-chat-commit/script.sh \
|
|
92
|
+
<commit-sha> \
|
|
93
|
+
"Commit subject" \
|
|
94
|
+
"Commit summary"
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
Missing transcript metrics do not block portable mode. Set
|
|
98
|
+
`CHAT_TRANSCRIPT_METRICS_MODE=strict` when a repo wants commit recording to fail
|
|
99
|
+
without transcript metrics.
|
|
100
|
+
|
|
101
|
+
## Uninstall
|
|
102
|
+
|
|
103
|
+
From the target repo:
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
bash scripts/uninstall.sh --dry-run .
|
|
107
|
+
bash scripts/uninstall.sh --apply .
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Uninstall reads `.llm-workbench/install-manifest.tsv` from the target repo. It
|
|
111
|
+
removes only workbench-owned files, package scripts, and managed instruction
|
|
112
|
+
blocks recorded in that manifest. It should not remove target repo product code,
|
|
113
|
+
unrelated package scripts, or committed session history unless you explicitly
|
|
114
|
+
clean those files yourself.
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Public-Beta Contract
|
|
2
|
+
|
|
3
|
+
`llm-workbench` is a standalone, provider-neutral Git/Bash/npm chat harness for
|
|
4
|
+
blank or existing repos, with safe install/uninstall, assistant adapters, JSON
|
|
5
|
+
startup packets, and portable transcript metadata across common CLI and
|
|
6
|
+
code-assistant workflows.
|
|
7
|
+
|
|
8
|
+
It does not claim to work perfectly with every LLM assistant or every editor
|
|
9
|
+
setup. Repos can provide instruction files, command surfaces, and structured
|
|
10
|
+
handoffs, but each assistant decides how well it follows those instructions.
|
|
11
|
+
|
|
12
|
+
## Invariants
|
|
13
|
+
|
|
14
|
+
- No durable whole-chat `layer`, `mode`, or `workflow` classification.
|
|
15
|
+
- Prompt-level routing is local and optional.
|
|
16
|
+
- Base startup does not require RAG/rulebook, classifier scripts, or
|
|
17
|
+
source-specific routers.
|
|
18
|
+
- Public export and target installs are self-contained.
|
|
19
|
+
- Transcript metadata is provider-neutral.
|
|
20
|
+
- Codex transcript discovery is an optional adapter, not a default assumption.
|
|
21
|
+
- Cost metrics are unavailable by default until a pricing profile is selected.
|
|
22
|
+
- Install and uninstall are manifest-backed and preserve user files.
|
|
23
|
+
- Assistant adapters are thin routers to the canonical chat lifecycle workflow.
|
|
24
|
+
- The public `llm-wb` CLI is a thin wrapper around the existing
|
|
25
|
+
installer, dispatcher, session-log, and local-merge scripts.
|
|
26
|
+
- `llm-wb list` lists installed workbench commands. Active chat sessions are
|
|
27
|
+
listed with `llm-wb sessions list`.
|
|
28
|
+
- `llm-wb new --json` supports code-assistant startup handoff.
|
|
29
|
+
|
|
30
|
+
## Required Checks
|
|
31
|
+
|
|
32
|
+
Before changing public harness behavior, run the portability suite:
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
bash scripts/00.chat/upstream/validate-llm-workbench-portability/script.sh
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Public changes should also run the relevant focused smoke tests listed in the
|
|
39
|
+
source repo standard.
|
|
40
|
+
|
|
41
|
+
CLI-facing changes should run:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
bash tests/smoke-test-cli.sh
|
|
45
|
+
```
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# Workflows
|
|
2
|
+
|
|
3
|
+
## Start A Chat
|
|
4
|
+
|
|
5
|
+
Chat startup is governed by:
|
|
6
|
+
|
|
7
|
+
```txt
|
|
8
|
+
.agentic/00.chat/workflows/chat-start.md
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
At startup the harness finds or creates session metadata, records the chat
|
|
12
|
+
lifecycle workflow, and verifies the chat-owned worktree when writes are
|
|
13
|
+
allowed. It does not assign the whole chat a durable layer, mode, or workflow.
|
|
14
|
+
|
|
15
|
+
For assistants that can consume structured startup output:
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
llm-wb new --json "Describe the prompt"
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
The JSON packet includes the session log, chat-owned worktree, lifecycle
|
|
22
|
+
workflow, latest context-packet references, and first prompt.
|
|
23
|
+
|
|
24
|
+
Use `npx llm-wb ...` instead of `llm-wb ...` when the CLI is not installed
|
|
25
|
+
globally or linked into your shell.
|
|
26
|
+
|
|
27
|
+
## Commit Work
|
|
28
|
+
|
|
29
|
+
Commit preparation is governed by:
|
|
30
|
+
|
|
31
|
+
```txt
|
|
32
|
+
.agentic/00.chat/workflows/chat-commit.md
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
The before-commit gates check prerequisites, session log safety, deterministic
|
|
36
|
+
process drift, metadata headers, and governed command drift.
|
|
37
|
+
|
|
38
|
+
The public CLI shortcut is:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
llm-wb commit -m "Describe the completed work"
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
This wraps the existing commit gates, creates the task commit, records it in the
|
|
45
|
+
session log, and checkpoints session evidence.
|
|
46
|
+
|
|
47
|
+
Transcript metrics are provider-neutral. Codex can use the bundled transcript
|
|
48
|
+
adapter; other assistants can provide values with `CHAT_TRANSCRIPT_PROVIDER`,
|
|
49
|
+
`CHAT_TRANSCRIPT_PATH`, `CHAT_TRANSCRIPT_BYTES`, and `CHAT_TRANSCRIPT_SOURCE`.
|
|
50
|
+
Portable mode records unavailable metrics without blocking. Strict mode is
|
|
51
|
+
available through `CHAT_TRANSCRIPT_METRICS_MODE=strict`.
|
|
52
|
+
|
|
53
|
+
Cost metrics are provider-neutral by default. Bundled pricing records cost as
|
|
54
|
+
unavailable until `CHAT_COST_PROFILE` or `CHAT_COST_PRICING_FILE` selects a
|
|
55
|
+
concrete pricing profile.
|
|
56
|
+
|
|
57
|
+
## Refresh From Main
|
|
58
|
+
|
|
59
|
+
Main refresh is governed by:
|
|
60
|
+
|
|
61
|
+
```txt
|
|
62
|
+
.agentic/00.chat/workflows/chat-refresh-from-main.md
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
The workflow separates read-only status, rehearsal, and apply.
|
|
66
|
+
|
|
67
|
+
For active chat/session visibility today:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
llm-wb sessions list
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
## Promote To Main
|
|
74
|
+
|
|
75
|
+
Promotion is governed by:
|
|
76
|
+
|
|
77
|
+
```txt
|
|
78
|
+
.agentic/00.chat/workflows/chat-promote-to-main.md
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
The harness treats local merge readiness separately from remote push. A push
|
|
82
|
+
always needs separate explicit approval.
|
|
83
|
+
|
|
84
|
+
The current CLI shortcut verifies readiness and performs only the local merge:
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
llm-wb merge-main
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## Report Or Close A Chat
|
|
91
|
+
|
|
92
|
+
Reporting and closeout are governed by:
|
|
93
|
+
|
|
94
|
+
```txt
|
|
95
|
+
.agentic/00.chat/workflows/chat-reporting.md
|
|
96
|
+
.agentic/00.chat/workflows/chat-cleanup.md
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
These workflows help summarize work, inspect active workspaces, and clean up
|
|
100
|
+
empty chat branches when it is safe.
|
|
101
|
+
|
|
102
|
+
`llm-wb list` intentionally lists installed workbench commands. Use
|
|
103
|
+
`llm-wb sessions list` to list active chat sessions.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
# Minimal Target Repo
|
|
2
|
+
|
|
3
|
+
This example represents the smallest kind of repo that can install the
|
|
4
|
+
workbench:
|
|
5
|
+
|
|
6
|
+
- it is a Git repo
|
|
7
|
+
- it has no existing harness
|
|
8
|
+
- it can receive `AGENTS.md`, `.agentic/`, `scripts/`, and `package.json`
|
|
9
|
+
- its first chat startup creates its own `commitLogs/` inside a chat-owned
|
|
10
|
+
worktree
|
|
11
|
+
|
|
12
|
+
The install smoke test creates a throwaway repo with this shape rather than
|
|
13
|
+
modifying this example directory in place.
|
package/package.json
ADDED
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "llm-wb",
|
|
3
|
+
"version": "0.1.0-beta.0",
|
|
4
|
+
"description": "A portable chat harness for governed agentic development workflows.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"author": "Gordon Rose",
|
|
7
|
+
"homepage": "https://github.com/gordonrose/llm-workbench#readme",
|
|
8
|
+
"repository": {
|
|
9
|
+
"type": "git",
|
|
10
|
+
"url": "git+https://github.com/gordonrose/llm-workbench.git"
|
|
11
|
+
},
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/gordonrose/llm-workbench/issues"
|
|
14
|
+
},
|
|
15
|
+
"keywords": [
|
|
16
|
+
"agentic",
|
|
17
|
+
"chat",
|
|
18
|
+
"cli",
|
|
19
|
+
"git",
|
|
20
|
+
"llm",
|
|
21
|
+
"workbench"
|
|
22
|
+
],
|
|
23
|
+
"engines": {
|
|
24
|
+
"node": ">=18"
|
|
25
|
+
},
|
|
26
|
+
"publishConfig": {
|
|
27
|
+
"access": "public"
|
|
28
|
+
},
|
|
29
|
+
"bin": {
|
|
30
|
+
"llm-wb": "bin/llm-workbench.js"
|
|
31
|
+
},
|
|
32
|
+
"files": [
|
|
33
|
+
".agentic/00.chat/",
|
|
34
|
+
".agentic/shared/",
|
|
35
|
+
".cursor/rules/llm-workbench.mdc",
|
|
36
|
+
".github/copilot-instructions.md",
|
|
37
|
+
"AGENTS.md",
|
|
38
|
+
"CLAUDE.md",
|
|
39
|
+
"CONTRIBUTING.md",
|
|
40
|
+
"LICENSE",
|
|
41
|
+
"LLM_WORKBENCH.md",
|
|
42
|
+
"README.md",
|
|
43
|
+
"SECURITY.md",
|
|
44
|
+
"bin/",
|
|
45
|
+
"docs/00.chat/README.md",
|
|
46
|
+
"docs/00.chat/llm-workbench-acceptance-matrix.md",
|
|
47
|
+
"docs/00.chat/script-layout.md",
|
|
48
|
+
"docs/adapting-to-your-repo.md",
|
|
49
|
+
"docs/concepts.md",
|
|
50
|
+
"docs/install.md",
|
|
51
|
+
"docs/public-beta-contract.md",
|
|
52
|
+
"docs/workflows.md",
|
|
53
|
+
"examples/",
|
|
54
|
+
"scripts/00.chat/README.md",
|
|
55
|
+
"scripts/00.chat/bootstrap/",
|
|
56
|
+
"scripts/00.chat/closeout/",
|
|
57
|
+
"scripts/00.chat/command/",
|
|
58
|
+
"scripts/00.chat/git/",
|
|
59
|
+
"scripts/00.chat/local-merge/",
|
|
60
|
+
"scripts/00.chat/main-refresh/",
|
|
61
|
+
"scripts/00.chat/metrics/",
|
|
62
|
+
"scripts/00.chat/migration/",
|
|
63
|
+
"scripts/00.chat/recovery/",
|
|
64
|
+
"scripts/00.chat/reporting/",
|
|
65
|
+
"scripts/00.chat/session-log/",
|
|
66
|
+
"scripts/00.chat/startup/",
|
|
67
|
+
"scripts/00.chat/transcript/",
|
|
68
|
+
"scripts/00.chat/worktree/",
|
|
69
|
+
"scripts/01.harness/artifact-metadata/check-headers/script.sh",
|
|
70
|
+
"scripts/01.harness/artifact-metadata/check-headers/smoke-test.sh",
|
|
71
|
+
"scripts/01.harness/check-deterministic-process-drift.sh",
|
|
72
|
+
"scripts/01.harness/check-governed-script-command-drift.sh",
|
|
73
|
+
"scripts/01.harness/run-governed-script.sh",
|
|
74
|
+
"scripts/install.sh",
|
|
75
|
+
"scripts/uninstall.sh",
|
|
76
|
+
"tests/smoke-test-install.sh"
|
|
77
|
+
],
|
|
78
|
+
"scripts": {
|
|
79
|
+
"chat": "bash scripts/00.chat/command/dispatcher/script.sh",
|
|
80
|
+
"chat:list": "bash scripts/00.chat/command/dispatcher/script.sh list",
|
|
81
|
+
"chat:new": "bash scripts/00.chat/command/dispatcher/script.sh new",
|
|
82
|
+
"chat:open-window": "bash scripts/00.chat/command/dispatcher/script.sh open-window",
|
|
83
|
+
"chat:close": "bash scripts/00.chat/command/dispatcher/script.sh close",
|
|
84
|
+
"chat:audit-bootstrap": "bash scripts/00.chat/bootstrap/audit-chat-bootstrap-file-set/script.sh",
|
|
85
|
+
"chat:audit-layer-migration": "bash scripts/00.chat/migration/audit-chat-layer-migration/script.sh",
|
|
86
|
+
"chat:cleanup-empty-branches": "bash scripts/00.chat/git/cleanup-empty-chat-branches/script.sh",
|
|
87
|
+
"chat:commit-log-summary": "bash scripts/00.chat/reporting/generate-commit-log-summary/script.sh",
|
|
88
|
+
"chat:record-main-refresh-conflict": "bash scripts/00.chat/session-log/record-main-refresh-conflict/script.sh",
|
|
89
|
+
"chat:report-workspaces": "bash scripts/00.chat/reporting/report-chat-workspaces/script.sh",
|
|
90
|
+
"chat:smoke-package-scripts": "bash scripts/00.chat/command/package-scripts/smoke-test.sh",
|
|
91
|
+
"test:install": "bash tests/smoke-test-install.sh"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
<!-- agentic-artifact:
|
|
2
|
+
schema: agentic-artifact/v2
|
|
3
|
+
id: chat.script.readme
|
|
4
|
+
version: 1
|
|
5
|
+
status: active
|
|
6
|
+
layer: 00.chat
|
|
7
|
+
domain: governance
|
|
8
|
+
disciplines:
|
|
9
|
+
- agentic
|
|
10
|
+
kind: script-domain-readme
|
|
11
|
+
purpose: Explain the canonical script layout for the chat lifecycle layer.
|
|
12
|
+
portability:
|
|
13
|
+
class: required
|
|
14
|
+
targets:
|
|
15
|
+
- llm-workbench
|
|
16
|
+
used_by:
|
|
17
|
+
- id: chat.readme
|
|
18
|
+
path: .agentic/00.chat/README.md
|
|
19
|
+
- id: harness.architecture.adr.0017-organize-scripts-by-owner-domain-and-capability
|
|
20
|
+
-->
|
|
21
|
+
# 00.chat Scripts
|
|
22
|
+
|
|
23
|
+
This tree contains the canonical executable surface for the chat lifecycle
|
|
24
|
+
layer. It is the script side of `.agentic/00.chat/`: workflows describe the
|
|
25
|
+
governed process, and scripts provide deterministic checks, commands, reports,
|
|
26
|
+
startup, recovery, and bookkeeping.
|
|
27
|
+
|
|
28
|
+
Each capability lives in a folder:
|
|
29
|
+
|
|
30
|
+
```txt
|
|
31
|
+
scripts/00.chat/<domain>/<capability>/
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
The common shape is:
|
|
35
|
+
|
|
36
|
+
- `script.sh` or `script.js`: the canonical implementation
|
|
37
|
+
- `smoke-test.sh`: focused behavior proof, when the capability needs one
|
|
38
|
+
- `README.md`: human onboarding for what the capability owns
|
|
39
|
+
|
|
40
|
+
Public users should usually enter through `package.json` `chat:*` scripts.
|
|
41
|
+
Workflow and gate authors should point to the canonical paths in this tree.
|
|
42
|
+
|
|
43
|
+
Retired compatibility paths under `scripts/shared/chat/` and
|
|
44
|
+
`scripts/shared/git/` should not be reintroduced. Historical documentation may
|
|
45
|
+
mention them as previous locations, but live instructions should point here.
|
|
46
|
+
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
<!-- agentic-artifact:
|
|
2
|
+
schema: agentic-artifact/v2
|
|
3
|
+
id: chat.script.bootstrap.readme
|
|
4
|
+
version: 1
|
|
5
|
+
status: active
|
|
6
|
+
layer: 00.chat
|
|
7
|
+
domain: bootstrap
|
|
8
|
+
disciplines:
|
|
9
|
+
- agentic
|
|
10
|
+
kind: script-domain-readme
|
|
11
|
+
purpose: Explain bootstrap scripts for preparing a portable chat workbench repo.
|
|
12
|
+
portability:
|
|
13
|
+
class: required
|
|
14
|
+
targets:
|
|
15
|
+
- llm-workbench
|
|
16
|
+
used_by:
|
|
17
|
+
- id: chat.workflows.bootstrap-chat-workbench-repo
|
|
18
|
+
path: .agentic/00.chat/workflows/bootstrap-chat-workbench-repo.md
|
|
19
|
+
- id: chat.script.bootstrap.audit-chat-bootstrap-file-set.readme
|
|
20
|
+
path: scripts/00.chat/bootstrap/audit-chat-bootstrap-file-set/README.md
|
|
21
|
+
-->
|
|
22
|
+
# Bootstrap Scripts
|
|
23
|
+
|
|
24
|
+
Bootstrap scripts help separate the portable chat workbench from this source
|
|
25
|
+
repo. They answer a practical question: which files are required when creating
|
|
26
|
+
or refreshing a standalone `llm-workbench` style repository?
|
|
27
|
+
|
|
28
|
+
Bootstrap is not normal chat startup. It is source-to-upstream packaging work.
|
|
29
|
+
It must avoid source-specific product files, session logs, transcripts, local
|
|
30
|
+
paths, and deployment material.
|
|
31
|
+
|
|
32
|
+
Use this domain when preparing the public workbench file set, validating that no
|
|
33
|
+
required script is missing, or checking whether a script is merely a validation
|
|
34
|
+
candidate.
|
|
35
|
+
|