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.
Files changed (47) hide show
  1. package/CLAUDE.md +2 -0
  2. package/CODE-FIXED.md +22 -0
  3. package/CODE-REVIEW.md +34 -0
  4. package/dist/app.js +2 -1
  5. package/dist/app.js.map +1 -1
  6. package/dist/components/banner.js +2 -1
  7. package/dist/components/banner.js.map +1 -1
  8. package/dist/components/gutter-line.js +3 -2
  9. package/dist/components/gutter-line.js.map +1 -1
  10. package/dist/components/guttered-select.js +5 -4
  11. package/dist/components/guttered-select.js.map +1 -1
  12. package/dist/components/step-indicator.js +4 -3
  13. package/dist/components/step-indicator.js.map +1 -1
  14. package/dist/components/timeline.js +10 -6
  15. package/dist/components/timeline.js.map +1 -1
  16. package/dist/steps/architecture.js +2 -1
  17. package/dist/steps/architecture.js.map +1 -1
  18. package/dist/steps/build-test.js +2 -1
  19. package/dist/steps/build-test.js.map +1 -1
  20. package/dist/steps/generation.js +4 -3
  21. package/dist/steps/generation.js.map +1 -1
  22. package/dist/steps/powerline.js +4 -3
  23. package/dist/steps/powerline.js.map +1 -1
  24. package/dist/steps/product-context.js +3 -2
  25. package/dist/steps/product-context.js.map +1 -1
  26. package/dist/steps/project-info.js +3 -2
  27. package/dist/steps/project-info.js.map +1 -1
  28. package/dist/steps/stack-style.js +3 -2
  29. package/dist/steps/stack-style.js.map +1 -1
  30. package/dist/theme.d.ts +15 -0
  31. package/dist/theme.js +16 -0
  32. package/dist/theme.js.map +1 -0
  33. package/package.json +1 -1
  34. package/src/app.tsx +6 -5
  35. package/src/components/banner.tsx +4 -4
  36. package/src/components/gutter-line.tsx +3 -2
  37. package/src/components/guttered-select.tsx +20 -19
  38. package/src/components/step-indicator.tsx +4 -3
  39. package/src/components/timeline.tsx +12 -8
  40. package/src/steps/architecture.tsx +3 -2
  41. package/src/steps/build-test.tsx +4 -3
  42. package/src/steps/generation.tsx +12 -11
  43. package/src/steps/powerline.tsx +8 -7
  44. package/src/steps/product-context.tsx +3 -2
  45. package/src/steps/project-info.tsx +3 -2
  46. package/src/steps/stack-style.tsx +4 -3
  47. package/src/theme.ts +15 -0
@@ -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 dimColor>Powerline: yes</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="red">Setup error: {errorMsg}</Text>
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="green">Powerline configured.</Text>
125
+ <Text color={C.green}>Powerline configured.</Text>
125
126
  </GutterLine>
126
127
  )}
127
128
  {wantGit && setupResult.gitCommitted && (
128
129
  <GutterLine>
129
- <Text color="green">Git repository initialized.</Text>
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="yellow">{"⚠ Git: "}{setupResult.gitWarning}</Text>
135
+ <Text color={C.peach}>{"⚠ Git: "}{setupResult.gitWarning}</Text>
135
136
  </GutterLine>
136
137
  )}
137
138
  {!wantPowerline && !wantGit && (
138
139
  <GutterLine>
139
- <Text dimColor>No extras setup.</Text>
140
+ <Text color={C.overlay1}>No extras setup.</Text>
140
141
  </GutterLine>
141
142
  )}
142
143
  <GutterLine>
143
- <Text color="green" bold>
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 dimColor>
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="red">{error}</Text>
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 dimColor>
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="red">{error}</Text>
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 dimColor>Languages: {selectedLanguages.join(", ")}</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 dimColor>Languages: {selectedLanguages.join(", ")}</Text>
180
+ <Text color={C.overlay1}>Languages: {selectedLanguages.join(", ")}</Text>
180
181
  </GutterLine>
181
182
  <GutterLine>
182
- <Text dimColor>Frameworks: {selectedFrameworks.join(", ")}</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;