procedure-cli 1.11.0 → 1.12.1
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 +3 -3
- package/dist/app.js +7 -5
- package/dist/app.js.map +1 -1
- package/dist/components/banner.js +1 -1
- package/dist/components/banner.js.map +1 -1
- package/dist/lib/fs.d.ts +8 -1
- package/dist/lib/fs.js +11 -2
- package/dist/lib/fs.js.map +1 -1
- package/dist/lib/skills.js +14 -2
- package/dist/lib/skills.js.map +1 -1
- package/dist/lib/sl-mod.d.ts +25 -0
- package/dist/lib/sl-mod.js +62 -0
- package/dist/lib/sl-mod.js.map +1 -0
- package/dist/lib/template.d.ts +10 -2
- package/dist/lib/template.js +18 -8
- package/dist/lib/template.js.map +1 -1
- package/dist/lib/types.d.ts +4 -2
- package/dist/steps/powerline.js.map +1 -1
- package/dist/steps/{powerline.d.ts → setup.d.ts} +1 -1
- package/dist/steps/setup.js +110 -0
- package/dist/steps/setup.js.map +1 -0
- package/package.json +4 -4
- package/templates/AGENTS.md.hbs +22 -0
- package/templates/CLAUDE.md.hbs +23 -1
- package/templates/bin/release.sh.hbs +2 -1
- package/config/powerline-config.json +0 -52
- package/dist/steps/build-test.d.ts +0 -7
- package/dist/steps/build-test.js +0 -68
- package/dist/steps/build-test.js.map +0 -1
- package/dist/steps/powerline.js +0 -121
package/README.md
CHANGED
|
@@ -32,7 +32,7 @@ Catppuccin Mocha color theme with a Skills.sh-inspired vertical timeline:
|
|
|
32
32
|
█▀▀ █▀▄ █ █ █ █▀▀ █ █ █ █ █▀▄ █▀▀
|
|
33
33
|
▀ ▀ ▀ ▀▀▀ ▀▀▀ ▀▀▀ ▀▀ ▀▀▀ ▀ ▀ ▀▀▀
|
|
34
34
|
Bootstrap any project with a battle-tested
|
|
35
|
-
CLAUDE.md, PRD, user stories, and
|
|
35
|
+
CLAUDE.md, PRD, user stories, and status line.
|
|
36
36
|
───────────────────────────────────────────
|
|
37
37
|
┌
|
|
38
38
|
│ ◇ Project Info
|
|
@@ -130,9 +130,9 @@ Full summary of all collected inputs including auto-derived build commands. Warn
|
|
|
130
130
|
### 6. Setup *(optional)*
|
|
131
131
|
Four independent yes/no prompts — each explained before asking:
|
|
132
132
|
|
|
133
|
-
- **Claude
|
|
133
|
+
- **Claude Code status line** — installs [`sl-mod`](https://github.com/ducban/sl-mod), a plugin that draws folder, model with effort, git branch, and context / 5h / 7d quota gauges in the band above the prompt. It loads once per session, so a redraw costs a function call instead of a Node cold-start. Installs at user scope with `claude plugin marketplace add ducban/sl-mod` + `claude plugin install sl-mod@sl-mod`; skipped when already present; nothing is written into the project. If the `claude` CLI isn't available, both commands are printed to run by hand
|
|
134
134
|
- **Git repository** — `git init` + initial commit with the generated files
|
|
135
|
-
- **npm release scripts** — creates
|
|
135
|
+
- **npm release scripts** — creates `scripts/release.sh` inside the project and adds `release:patch/minor/major` to `package.json`
|
|
136
136
|
- **Code review & writing skills** — installs `/b3awesome-code-review`, `/b3awesome-code-fix`, `/b3awesome-procedure-setup`, and `/add-procedure-cli-rule` slash commands for Claude Code, Codex CLI, and OpenCode; creates `CODE-REVIEW.md` and `CODE-FIXED.md` append-only log templates; places an archive script in `scripts/` for compacting resolved entries; also ensures the full Matt Pocock skill set (22 skills incl. the companions the procedures invoke: `code-review`, `codebase-design`, `diagnosing-bugs`, `tdd`), plus `b3-write-human` and `humanizer` (the skills backing the "Writing for Humans" rule), are installed **globally** via `npx skills add <source> -g` — checks `~/.agents/skills` first and only installs what's missing (once per machine); if an install fails (offline, no npx), the manual command is printed instead
|
|
137
137
|
|
|
138
138
|
## Utility Scripts
|
package/dist/app.js
CHANGED
|
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
2
2
|
import { useState } from "react";
|
|
3
3
|
import { Box, Text, useInput } from "ink";
|
|
4
4
|
import { C } from "./theme.js";
|
|
5
|
+
import { hasMemexVault } from "./lib/fs.js";
|
|
5
6
|
import Banner from "./components/banner.js";
|
|
6
7
|
import Timeline from "./components/timeline.js";
|
|
7
8
|
import { GutterLine } from "./components/gutter-line.js";
|
|
@@ -11,7 +12,7 @@ import StackStyle from "./steps/stack-style.js";
|
|
|
11
12
|
import Architecture from "./steps/architecture.js";
|
|
12
13
|
import ProductContext from "./steps/product-context.js";
|
|
13
14
|
import Generation from "./steps/generation.js";
|
|
14
|
-
import
|
|
15
|
+
import Setup from "./steps/setup.js";
|
|
15
16
|
const STEP_NAMES = [
|
|
16
17
|
"Project Info",
|
|
17
18
|
"Stack & Style",
|
|
@@ -36,6 +37,7 @@ const EMPTY_ANSWERS = {
|
|
|
36
37
|
lintCommand: "",
|
|
37
38
|
prCommand: "",
|
|
38
39
|
hasReleaseScript: false,
|
|
40
|
+
hasMemexVault: hasMemexVault(),
|
|
39
41
|
architecture: "",
|
|
40
42
|
architectureNotes: "",
|
|
41
43
|
problem: "",
|
|
@@ -46,7 +48,7 @@ const EMPTY_ANSWERS = {
|
|
|
46
48
|
userStories: [],
|
|
47
49
|
envVars: [],
|
|
48
50
|
generationSkipped: false,
|
|
49
|
-
|
|
51
|
+
setupSlMod: false,
|
|
50
52
|
setupGit: false,
|
|
51
53
|
setupRelease: false,
|
|
52
54
|
setupSkills: false,
|
|
@@ -83,8 +85,8 @@ function getSummary(stepIndex, answers) {
|
|
|
83
85
|
return answers.generationSkipped ? "skipped" : "files generated";
|
|
84
86
|
case 5: {
|
|
85
87
|
const parts = [];
|
|
86
|
-
if (answers.
|
|
87
|
-
parts.push("
|
|
88
|
+
if (answers.setupSlMod)
|
|
89
|
+
parts.push("Status line");
|
|
88
90
|
if (answers.setupGit)
|
|
89
91
|
parts.push("Git");
|
|
90
92
|
if (answers.setupRelease)
|
|
@@ -186,7 +188,7 @@ export default function App({ dirEntries }) {
|
|
|
186
188
|
}
|
|
187
189
|
return { name, status: "pending" };
|
|
188
190
|
});
|
|
189
|
-
const activeContent = (_jsxs(_Fragment, { children: [currentStep === 0 && (_jsx(ProjectInfo, { onComplete: handleStepComplete })), currentStep === 1 && (_jsx(StackStyle, { onComplete: handleStepComplete })), currentStep === 2 && (_jsx(Architecture, { language: answers.language, framework: answers.framework, onComplete: handleStepComplete })), currentStep === 3 && (_jsx(ProductContext, { initialValues: answers, onComplete: handleStepComplete })), currentStep === 4 && (_jsx(Generation, { answers: answers, onComplete: handleStepComplete })), currentStep === 5 && (_jsx(
|
|
191
|
+
const activeContent = (_jsxs(_Fragment, { children: [currentStep === 0 && (_jsx(ProjectInfo, { onComplete: handleStepComplete })), currentStep === 1 && (_jsx(StackStyle, { onComplete: handleStepComplete })), currentStep === 2 && (_jsx(Architecture, { language: answers.language, framework: answers.framework, onComplete: handleStepComplete })), currentStep === 3 && (_jsx(ProductContext, { initialValues: answers, onComplete: handleStepComplete })), currentStep === 4 && (_jsx(Generation, { answers: answers, onComplete: handleStepComplete })), currentStep === 5 && (_jsx(Setup, { answers: answers, onComplete: handleStepComplete }))] }));
|
|
190
192
|
return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(Banner, {}), _jsx(Timeline, { steps: steps, children: activeContent })] }));
|
|
191
193
|
}
|
|
192
194
|
//# sourceMappingURL=app.js.map
|
package/dist/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,6 @@ const BANNER_LINES = [
|
|
|
7
7
|
"▀ ▀ ▀ ▀▀▀ ▀▀▀ ▀▀▀ ▀▀ ▀▀▀ ▀ ▀ ▀▀▀",
|
|
8
8
|
];
|
|
9
9
|
export default function Banner() {
|
|
10
|
-
return (_jsxs(Box, { flexDirection: "column", marginBottom: 0, children: [BANNER_LINES.map((line, i) => (_jsx(Text, { color: C.mauve, children: line }, i))), _jsx(Text, { children: "
|
|
10
|
+
return (_jsxs(Box, { flexDirection: "column", marginBottom: 0, children: [BANNER_LINES.map((line, i) => (_jsx(Text, { color: C.mauve, children: line }, i))), _jsx(Text, { children: "Bootstrap any project with a battle-tested CLAUDE.md" }), _jsx(Text, { color: C.overlay1, children: "─".repeat(43) })] }));
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=banner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/components/banner.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAEhC,MAAM,YAAY,GAAG;IACnB,qCAAqC;IACrC,qCAAqC;IACrC,qCAAqC;CACtC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,MAAM;IAC5B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aACxC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC7B,KAAC,IAAI,IAAS,KAAK,EAAE,CAAC,CAAC,KAAK,YACzB,IAAI,IADI,CAAC,CAEL,CACR,CAAC,EACF,KAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/components/banner.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAEhC,MAAM,YAAY,GAAG;IACnB,qCAAqC;IACrC,qCAAqC;IACrC,qCAAqC;CACtC,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,MAAM;IAC5B,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aACxC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC7B,KAAC,IAAI,IAAS,KAAK,EAAE,CAAC,CAAC,KAAK,YACzB,IAAI,IADI,CAAC,CAEL,CACR,CAAC,EACF,KAAC,IAAI,uEAA4D,EACjE,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAQ,IAC5C,CACP,CAAC;AACJ,CAAC"}
|
package/dist/lib/fs.d.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
export declare function ensureDir(dirPath: string): void;
|
|
2
2
|
export declare function fileExists(filePath: string): boolean;
|
|
3
3
|
export declare function resolveTemplatePath(templateName: string): string;
|
|
4
|
-
|
|
4
|
+
/** Path to the memex-vault diary logger, if this machine keeps a vault. */
|
|
5
|
+
export declare function memexDiaryScript(): string;
|
|
6
|
+
/**
|
|
7
|
+
* True when this machine keeps a memex vault with the diary logger in it.
|
|
8
|
+
* Checks the script rather than the folder: the diary rule is only actionable
|
|
9
|
+
* if the thing it tells you to run actually exists.
|
|
10
|
+
*/
|
|
11
|
+
export declare function hasMemexVault(): boolean;
|
package/dist/lib/fs.js
CHANGED
|
@@ -13,7 +13,16 @@ export function fileExists(filePath) {
|
|
|
13
13
|
export function resolveTemplatePath(templateName) {
|
|
14
14
|
return resolve(__dirname, '..', '..', 'templates', templateName);
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
|
|
16
|
+
/** Path to the memex-vault diary logger, if this machine keeps a vault. */
|
|
17
|
+
export function memexDiaryScript() {
|
|
18
|
+
return resolve(homedir(), 'Workspace', 'Projects', 'memex-vault', 'tools', 'diary', 'log.sh');
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* True when this machine keeps a memex vault with the diary logger in it.
|
|
22
|
+
* Checks the script rather than the folder: the diary rule is only actionable
|
|
23
|
+
* if the thing it tells you to run actually exists.
|
|
24
|
+
*/
|
|
25
|
+
export function hasMemexVault() {
|
|
26
|
+
return existsSync(memexDiaryScript());
|
|
18
27
|
}
|
|
19
28
|
//# sourceMappingURL=fs.js.map
|
package/dist/lib/fs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/lib/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,OAAO,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"fs.js","sourceRoot":"","sources":["../../src/lib/fs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,MAAM,UAAU,SAAS,CAAC,OAAe;IACvC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;AAC1C,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,YAAoB;IACtD,OAAO,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AACnE,CAAC;AAED,2EAA2E;AAC3E,MAAM,UAAU,gBAAgB;IAC9B,OAAO,OAAO,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAChG,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,aAAa;IAC3B,OAAO,UAAU,CAAC,gBAAgB,EAAE,CAAC,CAAC;AACxC,CAAC"}
|
package/dist/lib/skills.js
CHANGED
|
@@ -84,7 +84,7 @@ const MP_SKILLS = [
|
|
|
84
84
|
'grilling',
|
|
85
85
|
'handoff',
|
|
86
86
|
'teach',
|
|
87
|
-
'writing-
|
|
87
|
+
'writing-for-agents',
|
|
88
88
|
];
|
|
89
89
|
const MP_AGENTS = ['claude-code', 'crush', 'pi', 'qoder'];
|
|
90
90
|
/** The command users run to install the full set themselves (global).
|
|
@@ -173,7 +173,6 @@ export function installMattPocockSkills() {
|
|
|
173
173
|
].join(' ');
|
|
174
174
|
try {
|
|
175
175
|
execSync(command, { stdio: 'ignore' });
|
|
176
|
-
return { installed: true, installedNow: missing };
|
|
177
176
|
}
|
|
178
177
|
catch (err) {
|
|
179
178
|
return {
|
|
@@ -182,5 +181,18 @@ export function installMattPocockSkills() {
|
|
|
182
181
|
reason: err instanceof Error ? err.message : String(err),
|
|
183
182
|
};
|
|
184
183
|
}
|
|
184
|
+
// `skills add` exits 0 as long as ONE requested name matches, and drops the
|
|
185
|
+
// rest without mentioning them; it only exits 1 when nothing matched at all.
|
|
186
|
+
// So a zero exit can't tell a partial batch from a complete one. Ask the disk.
|
|
187
|
+
const installedNow = missing.filter(isGlobalSkillInstalled);
|
|
188
|
+
const absent = missing.filter((skill) => !isGlobalSkillInstalled(skill));
|
|
189
|
+
if (absent.length > 0) {
|
|
190
|
+
return {
|
|
191
|
+
installed: false,
|
|
192
|
+
installedNow,
|
|
193
|
+
reason: `mattpocock/skills no longer carries: ${absent.join(', ')} — renamed or dropped upstream`,
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
return { installed: true, installedNow };
|
|
185
197
|
}
|
|
186
198
|
//# sourceMappingURL=skills.js.map
|
package/dist/lib/skills.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/lib/skills.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/lib/skills.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The status line Procedure installs: a Claude Code plugin (a "mod") drawn in
|
|
3
|
+
* the band above the prompt. It replaced claude-powerline, a `statusLine`
|
|
4
|
+
* command that paid a Node cold-start (~57 ms) on every redraw.
|
|
5
|
+
*
|
|
6
|
+
* It installs at user scope — once per machine, from a public GitHub repo that
|
|
7
|
+
* is its own marketplace. Nothing is written into the project: no statusLine
|
|
8
|
+
* key, no config file. That is the whole point of switching.
|
|
9
|
+
*/
|
|
10
|
+
export declare const SL_MOD_PLUGIN = "sl-mod@sl-mod";
|
|
11
|
+
/** Both commands are idempotent — re-running on a machine that has it exits 0. */
|
|
12
|
+
export declare const SL_MOD_INSTALL_COMMANDS: readonly ["claude plugin marketplace add ducban/sl-mod", "claude plugin install sl-mod@sl-mod"];
|
|
13
|
+
export interface SlModInstallResult {
|
|
14
|
+
installed: boolean;
|
|
15
|
+
/** True when the plugin was already here and nothing was run. */
|
|
16
|
+
alreadyInstalled: boolean;
|
|
17
|
+
reason?: string;
|
|
18
|
+
}
|
|
19
|
+
/** Ask the engine, not the filesystem: `claude plugin list --json` is the one source. */
|
|
20
|
+
export declare function isSlModInstalled(): boolean;
|
|
21
|
+
/**
|
|
22
|
+
* Install sl-mod at user scope. Failures (no `claude` CLI, offline) are
|
|
23
|
+
* returned rather than thrown — the caller prints the two commands instead.
|
|
24
|
+
*/
|
|
25
|
+
export declare function installSlMod(): SlModInstallResult;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { execSync } from 'node:child_process';
|
|
2
|
+
/**
|
|
3
|
+
* The status line Procedure installs: a Claude Code plugin (a "mod") drawn in
|
|
4
|
+
* the band above the prompt. It replaced claude-powerline, a `statusLine`
|
|
5
|
+
* command that paid a Node cold-start (~57 ms) on every redraw.
|
|
6
|
+
*
|
|
7
|
+
* It installs at user scope — once per machine, from a public GitHub repo that
|
|
8
|
+
* is its own marketplace. Nothing is written into the project: no statusLine
|
|
9
|
+
* key, no config file. That is the whole point of switching.
|
|
10
|
+
*/
|
|
11
|
+
export const SL_MOD_PLUGIN = 'sl-mod@sl-mod';
|
|
12
|
+
/** Both commands are idempotent — re-running on a machine that has it exits 0. */
|
|
13
|
+
export const SL_MOD_INSTALL_COMMANDS = [
|
|
14
|
+
'claude plugin marketplace add ducban/sl-mod',
|
|
15
|
+
`claude plugin install ${SL_MOD_PLUGIN}`,
|
|
16
|
+
];
|
|
17
|
+
/** Ask the engine, not the filesystem: `claude plugin list --json` is the one source. */
|
|
18
|
+
export function isSlModInstalled() {
|
|
19
|
+
try {
|
|
20
|
+
const out = execSync('claude plugin list --json', {
|
|
21
|
+
stdio: ['ignore', 'pipe', 'ignore'],
|
|
22
|
+
encoding: 'utf-8',
|
|
23
|
+
});
|
|
24
|
+
const list = JSON.parse(out);
|
|
25
|
+
return Array.isArray(list) && list.some((p) => p.id === SL_MOD_PLUGIN);
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Install sl-mod at user scope. Failures (no `claude` CLI, offline) are
|
|
33
|
+
* returned rather than thrown — the caller prints the two commands instead.
|
|
34
|
+
*/
|
|
35
|
+
export function installSlMod() {
|
|
36
|
+
if (isSlModInstalled()) {
|
|
37
|
+
return { installed: true, alreadyInstalled: true };
|
|
38
|
+
}
|
|
39
|
+
for (const command of SL_MOD_INSTALL_COMMANDS) {
|
|
40
|
+
try {
|
|
41
|
+
execSync(command, { stdio: ['ignore', 'ignore', 'pipe'], encoding: 'utf-8' });
|
|
42
|
+
}
|
|
43
|
+
catch (err) {
|
|
44
|
+
const stderr = err.stderr?.trim();
|
|
45
|
+
return {
|
|
46
|
+
installed: false,
|
|
47
|
+
alreadyInstalled: false,
|
|
48
|
+
reason: stderr || (err instanceof Error ? err.message : String(err)),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// Same lesson as skills.ts: a zero exit is a claim, the disk is the fact.
|
|
53
|
+
if (!isSlModInstalled()) {
|
|
54
|
+
return {
|
|
55
|
+
installed: false,
|
|
56
|
+
alreadyInstalled: false,
|
|
57
|
+
reason: `install exited 0 but ${SL_MOD_PLUGIN} is not in \`claude plugin list\``,
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
return { installed: true, alreadyInstalled: false };
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=sl-mod.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sl-mod.js","sourceRoot":"","sources":["../../src/lib/sl-mod.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAE7C,kFAAkF;AAClF,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,6CAA6C;IAC7C,yBAAyB,aAAa,EAAE;CAChC,CAAC;AAaX,yFAAyF;AACzF,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,2BAA2B,EAAE;YAChD,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;YACnC,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAsB,CAAC;QAClD,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,YAAY;IAC1B,IAAI,gBAAgB,EAAE,EAAE,CAAC;QACvB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACrD,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,uBAAuB,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,QAAQ,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,MAAM,GAAI,GAA2B,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;YAC3D,OAAO;gBACL,SAAS,EAAE,KAAK;gBAChB,gBAAgB,EAAE,KAAK;gBACvB,MAAM,EAAE,MAAM,IAAI,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACrE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,0EAA0E;IAC1E,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;QACxB,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,gBAAgB,EAAE,KAAK;YACvB,MAAM,EAAE,wBAAwB,aAAa,mCAAmC;SACjF,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;AACtD,CAAC"}
|
package/dist/lib/template.d.ts
CHANGED
|
@@ -32,13 +32,21 @@ export interface ReleaseConflicts {
|
|
|
32
32
|
packageJsonHasRelease: boolean;
|
|
33
33
|
packageJsonExists: boolean;
|
|
34
34
|
}
|
|
35
|
-
export declare function checkReleaseConflicts(
|
|
35
|
+
export declare function checkReleaseConflicts(targetDir: string): ReleaseConflicts;
|
|
36
36
|
export interface ScaffoldReleaseResult {
|
|
37
37
|
scriptPath: string;
|
|
38
38
|
skipped: boolean;
|
|
39
39
|
reason?: string;
|
|
40
40
|
}
|
|
41
|
-
|
|
41
|
+
/**
|
|
42
|
+
* Where the release script goes: inside the project it releases.
|
|
43
|
+
* It used to be written to ~/bin/<name>-release, which left it untracked and
|
|
44
|
+
* machine-local — clone the repo anywhere else and `run release:patch` called
|
|
45
|
+
* a file that was never part of it. Commit 9a65eea fixed exactly this in
|
|
46
|
+
* Procedure CLI's own repo; this is the same fix for what Procedure generates.
|
|
47
|
+
*/
|
|
48
|
+
export declare function releaseScriptPath(targetDir: string): string;
|
|
49
|
+
export declare function scaffoldRelease(targetDir: string, data: WizardAnswers): ScaffoldReleaseResult;
|
|
42
50
|
export interface PackageJsonReleaseResult {
|
|
43
51
|
created: boolean;
|
|
44
52
|
modified: boolean;
|
package/dist/lib/template.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { readFileSync, writeFileSync, existsSync, chmodSync, copyFileSync } from 'node:fs';
|
|
2
2
|
import { resolve, dirname } from 'node:path';
|
|
3
3
|
import Handlebars from 'handlebars';
|
|
4
|
-
import { ensureDir, resolveTemplatePath
|
|
4
|
+
import { ensureDir, resolveTemplatePath } from './fs.js';
|
|
5
5
|
Handlebars.registerHelper('eq', (a, b) => a === b);
|
|
6
6
|
/**
|
|
7
7
|
* Case-insensitive substring check. Works for both strings and arrays.
|
|
@@ -133,8 +133,8 @@ export function scaffoldAll(targetDir, data) {
|
|
|
133
133
|
writeProcedureMarker(targetDir);
|
|
134
134
|
return report;
|
|
135
135
|
}
|
|
136
|
-
export function checkReleaseConflicts(
|
|
137
|
-
const scriptPath =
|
|
136
|
+
export function checkReleaseConflicts(targetDir) {
|
|
137
|
+
const scriptPath = releaseScriptPath(targetDir);
|
|
138
138
|
const pkgPath = resolve(targetDir, 'package.json');
|
|
139
139
|
let packageJsonExists = false;
|
|
140
140
|
let packageJsonHasRelease = false;
|
|
@@ -154,8 +154,18 @@ export function checkReleaseConflicts(projectName, targetDir) {
|
|
|
154
154
|
packageJsonExists,
|
|
155
155
|
};
|
|
156
156
|
}
|
|
157
|
-
|
|
158
|
-
|
|
157
|
+
/**
|
|
158
|
+
* Where the release script goes: inside the project it releases.
|
|
159
|
+
* It used to be written to ~/bin/<name>-release, which left it untracked and
|
|
160
|
+
* machine-local — clone the repo anywhere else and `run release:patch` called
|
|
161
|
+
* a file that was never part of it. Commit 9a65eea fixed exactly this in
|
|
162
|
+
* Procedure CLI's own repo; this is the same fix for what Procedure generates.
|
|
163
|
+
*/
|
|
164
|
+
export function releaseScriptPath(targetDir) {
|
|
165
|
+
return resolve(targetDir, 'scripts', 'release.sh');
|
|
166
|
+
}
|
|
167
|
+
export function scaffoldRelease(targetDir, data) {
|
|
168
|
+
const scriptPath = releaseScriptPath(targetDir);
|
|
159
169
|
if (existsSync(scriptPath)) {
|
|
160
170
|
return { scriptPath, skipped: true, reason: 'already exists' };
|
|
161
171
|
}
|
|
@@ -169,9 +179,9 @@ export function scaffoldRelease(projectName, data) {
|
|
|
169
179
|
export function ensurePackageJsonReleaseScripts(targetDir, projectName) {
|
|
170
180
|
const pkgPath = resolve(targetDir, 'package.json');
|
|
171
181
|
const releaseScripts = {
|
|
172
|
-
'release:patch':
|
|
173
|
-
'release:minor':
|
|
174
|
-
'release:major':
|
|
182
|
+
'release:patch': 'bash scripts/release.sh patch',
|
|
183
|
+
'release:minor': 'bash scripts/release.sh minor',
|
|
184
|
+
'release:major': 'bash scripts/release.sh major',
|
|
175
185
|
};
|
|
176
186
|
if (existsSync(pkgPath)) {
|
|
177
187
|
try {
|
package/dist/lib/template.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/lib/template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../src/lib/template.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/types.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type StepId = 'project-info' | 'stack-style' | 'architecture' | 'product-context' | 'generation' | '
|
|
1
|
+
export type StepId = 'project-info' | 'stack-style' | 'architecture' | 'product-context' | 'generation' | 'setup';
|
|
2
2
|
export interface UserStoryScenario {
|
|
3
3
|
name: string;
|
|
4
4
|
given: string;
|
|
@@ -33,6 +33,8 @@ export interface WizardAnswers {
|
|
|
33
33
|
lintCommand: string;
|
|
34
34
|
prCommand: string;
|
|
35
35
|
hasReleaseScript: boolean;
|
|
36
|
+
/** Machine-level, not an answer: set once at startup from the filesystem. */
|
|
37
|
+
hasMemexVault: boolean;
|
|
36
38
|
architecture: string;
|
|
37
39
|
architectureNotes: string;
|
|
38
40
|
problem: string;
|
|
@@ -43,7 +45,7 @@ export interface WizardAnswers {
|
|
|
43
45
|
userStories: UserStory[];
|
|
44
46
|
envVars: EnvVar[];
|
|
45
47
|
generationSkipped: boolean;
|
|
46
|
-
|
|
48
|
+
setupSlMod: boolean;
|
|
47
49
|
setupGit: boolean;
|
|
48
50
|
setupRelease: boolean;
|
|
49
51
|
setupSkills: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"powerline.js","sourceRoot":"","sources":["../../src/steps/powerline.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"powerline.js","sourceRoot":"","sources":["../../src/steps/powerline.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,gBAAgB,EAChB,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAmChC,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,EAAS;IAC9D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,iBAAiB,CAAC,CAAC;IAC7D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAc,EAAE,CAAC,CAAC;IAEhE,QAAQ,CACN,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACb,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YACzB,IAAI,KAAK,KAAK,SAAS;gBAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;iBAChD,IAAI,KAAK,KAAK,aAAa;gBAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;iBACjD,IAAI,KAAK,KAAK,YAAY;gBAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,EACD,EAAE,QAAQ,EAAE,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,aAAa,IAAI,KAAK,KAAK,YAAY,EAAE,CACvF,CAAC;IAEF,SAAS,QAAQ,CAAC,KAAc,EAAE,GAAY,EAAE,OAAgB,EAAE,MAAe;QAC/E,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,UAAU,CAAC;YACtD,MAAM,MAAM,GAAgB,EAAE,CAAC;YAE/B,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;gBAChC,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAC;gBAC3C,MAAM,CAAC,qBAAqB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;gBACzD,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YACzE,CAAC;YAED,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;gBACrC,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC;gBAC1C,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;YACzE,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACvD,MAAM,MAAM,GAAG,+BAA+B,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBACvE,MAAM,CAAC,cAAc,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC5C,MAAM,CAAC,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;gBAC3C,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACrC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;YACrC,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,WAAW,CAAC,SAAS,CAAC,CAAC;gBACvB,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC3B,MAAM,KAAK,GAAG,uBAAuB,EAAE,CAAC;gBACxC,MAAM,CAAC,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC;gBAC3C,MAAM,CAAC,oBAAoB,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;gBACxD,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;gBAEpE,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;gBAC5C,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;gBACxC,MAAM,CAAC,sBAAsB,GAAG,aAAa,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC;gBAClF,MAAM,CAAC,yBAAyB,GAAG,aAAa,CAAC,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC;gBACxG,MAAM,CAAC,oBAAoB,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;YACrH,CAAC;YAED,cAAc,CAAC,MAAM,CAAC,CAAC;YACvB,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjB,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACvH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClB,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,IAAI,KAAK,KAAK,iBAAiB,EAAE,CAAC;QAChC,OAAO,CACL,8BACE,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,IAAI,uDAAwC,GACvC,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,0EAAkE,GAC9E,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,2EAAmE,GAC/E,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,yEAAiE,GAC7E,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,oEAAuD,GACnE,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,2EAAmE,GAC/E,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,mCAA2B,GACvC,EACb,KAAC,UAAU,cACT,KAAC,IAAI,oBAAS,GACH,EACb,MAAC,UAAU,eACT,KAAC,IAAI,IAAC,IAAI,mDAAoC,EAC9C,KAAC,YAAY,IACX,SAAS,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC7D,QAAQ,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAC7D,IACS,IACZ,CACJ,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CACL,8BACG,SAAS,IAAI,CACZ,KAAC,UAAU,cACT,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,8BAAsB,EAAA,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,OAAO,oBAAY,IAAO,GAC9E,CACd,EACD,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,IAAI,qCAAsB,GACrB,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,6EAAqE,GACjF,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,4EAA+D,GAC3E,EACb,KAAC,UAAU,cACT,KAAC,IAAI,oBAAS,GACH,EACb,MAAC,UAAU,eACT,KAAC,IAAI,IAAC,IAAI,4CAA6B,EACvC,KAAC,YAAY,IACX,SAAS,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAC/D,QAAQ,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAC/D,IACS,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,4BAA4B,GAAQ,GACnD,IACZ,CACJ,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,UAAU,CAAC;QACtD,OAAO,CACL,8BACG,SAAS,IAAI,CACZ,KAAC,UAAU,cACT,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,8BAAsB,EAAA,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,OAAO,oBAAY,IAAO,GAC9E,CACd,EACA,OAAO,IAAI,CACV,KAAC,UAAU,cACT,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,sBAAc,EAAA,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,OAAO,oBAAY,IAAO,GACtE,CACd,EACD,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,IAAI,0CAA2B,GAC1B,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,mFAA2E,GACvF,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,6EAAqE,GACjF,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,6DAAqD,GACjE,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,yEAAiE,GAC7E,EACb,KAAC,UAAU,cACT,KAAC,IAAI,oBAAS,GACH,EACb,MAAC,UAAU,eACT,KAAC,IAAI,IAAC,IAAI,+CAAgC,EAC1C,KAAC,YAAY,IACX,SAAS,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAClE,QAAQ,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAClE,IACS,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,4BAA4B,GAAQ,GACnD,IACZ,CACJ,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;QAC3B,OAAO,CACL,8BACG,SAAS,IAAI,CACZ,KAAC,UAAU,cACT,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,8BAAsB,EAAA,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,OAAO,oBAAY,IAAO,GAC9E,CACd,EACA,OAAO,IAAI,CACV,KAAC,UAAU,cACT,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,sBAAc,EAAA,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,OAAO,oBAAY,IAAO,GACtE,CACd,EACA,WAAW,IAAI,CACd,KAAC,UAAU,cACT,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,0BAAkB,EAAA,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,OAAO,oBAAY,IAAO,GAC1E,CACd,EACD,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,IAAI,mDAAoC,GACnC,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,wEAAgE,GAC5E,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,iEAAyD,GACrE,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,qEAA6D,GACzE,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,6EAAqE,GACjF,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,yEAAiE,GAC7E,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,iFAAoE,GAChF,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,2CAAmC,GAC/C,EACb,KAAC,UAAU,cACT,KAAC,IAAI,oBAAS,GACH,EACb,MAAC,UAAU,eACT,KAAC,IAAI,IAAC,IAAI,4DAA6C,EACvD,KAAC,YAAY,IACX,SAAS,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAC1F,QAAQ,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAC3F,IACS,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,4BAA4B,GAAQ,GACnD,IACZ,CACJ,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CACL,KAAC,UAAU,cACT,KAAC,OAAO,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,wBAAwB,GAAI,GAC3G,CACd,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,CACL,KAAC,UAAU,cACT,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,GAAG,8BAAgB,QAAQ,IAAQ,GACvC,CACd,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,OAAO,CACL,8BACG,SAAS,IAAI,WAAW,CAAC,cAAc,IAAI,CAC1C,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,YACjB,WAAW,CAAC,qBAAqB;wBAChC,CAAC,CAAC,uDAAuD;wBACzD,CAAC,CAAC,4CAA4C,GAC3C,GACI,CACd,EACA,SAAS,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,CAC3C,8BACE,KAAC,UAAU,cACT,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,aAAG,2BAA2B,EAAE,WAAW,CAAC,YAAY,IAAQ,GACzE,EACZ,uBAAuB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACpC,KAAC,UAAU,cACT,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,sBAAQ,GAAG,IAAQ,IAD3B,GAAG,CAEP,CACd,CAAC,IACD,CACJ,EACA,OAAO,IAAI,WAAW,CAAC,YAAY,IAAI,CACtC,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,4CAAoC,GAC7C,CACd,EACA,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,UAAU,IAAI,CACjE,KAAC,UAAU,cACT,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,aAAG,SAAS,EAAE,WAAW,CAAC,UAAU,IAAQ,GACrD,CACd,EACA,WAAW,IAAI,WAAW,CAAC,cAAc,IAAI,CAC5C,KAAC,UAAU,cACT,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,wCACM,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,IAC9H,GACI,CACd,EACA,WAAW,IAAI,WAAW,CAAC,cAAc,IAAI,CAC5C,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,8DAAiD,GAC7D,CACd,EACA,UAAU,IAAI,WAAW,CAAC,YAAY,IAAI,CACzC,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,8CAAsC,GAC/C,CACd,EACA,UAAU,IAAI,WAAW,CAAC,iBAAiB,IAAI,CAC9C,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,YACjB,WAAW,CAAC,oBAAoB;wBAC/B,CAAC,CAAC,0CAA0C,WAAW,CAAC,oBAAoB,UAAU;wBACtF,CAAC,CAAC,gDAAgD,GAC/C,GACI,CACd,EACA,UAAU,IAAI,WAAW,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAC3E,8BACE,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,YAAG,mEAAmE,GAAQ,GACvF,EACb,KAAC,UAAU,cACT,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,sBAAQ,yBAAyB,IAAQ,GACrD,IACZ,CACJ,EACA,UAAU,IAAI,WAAW,CAAC,sBAAsB,IAAI,CACnD,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,YACjB,WAAW,CAAC,yBAAyB;wBACpC,CAAC,CAAC,sCAAsC,WAAW,CAAC,yBAAyB,UAAU;wBACvF,CAAC,CAAC,wEAAwE,GACvE,GACI,CACd,EACA,UAAU,IAAI,WAAW,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,sBAAsB,IAAI,CAChF,8BACE,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,YAAG,+DAA+D,GAAQ,GACnF,EACb,KAAC,UAAU,cACT,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,sBAAQ,8BAA8B,IAAQ,GAC1D,EACb,KAAC,UAAU,cACT,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,sBAAQ,yBAAyB,IAAQ,GACrD,IACZ,CACJ,EACA,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,IAAI,CACxD,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,sCAA8B,GAC1C,CACd,EACD,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,sCAAuB,GACtC,IACZ,CACJ,CAAC;AACJ,CAAC"}
|
|
@@ -3,5 +3,5 @@ interface Props {
|
|
|
3
3
|
answers: WizardAnswers;
|
|
4
4
|
onComplete: (answers: Partial<WizardAnswers>) => void;
|
|
5
5
|
}
|
|
6
|
-
export default function
|
|
6
|
+
export default function Setup({ answers, onComplete }: Props): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export {};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from "react";
|
|
3
|
+
import { Text, useInput } from "ink";
|
|
4
|
+
import { ConfirmInput, Spinner } from "@inkjs/ui";
|
|
5
|
+
import { GutterLine } from "../components/gutter-line.js";
|
|
6
|
+
import { installSlMod, SL_MOD_INSTALL_COMMANDS } from "../lib/sl-mod.js";
|
|
7
|
+
import { initGit } from "../lib/git.js";
|
|
8
|
+
import { scaffoldRelease, ensurePackageJsonReleaseScripts } from "../lib/template.js";
|
|
9
|
+
import { setupSkills, installMattPocockSkills, MP_SKILLS_INSTALL_COMMAND, installB3WriteHuman, installHumanizer, B3_WRITE_HUMAN_INSTALL_COMMAND, HUMANIZER_INSTALL_COMMAND, } from "../lib/skills.js";
|
|
10
|
+
import { C } from "../theme.js";
|
|
11
|
+
export default function Setup({ answers, onComplete }) {
|
|
12
|
+
const [phase, setPhase] = useState("ask-status-line");
|
|
13
|
+
const [wantSlMod, setWantSlMod] = useState(false);
|
|
14
|
+
const [wantGit, setWantGit] = useState(false);
|
|
15
|
+
const [wantRelease, setWantRelease] = useState(false);
|
|
16
|
+
const [wantSkills, setWantSkills] = useState(false);
|
|
17
|
+
const [errorMsg, setErrorMsg] = useState("");
|
|
18
|
+
const [setupResult, setSetupResult] = useState({});
|
|
19
|
+
useInput((input, key) => {
|
|
20
|
+
if (key.shift && key.tab) {
|
|
21
|
+
if (phase === "ask-git")
|
|
22
|
+
setPhase("ask-status-line");
|
|
23
|
+
else if (phase === "ask-release")
|
|
24
|
+
setPhase("ask-git");
|
|
25
|
+
else if (phase === "ask-skills")
|
|
26
|
+
setPhase("ask-release");
|
|
27
|
+
}
|
|
28
|
+
}, { isActive: phase === "ask-git" || phase === "ask-release" || phase === "ask-skills" });
|
|
29
|
+
function runSetup(slMod, git, release, skills) {
|
|
30
|
+
setPhase("running");
|
|
31
|
+
try {
|
|
32
|
+
const targetDir = process.cwd();
|
|
33
|
+
const projectName = answers.projectName || "untitled";
|
|
34
|
+
const result = {};
|
|
35
|
+
if (slMod) {
|
|
36
|
+
const slModRes = installSlMod();
|
|
37
|
+
result.slModInstalled = slModRes.installed;
|
|
38
|
+
result.slModAlreadyInstalled = slModRes.alreadyInstalled;
|
|
39
|
+
result.slModWarning = slModRes.installed ? undefined : slModRes.reason;
|
|
40
|
+
}
|
|
41
|
+
if (git) {
|
|
42
|
+
const gitResult = initGit(targetDir);
|
|
43
|
+
result.gitCommitted = gitResult.committed;
|
|
44
|
+
result.gitWarning = gitResult.committed ? undefined : gitResult.reason;
|
|
45
|
+
}
|
|
46
|
+
if (release) {
|
|
47
|
+
const releaseRes = scaffoldRelease(targetDir, answers);
|
|
48
|
+
const pkgRes = ensurePackageJsonReleaseScripts(targetDir, projectName);
|
|
49
|
+
result.releaseCreated = !releaseRes.skipped;
|
|
50
|
+
result.releaseSkipped = releaseRes.skipped;
|
|
51
|
+
result.pkgModified = pkgRes.modified;
|
|
52
|
+
result.pkgCreated = pkgRes.created;
|
|
53
|
+
}
|
|
54
|
+
if (skills) {
|
|
55
|
+
setupSkills(targetDir);
|
|
56
|
+
result.skillsCopied = true;
|
|
57
|
+
const mpRes = installMattPocockSkills();
|
|
58
|
+
result.mpSkillsInstalled = mpRes.installed;
|
|
59
|
+
result.mpSkillsInstalledNow = mpRes.installedNow.length;
|
|
60
|
+
result.mpSkillsWarning = mpRes.installed ? undefined : mpRes.reason;
|
|
61
|
+
const writeHumanRes = installB3WriteHuman();
|
|
62
|
+
const humanizerRes = installHumanizer();
|
|
63
|
+
result.writingSkillsInstalled = writeHumanRes.installed && humanizerRes.installed;
|
|
64
|
+
result.writingSkillsInstalledNow = writeHumanRes.installedNow.length + humanizerRes.installedNow.length;
|
|
65
|
+
result.writingSkillsWarning = [writeHumanRes.reason, humanizerRes.reason].filter(Boolean).join(' / ') || undefined;
|
|
66
|
+
}
|
|
67
|
+
setSetupResult(result);
|
|
68
|
+
setPhase("done");
|
|
69
|
+
setTimeout(() => onComplete({ setupSlMod: slMod, setupGit: git, setupRelease: release, setupSkills: skills }), 1000);
|
|
70
|
+
}
|
|
71
|
+
catch (err) {
|
|
72
|
+
setPhase("error");
|
|
73
|
+
setErrorMsg(err instanceof Error ? err.message : String(err));
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
// ── Ask: Status line ────────────────────────────────────────────────────────
|
|
77
|
+
if (phase === "ask-status-line") {
|
|
78
|
+
return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Claude Code status line (sl-mod)" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Draws a status line in the band above the prompt: folder," }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "model with effort, git branch, and context / 5h / 7d quota" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "gauges. A plugin the engine loads once, so a redraw is a" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "function call \u2014 no Node cold-start per redraw." }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Installs once per machine (user scope). Nothing is written" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "into this project." }) }), _jsx(GutterLine, { children: _jsx(Text, { children: " " }) }), _jsxs(GutterLine, { children: [_jsx(Text, { bold: true, children: "Install sl-mod status line? " }), _jsx(ConfirmInput, { onConfirm: () => { setWantSlMod(true); setPhase("ask-git"); }, onCancel: () => { setWantSlMod(false); setPhase("ask-git"); } })] })] }));
|
|
79
|
+
}
|
|
80
|
+
// ── Ask: Git ────────────────────────────────────────────────────────────────
|
|
81
|
+
if (phase === "ask-git") {
|
|
82
|
+
return (_jsxs(_Fragment, { children: [wantSlMod && (_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Status line: " }), _jsx(Text, { color: C.inputed, children: "yes" })] }) })), _jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Git repository" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Runs git init and makes an initial commit with the generated" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "files \u2014 clean starting point for your project history." }) }), _jsx(GutterLine, { children: _jsx(Text, { children: " " }) }), _jsxs(GutterLine, { children: [_jsx(Text, { bold: true, children: "Initialize git repo? " }), _jsx(ConfirmInput, { onConfirm: () => { setWantGit(true); setPhase("ask-release"); }, onCancel: () => { setWantGit(false); setPhase("ask-release"); } })] }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Shift+Tab prev y/n answer" }) })] }));
|
|
83
|
+
}
|
|
84
|
+
// ── Ask: Release scripts ────────────────────────────────────────────────────
|
|
85
|
+
if (phase === "ask-release") {
|
|
86
|
+
const projectName = answers.projectName || "untitled";
|
|
87
|
+
return (_jsxs(_Fragment, { children: [wantSlMod && (_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Status line: " }), _jsx(Text, { color: C.inputed, children: "yes" })] }) })), wantGit && (_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Git: " }), _jsx(Text, { color: C.inputed, children: "yes" })] }) })), _jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "npm release scripts" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Creates scripts/release.sh in the project and adds release:patch /" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "minor / major scripts to package.json. One command to build," }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "version-bump, push tags, and publish to npm." }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Requires: npm login. Best for packages published to npm." }) }), _jsx(GutterLine, { children: _jsx(Text, { children: " " }) }), _jsxs(GutterLine, { children: [_jsx(Text, { bold: true, children: "Set up release scripts? " }), _jsx(ConfirmInput, { onConfirm: () => { setWantRelease(true); setPhase("ask-skills"); }, onCancel: () => { setWantRelease(false); setPhase("ask-skills"); } })] }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Shift+Tab prev y/n answer" }) })] }));
|
|
88
|
+
}
|
|
89
|
+
// ── Ask: Skills ──────────────────────────────────────────────────────────────
|
|
90
|
+
if (phase === "ask-skills") {
|
|
91
|
+
return (_jsxs(_Fragment, { children: [wantSlMod && (_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Status line: " }), _jsx(Text, { color: C.inputed, children: "yes" })] }) })), wantGit && (_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Git: " }), _jsx(Text, { color: C.inputed, children: "yes" })] }) })), wantRelease && (_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Release: " }), _jsx(Text, { color: C.inputed, children: "yes" })] }) })), _jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Code review & writing skills" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Installs /b3awesome-code-review and /b3awesome-code-fix" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "skills for Claude Code, Codex CLI, and OpenCode." }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Creates CODE-REVIEW.md and CODE-FIXED.md if missing." }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Also ensures the Matt Pocock skill set (wayfinder, grilling," }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "code-review, tdd, ...) plus b3-write-human and humanizer" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "are installed globally \u2014 checks first, installs only what's" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "missing. Once per machine." }) }), _jsx(GutterLine, { children: _jsx(Text, { children: " " }) }), _jsxs(GutterLine, { children: [_jsx(Text, { bold: true, children: "Set up code review & writing skills? " }), _jsx(ConfirmInput, { onConfirm: () => { setWantSkills(true); runSetup(wantSlMod, wantGit, wantRelease, true); }, onCancel: () => { setWantSkills(false); runSetup(wantSlMod, wantGit, wantRelease, false); } })] }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Shift+Tab prev y/n answer" }) })] }));
|
|
92
|
+
}
|
|
93
|
+
// ── Running ─────────────────────────────────────────────────────────────────
|
|
94
|
+
if (phase === "running") {
|
|
95
|
+
return (_jsx(GutterLine, { children: _jsx(Spinner, { label: wantSkills ? "Running setup tasks... (skill install may take a minute)" : "Running setup tasks..." }) }));
|
|
96
|
+
}
|
|
97
|
+
// ── Error ───────────────────────────────────────────────────────────────────
|
|
98
|
+
if (phase === "error") {
|
|
99
|
+
return (_jsx(GutterLine, { children: _jsxs(Text, { color: C.red, children: ["Setup error: ", errorMsg] }) }));
|
|
100
|
+
}
|
|
101
|
+
// ── Done ────────────────────────────────────────────────────────────────────
|
|
102
|
+
return (_jsxs(_Fragment, { children: [wantSlMod && setupResult.slModInstalled && (_jsx(GutterLine, { children: _jsx(Text, { color: C.green, children: setupResult.slModAlreadyInstalled
|
|
103
|
+
? "sl-mod status line already installed on this machine."
|
|
104
|
+
: "sl-mod status line installed (user scope)." }) })), wantSlMod && !setupResult.slModInstalled && (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsxs(Text, { color: C.peach, children: ["⚠ sl-mod install failed: ", setupResult.slModWarning] }) }), SL_MOD_INSTALL_COMMANDS.map((cmd) => (_jsx(GutterLine, { children: _jsxs(Text, { color: C.overlay1, children: ["Run: ", cmd] }) }, cmd)))] })), wantGit && setupResult.gitCommitted && (_jsx(GutterLine, { children: _jsx(Text, { color: C.green, children: "Git repository initialized." }) })), wantGit && !setupResult.gitCommitted && setupResult.gitWarning && (_jsx(GutterLine, { children: _jsxs(Text, { color: C.peach, children: ["⚠ Git: ", setupResult.gitWarning] }) })), wantRelease && setupResult.releaseCreated && (_jsx(GutterLine, { children: _jsxs(Text, { color: C.green, children: ["Release script created.", setupResult.pkgModified ? " package.json updated." : setupResult.pkgCreated ? " package.json created." : ""] }) })), wantRelease && setupResult.releaseSkipped && (_jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Release script already exists \u2014 skipped." }) })), wantSkills && setupResult.skillsCopied && (_jsx(GutterLine, { children: _jsx(Text, { color: C.green, children: "Code review skills installed." }) })), wantSkills && setupResult.mpSkillsInstalled && (_jsx(GutterLine, { children: _jsx(Text, { color: C.green, children: setupResult.mpSkillsInstalledNow
|
|
105
|
+
? `Matt Pocock skills installed globally (${setupResult.mpSkillsInstalledNow} added).`
|
|
106
|
+
: "Matt Pocock skills already installed globally." }) })), wantSkills && setupResult.skillsCopied && !setupResult.mpSkillsInstalled && (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { color: C.peach, children: "⚠ Matt Pocock skills install failed (offline or npx unavailable)." }) }), _jsx(GutterLine, { children: _jsxs(Text, { color: C.overlay1, children: ["Run: ", MP_SKILLS_INSTALL_COMMAND] }) })] })), wantSkills && setupResult.writingSkillsInstalled && (_jsx(GutterLine, { children: _jsx(Text, { color: C.green, children: setupResult.writingSkillsInstalledNow
|
|
107
|
+
? `Writing skills installed globally (${setupResult.writingSkillsInstalledNow} added).`
|
|
108
|
+
: "Writing skills (b3-write-human, humanizer) already installed globally." }) })), wantSkills && setupResult.skillsCopied && !setupResult.writingSkillsInstalled && (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { color: C.peach, children: "⚠ Writing skills install failed (offline or npx unavailable)." }) }), _jsx(GutterLine, { children: _jsxs(Text, { color: C.overlay1, children: ["Run: ", B3_WRITE_HUMAN_INSTALL_COMMAND] }) }), _jsx(GutterLine, { children: _jsxs(Text, { color: C.overlay1, children: ["Run: ", HUMANIZER_INSTALL_COMMAND] }) })] })), !wantSlMod && !wantGit && !wantRelease && !wantSkills && (_jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "No extras configured." }) })), _jsx(GutterLine, { children: _jsx(Text, { color: C.green, bold: true, children: "Setup complete!" }) })] }));
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/steps/setup.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,eAAe,EAAE,+BAA+B,EAAE,MAAM,oBAAoB,CAAC;AACtF,OAAO,EACL,WAAW,EACX,uBAAuB,EACvB,yBAAyB,EACzB,mBAAmB,EACnB,gBAAgB,EAChB,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAmChC,MAAM,CAAC,OAAO,UAAU,KAAK,CAAC,EAAE,OAAO,EAAE,UAAU,EAAS;IAC1D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,iBAAiB,CAAC,CAAC;IAC7D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC7C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAc,EAAE,CAAC,CAAC;IAEhE,QAAQ,CACN,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACb,IAAI,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,EAAE,CAAC;YACzB,IAAI,KAAK,KAAK,SAAS;gBAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;iBAChD,IAAI,KAAK,KAAK,aAAa;gBAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;iBACjD,IAAI,KAAK,KAAK,YAAY;gBAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,EACD,EAAE,QAAQ,EAAE,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,aAAa,IAAI,KAAK,KAAK,YAAY,EAAE,CACvF,CAAC;IAEF,SAAS,QAAQ,CAAC,KAAc,EAAE,GAAY,EAAE,OAAgB,EAAE,MAAe;QAC/E,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAChC,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,UAAU,CAAC;YACtD,MAAM,MAAM,GAAgB,EAAE,CAAC;YAE/B,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;gBAChC,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC,SAAS,CAAC;gBAC3C,MAAM,CAAC,qBAAqB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;gBACzD,MAAM,CAAC,YAAY,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YACzE,CAAC;YAED,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;gBACrC,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC,SAAS,CAAC;gBAC1C,MAAM,CAAC,UAAU,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC;YACzE,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,UAAU,GAAG,eAAe,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBACvD,MAAM,MAAM,GAAG,+BAA+B,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBACvE,MAAM,CAAC,cAAc,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC;gBAC5C,MAAM,CAAC,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC;gBAC3C,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC;gBACrC,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;YACrC,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,WAAW,CAAC,SAAS,CAAC,CAAC;gBACvB,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;gBAC3B,MAAM,KAAK,GAAG,uBAAuB,EAAE,CAAC;gBACxC,MAAM,CAAC,iBAAiB,GAAG,KAAK,CAAC,SAAS,CAAC;gBAC3C,MAAM,CAAC,oBAAoB,GAAG,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC;gBACxD,MAAM,CAAC,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;gBAEpE,MAAM,aAAa,GAAG,mBAAmB,EAAE,CAAC;gBAC5C,MAAM,YAAY,GAAG,gBAAgB,EAAE,CAAC;gBACxC,MAAM,CAAC,sBAAsB,GAAG,aAAa,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC;gBAClF,MAAM,CAAC,yBAAyB,GAAG,aAAa,CAAC,YAAY,CAAC,MAAM,GAAG,YAAY,CAAC,YAAY,CAAC,MAAM,CAAC;gBACxG,MAAM,CAAC,oBAAoB,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC;YACrH,CAAC;YAED,cAAc,CAAC,MAAM,CAAC,CAAC;YACvB,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjB,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;QACvH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,QAAQ,CAAC,OAAO,CAAC,CAAC;YAClB,WAAW,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,IAAI,KAAK,KAAK,iBAAiB,EAAE,CAAC;QAChC,OAAO,CACL,8BACE,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,IAAI,uDAAwC,GACvC,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,0EAAkE,GAC9E,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,2EAAmE,GAC/E,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,yEAAiE,GAC7E,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,oEAAuD,GACnE,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,2EAAmE,GAC/E,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,mCAA2B,GACvC,EACb,KAAC,UAAU,cACT,KAAC,IAAI,oBAAS,GACH,EACb,MAAC,UAAU,eACT,KAAC,IAAI,IAAC,IAAI,mDAAoC,EAC9C,KAAC,YAAY,IACX,SAAS,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAC7D,QAAQ,EAAE,GAAG,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAC7D,IACS,IACZ,CACJ,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CACL,8BACG,SAAS,IAAI,CACZ,KAAC,UAAU,cACT,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,8BAAsB,EAAA,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,OAAO,oBAAY,IAAO,GAC9E,CACd,EACD,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,IAAI,qCAAsB,GACrB,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,6EAAqE,GACjF,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,4EAA+D,GAC3E,EACb,KAAC,UAAU,cACT,KAAC,IAAI,oBAAS,GACH,EACb,MAAC,UAAU,eACT,KAAC,IAAI,IAAC,IAAI,4CAA6B,EACvC,KAAC,YAAY,IACX,SAAS,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAC/D,QAAQ,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,GAC/D,IACS,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,4BAA4B,GAAQ,GACnD,IACZ,CACJ,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;QAC5B,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,UAAU,CAAC;QACtD,OAAO,CACL,8BACG,SAAS,IAAI,CACZ,KAAC,UAAU,cACT,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,8BAAsB,EAAA,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,OAAO,oBAAY,IAAO,GAC9E,CACd,EACA,OAAO,IAAI,CACV,KAAC,UAAU,cACT,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,sBAAc,EAAA,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,OAAO,oBAAY,IAAO,GACtE,CACd,EACD,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,IAAI,0CAA2B,GAC1B,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,mFAA2E,GACvF,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,6EAAqE,GACjF,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,6DAAqD,GACjE,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,yEAAiE,GAC7E,EACb,KAAC,UAAU,cACT,KAAC,IAAI,oBAAS,GACH,EACb,MAAC,UAAU,eACT,KAAC,IAAI,IAAC,IAAI,+CAAgC,EAC1C,KAAC,YAAY,IACX,SAAS,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAClE,QAAQ,EAAE,GAAG,EAAE,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAClE,IACS,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,4BAA4B,GAAQ,GACnD,IACZ,CACJ,CAAC;IACJ,CAAC;IAED,gFAAgF;IAChF,IAAI,KAAK,KAAK,YAAY,EAAE,CAAC;QAC3B,OAAO,CACL,8BACG,SAAS,IAAI,CACZ,KAAC,UAAU,cACT,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,8BAAsB,EAAA,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,OAAO,oBAAY,IAAO,GAC9E,CACd,EACA,OAAO,IAAI,CACV,KAAC,UAAU,cACT,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,sBAAc,EAAA,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,OAAO,oBAAY,IAAO,GACtE,CACd,EACA,WAAW,IAAI,CACd,KAAC,UAAU,cACT,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,0BAAkB,EAAA,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,OAAO,oBAAY,IAAO,GAC1E,CACd,EACD,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,IAAI,mDAAoC,GACnC,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,wEAAgE,GAC5E,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,iEAAyD,GACrE,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,qEAA6D,GACzE,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,6EAAqE,GACjF,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,yEAAiE,GAC7E,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,iFAAoE,GAChF,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,2CAAmC,GAC/C,EACb,KAAC,UAAU,cACT,KAAC,IAAI,oBAAS,GACH,EACb,MAAC,UAAU,eACT,KAAC,IAAI,IAAC,IAAI,4DAA6C,EACvD,KAAC,YAAY,IACX,SAAS,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,EAC1F,QAAQ,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAC3F,IACS,EACb,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,4BAA4B,GAAQ,GACnD,IACZ,CACJ,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CACL,KAAC,UAAU,cACT,KAAC,OAAO,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,0DAA0D,CAAC,CAAC,CAAC,wBAAwB,GAAI,GAC3G,CACd,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,CACL,KAAC,UAAU,cACT,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,GAAG,8BAAgB,QAAQ,IAAQ,GACvC,CACd,CAAC;IACJ,CAAC;IAED,+EAA+E;IAC/E,OAAO,CACL,8BACG,SAAS,IAAI,WAAW,CAAC,cAAc,IAAI,CAC1C,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,YACjB,WAAW,CAAC,qBAAqB;wBAChC,CAAC,CAAC,uDAAuD;wBACzD,CAAC,CAAC,4CAA4C,GAC3C,GACI,CACd,EACA,SAAS,IAAI,CAAC,WAAW,CAAC,cAAc,IAAI,CAC3C,8BACE,KAAC,UAAU,cACT,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,aAAG,2BAA2B,EAAE,WAAW,CAAC,YAAY,IAAQ,GACzE,EACZ,uBAAuB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACpC,KAAC,UAAU,cACT,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,sBAAQ,GAAG,IAAQ,IAD3B,GAAG,CAEP,CACd,CAAC,IACD,CACJ,EACA,OAAO,IAAI,WAAW,CAAC,YAAY,IAAI,CACtC,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,4CAAoC,GAC7C,CACd,EACA,OAAO,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,UAAU,IAAI,CACjE,KAAC,UAAU,cACT,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,aAAG,SAAS,EAAE,WAAW,CAAC,UAAU,IAAQ,GACrD,CACd,EACA,WAAW,IAAI,WAAW,CAAC,cAAc,IAAI,CAC5C,KAAC,UAAU,cACT,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,wCACM,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,IAC9H,GACI,CACd,EACA,WAAW,IAAI,WAAW,CAAC,cAAc,IAAI,CAC5C,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,8DAAiD,GAC7D,CACd,EACA,UAAU,IAAI,WAAW,CAAC,YAAY,IAAI,CACzC,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,8CAAsC,GAC/C,CACd,EACA,UAAU,IAAI,WAAW,CAAC,iBAAiB,IAAI,CAC9C,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,YACjB,WAAW,CAAC,oBAAoB;wBAC/B,CAAC,CAAC,0CAA0C,WAAW,CAAC,oBAAoB,UAAU;wBACtF,CAAC,CAAC,gDAAgD,GAC/C,GACI,CACd,EACA,UAAU,IAAI,WAAW,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,iBAAiB,IAAI,CAC3E,8BACE,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,YAAG,mEAAmE,GAAQ,GACvF,EACb,KAAC,UAAU,cACT,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,sBAAQ,yBAAyB,IAAQ,GACrD,IACZ,CACJ,EACA,UAAU,IAAI,WAAW,CAAC,sBAAsB,IAAI,CACnD,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,YACjB,WAAW,CAAC,yBAAyB;wBACpC,CAAC,CAAC,sCAAsC,WAAW,CAAC,yBAAyB,UAAU;wBACvF,CAAC,CAAC,wEAAwE,GACvE,GACI,CACd,EACA,UAAU,IAAI,WAAW,CAAC,YAAY,IAAI,CAAC,WAAW,CAAC,sBAAsB,IAAI,CAChF,8BACE,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,YAAG,+DAA+D,GAAQ,GACnF,EACb,KAAC,UAAU,cACT,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,sBAAQ,8BAA8B,IAAQ,GAC1D,EACb,KAAC,UAAU,cACT,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,sBAAQ,yBAAyB,IAAQ,GACrD,IACZ,CACJ,EACA,CAAC,SAAS,IAAI,CAAC,OAAO,IAAI,CAAC,WAAW,IAAI,CAAC,UAAU,IAAI,CACxD,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,sCAA8B,GAC1C,CACd,EACD,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,sCAAuB,GACtC,IACZ,CACJ,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "procedure-cli",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.12.1",
|
|
4
4
|
"description": "CLI-based AI Agent powered by AI SDK 6, Z.ai, and OpenAI",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -16,9 +16,9 @@
|
|
|
16
16
|
"build": "tsc",
|
|
17
17
|
"typecheck": "tsc --noEmit",
|
|
18
18
|
"lint": "tsc --noEmit",
|
|
19
|
-
"release:patch": "
|
|
20
|
-
"release:minor": "
|
|
21
|
-
"release:major": "
|
|
19
|
+
"release:patch": "bash scripts/release.sh patch",
|
|
20
|
+
"release:minor": "bash scripts/release.sh minor",
|
|
21
|
+
"release:major": "bash scripts/release.sh major"
|
|
22
22
|
},
|
|
23
23
|
"keywords": [
|
|
24
24
|
"cli",
|
package/templates/AGENTS.md.hbs
CHANGED
|
@@ -119,6 +119,28 @@ When adding new functionality, add corresponding tests. When fixing a bug, add a
|
|
|
119
119
|
- After any implementation change, verify that documentation (README.md, docs/PRD.md, docs/USER-STORIES.md) still reflects the current state
|
|
120
120
|
- Run `{{{prCommand}}}` before opening a PR
|
|
121
121
|
|
|
122
|
+
{{#if hasMemexVault}}
|
|
123
|
+
## Development Diary
|
|
124
|
+
|
|
125
|
+
This machine keeps a memex vault, so every commit here gets one line of diary:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
~/Workspace/Projects/memex-vault/tools/diary/log.sh {{projectName}} <hash> "<what you did, and why>"
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
The script picks the machine, the year and the file, and it creates the day's
|
|
132
|
+
heading when there isn't one. You supply the sentence — write the *why*, since
|
|
133
|
+
the *what* is already in the commit. Never edit anything under `DIARY/` by hand.
|
|
134
|
+
|
|
135
|
+
Don't log commits a machine made on its own. Auto-sync fires every few minutes
|
|
136
|
+
and would bury the diary in a day.
|
|
137
|
+
|
|
138
|
+
Read it back with `tools/diary/trace.sh {{projectName}}` for this repo across
|
|
139
|
+
every machine, or `trace.sh <hash>` for one commit.
|
|
140
|
+
|
|
141
|
+
Amend or rebase after logging and the hash in the diary goes dead. Log the new
|
|
142
|
+
hash and say which one it replaces.
|
|
143
|
+
{{/if}}
|
|
122
144
|
## Security
|
|
123
145
|
|
|
124
146
|
- Never hardcode secrets, API keys, or credentials — use environment variables
|
package/templates/CLAUDE.md.hbs
CHANGED
|
@@ -287,13 +287,35 @@ When a user reports a bug:
|
|
|
287
287
|
{{packageManager}} run release:major # Bump major (0.1.0 → 1.0.0)
|
|
288
288
|
```
|
|
289
289
|
|
|
290
|
-
|
|
290
|
+
`scripts/release.sh` lives in this repo and is the only release script. It will:
|
|
291
291
|
1. Verify git working tree is clean
|
|
292
292
|
2. Run build
|
|
293
293
|
3. Bump version via `npm version`
|
|
294
294
|
4. Push branch + tags to origin
|
|
295
295
|
5. Publish to registry
|
|
296
296
|
{{/if}}
|
|
297
|
+
{{#if hasMemexVault}}
|
|
298
|
+
## Development Diary
|
|
299
|
+
|
|
300
|
+
This machine keeps a memex vault, so every commit here gets one line of diary:
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
~/Workspace/Projects/memex-vault/tools/diary/log.sh {{projectName}} <hash> "<what you did, and why>"
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
The script picks the machine, the year and the file, and it creates the day's
|
|
307
|
+
heading when there isn't one. You supply the sentence — write the *why*, since
|
|
308
|
+
the *what* is already in the commit. Never edit anything under `DIARY/` by hand.
|
|
309
|
+
|
|
310
|
+
Don't log commits a machine made on its own. Auto-sync fires every few minutes
|
|
311
|
+
and would bury the diary in a day.
|
|
312
|
+
|
|
313
|
+
Read it back with `tools/diary/trace.sh {{projectName}}` for this repo across
|
|
314
|
+
every machine, or `trace.sh <hash>` for one commit.
|
|
315
|
+
|
|
316
|
+
Amend or rebase after logging and the hash in the diary goes dead. Log the new
|
|
317
|
+
hash and say which one it replaces.
|
|
318
|
+
{{/if}}
|
|
297
319
|
|
|
298
320
|
## Core Principles
|
|
299
321
|
|
|
@@ -97,5 +97,6 @@ echo "==> Publishing to npm..."
|
|
|
97
97
|
npm publish --access public
|
|
98
98
|
{{/if}}
|
|
99
99
|
|
|
100
|
+
NEW_NAME="$(node -p "require('./package.json').name")"
|
|
100
101
|
NEW_VERSION="$(node -p "require('./package.json').version")"
|
|
101
|
-
echo "Release complete:
|
|
102
|
+
echo "Release complete: $NEW_NAME@$NEW_VERSION"
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"theme": "tokyo-night",
|
|
3
|
-
"display": {
|
|
4
|
-
"style": "powerline",
|
|
5
|
-
"colorCompatibility": "auto",
|
|
6
|
-
"lines": [
|
|
7
|
-
{
|
|
8
|
-
"segments": {
|
|
9
|
-
"directory": { "enabled": true, "showBasename": true },
|
|
10
|
-
"model": { "enabled": true },
|
|
11
|
-
"git": {
|
|
12
|
-
"enabled": true,
|
|
13
|
-
"showSha": false,
|
|
14
|
-
"showWorkingTree": false,
|
|
15
|
-
"showOperation": false,
|
|
16
|
-
"showTag": true,
|
|
17
|
-
"showTimeSinceCommit": false,
|
|
18
|
-
"showStashCount": false,
|
|
19
|
-
"showUpstream": false,
|
|
20
|
-
"showRepoName": false
|
|
21
|
-
},
|
|
22
|
-
"context": { "enabled": true, "showPercentageOnly": true }
|
|
23
|
-
}
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
"segments": {
|
|
27
|
-
"block": {
|
|
28
|
-
"enabled": true,
|
|
29
|
-
"type": "time",
|
|
30
|
-
"burnType": "both"
|
|
31
|
-
},
|
|
32
|
-
"session": {
|
|
33
|
-
"enabled": true,
|
|
34
|
-
"type": "both",
|
|
35
|
-
"costSource": "calculated"
|
|
36
|
-
},
|
|
37
|
-
"today": { "enabled": true, "type": "both" },
|
|
38
|
-
"version": { "enabled": false },
|
|
39
|
-
"metrics": {
|
|
40
|
-
"enabled": false,
|
|
41
|
-
"showResponseTime": true,
|
|
42
|
-
"showLastResponseTime": true,
|
|
43
|
-
"showDuration": true,
|
|
44
|
-
"showMessageCount": true,
|
|
45
|
-
"showLinesAdded": true,
|
|
46
|
-
"showLinesRemoved": true
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
]
|
|
51
|
-
}
|
|
52
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import type { WizardAnswers } from "../lib/types.js";
|
|
2
|
-
interface Props {
|
|
3
|
-
initialValues?: Partial<WizardAnswers>;
|
|
4
|
-
onComplete: (answers: Partial<WizardAnswers>) => void;
|
|
5
|
-
}
|
|
6
|
-
export default function BuildTest({ initialValues, onComplete }: Props): import("react/jsx-runtime").JSX.Element;
|
|
7
|
-
export {};
|
package/dist/steps/build-test.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useState, useEffect } from "react";
|
|
3
|
-
import { Text, useInput } from "ink";
|
|
4
|
-
import { TextInput } from "@inkjs/ui";
|
|
5
|
-
import { GutterLine } from "../components/gutter-line.js";
|
|
6
|
-
import { C } from "../theme.js";
|
|
7
|
-
const FIELDS = [
|
|
8
|
-
{ key: "buildCommand", label: "Build command", fallback: "npm run build", required: true },
|
|
9
|
-
{ key: "testCommand", label: "Test command", fallback: "npm run test", required: true },
|
|
10
|
-
{ key: "typecheckCommand", label: "Typecheck command", fallback: "tsc --noEmit", required: false },
|
|
11
|
-
{ key: "lintCommand", label: "Lint command", fallback: "npm run lint", required: false },
|
|
12
|
-
{ key: "prCommand", label: "Pre-PR command", fallback: "npm run lint && npm run test", required: false },
|
|
13
|
-
];
|
|
14
|
-
export default function BuildTest({ initialValues, onComplete }) {
|
|
15
|
-
const [fieldIndex, setFieldIndex] = useState(0);
|
|
16
|
-
const [answers, setAnswers] = useState({});
|
|
17
|
-
const [error, setError] = useState("");
|
|
18
|
-
const [liveInput, setLiveInput] = useState("");
|
|
19
|
-
const current = FIELDS[fieldIndex];
|
|
20
|
-
const preset = initialValues?.[current.key];
|
|
21
|
-
const defaultVal = preset || current.fallback;
|
|
22
|
-
// Reset live input when navigating to a different field
|
|
23
|
-
useEffect(() => {
|
|
24
|
-
setLiveInput("");
|
|
25
|
-
}, [fieldIndex]);
|
|
26
|
-
useInput((input, key) => {
|
|
27
|
-
if (key.shift && key.tab && fieldIndex > 0) {
|
|
28
|
-
setFieldIndex((f) => f - 1);
|
|
29
|
-
setError("");
|
|
30
|
-
}
|
|
31
|
-
else if (key.tab && !key.shift) {
|
|
32
|
-
const val = liveInput.trim() || answers[current.key] || defaultVal;
|
|
33
|
-
if (current.required && !val.trim()) {
|
|
34
|
-
setError(`${current.label} is required`);
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
setError("");
|
|
38
|
-
const next = { ...answers, [current.key]: val };
|
|
39
|
-
setAnswers(next);
|
|
40
|
-
if (fieldIndex < FIELDS.length - 1) {
|
|
41
|
-
setFieldIndex((f) => f + 1);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
onComplete(next);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
});
|
|
48
|
-
function handleSubmit(value) {
|
|
49
|
-
const val = value.trim() || defaultVal;
|
|
50
|
-
if (current.required && !val) {
|
|
51
|
-
setError(`${current.label} is required`);
|
|
52
|
-
return;
|
|
53
|
-
}
|
|
54
|
-
setError("");
|
|
55
|
-
const next = { ...answers, [current.key]: val };
|
|
56
|
-
setAnswers(next);
|
|
57
|
-
if (fieldIndex < FIELDS.length - 1) {
|
|
58
|
-
setFieldIndex(fieldIndex + 1);
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
onComplete(next);
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
const isFirst = fieldIndex === 0;
|
|
65
|
-
const isLast = fieldIndex === FIELDS.length - 1;
|
|
66
|
-
return (_jsxs(_Fragment, { children: [FIELDS.slice(0, fieldIndex).map((f) => (_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsxs(Text, { color: C.label, children: [f.label, ": "] }), _jsx(Text, { color: C.inputed, children: answers[f.key] })] }) }, f.key))), _jsxs(GutterLine, { children: [_jsx(Text, { bold: true, children: current.label }), _jsxs(Text, { color: C.overlay1, children: [" (", defaultVal, ")"] }), _jsx(Text, { bold: true, children: ": " }), _jsx(TextInput, { defaultValue: answers[current.key] || "", placeholder: defaultVal, onChange: setLiveInput, onSubmit: handleSubmit }, current.key)] }), error && (_jsx(GutterLine, { children: _jsx(Text, { color: C.red, children: error }) })), _jsx(GutterLine, { children: _jsxs(Text, { color: C.overlay1, children: [!isFirst ? "Shift+Tab prev " : "", isLast ? "Tab / Enter confirm" : "Tab next Enter confirm"] }) })] }));
|
|
67
|
-
}
|
|
68
|
-
//# sourceMappingURL=build-test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"build-test.js","sourceRoot":"","sources":["../../src/steps/build-test.tsx"],"names":[],"mappings":"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"}
|
package/dist/steps/powerline.js
DELETED
|
@@ -1,121 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
-
import { useState } from "react";
|
|
3
|
-
import { Text, useInput } from "ink";
|
|
4
|
-
import { ConfirmInput, Spinner } from "@inkjs/ui";
|
|
5
|
-
import { GutterLine } from "../components/gutter-line.js";
|
|
6
|
-
import { GutteredSelect } from "../components/guttered-select.js";
|
|
7
|
-
import { setupPowerline, installPowerlineGlobally, POWERLINE_INSTALL_COMMAND } from "../lib/powerline.js";
|
|
8
|
-
import { initGit } from "../lib/git.js";
|
|
9
|
-
import { scaffoldRelease, ensurePackageJsonReleaseScripts } from "../lib/template.js";
|
|
10
|
-
import { setupSkills, installMattPocockSkills, MP_SKILLS_INSTALL_COMMAND, installB3WriteHuman, installHumanizer, B3_WRITE_HUMAN_INSTALL_COMMAND, HUMANIZER_INSTALL_COMMAND, } from "../lib/skills.js";
|
|
11
|
-
import { C } from "../theme.js";
|
|
12
|
-
export default function Powerline({ answers, onComplete }) {
|
|
13
|
-
const [phase, setPhase] = useState("ask-powerline");
|
|
14
|
-
const [wantPowerline, setWantPowerline] = useState(false);
|
|
15
|
-
const [powerlineInstall, setPowerlineInstall] = useState(false);
|
|
16
|
-
const [wantGit, setWantGit] = useState(false);
|
|
17
|
-
const [wantRelease, setWantRelease] = useState(false);
|
|
18
|
-
const [wantSkills, setWantSkills] = useState(false);
|
|
19
|
-
const [errorMsg, setErrorMsg] = useState("");
|
|
20
|
-
const [setupResult, setSetupResult] = useState({});
|
|
21
|
-
useInput((input, key) => {
|
|
22
|
-
if (key.shift && key.tab) {
|
|
23
|
-
if (phase === "ask-powerline-method")
|
|
24
|
-
setPhase("ask-powerline");
|
|
25
|
-
else if (phase === "ask-git")
|
|
26
|
-
setPhase(wantPowerline ? "ask-powerline-method" : "ask-powerline");
|
|
27
|
-
else if (phase === "ask-release")
|
|
28
|
-
setPhase("ask-git");
|
|
29
|
-
else if (phase === "ask-skills")
|
|
30
|
-
setPhase("ask-release");
|
|
31
|
-
}
|
|
32
|
-
}, { isActive: phase === "ask-powerline-method" || phase === "ask-git" || phase === "ask-release" || phase === "ask-skills" });
|
|
33
|
-
function runSetup(powerline, install, git, release, skills) {
|
|
34
|
-
setPhase("running");
|
|
35
|
-
try {
|
|
36
|
-
const targetDir = process.cwd();
|
|
37
|
-
const projectName = answers.projectName || "untitled";
|
|
38
|
-
const result = {};
|
|
39
|
-
if (powerline) {
|
|
40
|
-
setupPowerline(targetDir);
|
|
41
|
-
if (install) {
|
|
42
|
-
const installRes = installPowerlineGlobally();
|
|
43
|
-
result.powerlineInstalled = installRes.installed;
|
|
44
|
-
result.powerlineInstallWarning = installRes.installed ? undefined : installRes.reason;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
if (git) {
|
|
48
|
-
const gitResult = initGit(targetDir);
|
|
49
|
-
result.gitCommitted = gitResult.committed;
|
|
50
|
-
result.gitWarning = gitResult.committed ? undefined : gitResult.reason;
|
|
51
|
-
}
|
|
52
|
-
if (release) {
|
|
53
|
-
const releaseRes = scaffoldRelease(projectName, answers);
|
|
54
|
-
const pkgRes = ensurePackageJsonReleaseScripts(targetDir, projectName);
|
|
55
|
-
result.releaseCreated = !releaseRes.skipped;
|
|
56
|
-
result.releaseSkipped = releaseRes.skipped;
|
|
57
|
-
result.pkgModified = pkgRes.modified;
|
|
58
|
-
result.pkgCreated = pkgRes.created;
|
|
59
|
-
}
|
|
60
|
-
if (skills) {
|
|
61
|
-
setupSkills(targetDir);
|
|
62
|
-
result.skillsCopied = true;
|
|
63
|
-
const mpRes = installMattPocockSkills();
|
|
64
|
-
result.mpSkillsInstalled = mpRes.installed;
|
|
65
|
-
result.mpSkillsInstalledNow = mpRes.installedNow.length;
|
|
66
|
-
result.mpSkillsWarning = mpRes.installed ? undefined : mpRes.reason;
|
|
67
|
-
const writeHumanRes = installB3WriteHuman();
|
|
68
|
-
const humanizerRes = installHumanizer();
|
|
69
|
-
result.writingSkillsInstalled = writeHumanRes.installed && humanizerRes.installed;
|
|
70
|
-
result.writingSkillsInstalledNow = writeHumanRes.installedNow.length + humanizerRes.installedNow.length;
|
|
71
|
-
result.writingSkillsWarning = [writeHumanRes.reason, humanizerRes.reason].filter(Boolean).join(' / ') || undefined;
|
|
72
|
-
}
|
|
73
|
-
setSetupResult(result);
|
|
74
|
-
setPhase("done");
|
|
75
|
-
setTimeout(() => onComplete({ setupPowerline: powerline, setupGit: git, setupRelease: release, setupSkills: skills }), 1000);
|
|
76
|
-
}
|
|
77
|
-
catch (err) {
|
|
78
|
-
setPhase("error");
|
|
79
|
-
setErrorMsg(err instanceof Error ? err.message : String(err));
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
// ── Ask: Powerline ──────────────────────────────────────────────────────────
|
|
83
|
-
if (phase === "ask-powerline") {
|
|
84
|
-
return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Claude Powerline" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Adds a live status bar to Claude Code showing: git branch," }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "context usage %, session cost, and active tools." }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Calls the claude-powerline binary directly \u2014 near-instant," }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "no npx cold-start on every statusline redraw." }) }), _jsx(GutterLine, { children: _jsx(Text, { children: " " }) }), _jsxs(GutterLine, { children: [_jsx(Text, { bold: true, children: "Set up Powerline? " }), _jsx(ConfirmInput, { onConfirm: () => { setWantPowerline(true); setPhase("ask-powerline-method"); }, onCancel: () => { setWantPowerline(false); setPhase("ask-git"); } })] })] }));
|
|
85
|
-
}
|
|
86
|
-
// ── Ask: Powerline install method ────────────────────────────────────────────
|
|
87
|
-
if (phase === "ask-powerline-method") {
|
|
88
|
-
return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Powerline: " }), _jsx(Text, { color: C.inputed, children: "yes" })] }) }), _jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Install the claude-powerline binary" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "The statusLine calls the binary directly, so it must be on" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "your PATH. Choose how to install it:" }) }), _jsx(GutterLine, { children: _jsx(Text, { children: " " }) }), _jsx(GutteredSelect, { options: [
|
|
89
|
-
{ label: "Install globally for me (recommended)", value: "auto", description: POWERLINE_INSTALL_COMMAND },
|
|
90
|
-
{ label: "I'll install it myself", value: "manual", description: `run ${POWERLINE_INSTALL_COMMAND} later` },
|
|
91
|
-
], onChange: (value) => { setPowerlineInstall(value === "auto"); setPhase("ask-git"); } }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Shift+Tab prev ↑↓ move ↵ select" }) })] }));
|
|
92
|
-
}
|
|
93
|
-
// ── Ask: Git ────────────────────────────────────────────────────────────────
|
|
94
|
-
if (phase === "ask-git") {
|
|
95
|
-
return (_jsxs(_Fragment, { children: [wantPowerline && (_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Powerline: " }), _jsx(Text, { color: C.inputed, children: "yes" })] }) })), _jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Git repository" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Runs git init and makes an initial commit with the generated" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "files \u2014 clean starting point for your project history." }) }), _jsx(GutterLine, { children: _jsx(Text, { children: " " }) }), _jsxs(GutterLine, { children: [_jsx(Text, { bold: true, children: "Initialize git repo? " }), _jsx(ConfirmInput, { onConfirm: () => { setWantGit(true); setPhase("ask-release"); }, onCancel: () => { setWantGit(false); setPhase("ask-release"); } })] }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Shift+Tab prev y/n answer" }) })] }));
|
|
96
|
-
}
|
|
97
|
-
// ── Ask: Release scripts ────────────────────────────────────────────────────
|
|
98
|
-
if (phase === "ask-release") {
|
|
99
|
-
const projectName = answers.projectName || "untitled";
|
|
100
|
-
return (_jsxs(_Fragment, { children: [wantPowerline && (_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Powerline: " }), _jsx(Text, { color: C.inputed, children: "yes" })] }) })), wantGit && (_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Git: " }), _jsx(Text, { color: C.inputed, children: "yes" })] }) })), _jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "npm release scripts" }) }), _jsx(GutterLine, { children: _jsxs(Text, { color: C.overlay1, children: ["Creates ~/bin/", projectName, "-release and adds release:patch /"] }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "minor / major scripts to package.json. One command to build," }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "version-bump, push tags, and publish to npm." }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Requires: npm login. Best for packages published to npm." }) }), _jsx(GutterLine, { children: _jsx(Text, { children: " " }) }), _jsxs(GutterLine, { children: [_jsx(Text, { bold: true, children: "Set up release scripts? " }), _jsx(ConfirmInput, { onConfirm: () => { setWantRelease(true); setPhase("ask-skills"); }, onCancel: () => { setWantRelease(false); setPhase("ask-skills"); } })] }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Shift+Tab prev y/n answer" }) })] }));
|
|
101
|
-
}
|
|
102
|
-
// ── Ask: Skills ──────────────────────────────────────────────────────────────
|
|
103
|
-
if (phase === "ask-skills") {
|
|
104
|
-
return (_jsxs(_Fragment, { children: [wantPowerline && (_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Powerline: " }), _jsx(Text, { color: C.inputed, children: "yes" })] }) })), wantGit && (_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Git: " }), _jsx(Text, { color: C.inputed, children: "yes" })] }) })), wantRelease && (_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Release: " }), _jsx(Text, { color: C.inputed, children: "yes" })] }) })), _jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Code review & writing skills" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Installs /b3awesome-code-review and /b3awesome-code-fix" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "skills for Claude Code, Codex CLI, and OpenCode." }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Creates CODE-REVIEW.md and CODE-FIXED.md if missing." }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Also ensures the Matt Pocock skill set (wayfinder, grilling," }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "code-review, tdd, ...) plus b3-write-human and humanizer" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "are installed globally \u2014 checks first, installs only what's" }) }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "missing. Once per machine." }) }), _jsx(GutterLine, { children: _jsx(Text, { children: " " }) }), _jsxs(GutterLine, { children: [_jsx(Text, { bold: true, children: "Set up code review & writing skills? " }), _jsx(ConfirmInput, { onConfirm: () => { setWantSkills(true); runSetup(wantPowerline, powerlineInstall, wantGit, wantRelease, true); }, onCancel: () => { setWantSkills(false); runSetup(wantPowerline, powerlineInstall, wantGit, wantRelease, false); } })] }), _jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Shift+Tab prev y/n answer" }) })] }));
|
|
105
|
-
}
|
|
106
|
-
// ── Running ─────────────────────────────────────────────────────────────────
|
|
107
|
-
if (phase === "running") {
|
|
108
|
-
return (_jsx(GutterLine, { children: _jsx(Spinner, { label: wantSkills ? "Running setup tasks... (skill install may take a minute)" : "Running setup tasks..." }) }));
|
|
109
|
-
}
|
|
110
|
-
// ── Error ───────────────────────────────────────────────────────────────────
|
|
111
|
-
if (phase === "error") {
|
|
112
|
-
return (_jsx(GutterLine, { children: _jsxs(Text, { color: C.red, children: ["Setup error: ", errorMsg] }) }));
|
|
113
|
-
}
|
|
114
|
-
// ── Done ────────────────────────────────────────────────────────────────────
|
|
115
|
-
return (_jsxs(_Fragment, { children: [wantPowerline && powerlineInstall && setupResult.powerlineInstalled && (_jsx(GutterLine, { children: _jsx(Text, { color: C.green, children: "Powerline installed & configured." }) })), wantPowerline && powerlineInstall && !setupResult.powerlineInstalled && (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { color: C.peach, children: "⚠ Powerline configured, but global install failed." }) }), _jsx(GutterLine, { children: _jsxs(Text, { color: C.overlay1, children: ["Run: ", POWERLINE_INSTALL_COMMAND] }) })] })), wantPowerline && !powerlineInstall && (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { color: C.green, children: "Powerline configured." }) }), _jsx(GutterLine, { children: _jsxs(Text, { color: C.overlay1, children: ["Run: ", POWERLINE_INSTALL_COMMAND] }) })] })), wantGit && setupResult.gitCommitted && (_jsx(GutterLine, { children: _jsx(Text, { color: C.green, children: "Git repository initialized." }) })), wantGit && !setupResult.gitCommitted && setupResult.gitWarning && (_jsx(GutterLine, { children: _jsxs(Text, { color: C.peach, children: ["⚠ Git: ", setupResult.gitWarning] }) })), wantRelease && setupResult.releaseCreated && (_jsx(GutterLine, { children: _jsxs(Text, { color: C.green, children: ["Release script created.", setupResult.pkgModified ? " package.json updated." : setupResult.pkgCreated ? " package.json created." : ""] }) })), wantRelease && setupResult.releaseSkipped && (_jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Release script already exists \u2014 skipped." }) })), wantSkills && setupResult.skillsCopied && (_jsx(GutterLine, { children: _jsx(Text, { color: C.green, children: "Code review skills installed." }) })), wantSkills && setupResult.mpSkillsInstalled && (_jsx(GutterLine, { children: _jsx(Text, { color: C.green, children: setupResult.mpSkillsInstalledNow
|
|
116
|
-
? `Matt Pocock skills installed globally (${setupResult.mpSkillsInstalledNow} added).`
|
|
117
|
-
: "Matt Pocock skills already installed globally." }) })), wantSkills && setupResult.skillsCopied && !setupResult.mpSkillsInstalled && (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { color: C.peach, children: "⚠ Matt Pocock skills install failed (offline or npx unavailable)." }) }), _jsx(GutterLine, { children: _jsxs(Text, { color: C.overlay1, children: ["Run: ", MP_SKILLS_INSTALL_COMMAND] }) })] })), wantSkills && setupResult.writingSkillsInstalled && (_jsx(GutterLine, { children: _jsx(Text, { color: C.green, children: setupResult.writingSkillsInstalledNow
|
|
118
|
-
? `Writing skills installed globally (${setupResult.writingSkillsInstalledNow} added).`
|
|
119
|
-
: "Writing skills (b3-write-human, humanizer) already installed globally." }) })), wantSkills && setupResult.skillsCopied && !setupResult.writingSkillsInstalled && (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { color: C.peach, children: "⚠ Writing skills install failed (offline or npx unavailable)." }) }), _jsx(GutterLine, { children: _jsxs(Text, { color: C.overlay1, children: ["Run: ", B3_WRITE_HUMAN_INSTALL_COMMAND] }) }), _jsx(GutterLine, { children: _jsxs(Text, { color: C.overlay1, children: ["Run: ", HUMANIZER_INSTALL_COMMAND] }) })] })), !wantPowerline && !wantGit && !wantRelease && !wantSkills && (_jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "No extras configured." }) })), _jsx(GutterLine, { children: _jsx(Text, { color: C.green, bold: true, children: "Setup complete!" }) })] }));
|
|
120
|
-
}
|
|
121
|
-
//# sourceMappingURL=powerline.js.map
|