linersh 0.5.6 → 1.0.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/README.md +65 -165
- package/bin/liner.js +82 -44
- package/cli-update-docs/ABOUT.md +16 -16
- package/cli-update-docs/AI-HANDOFF.md +62 -190
- package/cli-update-docs/CURATION.md +48 -19
- package/cli-update-docs/JTBD-MASTER-PROMPT-ABOUT.md +9 -12
- package/cli-update-docs/JTBD-MASTER-PROMPT.md +1 -1
- package/cli-update-docs/LINER-MASTER.md +77 -63
- package/cli-update-docs/LINER-MD-PRD.md +531 -0
- package/cli-update-docs/MIXTAPE-FORMAT.md +76 -44
- package/cli-update-docs/PLATFORM.md +47 -46
- package/cli-update-docs/README.md +6 -6
- package/cli-update-docs/SKILL.md +72 -37
- package/cli-update-docs/TUI-BACKLOG.md +205 -26
- package/cli-update-docs/quality-check-tests.md +256 -8
- package/cli-update-docs/source-finding-tactics.md +140 -3
- package/cli-update-docs/source-quality-hierarchy.md +83 -0
- package/cli-update-docs/synthesis-guidance.md +19 -5
- package/dist/agents/artifact-validation.js +440 -0
- package/dist/agents/artifact-validation.js.map +1 -0
- package/dist/agents/candidate-longlist.js +100 -0
- package/dist/agents/candidate-longlist.js.map +1 -0
- package/dist/agents/detect.js +3 -2
- package/dist/agents/detect.js.map +1 -1
- package/dist/agents/evaluation-assembly.js +270 -0
- package/dist/agents/evaluation-assembly.js.map +1 -0
- package/dist/agents/headless-runner.js +227 -0
- package/dist/agents/headless-runner.js.map +1 -0
- package/dist/agents/jtbd-clarify.js +42 -41
- package/dist/agents/jtbd-clarify.js.map +1 -1
- package/dist/agents/models.js +6 -7
- package/dist/agents/models.js.map +1 -1
- package/dist/agents/prompts.js +220 -20
- package/dist/agents/prompts.js.map +1 -1
- package/dist/agents/runner.js +462 -21
- package/dist/agents/runner.js.map +1 -1
- package/dist/phases.js +13 -13
- package/dist/phases.js.map +1 -1
- package/dist/source-inbox.js +297 -0
- package/dist/source-inbox.js.map +1 -0
- package/dist/version.js +3 -9
- package/dist/version.js.map +1 -1
- package/dist/yaml-io.js +42 -11
- package/dist/yaml-io.js.map +1 -1
- package/package.json +26 -23
- package/cli-update-docs/JOB-STORY-MIGRATION.md +0 -99
- package/dist/App.js +0 -220
- package/dist/App.js.map +0 -1
- package/dist/colors.js +0 -132
- package/dist/colors.js.map +0 -1
- package/dist/components/Header.js +0 -15
- package/dist/components/Header.js.map +0 -1
- package/dist/components/KeyHints.js +0 -17
- package/dist/components/KeyHints.js.map +0 -1
- package/dist/components/LabeledBox.js +0 -53
- package/dist/components/LabeledBox.js.map +0 -1
- package/dist/components/NextSteps.js +0 -18
- package/dist/components/NextSteps.js.map +0 -1
- package/dist/index.js +0 -17
- package/dist/index.js.map +0 -1
- package/dist/screens/AgentSetup.js +0 -224
- package/dist/screens/AgentSetup.js.map +0 -1
- package/dist/screens/BootSplash.js +0 -163
- package/dist/screens/BootSplash.js.map +0 -1
- package/dist/screens/CompileView.js +0 -567
- package/dist/screens/CompileView.js.map +0 -1
- package/dist/screens/FramingConfirmReview.js +0 -197
- package/dist/screens/FramingConfirmReview.js.map +0 -1
- package/dist/screens/Gate1Review.js +0 -147
- package/dist/screens/Gate1Review.js.map +0 -1
- package/dist/screens/Gate2Review.js +0 -162
- package/dist/screens/Gate2Review.js.map +0 -1
- package/dist/screens/ImportPrompt.js +0 -173
- package/dist/screens/ImportPrompt.js.map +0 -1
- package/dist/screens/JsSetup.js +0 -77
- package/dist/screens/JsSetup.js.map +0 -1
- package/dist/screens/LocalFilePicker.js +0 -139
- package/dist/screens/LocalFilePicker.js.map +0 -1
- package/dist/screens/NewMixtapeWizard.js +0 -662
- package/dist/screens/NewMixtapeWizard.js.map +0 -1
- package/dist/screens/PhaseRunner.js +0 -1203
- package/dist/screens/PhaseRunner.js.map +0 -1
- package/dist/screens/ProcessManifest.js +0 -160
- package/dist/screens/ProcessManifest.js.map +0 -1
- package/dist/screens/ProjectHub.js +0 -557
- package/dist/screens/ProjectHub.js.map +0 -1
- package/dist/screens/SourceModal.js +0 -269
- package/dist/screens/SourceModal.js.map +0 -1
- package/dist/screens/TapeBrowser.js +0 -312
- package/dist/screens/TapeBrowser.js.map +0 -1
- package/dist/screens/TapeDraftReview.js +0 -444
- package/dist/screens/TapeDraftReview.js.map +0 -1
- package/dist/screens/TapeEditor.js +0 -310
- package/dist/screens/TapeEditor.js.map +0 -1
- package/dist/screens/cassette-art.js +0 -72
- package/dist/screens/cassette-art.js.map +0 -1
- package/dist/store.js +0 -10
- package/dist/store.js.map +0 -1
package/dist/yaml-io.js
CHANGED
|
@@ -8,6 +8,7 @@ const ALLOWED_TYPES = new Set([
|
|
|
8
8
|
"youtube",
|
|
9
9
|
"web",
|
|
10
10
|
"local_file",
|
|
11
|
+
"skill",
|
|
11
12
|
]);
|
|
12
13
|
const ALLOWED_PRIORITIES = new Set(["required", "optional"]);
|
|
13
14
|
const ALLOWED_MODES = new Set(["quick", "methodology"]);
|
|
@@ -26,13 +27,23 @@ const ALLOWED_LOCAL_EXTENSIONS = new Set([
|
|
|
26
27
|
".pdf",
|
|
27
28
|
]);
|
|
28
29
|
export function projectFolder(path) {
|
|
30
|
+
const canonical = join(path, "mixtape");
|
|
31
|
+
const projectMarker = join(path, "liner.yaml");
|
|
32
|
+
const legacyTape = join(path, "tape.yaml");
|
|
33
|
+
const canonicalTape = join(canonical, "tape.yaml");
|
|
34
|
+
const corpusPath = existsSync(projectMarker) || existsSync(canonicalTape)
|
|
35
|
+
? canonical
|
|
36
|
+
: existsSync(legacyTape)
|
|
37
|
+
? path
|
|
38
|
+
: canonical;
|
|
29
39
|
return {
|
|
30
|
-
path,
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
40
|
+
rootPath: path,
|
|
41
|
+
path: corpusPath,
|
|
42
|
+
tapePath: join(corpusPath, "tape.yaml"),
|
|
43
|
+
synthesisPath: join(corpusPath, "synthesis.md"),
|
|
44
|
+
mixtapePath: join(corpusPath, "MIXTAPE.md"),
|
|
45
|
+
sourcesDir: join(corpusPath, "sources"),
|
|
46
|
+
workingDir: join(corpusPath, "working"),
|
|
36
47
|
};
|
|
37
48
|
}
|
|
38
49
|
export function readSynthesisStatus(folder) {
|
|
@@ -67,7 +78,7 @@ export function writeTape(path, tape, doc) {
|
|
|
67
78
|
}
|
|
68
79
|
export function emptyTape(curator = "") {
|
|
69
80
|
return {
|
|
70
|
-
title: "New
|
|
81
|
+
title: "New Liner",
|
|
71
82
|
description: "",
|
|
72
83
|
version: 1,
|
|
73
84
|
curator,
|
|
@@ -96,7 +107,7 @@ export function validateTape(tape) {
|
|
|
96
107
|
tape.sources?.forEach((src, i) => {
|
|
97
108
|
const prefix = `sources[${i}]`;
|
|
98
109
|
if (!ALLOWED_TYPES.has(src.type)) {
|
|
99
|
-
errs.push({ field: `${prefix}.type`, message: "must be youtube, web, or
|
|
110
|
+
errs.push({ field: `${prefix}.type`, message: "must be youtube, web, local_file, or skill" });
|
|
100
111
|
}
|
|
101
112
|
if (!ALLOWED_PRIORITIES.has(src.priority)) {
|
|
102
113
|
errs.push({
|
|
@@ -113,8 +124,8 @@ export function validateTape(tape) {
|
|
|
113
124
|
if (path.startsWith("/")) {
|
|
114
125
|
errs.push({ field: `${prefix}.path`, message: "must be relative, not absolute" });
|
|
115
126
|
}
|
|
116
|
-
else if (!path.startsWith("personal/")) {
|
|
117
|
-
errs.push({ field: `${prefix}.path`, message: "must start with personal/" });
|
|
127
|
+
else if (!path.startsWith("personal/") && !path.startsWith("local-sources/")) {
|
|
128
|
+
errs.push({ field: `${prefix}.path`, message: "must start with local-sources/ or personal/" });
|
|
118
129
|
}
|
|
119
130
|
else if (path.split("/").includes("..")) {
|
|
120
131
|
errs.push({ field: `${prefix}.path`, message: "must not contain .. segments" });
|
|
@@ -133,6 +144,14 @@ export function validateTape(tape) {
|
|
|
133
144
|
errs.push({ field: `${prefix}.citation`, message: "required for local_file" });
|
|
134
145
|
}
|
|
135
146
|
}
|
|
147
|
+
else if (src.type === "skill") {
|
|
148
|
+
if (!src.path?.trim() && !src.url?.trim()) {
|
|
149
|
+
errs.push({ field: `${prefix}.path`, message: "skill requires a name/path or GitHub URL" });
|
|
150
|
+
}
|
|
151
|
+
if (src.url?.trim() && !isLikelyUrl(src.url)) {
|
|
152
|
+
errs.push({ field: `${prefix}.url`, message: "not a valid URL" });
|
|
153
|
+
}
|
|
154
|
+
}
|
|
136
155
|
else {
|
|
137
156
|
// youtube / web
|
|
138
157
|
if (!src.url?.trim()) {
|
|
@@ -177,6 +196,11 @@ export function detectSourceType(input) {
|
|
|
177
196
|
lower.includes("youtube.com/shorts/")) {
|
|
178
197
|
return "youtube";
|
|
179
198
|
}
|
|
199
|
+
if (lower.includes("/skills/") ||
|
|
200
|
+
lower.endsWith("/skill.md") ||
|
|
201
|
+
lower.includes("github.com/") && lower.includes("skill")) {
|
|
202
|
+
return "skill";
|
|
203
|
+
}
|
|
180
204
|
return "web";
|
|
181
205
|
}
|
|
182
206
|
/** Slugify a string for use as a folder name. Mirrors Python `project.slugify`. */
|
|
@@ -196,7 +220,8 @@ export function slugify(text, maxLength = 60) {
|
|
|
196
220
|
}
|
|
197
221
|
export function isProjectFolder(path) {
|
|
198
222
|
try {
|
|
199
|
-
|
|
223
|
+
const folder = projectFolder(path);
|
|
224
|
+
return statSync(path).isDirectory() && existsSync(folder.tapePath);
|
|
200
225
|
}
|
|
201
226
|
catch {
|
|
202
227
|
return false;
|
|
@@ -308,6 +333,12 @@ function applyTapeToDocument(doc, tape) {
|
|
|
308
333
|
if (s.citation)
|
|
309
334
|
obj["citation"] = s.citation;
|
|
310
335
|
}
|
|
336
|
+
else if (s.type === "skill") {
|
|
337
|
+
if (s.path)
|
|
338
|
+
obj["path"] = s.path;
|
|
339
|
+
if (s.url)
|
|
340
|
+
obj["url"] = s.url;
|
|
341
|
+
}
|
|
311
342
|
else {
|
|
312
343
|
if (s.url)
|
|
313
344
|
obj["url"] = s.url;
|
package/dist/yaml-io.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"yaml-io.js","sourceRoot":"","sources":["../src/yaml-io.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"yaml-io.js","sourceRoot":"","sources":["../src/yaml-io.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,54 +1,57 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "linersh",
|
|
3
|
-
"version": "0.
|
|
4
|
-
"description": "Liner —
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Liner — npm shim, Go TUI launcher, and headless methodology runner.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"author": "cmdux-sh",
|
|
8
8
|
"homepage": "https://liner.sh",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/cmdux-sh/liner.git"
|
|
12
|
+
},
|
|
13
|
+
"bugs": {
|
|
14
|
+
"url": "https://github.com/cmdux-sh/liner/issues"
|
|
15
|
+
},
|
|
9
16
|
"bin": {
|
|
10
17
|
"liner": "bin/liner.js"
|
|
11
18
|
},
|
|
12
19
|
"files": [
|
|
13
|
-
"bin/",
|
|
20
|
+
"bin/liner.js",
|
|
14
21
|
"dist/",
|
|
15
22
|
"cli-update-docs/"
|
|
16
23
|
],
|
|
17
24
|
"scripts": {
|
|
18
25
|
"build": "tsc",
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
26
|
+
"build:go": "cd ../go-tui && go build -o ../tui/bin/liner-tui ./cmd/liner-tui",
|
|
27
|
+
"build:package": "npm run build && npm run build:go",
|
|
28
|
+
"acceptance:go": "node scripts/go-tui-acceptance.mjs",
|
|
29
|
+
"predev:go": "node scripts/unhide-venv.mjs && npm run build:go",
|
|
30
|
+
"dev:go": "node bin/liner.js",
|
|
31
|
+
"prepack": "node scripts/copy-skill-bundle.mjs && npm run build:package",
|
|
32
|
+
"prepublishOnly": "npm run typecheck && npm test && npm run build:package",
|
|
33
|
+
"predev": "node scripts/unhide-venv.mjs && npm run build:go",
|
|
34
|
+
"dev": "node bin/liner.js",
|
|
23
35
|
"predev:built": "node scripts/unhide-venv.mjs",
|
|
24
|
-
"dev:built": "npm run build && node bin/liner.js",
|
|
36
|
+
"dev:built": "npm run build:package && node bin/liner.js",
|
|
25
37
|
"start": "node bin/liner.js",
|
|
26
38
|
"typecheck": "tsc --noEmit",
|
|
27
39
|
"test": "vitest run"
|
|
28
40
|
},
|
|
29
41
|
"dependencies": {
|
|
30
|
-
"ink": "^5.0.1",
|
|
31
|
-
"ink-big-text": "^2.0.0",
|
|
32
|
-
"ink-gradient": "^3.0.0",
|
|
33
|
-
"ink-spinner": "^5.0.0",
|
|
34
|
-
"ink-text-input": "^6.0.0",
|
|
35
|
-
"react": "^18.3.1",
|
|
36
42
|
"yaml": "^2.6.1"
|
|
37
43
|
},
|
|
38
44
|
"optionalDependencies": {
|
|
39
|
-
"linersh-darwin-arm64": "0.5.
|
|
40
|
-
"linersh-darwin-x64": "0.5.
|
|
41
|
-
"linersh-linux-arm64": "0.5.
|
|
42
|
-
"linersh-linux-x64": "0.5.
|
|
43
|
-
"linersh-win32-x64": "0.5.
|
|
45
|
+
"linersh-darwin-arm64": "^0.5.7 || ^1.0.0",
|
|
46
|
+
"linersh-darwin-x64": "^0.5.7 || ^1.0.0",
|
|
47
|
+
"linersh-linux-arm64": "^0.5.7 || ^1.0.0",
|
|
48
|
+
"linersh-linux-x64": "^0.5.7 || ^1.0.0",
|
|
49
|
+
"linersh-win32-x64": "^0.5.7 || ^1.0.0"
|
|
44
50
|
},
|
|
45
51
|
"devDependencies": {
|
|
46
52
|
"@types/node": "^22.10.0",
|
|
47
|
-
"@types/react": "^18.3.12",
|
|
48
|
-
"ink-testing-library": "^4.0.0",
|
|
49
|
-
"tsx": "^4.19.2",
|
|
50
53
|
"typescript": "^5.7.2",
|
|
51
|
-
"vitest": "^2.
|
|
54
|
+
"vitest": "^3.2.6"
|
|
52
55
|
},
|
|
53
56
|
"engines": {
|
|
54
57
|
"node": ">=18"
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
# Job Story Format Migration
|
|
2
|
-
|
|
3
|
-
The `jtbd:` field in every Liner `tape.yaml` is changing from the old "Help me [verb] [object] [scope]" house form to the Intercom Job Story format: "When [circumstance], I want [motivation], so I can [outcome]." This document is the full checklist for that change.
|
|
4
|
-
|
|
5
|
-
## The new canonical form
|
|
6
|
-
|
|
7
|
-
Spec: `When [circumstance], I want [motivation], so I can [outcome].`
|
|
8
|
-
|
|
9
|
-
All three slots required. Failure modes the validator (or rubric) should catch:
|
|
10
|
-
|
|
11
|
-
- Missing slot
|
|
12
|
-
- Solution in any slot (vendor, framework, library, methodology, or tool name)
|
|
13
|
-
- Two jobs joined by "and" / comma / slash within a single slot
|
|
14
|
-
- Aspirational mush ("be better at X," "succeed," "do it well")
|
|
15
|
-
- Topic-as-JTBD (bare noun phrase masquerading as a Job Story)
|
|
16
|
-
- Generic circumstance ("when I'm working") with no scoping
|
|
17
|
-
|
|
18
|
-
Until a real validator exists, the JTBD master prompt's internal rubric is the authoritative test.
|
|
19
|
-
|
|
20
|
-
## Files to update (known)
|
|
21
|
-
|
|
22
|
-
| File | What changes |
|
|
23
|
-
|------|-------------|
|
|
24
|
-
| `cli-update-docs/MIXTAPE-FORMAT.md` | Update the `jtbd:` field spec to require Job Story form. Add structural and qualitative checks. |
|
|
25
|
-
| `cli-update-docs/CURATION.md` | Phase 1 (Framing) references the house form throughout. Replace examples. Update the "single specific sentence" guidance to name the three required slots. |
|
|
26
|
-
| `cli-update-docs/SKILL.md` | The `curating-mixtapes` skill's Phase 1 paragraph defines what a tight JTBD looks like. Replace examples and any embedded house-form templates. |
|
|
27
|
-
| `cli-update-docs/JTBD-MASTER-PROMPT.md` | Drop in the revised version from the previous turn. |
|
|
28
|
-
| `cli-update-docs/JTBD-MASTER-PROMPT-ABOUT.md` | Substantial rewrite. The current doc explicitly defends choosing the house form over Job Story as a deliberate deviation from the mixtape's synthesis. The new framing inverts: "we initially diverged, then realigned." Update §"Where it came from," the Liner's-house-form choice in §"Design choices worth understanding," and any other instances. |
|
|
29
|
-
| `cli-update-docs/LINER-MASTER.md` | Project-level overview. Sweep for house-form references and example JTBDs. |
|
|
30
|
-
|
|
31
|
-
## Files to check (categories — likely exist, names not confirmed)
|
|
32
|
-
|
|
33
|
-
Worth grepping the repo for:
|
|
34
|
-
|
|
35
|
-
- `README.md` files at root and in subdirectories
|
|
36
|
-
- Any `tape.yaml.template` or scaffolding used by `liner init` (or equivalent)
|
|
37
|
-
- CLI help text — `liner --help`, `liner jtbd --help`, anywhere example JTBDs appear in user-facing strings
|
|
38
|
-
- Test fixtures and sample mixtapes used in automated tests
|
|
39
|
-
- Documentation site source if it lives separately from `docs/`
|
|
40
|
-
- Any top-level index or table of contents inside `cli-update-docs/`
|
|
41
|
-
|
|
42
|
-
Suggested sweep: `rg -l 'Help me ' --type md` and `rg -l 'jtbd:' --type yaml` should surface most of them.
|
|
43
|
-
|
|
44
|
-
## Existing mixtapes to migrate
|
|
45
|
-
|
|
46
|
-
Every existing mixtape's `tape.yaml` has a `jtbd:` in the old form (or, in one known case, no form at all — see Bootstrap below).
|
|
47
|
-
|
|
48
|
-
Two strategies:
|
|
49
|
-
|
|
50
|
-
**Option A — Migrate all at once.** Walk every `mixtapes/*/tape.yaml`, translate each JTBD to Job Story form (manually or with a one-shot prompt), commit together. Cleaner end state; no transition logic needed in code.
|
|
51
|
-
|
|
52
|
-
**Option B — Accept both forms during a transition window.** Validator warns on old-form JTBDs but doesn't reject. Migrate as you touch each mixtape. Lower upfront cost; longer drift window; risk that some mixtapes never get touched.
|
|
53
|
-
|
|
54
|
-
Recommendation: **Option A**, given the small corpus. Transition logic in a validator is permanent maintenance cost for what should be a one-time migration.
|
|
55
|
-
|
|
56
|
-
Known mixtapes:
|
|
57
|
-
|
|
58
|
-
- `examples/mobile-design-foundations/tape.yaml`
|
|
59
|
-
- `mixtapes/jtbd-master-prompt/tape.yaml` (see Bootstrap problem below)
|
|
60
|
-
|
|
61
|
-
## The bootstrap problem
|
|
62
|
-
|
|
63
|
-
The mixtape that informed the JTBD master prompt — `mixtapes/jtbd-master-prompt/` — has this as its own `jtbd:`:
|
|
64
|
-
|
|
65
|
-
> "A guide to help an AI agent create a master prompt that will be used to create a short Job To Be Done description about a hyper-specific task inside a project."
|
|
66
|
-
|
|
67
|
-
This is neither form. It starts with "A guide to..." — a noun phrase describing the artifact, not a Job Story. No circumstance, no motivation slot, no outcome slot.
|
|
68
|
-
|
|
69
|
-
Why it matters:
|
|
70
|
-
|
|
71
|
-
1. **Structural seed-corn problem.** The mixtape that taught the methodology has a JTBD that wouldn't pass the methodology's own rules. When validation goes live, this mixtape fails.
|
|
72
|
-
2. **Whitelisting is worse than fixing.** A permanent exception for the seed mixtape ships inconsistent rules on day one.
|
|
73
|
-
3. **Migrating is mildly retroactive.** The synthesis was generated against this loose JTBD; a stricter one might have produced a tighter synthesis. But the synthesis is good enough that this is a small effect, and the alternative is permanent technical debt.
|
|
74
|
-
|
|
75
|
-
Recommended action: migrate it. Proposed Job Story:
|
|
76
|
-
|
|
77
|
-
> "When I'm designing the master prompt an AI agent will use to elicit a Job Story from a Liner user, I want a curated bridge between JTBD theory and prompt engineering, so I can write a prompt that produces tight, hyper-specific Job Stories in a single human turn."
|
|
78
|
-
|
|
79
|
-
That passes the rubric. Tighten further if useful, but it's a defensible starting point.
|
|
80
|
-
|
|
81
|
-
## Transition strategy (recommended ordering)
|
|
82
|
-
|
|
83
|
-
The order matters because some changes invalidate others.
|
|
84
|
-
|
|
85
|
-
1. **Spec docs first** — `MIXTAPE-FORMAT.md`, `CURATION.md`, `SKILL.md`. Any new mixtape created from this point uses Job Story form.
|
|
86
|
-
2. **Drop in the revised JTBD master prompt** (`JTBD-MASTER-PROMPT.md`).
|
|
87
|
-
3. **Rewrite `JTBD-MASTER-PROMPT-ABOUT.md`** so the rationale matches the new reality.
|
|
88
|
-
4. **Migrate the two known mixtapes** (`examples/mobile-design-foundations/`, `mixtapes/jtbd-master-prompt/`).
|
|
89
|
-
5. **Grep for stragglers** (`rg 'Help me ' --type md`, `rg 'jtbd:' --type yaml`) and migrate anything found.
|
|
90
|
-
6. **Only then add a validator** — and start it in warn-only mode for one release cycle before rejecting.
|
|
91
|
-
|
|
92
|
-
Doing the spec docs and the prompt before the validator means new mixtapes are correct from the start. Doing the migration before the validator means you don't ship a validator that rejects your own seed mixtape on day one.
|
|
93
|
-
|
|
94
|
-
## What this doesn't cover
|
|
95
|
-
|
|
96
|
-
- **Format versioning.** Whether to support both forms long-term via a `format_version` field in `tape.yaml`. Probably not worth the complexity for a small corpus; flagged in case it becomes relevant.
|
|
97
|
-
- **Validator design.** The rubric in the JTBD master prompt is qualitative. An LLM-as-judge pattern (Promptfoo `llm-rubric`, Source 28 of the mixtape synthesis) is the natural implementation. A pure regex/parser check can only catch slot absence, not mush — necessary but insufficient.
|
|
98
|
-
- **Distribution backward compatibility.** If mixtapes are ever distributed via a package registry, users may hold old-form copies after a format change. If mixtapes only live in user repos, this isn't a concern.
|
|
99
|
-
- **The migration of any third-party or external mixtapes.** Scope this doc to your own repo; signal the format change to anyone downstream separately.
|
package/dist/App.js
DELETED
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
import React, { useCallback, useEffect, useRef, useState } from "react";
|
|
2
|
-
import { Box, Text } from "ink";
|
|
3
|
-
import { AppContext } from "./store.js";
|
|
4
|
-
import { MUTED, ERROR } from "./colors.js";
|
|
5
|
-
import { TapeBrowser } from "./screens/TapeBrowser.js";
|
|
6
|
-
import { TapeEditor } from "./screens/TapeEditor.js";
|
|
7
|
-
import { SourceModal } from "./screens/SourceModal.js";
|
|
8
|
-
import { CompileView } from "./screens/CompileView.js";
|
|
9
|
-
import { NewMixtapeWizard } from "./screens/NewMixtapeWizard.js";
|
|
10
|
-
import { ProjectHub } from "./screens/ProjectHub.js";
|
|
11
|
-
import { PhaseRunner } from "./screens/PhaseRunner.js";
|
|
12
|
-
import { FramingConfirmReview } from "./screens/FramingConfirmReview.js";
|
|
13
|
-
import { Gate1Review } from "./screens/Gate1Review.js";
|
|
14
|
-
import { Gate2Review } from "./screens/Gate2Review.js";
|
|
15
|
-
import { TapeDraftReview } from "./screens/TapeDraftReview.js";
|
|
16
|
-
import { ImportPrompt } from "./screens/ImportPrompt.js";
|
|
17
|
-
import { AgentSetup } from "./screens/AgentSetup.js";
|
|
18
|
-
import { JsSetup } from "./screens/JsSetup.js";
|
|
19
|
-
import { ProcessManifest } from "./screens/ProcessManifest.js";
|
|
20
|
-
import { BootSplash, shouldShowSplash } from "./screens/BootSplash.js";
|
|
21
|
-
import { configExists, readConfig } from "./config.js";
|
|
22
|
-
import { detectAgents } from "./agents/detect.js";
|
|
23
|
-
import { listProjects } from "./ipc.js";
|
|
24
|
-
import { existsSync, mkdirSync } from "node:fs";
|
|
25
|
-
import { join } from "node:path";
|
|
26
|
-
const NOTIFICATION_MS = 3500;
|
|
27
|
-
/** Cap on the back stack — deeper history isn't useful and just costs memory. */
|
|
28
|
-
const HISTORY_LIMIT = 10;
|
|
29
|
-
export function App() {
|
|
30
|
-
const baseDir = useRef(resolveBaseDir()).current;
|
|
31
|
-
// Decide what the user sees first. Four states, in priority order:
|
|
32
|
-
//
|
|
33
|
-
// 1. Agent setup — first launch on a machine with multiple agents
|
|
34
|
-
// installed AND no config file yet. Force a choice before the splash
|
|
35
|
-
// so the methodology phases don't hit the mid-phase picker.
|
|
36
|
-
// 2. JS setup — one-time onboarding for Playwright/Chromium support.
|
|
37
|
-
// 3. Splash — the normal greeting (cassette art + launch menu).
|
|
38
|
-
// 4. Browser — fallback when stdout isn't a TTY or LINER_NO_SPLASH is
|
|
39
|
-
// set (CI runs, narrow terminals).
|
|
40
|
-
//
|
|
41
|
-
// Single-agent installs skip step 1: there's nothing to pick. Repeat runs
|
|
42
|
-
// skip it too because config.yaml exists.
|
|
43
|
-
const initialScreen = resolveInitialScreen();
|
|
44
|
-
const [screen, setScreen] = useState(initialScreen);
|
|
45
|
-
const [history, setHistory] = useState([]);
|
|
46
|
-
const [projects, setProjects] = useState([]);
|
|
47
|
-
const [notification, setNotification] = useState(null);
|
|
48
|
-
const [bootError, setBootError] = useState(null);
|
|
49
|
-
// navigate(next) moves to `next` and maintains the back stack.
|
|
50
|
-
//
|
|
51
|
-
// Dedupe rule: if `next` is already somewhere in the back stack, we REWIND
|
|
52
|
-
// to it (drop everything above it) instead of pushing a duplicate. This is
|
|
53
|
-
// what stops esc loops: several screens hardcode `navigate({kind:"hub"})` /
|
|
54
|
-
// `navigate({kind:"browser"})` for their "go back" action instead of
|
|
55
|
-
// back(), which would otherwise push A→B→A→B forever (e.g. hub esc →
|
|
56
|
-
// browser, browser esc → back to hub, repeat). Rewinding collapses the
|
|
57
|
-
// cycle so esc always makes progress toward home (splash).
|
|
58
|
-
//
|
|
59
|
-
// Side effect: clears the terminal scrollback when the user moves between
|
|
60
|
-
// meaningfully different surfaces. Done before setScreen so Ink's next
|
|
61
|
-
// render lands on a fresh canvas.
|
|
62
|
-
const navigate = useCallback((next) => {
|
|
63
|
-
setScreen((current) => {
|
|
64
|
-
if (process.stdout.isTTY && shouldClearOnNavigate(current, next)) {
|
|
65
|
-
process.stdout.write("\x1B[2J\x1B[3J\x1B[H");
|
|
66
|
-
}
|
|
67
|
-
const nextKey = JSON.stringify(next);
|
|
68
|
-
setHistory((h) => {
|
|
69
|
-
const existingIdx = h.findIndex((s) => JSON.stringify(s) === nextKey);
|
|
70
|
-
if (existingIdx !== -1)
|
|
71
|
-
return h.slice(0, existingIdx);
|
|
72
|
-
return [...h, current].slice(-HISTORY_LIMIT);
|
|
73
|
-
});
|
|
74
|
-
return next;
|
|
75
|
-
});
|
|
76
|
-
}, []);
|
|
77
|
-
// back() pops the history stack and navigates to the prior screen. When
|
|
78
|
-
// the stack is empty (root) it falls back to the splash (home). We pop
|
|
79
|
-
// INSIDE setScreen so the two updates batch and Ink renders once.
|
|
80
|
-
const back = useCallback(() => {
|
|
81
|
-
setHistory((h) => {
|
|
82
|
-
if (h.length === 0) {
|
|
83
|
-
// Empty history = user is at the root. Land on home (splash), not
|
|
84
|
-
// the browser — home is the terminal screen for esc, and esc on home
|
|
85
|
-
// is a no-op (see BootSplash), so navigation stops there instead of
|
|
86
|
-
// looping home ↔ browser.
|
|
87
|
-
if (process.stdout.isTTY)
|
|
88
|
-
process.stdout.write("\x1B[2J\x1B[3J\x1B[H");
|
|
89
|
-
setScreen({ kind: "splash" });
|
|
90
|
-
return h;
|
|
91
|
-
}
|
|
92
|
-
const prev = h[h.length - 1];
|
|
93
|
-
if (process.stdout.isTTY)
|
|
94
|
-
process.stdout.write("\x1B[2J\x1B[3J\x1B[H");
|
|
95
|
-
setScreen(prev);
|
|
96
|
-
return h.slice(0, -1);
|
|
97
|
-
});
|
|
98
|
-
}, []);
|
|
99
|
-
const refreshProjects = useCallback(async () => {
|
|
100
|
-
try {
|
|
101
|
-
const result = await listProjects(baseDir);
|
|
102
|
-
setProjects(result);
|
|
103
|
-
}
|
|
104
|
-
catch (e) {
|
|
105
|
-
setBootError(e.message);
|
|
106
|
-
}
|
|
107
|
-
}, [baseDir]);
|
|
108
|
-
useEffect(() => {
|
|
109
|
-
void refreshProjects();
|
|
110
|
-
}, [refreshProjects]);
|
|
111
|
-
useEffect(() => {
|
|
112
|
-
if (!notification)
|
|
113
|
-
return;
|
|
114
|
-
const timer = setTimeout(() => setNotification(null), NOTIFICATION_MS);
|
|
115
|
-
return () => clearTimeout(timer);
|
|
116
|
-
}, [notification]);
|
|
117
|
-
if (bootError) {
|
|
118
|
-
return (React.createElement(Box, { flexDirection: "column" },
|
|
119
|
-
React.createElement(Text, { color: ERROR }, bootError),
|
|
120
|
-
React.createElement(Text, { color: MUTED }, "Press Ctrl+C to exit.")));
|
|
121
|
-
}
|
|
122
|
-
const ctx = {
|
|
123
|
-
screen,
|
|
124
|
-
baseDir,
|
|
125
|
-
projects,
|
|
126
|
-
notification,
|
|
127
|
-
navigate,
|
|
128
|
-
back,
|
|
129
|
-
refreshProjects,
|
|
130
|
-
setNotification,
|
|
131
|
-
};
|
|
132
|
-
return (React.createElement(AppContext.Provider, { value: ctx },
|
|
133
|
-
React.createElement(ScreenRoot, { screen: screen })));
|
|
134
|
-
}
|
|
135
|
-
function ScreenRoot({ screen }) {
|
|
136
|
-
switch (screen.kind) {
|
|
137
|
-
case "splash":
|
|
138
|
-
return React.createElement(BootSplash, null);
|
|
139
|
-
case "agentSetup":
|
|
140
|
-
return React.createElement(AgentSetup, null);
|
|
141
|
-
case "jsSetup":
|
|
142
|
-
return React.createElement(JsSetup, null);
|
|
143
|
-
case "browser":
|
|
144
|
-
return React.createElement(TapeBrowser, null);
|
|
145
|
-
case "newProject":
|
|
146
|
-
return React.createElement(NewMixtapeWizard, null);
|
|
147
|
-
case "hub":
|
|
148
|
-
return React.createElement(ProjectHub, { tape: screen.tape, folder: screen.folder });
|
|
149
|
-
case "phaseRunner":
|
|
150
|
-
// `key` forces React to unmount and remount when phaseId changes —
|
|
151
|
-
// PhaseRunner's auto-launch effect has empty deps and only fires on
|
|
152
|
-
// initial mount, so without the key, navigating Phase 2 → Phase 4 (both
|
|
153
|
-
// "phaseRunner" kind) leaves the component dormant: same DOM, no
|
|
154
|
-
// agent launch. The remount is also what resets the tool list,
|
|
155
|
-
// finalText, and stats from the previous phase.
|
|
156
|
-
return (React.createElement(PhaseRunner, { key: screen.phaseId, tape: screen.tape, folder: screen.folder, phaseId: screen.phaseId }));
|
|
157
|
-
case "gate0":
|
|
158
|
-
return React.createElement(FramingConfirmReview, { tape: screen.tape, folder: screen.folder });
|
|
159
|
-
case "gate1":
|
|
160
|
-
return React.createElement(Gate1Review, { tape: screen.tape, folder: screen.folder });
|
|
161
|
-
case "gate2":
|
|
162
|
-
return React.createElement(Gate2Review, { tape: screen.tape, folder: screen.folder });
|
|
163
|
-
case "tapeDraft":
|
|
164
|
-
return React.createElement(TapeDraftReview, { tape: screen.tape, folder: screen.folder });
|
|
165
|
-
case "import":
|
|
166
|
-
return React.createElement(ImportPrompt, null);
|
|
167
|
-
case "editor":
|
|
168
|
-
return React.createElement(TapeEditor, { tape: screen.tape, folder: screen.folder });
|
|
169
|
-
case "sourceModal":
|
|
170
|
-
return (React.createElement(SourceModal, { tape: screen.tape, folder: screen.folder, editingIndex: screen.editingIndex }));
|
|
171
|
-
case "compile":
|
|
172
|
-
return (React.createElement(CompileView, { key: `${screen.folder}:${screen.showExisting ? "view" : "run"}`, tape: screen.tape, folder: screen.folder, showExisting: screen.showExisting }));
|
|
173
|
-
case "manifest":
|
|
174
|
-
return React.createElement(ProcessManifest, { tape: screen.tape, folder: screen.folder });
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Pick the screen the user lands on at startup. See the inline doc in
|
|
179
|
-
* `App()` for the priority order.
|
|
180
|
-
*/
|
|
181
|
-
function resolveInitialScreen() {
|
|
182
|
-
// If no splash (non-TTY / narrow / opted-out), don't show setup either —
|
|
183
|
-
// the user is probably in CI or scripting and just wants the browser.
|
|
184
|
-
if (!shouldShowSplash())
|
|
185
|
-
return { kind: "browser" };
|
|
186
|
-
// First-run agent setup only when we have a real choice to surface. One
|
|
187
|
-
// agent (or zero) has nothing to pick, so go straight to the JS-rendering
|
|
188
|
-
// setup prompt.
|
|
189
|
-
if (!configExists()) {
|
|
190
|
-
const installed = detectAgents();
|
|
191
|
-
if (installed.length >= 2)
|
|
192
|
-
return { kind: "agentSetup" };
|
|
193
|
-
return { kind: "jsSetup" };
|
|
194
|
-
}
|
|
195
|
-
if (!readConfig().jsSetupPrompted)
|
|
196
|
-
return { kind: "jsSetup" };
|
|
197
|
-
return { kind: "splash" };
|
|
198
|
-
}
|
|
199
|
-
/**
|
|
200
|
-
* Decide whether navigation `prev → next` should clear the terminal. We clear
|
|
201
|
-
* on any kind change, and on phaseRunner re-entry with a different phaseId so
|
|
202
|
-
* "entering Phase 3" feels like starting fresh, not stacking on top of Phase 2.
|
|
203
|
-
*/
|
|
204
|
-
function shouldClearOnNavigate(prev, next) {
|
|
205
|
-
if (prev.kind !== next.kind)
|
|
206
|
-
return true;
|
|
207
|
-
if (prev.kind === "phaseRunner" && next.kind === "phaseRunner") {
|
|
208
|
-
return prev.phaseId !== next.phaseId;
|
|
209
|
-
}
|
|
210
|
-
return false;
|
|
211
|
-
}
|
|
212
|
-
function resolveBaseDir() {
|
|
213
|
-
const override = process.env["LINER_DIR"];
|
|
214
|
-
const dir = override || join(process.cwd(), "mixtapes");
|
|
215
|
-
if (!existsSync(dir)) {
|
|
216
|
-
mkdirSync(dir, { recursive: true });
|
|
217
|
-
}
|
|
218
|
-
return dir;
|
|
219
|
-
}
|
|
220
|
-
//# sourceMappingURL=App.js.map
|
package/dist/App.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../src/App.tsx"],"names":[],"mappings":"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"}
|