procedure-cli 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/settings.local.json +3 -1
- package/CODE-FIXED.md +25 -0
- package/CODE-REVIEW.md +67 -0
- package/dist/app.js +6 -2
- package/dist/app.js.map +1 -1
- package/dist/components/step-indicator.js +12 -1
- package/dist/components/step-indicator.js.map +1 -1
- package/dist/components/timeline.js +6 -4
- package/dist/components/timeline.js.map +1 -1
- package/dist/lib/types.d.ts +1 -0
- package/dist/steps/generation.js +4 -1
- package/dist/steps/generation.js.map +1 -1
- package/dist/steps/powerline.js +1 -1
- package/dist/steps/powerline.js.map +1 -1
- package/package.json +1 -1
- package/src/app.tsx +7 -1
- package/src/components/step-indicator.tsx +14 -2
- package/src/components/timeline.tsx +8 -4
- package/src/lib/types.ts +1 -0
- package/src/steps/generation.tsx +95 -28
- package/src/steps/powerline.tsx +1 -1
package/CODE-FIXED.md
CHANGED
|
@@ -122,3 +122,28 @@ None.
|
|
|
122
122
|
- `npm run build`: pass
|
|
123
123
|
|
|
124
124
|
---
|
|
125
|
+
|
|
126
|
+
## Entry 2026-02-22
|
|
127
|
+
|
|
128
|
+
### Entry ID
|
|
129
|
+
- `CF-20260222-004`
|
|
130
|
+
|
|
131
|
+
### Source Review
|
|
132
|
+
- `CR-20260222-002` (CODE-REVIEW.md entry 2026-02-22)
|
|
133
|
+
|
|
134
|
+
### Fixes Applied
|
|
135
|
+
|
|
136
|
+
1. Finding #10 (Low) — **Fixed**
|
|
137
|
+
- `src/lib/types.ts:68` — Added `setupGit: boolean` to `WizardAnswers` so setup choice can be persisted.
|
|
138
|
+
- `src/app.tsx:51` — Added `setupGit: false` to `EMPTY_ANSWERS`.
|
|
139
|
+
- `src/app.tsx:89` — Updated setup summary to render `Git init: yes/no` based on `answers.setupGit` instead of always implying git initialization.
|
|
140
|
+
- `src/steps/powerline.tsx:48` — Updated `onComplete` payload to include `setupGit: git`, preserving the user’s git setup decision for final summaries.
|
|
141
|
+
|
|
142
|
+
### Deferred
|
|
143
|
+
None.
|
|
144
|
+
|
|
145
|
+
### Verification Notes
|
|
146
|
+
- `npm run typecheck`: pass
|
|
147
|
+
- `npm run build`: pass
|
|
148
|
+
|
|
149
|
+
---
|
package/CODE-REVIEW.md
CHANGED
|
@@ -254,6 +254,73 @@
|
|
|
254
254
|
|
|
255
255
|
---
|
|
256
256
|
|
|
257
|
+
## Entry 2026-02-22
|
|
258
|
+
|
|
259
|
+
### Entry ID
|
|
260
|
+
- `CR-20260222-001`
|
|
261
|
+
|
|
262
|
+
### Supersedes
|
|
263
|
+
- `CR-20260221-006`
|
|
264
|
+
|
|
265
|
+
### Scope
|
|
266
|
+
- New review cycle on current `main` state.
|
|
267
|
+
- Validate latest fixed findings against code and scan for regressions.
|
|
268
|
+
|
|
269
|
+
### Validation Matrix
|
|
270
|
+
| Finding # | Previous Severity | Current Status | Evidence | Notes |
|
|
271
|
+
|-----------|-------------------|----------------|----------|-------|
|
|
272
|
+
| 9 | Low | Fixed | `CODE-FIXED.md:112`, `src/steps/powerline.tsx:22`, `src/steps/powerline.tsx:127`, `src/steps/powerline.tsx:132` | Setup UI still correctly separates successful git init from warning states. |
|
|
273
|
+
| 6 | Low | Fixed | `CODE-FIXED.md:54`, `templates/docs/USER-STORIES.md.hbs:3`, `templates/docs/USER-STORIES.md.hbs:23` | USER-STORIES fallback remains intact for empty `userStories`. |
|
|
274
|
+
|
|
275
|
+
### Findings (ordered by severity)
|
|
276
|
+
- No new functional findings identified in this review cycle.
|
|
277
|
+
|
|
278
|
+
### Verification Notes
|
|
279
|
+
- Procedure compliance: reviewed latest `CODE-REVIEW.md` and `CODE-FIXED.md` before analysis.
|
|
280
|
+
- `npm run typecheck`: pass.
|
|
281
|
+
- `npm run build`: pass.
|
|
282
|
+
- Code inspection confirms latest fix-cycle behavior remains present in current source.
|
|
283
|
+
|
|
284
|
+
### Residual Risks / Testing Gaps
|
|
285
|
+
- No automated UI test coverage for generation + setup end-to-end branching scenarios.
|
|
286
|
+
|
|
287
|
+
---
|
|
288
|
+
|
|
289
|
+
## Entry 2026-02-22
|
|
290
|
+
|
|
291
|
+
### Entry ID
|
|
292
|
+
- `CR-20260222-002`
|
|
293
|
+
|
|
294
|
+
### Supersedes
|
|
295
|
+
- `CR-20260222-001`
|
|
296
|
+
|
|
297
|
+
### Scope
|
|
298
|
+
- Review current local code state after latest UI/setup flow changes.
|
|
299
|
+
- Validate previously fixed findings and check for new regressions.
|
|
300
|
+
|
|
301
|
+
### Validation Matrix
|
|
302
|
+
| Finding # | Previous Severity | Current Status | Evidence | Notes |
|
|
303
|
+
|-----------|-------------------|----------------|----------|-------|
|
|
304
|
+
| 9 | Low | Fixed | `src/steps/powerline.tsx:127`, `src/steps/powerline.tsx:132` | Mixed success/warning messaging remains resolved. |
|
|
305
|
+
| 6 | Low | Fixed | `templates/docs/USER-STORIES.md.hbs:3`, `templates/docs/USER-STORIES.md.hbs:23` | USER-STORIES fallback remains in place. |
|
|
306
|
+
|
|
307
|
+
### Findings (ordered by severity)
|
|
308
|
+
1. Low - Setup step summary always implies git initialization even when user declines git setup (`Finding #10`, `Status: New`)
|
|
309
|
+
- `src/app.tsx:88`
|
|
310
|
+
- `src/app.tsx:89`
|
|
311
|
+
- Setup summary currently always includes `"Git init"` for step 7, regardless of user choice in `src/steps/powerline.tsx` (`onCancel` path for git).
|
|
312
|
+
- Recommendation: track git setup choice/result in `WizardAnswers` (e.g., `setupGit: boolean`) and render summary based on actual user selection/outcome.
|
|
313
|
+
|
|
314
|
+
### Verification Notes
|
|
315
|
+
- Procedure compliance: reviewed latest `CODE-REVIEW.md` and `CODE-FIXED.md` before this cycle.
|
|
316
|
+
- `npm run typecheck`: pass.
|
|
317
|
+
- `npm run build`: pass.
|
|
318
|
+
|
|
319
|
+
### Residual Risks / Testing Gaps
|
|
320
|
+
- No UI test coverage for setup summary correctness when user declines git initialization.
|
|
321
|
+
|
|
322
|
+
---
|
|
323
|
+
|
|
257
324
|
## Entry 2026-02-21
|
|
258
325
|
|
|
259
326
|
### Entry ID
|
package/dist/app.js
CHANGED
|
@@ -43,6 +43,7 @@ const EMPTY_ANSWERS = {
|
|
|
43
43
|
envVars: [],
|
|
44
44
|
generationSkipped: false,
|
|
45
45
|
setupPowerline: false,
|
|
46
|
+
setupGit: false,
|
|
46
47
|
};
|
|
47
48
|
function getSummary(stepIndex, answers) {
|
|
48
49
|
switch (stepIndex) {
|
|
@@ -86,7 +87,7 @@ function getSummary(stepIndex, answers) {
|
|
|
86
87
|
const parts = [];
|
|
87
88
|
if (answers.setupPowerline)
|
|
88
89
|
parts.push("Powerline");
|
|
89
|
-
parts.push("Git init");
|
|
90
|
+
parts.push(answers.setupGit ? "Git init: yes" : "Git init: no");
|
|
90
91
|
return parts.join(", ");
|
|
91
92
|
}
|
|
92
93
|
default:
|
|
@@ -101,6 +102,9 @@ export default function App() {
|
|
|
101
102
|
if (key.escape) {
|
|
102
103
|
process.exit(0);
|
|
103
104
|
}
|
|
105
|
+
if (finished && key.return) {
|
|
106
|
+
process.exit(0);
|
|
107
|
+
}
|
|
104
108
|
});
|
|
105
109
|
function handleStepComplete(partial) {
|
|
106
110
|
const merged = { ...answers, ...partial };
|
|
@@ -118,7 +122,7 @@ export default function App() {
|
|
|
118
122
|
status: "completed",
|
|
119
123
|
summary: getSummary(i, answers),
|
|
120
124
|
}));
|
|
121
|
-
return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(Banner, {}), _jsx(Timeline, { steps: steps, children: _jsx(Box, {}) }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Text, { bold: true, color: "green", children: ["✔", " Procedure CLI setup complete!"] }), _jsx(Text, { children: " " }), answers.generationSkipped ? (_jsx(Text, { dimColor: true, children: "Generation was skipped \u2014 no files were written." })) : (_jsxs(_Fragment, { children: [_jsxs(Text, { children: ["Project ", _jsxs(Text, { bold: true, color: "cyan", children: ["\"", answers.projectName, "\""] }), " has been scaffolded."] }), _jsx(Text, { dimColor: true, children: "Check the generated CLAUDE.md, PRD.md, and USER-STORIES.md." })] }))] })] }));
|
|
125
|
+
return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(Banner, {}), _jsx(Timeline, { steps: steps, children: _jsx(Box, {}) }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsxs(Text, { bold: true, color: "green", children: ["✔", " Procedure CLI setup complete!"] }), _jsx(Text, { children: " " }), answers.generationSkipped ? (_jsx(Text, { dimColor: true, children: "Generation was skipped \u2014 no files were written." })) : (_jsxs(_Fragment, { children: [_jsxs(Text, { children: ["Project ", _jsxs(Text, { bold: true, color: "cyan", children: ["\"", answers.projectName, "\""] }), " has been scaffolded."] }), _jsx(Text, { dimColor: true, children: "Check the generated CLAUDE.md, PRD.md, and USER-STORIES.md." })] })), _jsx(Text, { children: " " }), _jsx(Text, { dimColor: true, children: "Press Enter to exit." })] })] }));
|
|
122
126
|
}
|
|
123
127
|
const steps = STEP_NAMES.map((name, i) => {
|
|
124
128
|
if (i < currentStep) {
|
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;AAI1C,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAC5C,OAAO,QAAQ,MAAM,0BAA0B,CAAC;AAEhD,OAAO,WAAW,MAAM,yBAAyB,CAAC;AAClD,OAAO,UAAU,MAAM,wBAAwB,CAAC;AAChD,OAAO,SAAS,MAAM,uBAAuB,CAAC;AAC9C,OAAO,YAAY,MAAM,yBAAyB,CAAC;AACnD,OAAO,cAAc,MAAM,4BAA4B,CAAC;AACxD,OAAO,UAAU,MAAM,uBAAuB,CAAC;AAC/C,OAAO,SAAS,MAAM,sBAAsB,CAAC;AAE7C,MAAM,UAAU,GAAG;IACjB,cAAc;IACd,eAAe;IACf,cAAc;IACd,cAAc;IACd,iBAAiB;IACjB,YAAY;IACZ,OAAO;CACC,CAAC;AAEX,MAAM,aAAa,GAAkB;IACnC,WAAW,EAAE,EAAE;IACf,WAAW,EAAE,EAAE;IACf,cAAc,EAAE,KAAK;IACrB,OAAO,EAAE,KAAK;IACd,SAAS,EAAE,EAAE;IACb,SAAS,EAAE,EAAE;IACb,QAAQ,EAAE,EAAE;IACZ,YAAY,EAAE,EAAE;IAChB,WAAW,EAAE,EAAE;IACf,gBAAgB,EAAE,EAAE;IACpB,WAAW,EAAE,EAAE;IACf,SAAS,EAAE,EAAE;IACb,YAAY,EAAE,EAAE;IAChB,iBAAiB,EAAE,EAAE;IACrB,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE;IACT,YAAY,EAAE,EAAE;IAChB,QAAQ,EAAE,EAAE;IACZ,SAAS,EAAE,EAAE;IACb,WAAW,EAAE,EAAE;IACf,OAAO,EAAE,EAAE;IACX,iBAAiB,EAAE,KAAK;IACxB,cAAc,EAAE,KAAK;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,22 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from "react";
|
|
2
3
|
import { Text } from "ink";
|
|
4
|
+
const ACTIVE_FRAMES = ["◆", "◈", "◇", "◈"];
|
|
3
5
|
export default function StepIndicator({ status, label }) {
|
|
6
|
+
const [frame, setFrame] = useState(0);
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
if (status !== "active")
|
|
9
|
+
return;
|
|
10
|
+
const id = setInterval(() => {
|
|
11
|
+
setFrame((f) => (f + 1) % ACTIVE_FRAMES.length);
|
|
12
|
+
}, 350);
|
|
13
|
+
return () => clearInterval(id);
|
|
14
|
+
}, [status]);
|
|
4
15
|
if (status === "completed") {
|
|
5
16
|
return _jsxs(Text, { children: [_jsx(Text, { color: "green", children: "◇" }), " ", _jsx(Text, { color: "green", children: label })] });
|
|
6
17
|
}
|
|
7
18
|
if (status === "active") {
|
|
8
|
-
return _jsxs(Text, { children: [_jsx(Text, { color: "
|
|
19
|
+
return _jsxs(Text, { children: [_jsx(Text, { color: "cyan", bold: true, children: ACTIVE_FRAMES[frame] }), " ", _jsx(Text, { bold: true, color: "cyan", children: label })] });
|
|
9
20
|
}
|
|
10
21
|
return _jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: "○" }), " ", _jsx(Text, { dimColor: true, children: label })] });
|
|
11
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"step-indicator.js","sourceRoot":"","sources":["../../src/components/step-indicator.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"step-indicator.js","sourceRoot":"","sources":["../../src/components/step-indicator.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAS3B,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAU,CAAC;AAEpD,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAE,MAAM,EAAE,KAAK,EAAS;IAC5D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO;QAChC,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE;YAC1B,QAAQ,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC,EAAE,GAAG,CAAC,CAAC;QACR,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;QAC3B,OAAO,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,GAAG,GAAQ,EAAC,IAAI,EAAC,KAAC,IAAI,IAAC,KAAK,EAAC,OAAO,YAAE,KAAK,GAAQ,IAAO,CAAC;IAC/F,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,KAAK,EAAC,MAAM,EAAC,IAAI,kBAAE,aAAa,CAAC,KAAK,CAAC,GAAQ,EAAC,IAAI,EAAC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,YAAE,KAAK,GAAQ,IAAO,CAAC;IACxH,CAAC;IACD,OAAO,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,QAAQ,kBAAE,GAAG,GAAQ,EAAC,IAAI,EAAC,KAAC,IAAI,IAAC,QAAQ,kBAAE,KAAK,GAAQ,IAAO,CAAC;AACrF,CAAC"}
|
|
@@ -6,18 +6,20 @@ export default function Timeline({ steps, children }) {
|
|
|
6
6
|
const elements = [];
|
|
7
7
|
steps.forEach((step, i) => {
|
|
8
8
|
const isLast = i === steps.length - 1;
|
|
9
|
+
const isActive = step.status === "active";
|
|
9
10
|
// Step indicator line
|
|
10
11
|
elements.push(_jsx(StepIndicator, { status: step.status, label: step.name }, `ind-${i}`));
|
|
11
12
|
// Completed step: show summary on SEPARATE line with gutter
|
|
12
13
|
if (step.status === "completed" && step.summary) {
|
|
13
14
|
elements.push(_jsxs(Text, { dimColor: true, children: ["│ ", step.summary] }, `sum-${i}`));
|
|
14
15
|
}
|
|
15
|
-
// Active step: render children
|
|
16
|
-
if (
|
|
16
|
+
// Active step: render children then close with └
|
|
17
|
+
if (isActive) {
|
|
17
18
|
elements.push(_jsx(React.Fragment, { children: children }, `content-${i}`));
|
|
19
|
+
elements.push(_jsx(Text, { dimColor: true, children: "└" }, `close-${i}`));
|
|
18
20
|
}
|
|
19
|
-
// Gutter spacer between steps
|
|
20
|
-
if (!isLast) {
|
|
21
|
+
// Gutter spacer between steps — skip after active (└ already closes it)
|
|
22
|
+
if (!isLast && !isActive) {
|
|
21
23
|
elements.push(_jsx(Text, { dimColor: true, children: "│" }, `bar-${i}`));
|
|
22
24
|
}
|
|
23
25
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../src/components/timeline.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAchD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAS;IACzD,MAAM,QAAQ,GAAsB,EAAE,CAAC;IAEvC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"timeline.js","sourceRoot":"","sources":["../../src/components/timeline.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAchD,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAS;IACzD,MAAM,QAAQ,GAAsB,EAAE,CAAC;IAEvC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,CAAC,KAAK,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC;QAE1C,sBAAsB;QACtB,QAAQ,CAAC,IAAI,CACX,KAAC,aAAa,IAAkB,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,IAAjD,OAAO,CAAC,EAAE,CAA2C,CAC1E,CAAC;QAEF,4DAA4D;QAC5D,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAChD,QAAQ,CAAC,IAAI,CACX,MAAC,IAAI,IAAkB,QAAQ,mBAAE,KAAK,EAAE,IAAI,CAAC,OAAO,KAAzC,OAAO,CAAC,EAAE,CAAuC,CAC7D,CAAC;QACJ,CAAC;QAED,iDAAiD;QACjD,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CACX,KAAC,KAAK,CAAC,QAAQ,cAAuB,QAAQ,IAAzB,WAAW,CAAC,EAAE,CAA6B,CACjE,CAAC;YACF,QAAQ,CAAC,IAAI,CACX,KAAC,IAAI,IAAoB,QAAQ,kBAAE,GAAG,IAA3B,SAAS,CAAC,EAAE,CAAuB,CAC/C,CAAC;QACJ,CAAC;QAED,wEAAwE;QACxE,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACzB,QAAQ,CAAC,IAAI,CAAC,KAAC,IAAI,IAAkB,QAAQ,kBAAE,GAAG,IAAzB,OAAO,CAAC,EAAE,CAAuB,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YAAE,QAAQ,GAAO,CAAC;AACtD,CAAC"}
|
package/dist/lib/types.d.ts
CHANGED
package/dist/steps/generation.js
CHANGED
|
@@ -80,7 +80,10 @@ export default function Generation({ answers, onComplete }) {
|
|
|
80
80
|
: releaseConflicts.packageJsonExists
|
|
81
81
|
? "will add release scripts"
|
|
82
82
|
: "will create with release scripts";
|
|
83
|
-
|
|
83
|
+
const codeStyleDisplay = answers.codeStyle.length > 0
|
|
84
|
+
? answers.codeStyle.join(", ")
|
|
85
|
+
: "N/A";
|
|
86
|
+
return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { bold: true, color: "cyan", children: "Project Info" }) }), _jsx(GutterLine, { children: _jsxs(Text, { children: [" ", "Name: ", _jsx(Text, { bold: true, children: answers.projectName || "untitled" })] }) }), _jsx(GutterLine, { children: _jsxs(Text, { children: [" Description: ", answers.description || "N/A"] }) }), _jsx(GutterLine, { children: _jsxs(Text, { children: [" Package manager: ", answers.packageManager, " | License: ", answers.license] }) }), _jsx(GutterLine, { children: _jsx(Text, { children: " " }) }), _jsx(GutterLine, { children: _jsx(Text, { bold: true, color: "cyan", children: "Stack & Style" }) }), _jsx(GutterLine, { children: _jsxs(Text, { children: [" Language: ", answers.language || "N/A", " | Framework: ", answers.framework || "N/A"] }) }), _jsx(GutterLine, { children: _jsxs(Text, { children: [" Code style: ", codeStyleDisplay] }) }), _jsx(GutterLine, { children: _jsx(Text, { children: " " }) }), _jsx(GutterLine, { children: _jsx(Text, { bold: true, color: "cyan", children: "Build & Test" }) }), _jsx(GutterLine, { children: _jsxs(Text, { children: [" Build: ", answers.buildCommand || "N/A", " | Test: ", answers.testCommand || "N/A"] }) }), (answers.typecheckCommand || answers.lintCommand) && (_jsx(GutterLine, { children: _jsxs(Text, { children: [" ", "Typecheck: ", answers.typecheckCommand || "N/A", " | Lint: ", answers.lintCommand || "N/A"] }) })), answers.prCommand && (_jsx(GutterLine, { children: _jsxs(Text, { children: [" PR command: ", answers.prCommand] }) })), _jsx(GutterLine, { children: _jsx(Text, { children: " " }) }), _jsx(GutterLine, { children: _jsx(Text, { bold: true, color: "cyan", children: "Architecture" }) }), _jsx(GutterLine, { children: _jsxs(Text, { children: [" ", answers.architecture || "N/A"] }) }), _jsx(GutterLine, { children: _jsx(Text, { children: " " }) }), _jsx(GutterLine, { children: _jsx(Text, { bold: true, color: "cyan", children: "Product Context" }) }), _jsx(GutterLine, { children: _jsxs(Text, { children: [" Problem: ", answers.problem || "N/A"] }) }), _jsx(GutterLine, { children: _jsxs(Text, { children: [" Users: ", answers.users || "N/A"] }) }), answers.techStack && (_jsx(GutterLine, { children: _jsxs(Text, { children: [" Tech stack: ", answers.techStack] }) })), _jsx(GutterLine, { children: _jsxs(Text, { children: [" Features: ", answers.coreFeatures.length > 0 ? answers.coreFeatures.join(", ") : "N/A"] }) }), answers.nonGoals.length > 0 && (_jsx(GutterLine, { children: _jsxs(Text, { children: [" Non-goals: ", answers.nonGoals.join(", ")] }) })), _jsx(GutterLine, { children: _jsx(Text, { children: " " }) }), _jsx(GutterLine, { children: _jsx(Text, { bold: true, color: "cyan", children: "Files to generate" }) }), _jsx(GutterLine, { children: _jsxs(Text, { children: [" ", FILES_TO_GENERATE.join(", ")] }) }), conflicts.length > 0 && (_jsx(GutterLine, { children: _jsxs(Text, { color: "yellow", children: [" ⚠ Will overwrite: ", conflicts.join(", ")] }) })), _jsx(GutterLine, { children: _jsx(Text, { children: " " }) }), _jsx(GutterLine, { children: _jsx(Text, { bold: true, color: "cyan", children: "Release setup" }) }), _jsx(GutterLine, { children: _jsxs(Text, { children: [" ", scriptDisplay, " \u2192 ", scriptStatus] }) }), _jsx(GutterLine, { children: _jsxs(Text, { children: [" package.json \u2192 ", pkgStatus] }) }), _jsx(GutterLine, { children: _jsx(Text, { children: " " }) }), _jsxs(GutterLine, { children: [_jsx(Text, { children: "Proceed? " }), _jsx(ConfirmInput, { onConfirm: handleConfirm, onCancel: handleCancel })] })] }));
|
|
84
87
|
}
|
|
85
88
|
if (phase === "running") {
|
|
86
89
|
return (_jsx(GutterLine, { children: _jsx(Spinner, { label: "Generating project files..." }) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generation.js","sourceRoot":"","sources":["../../src/steps/generation.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generation.js","sourceRoot":"","sources":["../../src/steps/generation.tsx"],"names":[],"mappings":"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"}
|
package/dist/steps/powerline.js
CHANGED
|
@@ -26,7 +26,7 @@ export default function Powerline({ answers, onComplete }) {
|
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
setPhase("done");
|
|
29
|
-
setTimeout(() => onComplete({ setupPowerline: powerline }), 1000);
|
|
29
|
+
setTimeout(() => onComplete({ setupPowerline: powerline, setupGit: git }), 1000);
|
|
30
30
|
}
|
|
31
31
|
catch (err) {
|
|
32
32
|
setPhase("error");
|
|
@@ -1 +1 @@
|
|
|
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,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAoBxC,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,OAAO,EAAE,UAAU,EAAS;IAC9D,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAQ,eAAe,CAAC,CAAC;IAC3D,MAAM,CAAC,aAAa,EAAE,gBAAgB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC1D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,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,SAAS,QAAQ,CAAC,SAAkB,EAAE,GAAY;QAChD,QAAQ,CAAC,SAAS,CAAC,CAAC;QACpB,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;YAChC,IAAI,SAAS,EAAE,CAAC;gBACd,cAAc,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;YACD,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;gBACrC,cAAc,CAAC;oBACb,YAAY,EAAE,SAAS,CAAC,SAAS;oBACjC,UAAU,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM;iBAC/D,CAAC,CAAC;YACL,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,CAAC;YACjB,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"powerline.js","sourceRoot":"","sources":["../../src/steps/powerline.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/app.tsx
CHANGED
|
@@ -48,6 +48,7 @@ const EMPTY_ANSWERS: WizardAnswers = {
|
|
|
48
48
|
envVars: [],
|
|
49
49
|
generationSkipped: false,
|
|
50
50
|
setupPowerline: false,
|
|
51
|
+
setupGit: false,
|
|
51
52
|
};
|
|
52
53
|
|
|
53
54
|
function getSummary(stepIndex: number, answers: WizardAnswers): string {
|
|
@@ -85,7 +86,7 @@ function getSummary(stepIndex: number, answers: WizardAnswers): string {
|
|
|
85
86
|
case 6: {
|
|
86
87
|
const parts: string[] = [];
|
|
87
88
|
if (answers.setupPowerline) parts.push("Powerline");
|
|
88
|
-
parts.push("Git init");
|
|
89
|
+
parts.push(answers.setupGit ? "Git init: yes" : "Git init: no");
|
|
89
90
|
return parts.join(", ");
|
|
90
91
|
}
|
|
91
92
|
default:
|
|
@@ -102,6 +103,9 @@ export default function App() {
|
|
|
102
103
|
if (key.escape) {
|
|
103
104
|
process.exit(0);
|
|
104
105
|
}
|
|
106
|
+
if (finished && key.return) {
|
|
107
|
+
process.exit(0);
|
|
108
|
+
}
|
|
105
109
|
});
|
|
106
110
|
|
|
107
111
|
function handleStepComplete(partial: Partial<WizardAnswers>) {
|
|
@@ -145,6 +149,8 @@ export default function App() {
|
|
|
145
149
|
</Text>
|
|
146
150
|
</>
|
|
147
151
|
)}
|
|
152
|
+
<Text> </Text>
|
|
153
|
+
<Text dimColor>Press Enter to exit.</Text>
|
|
148
154
|
</Box>
|
|
149
155
|
</Box>
|
|
150
156
|
);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import React, { useEffect, useState } from "react";
|
|
2
2
|
import { Text } from "ink";
|
|
3
3
|
|
|
4
4
|
export type StepStatus = "completed" | "active" | "pending";
|
|
@@ -8,12 +8,24 @@ interface Props {
|
|
|
8
8
|
label: string;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
+
const ACTIVE_FRAMES = ["◆", "◈", "◇", "◈"] as const;
|
|
12
|
+
|
|
11
13
|
export default function StepIndicator({ status, label }: Props) {
|
|
14
|
+
const [frame, setFrame] = useState(0);
|
|
15
|
+
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
if (status !== "active") return;
|
|
18
|
+
const id = setInterval(() => {
|
|
19
|
+
setFrame((f) => (f + 1) % ACTIVE_FRAMES.length);
|
|
20
|
+
}, 350);
|
|
21
|
+
return () => clearInterval(id);
|
|
22
|
+
}, [status]);
|
|
23
|
+
|
|
12
24
|
if (status === "completed") {
|
|
13
25
|
return <Text><Text color="green">{"◇"}</Text>{" "}<Text color="green">{label}</Text></Text>;
|
|
14
26
|
}
|
|
15
27
|
if (status === "active") {
|
|
16
|
-
return <Text><Text color="
|
|
28
|
+
return <Text><Text color="cyan" bold>{ACTIVE_FRAMES[frame]}</Text>{" "}<Text bold color="cyan">{label}</Text></Text>;
|
|
17
29
|
}
|
|
18
30
|
return <Text><Text dimColor>{"○"}</Text>{" "}<Text dimColor>{label}</Text></Text>;
|
|
19
31
|
}
|
|
@@ -19,6 +19,7 @@ export default function Timeline({ steps, children }: Props) {
|
|
|
19
19
|
|
|
20
20
|
steps.forEach((step, i) => {
|
|
21
21
|
const isLast = i === steps.length - 1;
|
|
22
|
+
const isActive = step.status === "active";
|
|
22
23
|
|
|
23
24
|
// Step indicator line
|
|
24
25
|
elements.push(
|
|
@@ -32,15 +33,18 @@ export default function Timeline({ steps, children }: Props) {
|
|
|
32
33
|
);
|
|
33
34
|
}
|
|
34
35
|
|
|
35
|
-
// Active step: render children
|
|
36
|
-
if (
|
|
36
|
+
// Active step: render children then close with └
|
|
37
|
+
if (isActive) {
|
|
37
38
|
elements.push(
|
|
38
39
|
<React.Fragment key={`content-${i}`}>{children}</React.Fragment>
|
|
39
40
|
);
|
|
41
|
+
elements.push(
|
|
42
|
+
<Text key={`close-${i}`} dimColor>{"└"}</Text>
|
|
43
|
+
);
|
|
40
44
|
}
|
|
41
45
|
|
|
42
|
-
// Gutter spacer between steps
|
|
43
|
-
if (!isLast) {
|
|
46
|
+
// Gutter spacer between steps — skip after active (└ already closes it)
|
|
47
|
+
if (!isLast && !isActive) {
|
|
44
48
|
elements.push(<Text key={`bar-${i}`} dimColor>{"│"}</Text>);
|
|
45
49
|
}
|
|
46
50
|
});
|
package/src/lib/types.ts
CHANGED
package/src/steps/generation.tsx
CHANGED
|
@@ -102,62 +102,127 @@ export default function Generation({ answers, onComplete }: Props) {
|
|
|
102
102
|
? "will add release scripts"
|
|
103
103
|
: "will create with release scripts";
|
|
104
104
|
|
|
105
|
+
const codeStyleDisplay = answers.codeStyle.length > 0
|
|
106
|
+
? answers.codeStyle.join(", ")
|
|
107
|
+
: "N/A";
|
|
108
|
+
|
|
105
109
|
return (
|
|
106
110
|
<>
|
|
111
|
+
{/* ── Project Info ── */}
|
|
107
112
|
<GutterLine>
|
|
108
|
-
<Text>
|
|
109
|
-
Project: <Text bold>{answers.projectName || "untitled"}</Text>
|
|
110
|
-
{" — "}
|
|
111
|
-
{answers.description || "no description"}
|
|
112
|
-
</Text>
|
|
113
|
+
<Text bold color="cyan">Project Info</Text>
|
|
113
114
|
</GutterLine>
|
|
114
115
|
<GutterLine>
|
|
115
116
|
<Text>
|
|
116
|
-
|
|
117
|
-
{pmAndLicense ? ` (${pmAndLicense})` : ""}
|
|
117
|
+
{" "}Name: <Text bold>{answers.projectName || "untitled"}</Text>
|
|
118
118
|
</Text>
|
|
119
119
|
</GutterLine>
|
|
120
120
|
<GutterLine>
|
|
121
|
-
<Text>
|
|
122
|
-
Build: {answers.buildCommand || "N/A"} | Test:{" "}
|
|
123
|
-
{answers.testCommand || "N/A"}
|
|
124
|
-
</Text>
|
|
121
|
+
<Text> Description: {answers.description || "N/A"}</Text>
|
|
125
122
|
</GutterLine>
|
|
126
123
|
<GutterLine>
|
|
127
|
-
<Text>
|
|
124
|
+
<Text> Package manager: {answers.packageManager} | License: {answers.license}</Text>
|
|
128
125
|
</GutterLine>
|
|
126
|
+
|
|
127
|
+
{/* ── Stack & Style ── */}
|
|
129
128
|
<GutterLine>
|
|
130
|
-
<Text>
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
</Text>
|
|
129
|
+
<Text> </Text>
|
|
130
|
+
</GutterLine>
|
|
131
|
+
<GutterLine>
|
|
132
|
+
<Text bold color="cyan">Stack & Style</Text>
|
|
133
|
+
</GutterLine>
|
|
134
|
+
<GutterLine>
|
|
135
|
+
<Text> Language: {answers.language || "N/A"} | Framework: {answers.framework || "N/A"}</Text>
|
|
136
|
+
</GutterLine>
|
|
137
|
+
<GutterLine>
|
|
138
|
+
<Text> Code style: {codeStyleDisplay}</Text>
|
|
139
|
+
</GutterLine>
|
|
140
|
+
|
|
141
|
+
{/* ── Build & Test ── */}
|
|
142
|
+
<GutterLine>
|
|
143
|
+
<Text> </Text>
|
|
144
|
+
</GutterLine>
|
|
145
|
+
<GutterLine>
|
|
146
|
+
<Text bold color="cyan">Build & Test</Text>
|
|
147
|
+
</GutterLine>
|
|
148
|
+
<GutterLine>
|
|
149
|
+
<Text> Build: {answers.buildCommand || "N/A"} | Test: {answers.testCommand || "N/A"}</Text>
|
|
150
|
+
</GutterLine>
|
|
151
|
+
{(answers.typecheckCommand || answers.lintCommand) && (
|
|
152
|
+
<GutterLine>
|
|
153
|
+
<Text>
|
|
154
|
+
{" "}Typecheck: {answers.typecheckCommand || "N/A"} | Lint: {answers.lintCommand || "N/A"}
|
|
155
|
+
</Text>
|
|
156
|
+
</GutterLine>
|
|
157
|
+
)}
|
|
158
|
+
{answers.prCommand && (
|
|
159
|
+
<GutterLine>
|
|
160
|
+
<Text> PR command: {answers.prCommand}</Text>
|
|
161
|
+
</GutterLine>
|
|
162
|
+
)}
|
|
163
|
+
|
|
164
|
+
{/* ── Architecture ── */}
|
|
165
|
+
<GutterLine>
|
|
166
|
+
<Text> </Text>
|
|
134
167
|
</GutterLine>
|
|
168
|
+
<GutterLine>
|
|
169
|
+
<Text bold color="cyan">Architecture</Text>
|
|
170
|
+
</GutterLine>
|
|
171
|
+
<GutterLine>
|
|
172
|
+
<Text> {answers.architecture || "N/A"}</Text>
|
|
173
|
+
</GutterLine>
|
|
174
|
+
|
|
175
|
+
{/* ── Product Context ── */}
|
|
135
176
|
<GutterLine>
|
|
136
177
|
<Text> </Text>
|
|
137
178
|
</GutterLine>
|
|
138
179
|
<GutterLine>
|
|
139
|
-
<Text>
|
|
180
|
+
<Text bold color="cyan">Product Context</Text>
|
|
181
|
+
</GutterLine>
|
|
182
|
+
<GutterLine>
|
|
183
|
+
<Text> Problem: {answers.problem || "N/A"}</Text>
|
|
184
|
+
</GutterLine>
|
|
185
|
+
<GutterLine>
|
|
186
|
+
<Text> Users: {answers.users || "N/A"}</Text>
|
|
187
|
+
</GutterLine>
|
|
188
|
+
{answers.techStack && (
|
|
189
|
+
<GutterLine>
|
|
190
|
+
<Text> Tech stack: {answers.techStack}</Text>
|
|
191
|
+
</GutterLine>
|
|
192
|
+
)}
|
|
193
|
+
<GutterLine>
|
|
194
|
+
<Text> Features: {answers.coreFeatures.length > 0 ? answers.coreFeatures.join(", ") : "N/A"}</Text>
|
|
195
|
+
</GutterLine>
|
|
196
|
+
{answers.nonGoals.length > 0 && (
|
|
197
|
+
<GutterLine>
|
|
198
|
+
<Text> Non-goals: {answers.nonGoals.join(", ")}</Text>
|
|
199
|
+
</GutterLine>
|
|
200
|
+
)}
|
|
201
|
+
|
|
202
|
+
{/* ── Files ── */}
|
|
203
|
+
<GutterLine>
|
|
204
|
+
<Text> </Text>
|
|
205
|
+
</GutterLine>
|
|
206
|
+
<GutterLine>
|
|
207
|
+
<Text bold color="cyan">Files to generate</Text>
|
|
140
208
|
</GutterLine>
|
|
141
209
|
<GutterLine>
|
|
142
210
|
<Text> {FILES_TO_GENERATE.join(", ")}</Text>
|
|
143
211
|
</GutterLine>
|
|
144
212
|
{conflicts.length > 0 && (
|
|
145
|
-
|
|
146
|
-
<
|
|
147
|
-
|
|
148
|
-
</
|
|
149
|
-
|
|
150
|
-
<Text color="yellow">
|
|
151
|
-
{"⚠ Will overwrite: "}{conflicts.join(", ")}
|
|
152
|
-
</Text>
|
|
153
|
-
</GutterLine>
|
|
154
|
-
</>
|
|
213
|
+
<GutterLine>
|
|
214
|
+
<Text color="yellow">
|
|
215
|
+
{" ⚠ Will overwrite: "}{conflicts.join(", ")}
|
|
216
|
+
</Text>
|
|
217
|
+
</GutterLine>
|
|
155
218
|
)}
|
|
219
|
+
|
|
220
|
+
{/* ── Release ── */}
|
|
156
221
|
<GutterLine>
|
|
157
222
|
<Text> </Text>
|
|
158
223
|
</GutterLine>
|
|
159
224
|
<GutterLine>
|
|
160
|
-
<Text>Release setup
|
|
225
|
+
<Text bold color="cyan">Release setup</Text>
|
|
161
226
|
</GutterLine>
|
|
162
227
|
<GutterLine>
|
|
163
228
|
<Text> {scriptDisplay} → {scriptStatus}</Text>
|
|
@@ -165,6 +230,8 @@ export default function Generation({ answers, onComplete }: Props) {
|
|
|
165
230
|
<GutterLine>
|
|
166
231
|
<Text> package.json → {pkgStatus}</Text>
|
|
167
232
|
</GutterLine>
|
|
233
|
+
|
|
234
|
+
{/* ── Confirm ── */}
|
|
168
235
|
<GutterLine>
|
|
169
236
|
<Text> </Text>
|
|
170
237
|
</GutterLine>
|
package/src/steps/powerline.tsx
CHANGED
|
@@ -45,7 +45,7 @@ export default function Powerline({ answers, onComplete }: Props) {
|
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
47
|
setPhase("done");
|
|
48
|
-
setTimeout(() => onComplete({ setupPowerline: powerline }), 1000);
|
|
48
|
+
setTimeout(() => onComplete({ setupPowerline: powerline, setupGit: git }), 1000);
|
|
49
49
|
} catch (err) {
|
|
50
50
|
setPhase("error");
|
|
51
51
|
setErrorMsg(err instanceof Error ? err.message : String(err));
|