procedure-cli 0.1.5 → 0.1.7
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/src/steps/powerline.tsx
CHANGED
|
@@ -5,6 +5,7 @@ import { GutterLine } from "../components/gutter-line.js";
|
|
|
5
5
|
import { setupPowerline } from "../lib/powerline.js";
|
|
6
6
|
import { initGit } from "../lib/git.js";
|
|
7
7
|
import type { WizardAnswers } from "../lib/types.js";
|
|
8
|
+
import { C } from "../theme.js";
|
|
8
9
|
|
|
9
10
|
interface Props {
|
|
10
11
|
answers: WizardAnswers;
|
|
@@ -79,7 +80,7 @@ export default function Powerline({ answers, onComplete }: Props) {
|
|
|
79
80
|
<>
|
|
80
81
|
{wantPowerline && (
|
|
81
82
|
<GutterLine>
|
|
82
|
-
<Text
|
|
83
|
+
<Text color={C.overlay1}>Powerline: yes</Text>
|
|
83
84
|
</GutterLine>
|
|
84
85
|
)}
|
|
85
86
|
<GutterLine>
|
|
@@ -112,7 +113,7 @@ export default function Powerline({ answers, onComplete }: Props) {
|
|
|
112
113
|
if (phase === "error") {
|
|
113
114
|
return (
|
|
114
115
|
<GutterLine>
|
|
115
|
-
<Text color=
|
|
116
|
+
<Text color={C.red}>Setup error: {errorMsg}</Text>
|
|
116
117
|
</GutterLine>
|
|
117
118
|
);
|
|
118
119
|
}
|
|
@@ -121,26 +122,26 @@ export default function Powerline({ answers, onComplete }: Props) {
|
|
|
121
122
|
<>
|
|
122
123
|
{wantPowerline && (
|
|
123
124
|
<GutterLine>
|
|
124
|
-
<Text color=
|
|
125
|
+
<Text color={C.green}>Powerline configured.</Text>
|
|
125
126
|
</GutterLine>
|
|
126
127
|
)}
|
|
127
128
|
{wantGit && setupResult.gitCommitted && (
|
|
128
129
|
<GutterLine>
|
|
129
|
-
<Text color=
|
|
130
|
+
<Text color={C.green}>Git repository initialized.</Text>
|
|
130
131
|
</GutterLine>
|
|
131
132
|
)}
|
|
132
133
|
{wantGit && !setupResult.gitCommitted && setupResult.gitWarning && (
|
|
133
134
|
<GutterLine>
|
|
134
|
-
<Text color=
|
|
135
|
+
<Text color={C.peach}>{"⚠ Git: "}{setupResult.gitWarning}</Text>
|
|
135
136
|
</GutterLine>
|
|
136
137
|
)}
|
|
137
138
|
{!wantPowerline && !wantGit && (
|
|
138
139
|
<GutterLine>
|
|
139
|
-
<Text
|
|
140
|
+
<Text color={C.overlay1}>No extras setup.</Text>
|
|
140
141
|
</GutterLine>
|
|
141
142
|
)}
|
|
142
143
|
<GutterLine>
|
|
143
|
-
<Text color=
|
|
144
|
+
<Text color={C.green} bold>
|
|
144
145
|
Setup complete!
|
|
145
146
|
</Text>
|
|
146
147
|
</GutterLine>
|
|
@@ -4,6 +4,7 @@ import { TextInput } from "@inkjs/ui";
|
|
|
4
4
|
import { GutterLine } from "../components/gutter-line.js";
|
|
5
5
|
import { GutteredMultiSelect } from "../components/guttered-select.js";
|
|
6
6
|
import type { WizardAnswers } from "../lib/types.js";
|
|
7
|
+
import { C } from "../theme.js";
|
|
7
8
|
|
|
8
9
|
interface Props {
|
|
9
10
|
initialValues?: Partial<WizardAnswers>;
|
|
@@ -122,7 +123,7 @@ export default function ProductContext({ initialValues, onComplete }: Props) {
|
|
|
122
123
|
// Build completed fields display
|
|
123
124
|
const completedFields = PHASE_ORDER.slice(0, phaseIndex).map((key) => (
|
|
124
125
|
<GutterLine key={key}>
|
|
125
|
-
<Text
|
|
126
|
+
<Text color={C.overlay1}>
|
|
126
127
|
{key === "problem" && `Problem: ${answers[key]}`}
|
|
127
128
|
{key === "users" && `Users: ${answers[key]}`}
|
|
128
129
|
{key === "techStack" && `Tech stack: ${answers[key]}`}
|
|
@@ -199,7 +200,7 @@ export default function ProductContext({ initialValues, onComplete }: Props) {
|
|
|
199
200
|
|
|
200
201
|
{error && (
|
|
201
202
|
<GutterLine>
|
|
202
|
-
<Text color=
|
|
203
|
+
<Text color={C.red}>{error}</Text>
|
|
203
204
|
</GutterLine>
|
|
204
205
|
)}
|
|
205
206
|
</>
|
|
@@ -4,6 +4,7 @@ import { TextInput } from "@inkjs/ui";
|
|
|
4
4
|
import { GutterLine } from "../components/gutter-line.js";
|
|
5
5
|
import { GutteredSelect } from "../components/guttered-select.js";
|
|
6
6
|
import type { WizardAnswers } from "../lib/types.js";
|
|
7
|
+
import { C } from "../theme.js";
|
|
7
8
|
|
|
8
9
|
interface Props {
|
|
9
10
|
onComplete: (answers: Partial<WizardAnswers>) => void;
|
|
@@ -74,7 +75,7 @@ export default function ProjectInfo({ onComplete }: Props) {
|
|
|
74
75
|
// Render completed fields
|
|
75
76
|
const completed = STEP_ORDER.slice(0, stepIndex).map((key) => (
|
|
76
77
|
<GutterLine key={key}>
|
|
77
|
-
<Text
|
|
78
|
+
<Text color={C.overlay1}>
|
|
78
79
|
{key === "projectName" && `Project name: ${answers[key]}`}
|
|
79
80
|
{key === "description" && `Description: ${answers[key]}`}
|
|
80
81
|
{key === "packageManager" && `Package manager: ${answers[key]}`}
|
|
@@ -127,7 +128,7 @@ export default function ProjectInfo({ onComplete }: Props) {
|
|
|
127
128
|
|
|
128
129
|
{error && (
|
|
129
130
|
<GutterLine>
|
|
130
|
-
<Text color=
|
|
131
|
+
<Text color={C.red}>{error}</Text>
|
|
131
132
|
</GutterLine>
|
|
132
133
|
)}
|
|
133
134
|
</>
|
|
@@ -3,6 +3,7 @@ import { Text } from "ink";
|
|
|
3
3
|
import { GutterLine } from "../components/gutter-line.js";
|
|
4
4
|
import { GutteredSelect, GutteredMultiSelect } from "../components/guttered-select.js";
|
|
5
5
|
import type { WizardAnswers } from "../lib/types.js";
|
|
6
|
+
import { C } from "../theme.js";
|
|
6
7
|
|
|
7
8
|
interface Props {
|
|
8
9
|
onComplete: (answers: Partial<WizardAnswers>) => void;
|
|
@@ -153,7 +154,7 @@ export default function StackStyle({ onComplete }: Props) {
|
|
|
153
154
|
return (
|
|
154
155
|
<>
|
|
155
156
|
<GutterLine>
|
|
156
|
-
<Text
|
|
157
|
+
<Text color={C.overlay1}>Languages: {selectedLanguages.join(", ")}</Text>
|
|
157
158
|
</GutterLine>
|
|
158
159
|
<GutterLine>
|
|
159
160
|
<Text bold>Frameworks:</Text>
|
|
@@ -176,10 +177,10 @@ export default function StackStyle({ onComplete }: Props) {
|
|
|
176
177
|
return (
|
|
177
178
|
<>
|
|
178
179
|
<GutterLine>
|
|
179
|
-
<Text
|
|
180
|
+
<Text color={C.overlay1}>Languages: {selectedLanguages.join(", ")}</Text>
|
|
180
181
|
</GutterLine>
|
|
181
182
|
<GutterLine>
|
|
182
|
-
<Text
|
|
183
|
+
<Text color={C.overlay1}>Frameworks: {selectedFrameworks.join(", ")}</Text>
|
|
183
184
|
</GutterLine>
|
|
184
185
|
<GutterLine>
|
|
185
186
|
<Text bold>Code style conventions:</Text>
|
package/src/theme.ts
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Catppuccin Mocha palette — https://catppuccin.com/palette
|
|
3
|
+
* Use these constants for all terminal colors. Never use named terminal
|
|
4
|
+
* colors (cyan, green, red…) — hex values render consistently across terminals.
|
|
5
|
+
*/
|
|
6
|
+
export const C = {
|
|
7
|
+
mauve: '#cba6f7', // active step, current focus
|
|
8
|
+
green: '#a6e3a1', // completed steps, success
|
|
9
|
+
sapphire: '#74c7ec', // section headers, accent
|
|
10
|
+
teal: '#94e2d5', // secondary accent (custom option)
|
|
11
|
+
red: '#f38ba8', // errors
|
|
12
|
+
peach: '#fab387', // warnings
|
|
13
|
+
overlay1: '#7f849c', // gutter lines, dim text, hints
|
|
14
|
+
overlay0: '#6c7086', // pending steps, very dim
|
|
15
|
+
} as const;
|