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
package/README.md
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
# llm-workbench
|
|
2
|
+
|
|
3
|
+
Turns AI coding conversations into isolated, reproducible Git workspaces.
|
|
4
|
+
|
|
5
|
+
Run AI coding sessions in isolated git worktrees without dirtying `main`.
|
|
6
|
+
|
|
7
|
+
## Why use it?
|
|
8
|
+
|
|
9
|
+
AI coding tools are useful, but they make it easy to lose context, mix unrelated changes, or pollute your main branch.
|
|
10
|
+
|
|
11
|
+
`llm-workbench` gives every chat session its own branch, worktree, and session log so you can experiment safely and merge only when ready.
|
|
12
|
+
|
|
13
|
+
### Before LLM-Workbench
|
|
14
|
+
* one long AI conversation trying to solve multiple problems
|
|
15
|
+
* random commits
|
|
16
|
+
* forgot why code changed
|
|
17
|
+
* dirty main
|
|
18
|
+
* abandoned branches
|
|
19
|
+
|
|
20
|
+
### After LLM-Workbench
|
|
21
|
+
|
|
22
|
+
```text
|
|
23
|
+
Main
|
|
24
|
+
│. │
|
|
25
|
+
▼. ▼
|
|
26
|
+
Start chat #1. Start chat #n
|
|
27
|
+
│. │
|
|
28
|
+
▼. ▼
|
|
29
|
+
Create worktree/branch. ...
|
|
30
|
+
│
|
|
31
|
+
▼
|
|
32
|
+
Code with AI
|
|
33
|
+
│
|
|
34
|
+
▼
|
|
35
|
+
Checkpoint
|
|
36
|
+
│
|
|
37
|
+
▼
|
|
38
|
+
Continue tomorrow
|
|
39
|
+
│
|
|
40
|
+
▼
|
|
41
|
+
Merge back to main
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
* one branch per AI session
|
|
45
|
+
* session logs
|
|
46
|
+
* isolated worktrees
|
|
47
|
+
* merge when ready
|
|
48
|
+
|
|
49
|
+
## Quick start
|
|
50
|
+
|
|
51
|
+
Public npm install is the intended user path:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
cd /path/to/your/repo
|
|
55
|
+
|
|
56
|
+
npx llm-wb init --dry-run
|
|
57
|
+
npx llm-wb init
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Then start and inspect work from that repo:
|
|
61
|
+
|
|
62
|
+
```bash
|
|
63
|
+
npx llm-wb new "your prompt here"
|
|
64
|
+
npx llm-wb sessions list
|
|
65
|
+
npx llm-wb commit -m "Describe the completed work"
|
|
66
|
+
npx llm-wb merge-main
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
`llm-wb list` lists installed workbench commands. To list active chat sessions,
|
|
70
|
+
use `llm-wb sessions list`.
|
|
71
|
+
|
|
72
|
+
This installs into your target repo:
|
|
73
|
+
|
|
74
|
+
* Adds the `llm-wb` CLI
|
|
75
|
+
* Configures AGENTS.md
|
|
76
|
+
* Installs workbench scripts
|
|
77
|
+
* Enables safe uninstall
|
|
78
|
+
* Creates session logs that preserve decisions, prompts and commit history.
|
|
79
|
+
|
|
80
|
+
Each new llm-chat session then creates:
|
|
81
|
+
|
|
82
|
+
- a chat-owned branch
|
|
83
|
+
- a git worktree for that branch
|
|
84
|
+
- a session log/checkpoint record
|
|
85
|
+
- merge-readiness checks before promotion back to `main`
|
|
86
|
+
|
|
87
|
+
Works with existing repositories. No migration required. Uninstall removes only files owned by LLM Workbench.
|
|
88
|
+
|
|
89
|
+
## Who is this for?
|
|
90
|
+
|
|
91
|
+
Developers using Claude Code, Codex, Cursor or Copilot coding assistants who want safer multi-session repo workflows.
|
|
92
|
+
|
|
93
|
+
## Security Boundaries
|
|
94
|
+
|
|
95
|
+
* does not push to remote
|
|
96
|
+
* does not rewrite history
|
|
97
|
+
* does not delete branches without approval
|
|
98
|
+
* does not require a specific LLM provider
|
package/SECURITY.md
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Security Policy
|
|
2
|
+
|
|
3
|
+
`llm-workbench` is local developer tooling. It works with Git repositories,
|
|
4
|
+
shell scripts, worktrees, and generated session logs, so security reports are
|
|
5
|
+
especially important when they involve command execution, file writes, path
|
|
6
|
+
handling, or accidental disclosure of private repo data.
|
|
7
|
+
|
|
8
|
+
## Reporting A Vulnerability
|
|
9
|
+
|
|
10
|
+
Please do not open a public issue for a suspected vulnerability.
|
|
11
|
+
|
|
12
|
+
Report security concerns privately to the maintainer instead. Include:
|
|
13
|
+
|
|
14
|
+
- the affected command, script, workflow, or install path
|
|
15
|
+
- the operating system and shell, if relevant
|
|
16
|
+
- steps to reproduce
|
|
17
|
+
- whether the issue can write files, execute commands, expose private data, or
|
|
18
|
+
bypass an approval boundary
|
|
19
|
+
|
|
20
|
+
If GitHub private vulnerability reporting is enabled for this repo, use that.
|
|
21
|
+
Otherwise, contact the maintainer directly through the contact route listed on
|
|
22
|
+
the GitHub profile or repository.
|
|
23
|
+
|
|
24
|
+
## Scope
|
|
25
|
+
|
|
26
|
+
Examples of in-scope issues:
|
|
27
|
+
|
|
28
|
+
- command injection or unsafe shell quoting
|
|
29
|
+
- install/uninstall writing outside the requested target repo
|
|
30
|
+
- scripts deleting, rewriting, pushing, or overwriting work without approval
|
|
31
|
+
- private paths, transcripts, or secrets being copied into a public install
|
|
32
|
+
- incorrect conflict detection during bootstrap or install
|
|
33
|
+
|
|
34
|
+
Examples that are usually out of scope:
|
|
35
|
+
|
|
36
|
+
- a target repo's own product code
|
|
37
|
+
- local machine compromise unrelated to this harness
|
|
38
|
+
- unsupported modifications made after installation
|
|
39
|
+
|
|
40
|
+
## Safety Principle
|
|
41
|
+
|
|
42
|
+
The harness should prefer refusal over surprise. If a script cannot prove that
|
|
43
|
+
an operation is scoped, reversible, or explicitly approved, it should stop and
|
|
44
|
+
explain the boundary rather than guessing.
|