procedure-cli 0.1.4 → 0.1.6
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.md +2 -0
- package/CODE-FIXED.md +22 -0
- package/CODE-REVIEW.md +34 -0
- package/dist/app.js +2 -1
- package/dist/app.js.map +1 -1
- package/dist/components/banner.js +2 -1
- package/dist/components/banner.js.map +1 -1
- package/dist/components/gutter-line.js +3 -2
- package/dist/components/gutter-line.js.map +1 -1
- package/dist/components/guttered-select.js +5 -4
- package/dist/components/guttered-select.js.map +1 -1
- package/dist/components/step-indicator.js +4 -3
- package/dist/components/step-indicator.js.map +1 -1
- package/dist/components/timeline.js +10 -6
- package/dist/components/timeline.js.map +1 -1
- package/dist/steps/architecture.js +2 -1
- package/dist/steps/architecture.js.map +1 -1
- package/dist/steps/build-test.js +2 -1
- package/dist/steps/build-test.js.map +1 -1
- package/dist/steps/generation.js +4 -3
- package/dist/steps/generation.js.map +1 -1
- package/dist/steps/powerline.js +4 -3
- package/dist/steps/powerline.js.map +1 -1
- package/dist/steps/product-context.js +3 -2
- package/dist/steps/product-context.js.map +1 -1
- package/dist/steps/project-info.js +3 -2
- package/dist/steps/project-info.js.map +1 -1
- package/dist/steps/stack-style.js +3 -2
- package/dist/steps/stack-style.js.map +1 -1
- package/dist/theme.d.ts +15 -0
- package/dist/theme.js +16 -0
- package/dist/theme.js.map +1 -0
- package/package.json +1 -1
- package/src/app.tsx +6 -5
- package/src/components/banner.tsx +4 -4
- package/src/components/gutter-line.tsx +3 -2
- package/src/components/guttered-select.tsx +20 -19
- package/src/components/step-indicator.tsx +4 -3
- package/src/components/timeline.tsx +12 -8
- package/src/steps/architecture.tsx +3 -2
- package/src/steps/build-test.tsx +4 -3
- package/src/steps/generation.tsx +12 -11
- package/src/steps/powerline.tsx +8 -7
- package/src/steps/product-context.tsx +3 -2
- package/src/steps/project-info.tsx +3 -2
- package/src/steps/stack-style.tsx +4 -3
- package/src/theme.ts +15 -0
package/CLAUDE.md
CHANGED
|
@@ -134,3 +134,5 @@ Two tracking files live at the project root. Both are append-only logs — never
|
|
|
134
134
|
- Custom GutteredSelect/GutteredMultiSelect for select menus — `@inkjs/ui` Select breaks the `│` gutter line
|
|
135
135
|
- Tech stack multi-select should prefill from Stack & Style selections (language + framework)
|
|
136
136
|
- Stack & Style = dev setup (language, framework, code style → CLAUDE.md). Tech Stack = full product stack (databases, infra → PRD/README)
|
|
137
|
+
- Color theme is Catppuccin Mocha — always use hex constants from `src/theme.ts` (`C.mauve`, `C.green`, etc.), never terminal color names like `"cyan"`, `"green"`, `"red"`. This ensures consistent rendering across all terminal emulators.
|
|
138
|
+
- Timeline `┌`/`└` corners wrap the entire wizard flow (top of Project Info, bottom of Setup) — not individual steps
|
package/CODE-FIXED.md
CHANGED
|
@@ -147,3 +147,25 @@ None.
|
|
|
147
147
|
- `npm run build`: pass
|
|
148
148
|
|
|
149
149
|
---
|
|
150
|
+
## Entry 2026-02-22
|
|
151
|
+
|
|
152
|
+
### Entry ID
|
|
153
|
+
- `CF-20260222-005`
|
|
154
|
+
|
|
155
|
+
### Source Review
|
|
156
|
+
- `CR-20260222-003` (CODE-REVIEW.md entry 2026-02-22)
|
|
157
|
+
|
|
158
|
+
### Fixes Applied
|
|
159
|
+
|
|
160
|
+
1. Finding #11 (Low) — **Fixed**
|
|
161
|
+
- `src/steps/build-test.tsx:68` — Replaced `dimColor` with `color={C.overlay1}` to comply with the Catppuccin theme rule and keep all color rendering sourced from `src/theme.ts` constants.
|
|
162
|
+
|
|
163
|
+
### Deferred
|
|
164
|
+
None.
|
|
165
|
+
|
|
166
|
+
### Verification Notes
|
|
167
|
+
- `npm run typecheck`: pass
|
|
168
|
+
- `npm run build`: pass
|
|
169
|
+
- `rg "dimColor|color=\"(cyan|green|red|yellow|blue|magenta|white|black)\"" -n src`: no matches
|
|
170
|
+
|
|
171
|
+
---
|
package/CODE-REVIEW.md
CHANGED
|
@@ -350,3 +350,37 @@
|
|
|
350
350
|
|
|
351
351
|
### Residual Risks / Testing Gaps
|
|
352
352
|
- No automated UI tests currently cover end-to-end Powerline branching (`gitCommitted` true/false).
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
## Entry 2026-02-22
|
|
357
|
+
|
|
358
|
+
### Entry ID
|
|
359
|
+
- `CR-20260222-003`
|
|
360
|
+
|
|
361
|
+
### Supersedes
|
|
362
|
+
- `CR-20260222-002`
|
|
363
|
+
|
|
364
|
+
### Scope
|
|
365
|
+
- Start a new review cycle on current local working tree.
|
|
366
|
+
- Validate latest fix-log state and review recent UI/theme changes for regressions.
|
|
367
|
+
|
|
368
|
+
### Validation Matrix
|
|
369
|
+
| Finding # | Previous Severity | Current Status | Evidence | Notes |
|
|
370
|
+
|-----------|-------------------|----------------|----------|-------|
|
|
371
|
+
| 10 | Low | Fixed | `CODE-FIXED.md:136`, `src/lib/types.ts:68`, `src/app.tsx:90`, `src/steps/powerline.tsx:49` | Setup summary now reflects actual git setup choice (`Git init: yes/no`). |
|
|
372
|
+
|
|
373
|
+
### Findings (ordered by severity)
|
|
374
|
+
1. Low - Theme rule is not fully applied; one `dimColor` usage remains (`Finding #11`, `Status: New`)
|
|
375
|
+
- `src/steps/build-test.tsx:68`
|
|
376
|
+
- Current procedure in `CLAUDE.md` requires using hex values from `src/theme.ts` and avoiding terminal color names/dim variants for consistency. `BuildTest` still renders `(<default>)` with `dimColor`.
|
|
377
|
+
- Recommendation: replace `dimColor` with `color={C.overlay1}` and keep all color rendering sourced from `src/theme.ts`.
|
|
378
|
+
|
|
379
|
+
### Verification Notes
|
|
380
|
+
- Procedure compliance: read latest `CODE-REVIEW.md` and latest `CODE-FIXED.md` before this review.
|
|
381
|
+
- `npm run typecheck`: pass.
|
|
382
|
+
- `npm run build`: pass.
|
|
383
|
+
- Consistency scan: `rg "dimColor|color=\"(cyan|green|red|yellow|blue|magenta|white|black)\"" -n src` reports only `src/steps/build-test.tsx:68`.
|
|
384
|
+
|
|
385
|
+
### Residual Risks / Testing Gaps
|
|
386
|
+
- No snapshot/UI regression tests currently enforce theme consistency rules across wizard steps.
|
package/dist/app.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from "react";
|
|
3
3
|
import { Box, Text, useInput } from "ink";
|
|
4
|
+
import { C } from "./theme.js";
|
|
4
5
|
import Banner from "./components/banner.js";
|
|
5
6
|
import Timeline from "./components/timeline.js";
|
|
6
7
|
import ProjectInfo from "./steps/project-info.js";
|
|
@@ -122,7 +123,7 @@ export default function App() {
|
|
|
122
123
|
status: "completed",
|
|
123
124
|
summary: getSummary(i, answers),
|
|
124
125
|
}));
|
|
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:
|
|
126
|
+
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: C.green, children: ["✔", " Procedure CLI setup complete!"] }), _jsx(Text, { children: " " }), answers.generationSkipped ? (_jsx(Text, { color: C.overlay1, children: "Generation was skipped \u2014 no files were written." })) : (_jsxs(_Fragment, { children: [_jsxs(Text, { children: ["Project ", _jsxs(Text, { bold: true, color: C.sapphire, children: ["\"", answers.projectName, "\""] }), " has been scaffolded."] }), _jsx(Text, { color: C.overlay1, children: "Check the generated CLAUDE.md, PRD.md, and USER-STORIES.md." })] })), _jsx(Text, { children: " " }), _jsx(Text, { color: C.overlay1, children: "Press Enter to exit." })] })] }));
|
|
126
127
|
}
|
|
127
128
|
const steps = STEP_NAMES.map((name, i) => {
|
|
128
129
|
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;
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Box, Text } from "ink";
|
|
3
|
+
import { C } from "../theme.js";
|
|
3
4
|
const BANNER_LINES = [
|
|
4
5
|
"█▀█ █▀█ █▀█ █▀▀ █▀▀ █▀▄ █ █ █▀█ █▀▀",
|
|
5
6
|
"█▀▀ █▀▄ █ █ █ █▀▀ █ █ █ █ █▀▄ █▀▀",
|
|
6
7
|
"▀ ▀ ▀ ▀▀▀ ▀▀▀ ▀▀▀ ▀▀ ▀▀▀ ▀ ▀ ▀▀▀",
|
|
7
8
|
];
|
|
8
9
|
export default function Banner() {
|
|
9
|
-
return (_jsxs(Box, { flexDirection: "column", marginBottom: 0, children: [BANNER_LINES.map((line, i) => (_jsx(Text, { color:
|
|
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: "Bootsrap any project with a battle-tested Claude.md" }), _jsx(Text, { color: C.overlay1, children: "─".repeat(43) })] }));
|
|
10
11
|
}
|
|
11
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;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,
|
|
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,sEAA2D,EAChE,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAQ,IAC5C,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Text } from "ink";
|
|
3
|
+
import { C } from "../theme.js";
|
|
3
4
|
export function GutterLine({ children }) {
|
|
4
|
-
return _jsxs(Text, { children: [_jsx(Text, {
|
|
5
|
+
return _jsxs(Text, { children: [_jsx(Text, { color: C.overlay1, children: "│ " }), children] });
|
|
5
6
|
}
|
|
6
7
|
export function EmptyGutter() {
|
|
7
|
-
return _jsx(Text, {
|
|
8
|
+
return _jsx(Text, { color: C.overlay1, children: "│" });
|
|
8
9
|
}
|
|
9
10
|
//# sourceMappingURL=gutter-line.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gutter-line.js","sourceRoot":"","sources":["../../src/components/gutter-line.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"gutter-line.js","sourceRoot":"","sources":["../../src/components/gutter-line.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAEhC,MAAM,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAkC;IACrE,OAAO,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,KAAK,GAAQ,EAAC,QAAQ,IAAQ,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,OAAO,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,GAAG,GAAQ,CAAC;AAC/C,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { useState } from "react";
|
|
3
3
|
import { Box, Text, useInput } from "ink";
|
|
4
4
|
import { TextInput } from "@inkjs/ui";
|
|
5
|
+
import { C } from "../theme.js";
|
|
5
6
|
/**
|
|
6
7
|
* A custom Select component that renders each option with the vertical
|
|
7
8
|
* gutter prefix (│) so the timeline line stays continuous.
|
|
@@ -24,7 +25,7 @@ export function GutteredSelect({ options, onChange }) {
|
|
|
24
25
|
});
|
|
25
26
|
return (_jsx(Box, { flexDirection: "column", children: options.map((option, index) => {
|
|
26
27
|
const isActive = index === activeIndex;
|
|
27
|
-
return (_jsxs(Text, { children: [_jsx(Text, {
|
|
28
|
+
return (_jsxs(Text, { children: [_jsx(Text, { color: C.overlay1, children: "│ " }), isActive ? (_jsx(Text, { color: C.mauve, bold: true, children: "❯ " })) : (_jsx(Text, { children: " " })), _jsx(Text, { bold: isActive, children: option.label }), option.description && (_jsx(Text, { color: C.overlay1, children: " " + option.description }))] }, option.value));
|
|
28
29
|
}) }));
|
|
29
30
|
}
|
|
30
31
|
const CUSTOM_SENTINEL = "__custom__";
|
|
@@ -78,7 +79,7 @@ export function GutteredMultiSelect({ options, initialSelected, onSubmit, allowC
|
|
|
78
79
|
}, { isActive: phase === "selecting" });
|
|
79
80
|
if (phase === "custom") {
|
|
80
81
|
const currentSelections = Array.from(selected);
|
|
81
|
-
return (_jsxs(Box, { flexDirection: "column", children: [currentSelections.length > 0 && (_jsxs(Text, { children: [_jsx(Text, {
|
|
82
|
+
return (_jsxs(Box, { flexDirection: "column", children: [currentSelections.length > 0 && (_jsxs(Text, { children: [_jsx(Text, { color: C.overlay1, children: "│ " }), _jsx(Text, { color: C.green, children: "Selected: " }), _jsx(Text, { children: currentSelections.join(", ") })] })), _jsxs(Text, { children: [_jsx(Text, { color: C.overlay1, children: "│ " }), _jsx(Text, { bold: true, children: "Add custom (comma-separated):" })] }), _jsxs(Text, { children: [_jsx(Text, { color: C.overlay1, children: "│ " }), _jsx(TextInput, { placeholder: customPlaceholder ?? "Type here, press enter to confirm", onSubmit: (value) => {
|
|
82
83
|
const custom = value.split(",").map((s) => s.trim()).filter(Boolean);
|
|
83
84
|
onSubmit([...currentSelections, ...custom]);
|
|
84
85
|
} })] })] }));
|
|
@@ -87,7 +88,7 @@ export function GutteredMultiSelect({ options, initialSelected, onSubmit, allowC
|
|
|
87
88
|
const isActive = index === activeIndex;
|
|
88
89
|
const isSelected = selected.has(option.value);
|
|
89
90
|
const isCustomOption = option.value === CUSTOM_SENTINEL;
|
|
90
|
-
return (_jsxs(Text, { children: [_jsx(Text, {
|
|
91
|
-
}), _jsxs(Text, {
|
|
91
|
+
return (_jsxs(Text, { children: [_jsx(Text, { color: C.overlay1, children: "│ " }), isActive ? (_jsx(Text, { color: C.mauve, bold: true, children: "❯ " })) : (_jsx(Text, { children: " " })), isSelected ? (_jsx(Text, { color: isCustomOption ? C.teal : C.green, children: "● " })) : (_jsx(Text, { color: C.overlay0, children: "○ " })), _jsx(Text, { bold: isActive, children: isCustomOption ? `✎ ${option.label}` : option.label }), option.description && (_jsx(Text, { color: C.overlay1, children: " — " + option.description }))] }, option.value));
|
|
92
|
+
}), _jsxs(Text, { color: C.overlay1, children: ["│ ", " ↑↓ move, space toggle, enter confirm"] }), selected.size > 0 && !selected.has(CUSTOM_SENTINEL) && (_jsxs(Text, { children: [_jsx(Text, { color: C.overlay1, children: "│ " }), _jsx(Text, { color: C.green, children: "Selected: " }), _jsx(Text, { children: Array.from(selected).join(", ") })] })), selected.size > 0 && selected.has(CUSTOM_SENTINEL) && (_jsxs(Text, { children: [_jsx(Text, { color: C.overlay1, children: "│ " }), _jsx(Text, { color: C.green, children: "Selected: " }), _jsx(Text, { children: Array.from(selected).filter((v) => v !== CUSTOM_SENTINEL).join(", ") }), selected.size > 1 && _jsx(Text, { color: C.overlay1, children: " + custom" }), selected.size === 1 && _jsx(Text, { color: C.overlay1, children: "custom (on confirm)" })] }))] }));
|
|
92
93
|
}
|
|
93
94
|
//# sourceMappingURL=guttered-select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"guttered-select.js","sourceRoot":"","sources":["../../src/components/guttered-select.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,SAAS,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"guttered-select.js","sourceRoot":"","sources":["../../src/components/guttered-select.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,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAchC;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAuB;IACvE,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAElD,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACzB,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CACtB,IAAI,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAC5C,CAAC;QACJ,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;YACtC,IAAI,QAAQ,EAAE,CAAC;gBACb,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAC7B,MAAM,QAAQ,GAAG,KAAK,KAAK,WAAW,CAAC;YACvC,OAAO,CACL,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,KAAK,GAAQ,EACtC,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,kBAAE,IAAI,GAAQ,CACzC,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,cAAE,IAAI,GAAQ,CACpB,EACD,KAAC,IAAI,IAAC,IAAI,EAAE,QAAQ,YAAG,MAAM,CAAC,KAAK,GAAQ,EAC1C,MAAM,CAAC,WAAW,IAAI,CACrB,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,GAAG,GAAG,MAAM,CAAC,WAAW,GAAQ,CAC3D,KAVQ,MAAM,CAAC,KAAK,CAWhB,CACR,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAYD,MAAM,eAAe,GAAG,YAAY,CAAC;AAErC;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EACP,eAAe,EACf,QAAQ,EACR,WAAW,EACX,iBAAiB,GACQ;IACzB,MAAM,UAAU,GAAG,WAAW;QAC5B,CAAC,CAAC,CAAC,GAAG,OAAO,EAAE,EAAE,KAAK,EAAE,qBAAqB,EAAE,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;QACrG,CAAC,CAAC,OAAO,CAAC;IAEZ,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CACtC,IAAI,GAAG,CAAC,eAAe,IAAI,EAAE,CAAC,CAC/B,CAAC;IACF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAyB,WAAW,CAAC,CAAC;IAExE,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACzB,cAAc,CAAC,CAAC,IAAI,EAAE,EAAE,CACtB,IAAI,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAC/C,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;YACvC,IAAI,MAAM,EAAE,CAAC;gBACX,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC3B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC3B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBAC5B,CAAC;yBAAM,CAAC;wBACN,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oBACzB,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACtB,IAAI,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;gBAClC,WAAW,CAAC,CAAC,IAAI,EAAE,EAAE;oBACnB,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC3B,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;oBAC7B,OAAO,IAAI,CAAC;gBACd,CAAC,CAAC,CAAC;gBACH,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACN,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;IACH,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,KAAK,WAAW,EAAE,CAAC,CAAC;IAExC,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QACvB,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACxB,iBAAiB,CAAC,MAAM,GAAG,CAAC,IAAI,CAC/B,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,KAAK,GAAQ,EACvC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,YAAG,YAAY,GAAQ,EAC3C,KAAC,IAAI,cAAE,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAQ,IACtC,CACR,EACD,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,KAAK,GAAQ,EACvC,KAAC,IAAI,IAAC,IAAI,kBAAE,+BAA+B,GAAQ,IAC9C,EACP,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,KAAK,GAAQ,EACvC,KAAC,SAAS,IACR,WAAW,EAAE,iBAAiB,IAAI,mCAAmC,EACrE,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gCAClB,MAAM,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gCACrE,QAAQ,CAAC,CAAC,GAAG,iBAAiB,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;4BAC9C,CAAC,GACD,IACG,IACH,CACP,CAAC;IACJ,CAAC;IAED,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACxB,UAAU,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAChC,MAAM,QAAQ,GAAG,KAAK,KAAK,WAAW,CAAC;gBACvC,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC9C,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,KAAK,eAAe,CAAC;gBACxD,OAAO,CACL,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,KAAK,GAAQ,EACtC,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,kBAAE,IAAI,GAAQ,CACzC,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,cAAE,IAAI,GAAQ,CACpB,EACA,UAAU,CAAC,CAAC,CAAC,CACZ,KAAC,IAAI,IAAC,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,YAAG,IAAI,GAAQ,CAC9D,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,IAAI,GAAQ,CACvC,EACD,KAAC,IAAI,IAAC,IAAI,EAAE,QAAQ,YAAG,cAAc,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAQ,EACjF,MAAM,CAAC,WAAW,IAAI,CACrB,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,KAAK,GAAG,MAAM,CAAC,WAAW,GAAQ,CAC7D,KAfQ,MAAM,CAAC,KAAK,CAgBhB,CACR,CAAC;YACJ,CAAC,CAAC,EACF,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,aAAG,KAAK,EAAE,wCAAwC,IAAQ,EAChF,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CACtD,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,KAAK,GAAQ,EACvC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,YAAG,YAAY,GAAQ,EAC3C,KAAC,IAAI,cAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAQ,IACzC,CACR,EACA,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CACrD,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,KAAK,GAAQ,EACvC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,YAAG,YAAY,GAAQ,EAC3C,KAAC,IAAI,cAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,eAAe,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAQ,EAClF,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,WAAW,GAAQ,EAClE,QAAQ,CAAC,IAAI,KAAK,CAAC,IAAI,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,qBAAqB,GAAQ,IAC1E,CACR,IACG,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useEffect, useState } from "react";
|
|
3
3
|
import { Text } from "ink";
|
|
4
|
+
import { C } from "../theme.js";
|
|
4
5
|
const ACTIVE_FRAMES = ["◆", "◈", "◇", "◈"];
|
|
5
6
|
export default function StepIndicator({ status, label }) {
|
|
6
7
|
const [frame, setFrame] = useState(0);
|
|
@@ -13,11 +14,11 @@ export default function StepIndicator({ status, label }) {
|
|
|
13
14
|
return () => clearInterval(id);
|
|
14
15
|
}, [status]);
|
|
15
16
|
if (status === "completed") {
|
|
16
|
-
return _jsxs(Text, { children: [_jsx(Text, { color:
|
|
17
|
+
return _jsxs(Text, { children: [_jsx(Text, { color: C.green, children: "◇" }), " ", _jsx(Text, { color: C.green, children: label })] });
|
|
17
18
|
}
|
|
18
19
|
if (status === "active") {
|
|
19
|
-
return _jsxs(Text, { children: [_jsx(Text, { color:
|
|
20
|
+
return _jsxs(Text, { children: [_jsx(Text, { color: C.mauve, bold: true, children: ACTIVE_FRAMES[frame] }), " ", _jsx(Text, { bold: true, color: C.mauve, children: label })] });
|
|
20
21
|
}
|
|
21
|
-
return _jsxs(Text, { children: [_jsx(Text, {
|
|
22
|
+
return _jsxs(Text, { children: [_jsx(Text, { color: C.overlay0, children: "○" }), " ", _jsx(Text, { color: C.overlay0, children: label })] });
|
|
22
23
|
}
|
|
23
24
|
//# sourceMappingURL=step-indicator.js.map
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AAC3B,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAShC,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,EAAE,CAAC,CAAC,KAAK,YAAG,GAAG,GAAQ,EAAC,IAAI,EAAC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,YAAG,KAAK,GAAQ,IAAO,CAAC;IACnG,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,kBAAE,aAAa,CAAC,KAAK,CAAC,GAAQ,EAAC,IAAI,EAAC,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,CAAC,CAAC,KAAK,YAAG,KAAK,GAAQ,IAAO,CAAC;IAC9H,CAAC;IACD,OAAO,MAAC,IAAI,eAAC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,GAAG,GAAQ,EAAC,IAAI,EAAC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,KAAK,GAAQ,IAAO,CAAC;AACzG,CAAC"}
|
|
@@ -2,8 +2,11 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import React from "react";
|
|
3
3
|
import { Box, Text } from "ink";
|
|
4
4
|
import StepIndicator from "./step-indicator.js";
|
|
5
|
+
import { C } from "../theme.js";
|
|
5
6
|
export default function Timeline({ steps, children }) {
|
|
6
7
|
const elements = [];
|
|
8
|
+
// Opening corner
|
|
9
|
+
elements.push(_jsx(Text, { color: C.overlay1, children: "┌" }, "top"));
|
|
7
10
|
steps.forEach((step, i) => {
|
|
8
11
|
const isLast = i === steps.length - 1;
|
|
9
12
|
const isActive = step.status === "active";
|
|
@@ -11,18 +14,19 @@ export default function Timeline({ steps, children }) {
|
|
|
11
14
|
elements.push(_jsx(StepIndicator, { status: step.status, label: step.name }, `ind-${i}`));
|
|
12
15
|
// Completed step: show summary on SEPARATE line with gutter
|
|
13
16
|
if (step.status === "completed" && step.summary) {
|
|
14
|
-
elements.push(_jsxs(Text, {
|
|
17
|
+
elements.push(_jsxs(Text, { color: C.overlay1, children: ["│ ", step.summary] }, `sum-${i}`));
|
|
15
18
|
}
|
|
16
|
-
// Active step: render children
|
|
19
|
+
// Active step: render children (they handle their own GutterLine)
|
|
17
20
|
if (isActive) {
|
|
18
21
|
elements.push(_jsx(React.Fragment, { children: children }, `content-${i}`));
|
|
19
|
-
elements.push(_jsx(Text, { dimColor: true, children: "└" }, `close-${i}`));
|
|
20
22
|
}
|
|
21
|
-
// Gutter spacer between steps
|
|
22
|
-
if (!isLast
|
|
23
|
-
elements.push(_jsx(Text, {
|
|
23
|
+
// Gutter spacer between steps
|
|
24
|
+
if (!isLast) {
|
|
25
|
+
elements.push(_jsx(Text, { color: C.overlay1, children: "│" }, `bar-${i}`));
|
|
24
26
|
}
|
|
25
27
|
});
|
|
28
|
+
// Closing corner
|
|
29
|
+
elements.push(_jsx(Text, { color: C.overlay1, children: "└" }, "bottom"));
|
|
26
30
|
return _jsx(Box, { flexDirection: "column", children: elements });
|
|
27
31
|
}
|
|
28
32
|
//# sourceMappingURL=timeline.js.map
|
|
@@ -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;
|
|
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;AAEhD,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAahC,MAAM,CAAC,OAAO,UAAU,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAS;IACzD,MAAM,QAAQ,GAAsB,EAAE,CAAC;IAEvC,iBAAiB;IACjB,QAAQ,CAAC,IAAI,CAAC,KAAC,IAAI,IAAW,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,GAAG,IAA7B,KAAK,CAAgC,CAAC,CAAC;IAE/D,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,KAAK,EAAE,CAAC,CAAC,QAAQ,aAAG,KAAK,EAAE,IAAI,CAAC,OAAO,KAAnD,OAAO,CAAC,EAAE,CAAiD,CACvE,CAAC;QACJ,CAAC;QAED,kEAAkE;QAClE,IAAI,QAAQ,EAAE,CAAC;YACb,QAAQ,CAAC,IAAI,CACX,KAAC,KAAK,CAAC,QAAQ,cAAuB,QAAQ,IAAzB,WAAW,CAAC,EAAE,CAA6B,CACjE,CAAC;QACJ,CAAC;QAED,8BAA8B;QAC9B,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,QAAQ,CAAC,IAAI,CAAC,KAAC,IAAI,IAAkB,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,GAAG,IAAnC,OAAO,CAAC,EAAE,CAAiC,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,iBAAiB;IACjB,QAAQ,CAAC,IAAI,CAAC,KAAC,IAAI,IAAc,KAAK,EAAE,CAAC,CAAC,QAAQ,YAAG,GAAG,IAAhC,QAAQ,CAAgC,CAAC,CAAC;IAElE,OAAO,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YAAE,QAAQ,GAAO,CAAC;AACtD,CAAC"}
|
|
@@ -3,6 +3,7 @@ import { useState } from "react";
|
|
|
3
3
|
import { Text } from "ink";
|
|
4
4
|
import { GutterLine } from "../components/gutter-line.js";
|
|
5
5
|
import { GutteredSelect } from "../components/guttered-select.js";
|
|
6
|
+
import { C } from "../theme.js";
|
|
6
7
|
const ARCHITECTURE_OPTIONS = [
|
|
7
8
|
{ label: "Monorepo — Multiple packages in one repository", value: "Monorepo" },
|
|
8
9
|
{ label: "MVC — Model-View-Controller separation", value: "MVC" },
|
|
@@ -32,7 +33,7 @@ export default function Architecture({ onComplete }) {
|
|
|
32
33
|
}, 100);
|
|
33
34
|
}
|
|
34
35
|
if (selected) {
|
|
35
|
-
return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsxs(Text, {
|
|
36
|
+
return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsxs(Text, { color: C.overlay1, children: ["Architecture: ", selected] }) }), _jsx(GutterLine, { children: _jsxs(Text, { color: C.overlay1, children: ["Notes: ", ARCHITECTURE_NOTES[selected]] }) })] }));
|
|
36
37
|
}
|
|
37
38
|
return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Architecture pattern:" }) }), _jsx(GutteredSelect, { options: ARCHITECTURE_OPTIONS, onChange: handleChange })] }));
|
|
38
39
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"architecture.js","sourceRoot":"","sources":["../../src/steps/architecture.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"architecture.js","sourceRoot":"","sources":["../../src/steps/architecture.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAElE,OAAO,EAAE,CAAC,EAAE,MAAM,aAAa,CAAC;AAMhC,MAAM,oBAAoB,GAAG;IAC3B,EAAE,KAAK,EAAE,gDAAgD,EAAE,KAAK,EAAE,UAAU,EAAE;IAC9E,EAAE,KAAK,EAAE,wCAAwC,EAAE,KAAK,EAAE,KAAK,EAAE;IACjE,EAAE,KAAK,EAAE,mEAAmE,EAAE,KAAK,EAAE,iBAAiB,EAAE;IACxG,EAAE,KAAK,EAAE,wDAAwD,EAAE,KAAK,EAAE,SAAS,EAAE;IACrF,EAAE,KAAK,EAAE,iDAAiD,EAAE,KAAK,EAAE,eAAe,EAAE;IACpF,EAAE,KAAK,EAAE,wDAAwD,EAAE,KAAK,EAAE,YAAY,EAAE;IACxF,EAAE,KAAK,EAAE,4DAA4D,EAAE,KAAK,EAAE,kBAAkB,EAAE;CACnG,CAAC;AAEF,MAAM,kBAAkB,GAA2B;IACjD,QAAQ,EACN,2FAA2F;IAC7F,GAAG,EACD,wGAAwG;IAC1G,iBAAiB,EACf,4FAA4F;IAC9F,OAAO,EACL,oFAAoF;IACtF,aAAa,EACX,iGAAiG;IACnG,UAAU,EACR,kGAAkG;IACpG,kBAAkB,EAChB,6FAA6F;CAChG,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,EAAE,UAAU,EAAS;IACxD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAE9D,SAAS,YAAY,CAAC,KAAa;QACjC,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC9C,WAAW,CAAC,KAAK,CAAC,CAAC;QACnB,0EAA0E;QAC1E,UAAU,CAAC,GAAG,EAAE;YACd,UAAU,CAAC,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC;QAChE,CAAC,EAAE,GAAG,CAAC,CAAC;IACV,CAAC;IAED,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,CACL,8BACE,KAAC,UAAU,cACT,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,+BAAiB,QAAQ,IAAQ,GAC7C,EACb,KAAC,UAAU,cACT,MAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,wBAAU,kBAAkB,CAAC,QAAQ,CAAC,IAAQ,GAC1D,IACZ,CACJ,CAAC;IACJ,CAAC;IAED,OAAO,CACL,8BACE,KAAC,UAAU,cACT,KAAC,IAAI,IAAC,IAAI,4CAA6B,GAC5B,EACb,KAAC,cAAc,IAAC,OAAO,EAAE,oBAAoB,EAAE,QAAQ,EAAE,YAAY,GAAI,IACxE,CACJ,CAAC;AACJ,CAAC"}
|
package/dist/steps/build-test.js
CHANGED
|
@@ -3,6 +3,7 @@ import { useState } from "react";
|
|
|
3
3
|
import { Text } from "ink";
|
|
4
4
|
import { TextInput } from "@inkjs/ui";
|
|
5
5
|
import { GutterLine } from "../components/gutter-line.js";
|
|
6
|
+
import { C } from "../theme.js";
|
|
6
7
|
const FIELDS = [
|
|
7
8
|
{ key: "buildCommand", label: "Build command", fallback: "npm run build", required: true },
|
|
8
9
|
{ key: "testCommand", label: "Test command", fallback: "npm run test", required: true },
|
|
@@ -33,6 +34,6 @@ export default function BuildTest({ initialValues, onComplete }) {
|
|
|
33
34
|
onComplete(next);
|
|
34
35
|
}
|
|
35
36
|
}
|
|
36
|
-
return (_jsxs(_Fragment, { children: [FIELDS.slice(0, fieldIndex).map((f) => (_jsx(GutterLine, { children: _jsxs(Text, {
|
|
37
|
+
return (_jsxs(_Fragment, { children: [FIELDS.slice(0, fieldIndex).map((f) => (_jsx(GutterLine, { children: _jsxs(Text, { color: C.overlay1, children: [f.label, ": ", 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, { placeholder: defaultVal, onSubmit: handleSubmit })] }), error && (_jsx(GutterLine, { children: _jsx(Text, { color: C.red, children: error }) }))] }));
|
|
37
38
|
}
|
|
38
39
|
//# sourceMappingURL=build-test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build-test.js","sourceRoot":"","sources":["../../src/steps/build-test.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"build-test.js","sourceRoot":"","sources":["../../src/steps/build-test.tsx"],"names":[],"mappings":"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"}
|
package/dist/steps/generation.js
CHANGED
|
@@ -4,6 +4,7 @@ import { Text } from "ink";
|
|
|
4
4
|
import { ConfirmInput, Spinner } from "@inkjs/ui";
|
|
5
5
|
import { GutterLine } from "../components/gutter-line.js";
|
|
6
6
|
import { scaffoldAll, checkConflicts, checkReleaseConflicts, scaffoldRelease, ensurePackageJsonReleaseScripts, } from "../lib/template.js";
|
|
7
|
+
import { C } from "../theme.js";
|
|
7
8
|
const FILES_TO_GENERATE = [
|
|
8
9
|
"CLAUDE.md",
|
|
9
10
|
"README.md",
|
|
@@ -83,14 +84,14 @@ export default function Generation({ answers, onComplete }) {
|
|
|
83
84
|
const codeStyleDisplay = answers.codeStyle.length > 0
|
|
84
85
|
? answers.codeStyle.join(", ")
|
|
85
86
|
: "N/A";
|
|
86
|
-
return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { bold: true, color:
|
|
87
|
+
return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { bold: true, color: C.sapphire, 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: C.sapphire, 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: C.sapphire, 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: C.sapphire, 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: C.sapphire, 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: C.sapphire, children: "Files to generate" }) }), _jsx(GutterLine, { children: _jsxs(Text, { children: [" ", FILES_TO_GENERATE.join(", ")] }) }), conflicts.length > 0 && (_jsx(GutterLine, { children: _jsxs(Text, { color: C.peach, children: [" ⚠ Will overwrite: ", conflicts.join(", ")] }) })), _jsx(GutterLine, { children: _jsx(Text, { children: " " }) }), _jsx(GutterLine, { children: _jsx(Text, { bold: true, color: C.sapphire, 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 })] })] }));
|
|
87
88
|
}
|
|
88
89
|
if (phase === "running") {
|
|
89
90
|
return (_jsx(GutterLine, { children: _jsx(Spinner, { label: "Generating project files..." }) }));
|
|
90
91
|
}
|
|
91
92
|
if (phase === "error") {
|
|
92
|
-
return (_jsx(GutterLine, { children: _jsxs(Text, { color:
|
|
93
|
+
return (_jsx(GutterLine, { children: _jsxs(Text, { color: C.red, children: ["Error generating files: ", errorMsg] }) }));
|
|
93
94
|
}
|
|
94
|
-
return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { color:
|
|
95
|
+
return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { color: C.green, children: "All project files generated successfully." }) }), releaseResult && (_jsx(GutterLine, { children: _jsxs(Text, { color: C.green, children: ["Release: ", releaseResult] }) }))] }));
|
|
95
96
|
}
|
|
96
97
|
//# sourceMappingURL=generation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generation.js","sourceRoot":"","sources":["../../src/steps/generation.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,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,EACL,WAAW,EACX,cAAc,EACd,qBAAqB,EACrB,eAAe,EACf,+BAA+B,GAChC,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"generation.js","sourceRoot":"","sources":["../../src/steps/generation.tsx"],"names":[],"mappings":"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"}
|
package/dist/steps/powerline.js
CHANGED
|
@@ -5,6 +5,7 @@ import { ConfirmInput, Spinner } from "@inkjs/ui";
|
|
|
5
5
|
import { GutterLine } from "../components/gutter-line.js";
|
|
6
6
|
import { setupPowerline } from "../lib/powerline.js";
|
|
7
7
|
import { initGit } from "../lib/git.js";
|
|
8
|
+
import { C } from "../theme.js";
|
|
8
9
|
export default function Powerline({ answers, onComplete }) {
|
|
9
10
|
const [phase, setPhase] = useState("ask-powerline");
|
|
10
11
|
const [wantPowerline, setWantPowerline] = useState(false);
|
|
@@ -43,7 +44,7 @@ export default function Powerline({ answers, onComplete }) {
|
|
|
43
44
|
} }) })] }));
|
|
44
45
|
}
|
|
45
46
|
if (phase === "ask-git") {
|
|
46
|
-
return (_jsxs(_Fragment, { children: [wantPowerline && (_jsx(GutterLine, { children: _jsx(Text, {
|
|
47
|
+
return (_jsxs(_Fragment, { children: [wantPowerline && (_jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "Powerline: yes" }) })), _jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Initialize git repository?" }) }), _jsx(GutterLine, { children: _jsx(ConfirmInput, { onConfirm: () => {
|
|
47
48
|
setWantGit(true);
|
|
48
49
|
runSetup(wantPowerline, true);
|
|
49
50
|
}, onCancel: () => {
|
|
@@ -55,8 +56,8 @@ export default function Powerline({ answers, onComplete }) {
|
|
|
55
56
|
return (_jsx(GutterLine, { children: _jsx(Spinner, { label: "Running setup tasks..." }) }));
|
|
56
57
|
}
|
|
57
58
|
if (phase === "error") {
|
|
58
|
-
return (_jsx(GutterLine, { children: _jsxs(Text, { color:
|
|
59
|
+
return (_jsx(GutterLine, { children: _jsxs(Text, { color: C.red, children: ["Setup error: ", errorMsg] }) }));
|
|
59
60
|
}
|
|
60
|
-
return (_jsxs(_Fragment, { children: [wantPowerline && (_jsx(GutterLine, { children: _jsx(Text, { color:
|
|
61
|
+
return (_jsxs(_Fragment, { children: [wantPowerline && (_jsx(GutterLine, { children: _jsx(Text, { color: C.green, children: "Powerline configured." }) })), 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] }) })), !wantPowerline && !wantGit && (_jsx(GutterLine, { children: _jsx(Text, { color: C.overlay1, children: "No extras setup." }) })), _jsx(GutterLine, { children: _jsx(Text, { color: C.green, bold: true, children: "Setup complete!" }) })] }));
|
|
61
62
|
}
|
|
62
63
|
//# sourceMappingURL=powerline.js.map
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"powerline.js","sourceRoot":"","sources":["../../src/steps/powerline.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { Text } from "ink";
|
|
|
4
4
|
import { TextInput } from "@inkjs/ui";
|
|
5
5
|
import { GutterLine } from "../components/gutter-line.js";
|
|
6
6
|
import { GutteredMultiSelect } from "../components/guttered-select.js";
|
|
7
|
+
import { C } from "../theme.js";
|
|
7
8
|
const CORE_FEATURE_OPTIONS = [
|
|
8
9
|
{ label: "Authentication", value: "Authentication", description: "Login, signup, sessions" },
|
|
9
10
|
{ label: "Authorization", value: "Authorization", description: "Roles, permissions, RBAC" },
|
|
@@ -100,10 +101,10 @@ export default function ProductContext({ initialValues, onComplete }) {
|
|
|
100
101
|
advanceToNext("coreFeatures", values.join(", "));
|
|
101
102
|
}
|
|
102
103
|
// Build completed fields display
|
|
103
|
-
const completedFields = PHASE_ORDER.slice(0, phaseIndex).map((key) => (_jsx(GutterLine, { children: _jsxs(Text, {
|
|
104
|
+
const completedFields = PHASE_ORDER.slice(0, phaseIndex).map((key) => (_jsx(GutterLine, { children: _jsxs(Text, { color: C.overlay1, children: [key === "problem" && `Problem: ${answers[key]}`, key === "users" && `Users: ${answers[key]}`, key === "techStack" && `Tech stack: ${answers[key]}`, key === "coreFeatures" && `Core features: ${answers[key]}`, key === "nonGoals" && `Non-goals: ${answers[key]}`] }) }, key)));
|
|
104
105
|
const usersPlaceholder = answers["problem"]
|
|
105
106
|
? `People affected by: ${answers["problem"]}`
|
|
106
107
|
: "e.g. Developers, PMs, designers...";
|
|
107
|
-
return (_jsxs(_Fragment, { children: [completedFields, currentPhase === "problem" && (_jsxs(GutterLine, { children: [_jsx(Text, { bold: true, children: "What problem does this solve? " }), _jsx(TextInput, { placeholder: "Describe the core problem...", onSubmit: handleTextSubmit("problem", true) })] })), currentPhase === "users" && (_jsxs(GutterLine, { children: [_jsx(Text, { bold: true, children: "Who are the users? " }), _jsx(TextInput, { placeholder: usersPlaceholder, onSubmit: handleTextSubmit("users", true) })] })), currentPhase === "techStack" && (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Tech stack:" }) }), _jsx(GutteredMultiSelect, { options: TECH_STACK_OPTIONS, initialSelected: prefillTechStack, onSubmit: handleTechStackSubmit })] })), currentPhase === "coreFeatures" && (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Core features:" }) }), _jsx(GutteredMultiSelect, { options: CORE_FEATURE_OPTIONS, onSubmit: handleCoreFeaturesSubmit, allowCustom: true, customPlaceholder: "e.g. Export PDF, Onboarding flow..." })] })), currentPhase === "nonGoals" && (_jsxs(GutterLine, { children: [_jsx(Text, { bold: true, children: "Non-goals (comma-separated): " }), _jsx(TextInput, { placeholder: "e.g. Mobile app, Real-time sync...", onSubmit: handleTextSubmit("nonGoals", false) })] })), error && (_jsx(GutterLine, { children: _jsx(Text, { color:
|
|
108
|
+
return (_jsxs(_Fragment, { children: [completedFields, currentPhase === "problem" && (_jsxs(GutterLine, { children: [_jsx(Text, { bold: true, children: "What problem does this solve? " }), _jsx(TextInput, { placeholder: "Describe the core problem...", onSubmit: handleTextSubmit("problem", true) })] })), currentPhase === "users" && (_jsxs(GutterLine, { children: [_jsx(Text, { bold: true, children: "Who are the users? " }), _jsx(TextInput, { placeholder: usersPlaceholder, onSubmit: handleTextSubmit("users", true) })] })), currentPhase === "techStack" && (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Tech stack:" }) }), _jsx(GutteredMultiSelect, { options: TECH_STACK_OPTIONS, initialSelected: prefillTechStack, onSubmit: handleTechStackSubmit })] })), currentPhase === "coreFeatures" && (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Core features:" }) }), _jsx(GutteredMultiSelect, { options: CORE_FEATURE_OPTIONS, onSubmit: handleCoreFeaturesSubmit, allowCustom: true, customPlaceholder: "e.g. Export PDF, Onboarding flow..." })] })), currentPhase === "nonGoals" && (_jsxs(GutterLine, { children: [_jsx(Text, { bold: true, children: "Non-goals (comma-separated): " }), _jsx(TextInput, { placeholder: "e.g. Mobile app, Real-time sync...", onSubmit: handleTextSubmit("nonGoals", false) })] })), error && (_jsx(GutterLine, { children: _jsx(Text, { color: C.red, children: error }) }))] }));
|
|
108
109
|
}
|
|
109
110
|
//# sourceMappingURL=product-context.js.map
|