procedure-cli 1.3.0 → 1.5.2

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.
@@ -19,6 +19,7 @@ const PRESETS = {
19
19
  ],
20
20
  buildCommand: "tsc",
21
21
  testCommand: "node --test",
22
+ testCommandFiltered: 'node --test --test-name-pattern "name"',
22
23
  typecheckCommand: "tsc --noEmit",
23
24
  lintCommand: "eslint src/",
24
25
  prCommand: "npm run typecheck && npm run test",
@@ -38,6 +39,7 @@ const PRESETS = {
38
39
  ],
39
40
  buildCommand: "next build",
40
41
  testCommand: "vitest",
42
+ testCommandFiltered: 'vitest -t "name"',
41
43
  typecheckCommand: "tsc --noEmit",
42
44
  lintCommand: "next lint",
43
45
  prCommand: "npm run typecheck && npm run lint",
@@ -57,6 +59,7 @@ const PRESETS = {
57
59
  ],
58
60
  buildCommand: "vite build",
59
61
  testCommand: "vitest",
62
+ testCommandFiltered: 'vitest -t "name"',
60
63
  typecheckCommand: "tsc --noEmit",
61
64
  lintCommand: "eslint src/",
62
65
  prCommand: "npm run typecheck && npm run test",
@@ -76,6 +79,7 @@ const PRESETS = {
76
79
  ],
77
80
  buildCommand: "python -m py_compile src/",
78
81
  testCommand: "pytest",
82
+ testCommandFiltered: 'pytest -k "name"',
79
83
  typecheckCommand: "mypy .",
80
84
  lintCommand: "ruff check .",
81
85
  prCommand: "mypy . && pytest",
@@ -95,6 +99,7 @@ const PRESETS = {
95
99
  ],
96
100
  buildCommand: "go build ./...",
97
101
  testCommand: "go test ./...",
102
+ testCommandFiltered: 'go test -run "TestName" ./...',
98
103
  typecheckCommand: "go vet ./...",
99
104
  lintCommand: "golangci-lint run",
100
105
  prCommand: "go vet ./... && go test ./...",
@@ -114,6 +119,7 @@ const PRESETS = {
114
119
  ],
115
120
  buildCommand: "expo build",
116
121
  testCommand: "jest",
122
+ testCommandFiltered: 'jest -t "name"',
117
123
  typecheckCommand: "tsc --noEmit",
118
124
  lintCommand: "eslint .",
119
125
  prCommand: "npm run typecheck && npm run test",
@@ -136,6 +142,7 @@ const PRESETS = {
136
142
  ],
137
143
  buildCommand: "go build ./...",
138
144
  testCommand: "go test ./...",
145
+ testCommandFiltered: 'go test -run "TestName" ./...',
139
146
  typecheckCommand: "go vet ./...",
140
147
  lintCommand: "golangci-lint run",
141
148
  prCommand: "go vet ./... && go test ./...",
@@ -156,11 +163,121 @@ const PRESETS = {
156
163
  ],
157
164
  buildCommand: "tsc",
158
165
  testCommand: "node --test",
166
+ testCommandFiltered: 'node --test --test-name-pattern "name"',
159
167
  typecheckCommand: "tsc --noEmit",
160
168
  lintCommand: "eslint src/",
161
169
  prCommand: "npm run typecheck && npm run test",
162
170
  },
163
171
  },
172
+ "android-kotlin-compose": {
173
+ label: "Android (Kotlin + Compose)",
174
+ description: "Native Android with Jetpack Compose + Material 3",
175
+ answers: {
176
+ language: "Kotlin",
177
+ framework: "Jetpack Compose",
178
+ codeStyle: [
179
+ "ktlint enforced, no exceptions",
180
+ "Jetpack Compose with Material 3 design tokens",
181
+ "MVVM: Composables consume StateFlow<UiState>, ViewModel handles intents",
182
+ "Kotlin coroutines + Flow for async — no callbacks",
183
+ "Immutable data classes for UiState, sealed classes/interfaces for events",
184
+ "Repository pattern: ViewModel depends on interfaces, never on Room/Retrofit directly",
185
+ ],
186
+ buildCommand: "./gradlew assembleDebug",
187
+ testCommand: "./gradlew test",
188
+ testCommandFiltered: './gradlew test --tests "*.TestName"',
189
+ typecheckCommand: "./gradlew compileDebugKotlin",
190
+ lintCommand: "./gradlew ktlintCheck",
191
+ prCommand: "./gradlew ktlintCheck && ./gradlew test",
192
+ },
193
+ },
194
+ "flutter": {
195
+ label: "Flutter",
196
+ description: "Cross-platform mobile/desktop with Dart + Riverpod",
197
+ answers: {
198
+ language: "Dart",
199
+ framework: "Flutter",
200
+ codeStyle: [
201
+ "Effective Dart conventions, dart format enforced",
202
+ "Riverpod for state management — single source of truth per feature",
203
+ "Immutable models with freezed, json_serializable for DTOs",
204
+ "Widgets are pure functions of state — no business logic in build()",
205
+ "lib/features/<name>/ layout: presentation/, application/, domain/, data/",
206
+ "Async work in Notifier/AsyncNotifier methods, never inside widgets",
207
+ ],
208
+ buildCommand: "flutter build apk",
209
+ testCommand: "flutter test",
210
+ testCommandFiltered: 'flutter test --name "name"',
211
+ typecheckCommand: "flutter analyze",
212
+ lintCommand: "dart format --set-exit-if-changed .",
213
+ prCommand: "flutter analyze && flutter test",
214
+ },
215
+ },
216
+ "react-native-bare": {
217
+ label: "React Native (bare)",
218
+ description: "Mobile apps without Expo — full native module access",
219
+ answers: {
220
+ language: "TypeScript",
221
+ framework: "React Native",
222
+ codeStyle: [
223
+ "TypeScript strict mode",
224
+ "Functional components with hooks — no class components",
225
+ "StyleSheet.create for styles, no inline objects in render",
226
+ "Platform-specific code via Platform.select or .ios.tsx / .android.tsx",
227
+ "Native modules wrapped in TypeScript-typed bridges, never imported raw",
228
+ "Lists use FlatList/SectionList — never .map() over large arrays",
229
+ ],
230
+ buildCommand: "react-native bundle --platform ios --dev false --entry-file index.js --bundle-output ios/main.jsbundle",
231
+ testCommand: "jest",
232
+ testCommandFiltered: 'jest -t "name"',
233
+ typecheckCommand: "tsc --noEmit",
234
+ lintCommand: "eslint .",
235
+ prCommand: "npm run typecheck && npm run test",
236
+ },
237
+ },
238
+ "ionic-capacitor": {
239
+ label: "Ionic + Capacitor",
240
+ description: "Hybrid mobile apps reusing one web codebase",
241
+ answers: {
242
+ language: "TypeScript",
243
+ framework: "Ionic",
244
+ codeStyle: [
245
+ "TypeScript strict mode",
246
+ "Ionic components for cross-platform UI — never raw HTML buttons in pages",
247
+ "Capacitor plugins wrapped in service classes, never called directly from components",
248
+ "Platform checks via Capacitor.getPlatform() — guard native-only code paths",
249
+ "Same web codebase ships to web, iOS, and Android — no platform forks in app code",
250
+ ],
251
+ buildCommand: "ionic build && npx cap sync",
252
+ testCommand: "vitest",
253
+ testCommandFiltered: 'vitest -t "name"',
254
+ typecheckCommand: "tsc --noEmit",
255
+ lintCommand: "eslint src/",
256
+ prCommand: "npm run typecheck && npm run test",
257
+ },
258
+ },
259
+ "swift-ios": {
260
+ label: "Swift iOS (SwiftUI)",
261
+ description: "Native iOS apps with SwiftUI + Swift concurrency",
262
+ answers: {
263
+ language: "Swift",
264
+ framework: "SwiftUI",
265
+ codeStyle: [
266
+ "Swift API Design Guidelines — clear, concise naming",
267
+ "SwiftUI declarative views, MVVM architecture",
268
+ "Swift concurrency (async/await, actors) — no completion handlers",
269
+ "Access control: internal by default, explicit public/private",
270
+ "Prefer value types (struct/enum) over reference types (class)",
271
+ "Guard-let for early exits, avoid nested optionals",
272
+ ],
273
+ buildCommand: "xcodebuild -scheme App build",
274
+ testCommand: "xcodebuild -scheme App test",
275
+ testCommandFiltered: "xcodebuild -only-testing:App/<TestName> test",
276
+ typecheckCommand: "swift build",
277
+ lintCommand: "swiftlint",
278
+ prCommand: "swift build && xcodebuild -scheme App test",
279
+ },
280
+ },
164
281
  };
165
282
  const QUICKSTART_OPTIONS = [
166
283
  ...Object.entries(PRESETS).map(([value, preset]) => ({
@@ -186,6 +303,7 @@ const LANGUAGE_OPTIONS = [
186
303
  { label: "PHP", value: "PHP", description: "Web-native, Laravel & WordPress" },
187
304
  { label: "Swift", value: "Swift", description: "Apple platforms, type-safe" },
188
305
  { label: "Kotlin", value: "Kotlin", description: "Modern JVM, Android-first" },
306
+ { label: "Dart", value: "Dart", description: "Flutter and cross-platform mobile/desktop" },
189
307
  ];
190
308
  const FRAMEWORK_OPTIONS = [
191
309
  { label: "Node.js", value: "Node.js", description: "JS/TS server runtime" },
@@ -200,6 +318,12 @@ const FRAMEWORK_OPTIONS = [
200
318
  { label: "Rails", value: "Rails", description: "Convention-over-config Ruby web" },
201
319
  { label: "Bubbletea", value: "Bubbletea", description: "Go terminal UI framework (works well with Bubbles + Lipgloss)" },
202
320
  { label: "Ink", value: "Ink", description: "React renderer for interactive terminal UIs" },
321
+ { label: "SwiftUI", value: "SwiftUI", description: "Declarative UI framework for Apple platforms" },
322
+ { label: "UIKit", value: "UIKit", description: "Imperative UI framework for iOS" },
323
+ { label: "Jetpack Compose", value: "Jetpack Compose", description: "Declarative UI for Android (Kotlin)" },
324
+ { label: "Flutter", value: "Flutter", description: "Cross-platform mobile/desktop UI (Dart)" },
325
+ { label: "Ionic", value: "Ionic", description: "Web-based hybrid mobile UI" },
326
+ { label: "Capacitor", value: "Capacitor", description: "Native runtime for hybrid mobile apps" },
203
327
  ];
204
328
  const CODE_STYLE_OPTIONS = [
205
329
  { label: "Strict mode", value: "Strict mode", description: "TypeScript strict, ESLint strict" },
@@ -217,51 +341,79 @@ const CODE_STYLE_OPTIONS = [
217
341
  { label: "cmd/internal layout", value: "cmd/ for entry points, internal/ for private packages", description: "Standard Go project layout" },
218
342
  { label: "Hex colors only", value: "Catppuccin Mocha hex colors — never terminal color names", description: "Consistent cross-terminal rendering" },
219
343
  { label: "components/steps split", value: "src/components/ for reusable UI, src/steps/ for wizard screens", description: "Ink TUI file organization" },
344
+ { label: "SwiftUI MVVM", value: "SwiftUI declarative views, MVVM architecture", description: "Model-View-ViewModel pattern" },
345
+ { label: "Swift concurrency", value: "Swift concurrency (async/await, actors) — no completion handlers", description: "Modern async patterns" },
346
+ { label: "Value types first", value: "Prefer value types (struct/enum) over reference types (class)", description: "Swift struct-first design" },
347
+ { label: "Guard-let exits", value: "Guard-let for early exits, avoid nested optionals", description: "Clean unwrapping patterns" },
348
+ { label: "Compose Material 3", value: "Jetpack Compose with Material 3 design tokens", description: "Modern Android UI" },
349
+ { label: "Coroutines + Flow", value: "Kotlin coroutines + Flow for async — no callbacks", description: "Structured concurrency" },
350
+ { label: "ktlint enforced", value: "ktlint enforced, no exceptions", description: "Standard Kotlin formatting" },
351
+ { label: "Effective Dart", value: "Effective Dart conventions, dart format enforced", description: "Dart formatting & idioms" },
352
+ { label: "Riverpod state", value: "Riverpod for state management — single source of truth per feature", description: "Flutter state management" },
353
+ { label: "freezed models", value: "Immutable models with freezed, json_serializable for DTOs", description: "Codegen-based immutability" },
354
+ { label: "RN StyleSheet.create", value: "StyleSheet.create for styles, no inline objects in render", description: "React Native style discipline" },
355
+ { label: "RN platform splits", value: "Platform-specific code via Platform.select or .ios.tsx / .android.tsx", description: "RN platform handling" },
356
+ { label: "Ionic components only", value: "Ionic components for cross-platform UI — never raw HTML buttons in pages", description: "Hybrid UI consistency" },
220
357
  ];
221
358
  /** Derive build/test/typecheck/lint/prCommand from language + framework */
222
359
  function deriveCommands(language, framework) {
223
360
  const lang = language.split(",")[0]?.trim().toLowerCase() ?? "";
224
361
  const fw = framework.split(",")[0]?.trim().toLowerCase() ?? "";
362
+ if (fw.includes("flutter") || lang.includes("dart")) {
363
+ return { buildCommand: "flutter build apk", testCommand: "flutter test", testCommandFiltered: 'flutter test --name "name"', typecheckCommand: "flutter analyze", lintCommand: "dart format --set-exit-if-changed .", prCommand: "flutter analyze && flutter test" };
364
+ }
365
+ if (fw.includes("compose") || (lang.includes("kotlin") && fw.includes("android"))) {
366
+ return { buildCommand: "./gradlew assembleDebug", testCommand: "./gradlew test", testCommandFiltered: './gradlew test --tests "*.TestName"', typecheckCommand: "./gradlew compileDebugKotlin", lintCommand: "./gradlew ktlintCheck", prCommand: "./gradlew ktlintCheck && ./gradlew test" };
367
+ }
368
+ if (fw.includes("ionic") || fw.includes("capacitor")) {
369
+ return { buildCommand: "ionic build && npx cap sync", testCommand: "vitest", testCommandFiltered: 'vitest -t "name"', typecheckCommand: "tsc --noEmit", lintCommand: "eslint src/", prCommand: "npm run typecheck && npm run test" };
370
+ }
371
+ if (fw.includes("react native") || fw.includes("react-native")) {
372
+ return { buildCommand: "react-native bundle --platform ios --dev false --entry-file index.js --bundle-output ios/main.jsbundle", testCommand: "jest", testCommandFiltered: 'jest -t "name"', typecheckCommand: "tsc --noEmit", lintCommand: "eslint .", prCommand: "npm run typecheck && npm run test" };
373
+ }
225
374
  if (fw.includes("next")) {
226
- return { buildCommand: "next build", testCommand: "vitest", typecheckCommand: "tsc --noEmit", lintCommand: "next lint", prCommand: "npm run typecheck && npm run lint" };
375
+ return { buildCommand: "next build", testCommand: "vitest", testCommandFiltered: 'vitest -t "name"', typecheckCommand: "tsc --noEmit", lintCommand: "next lint", prCommand: "npm run typecheck && npm run lint" };
227
376
  }
228
377
  if (fw.includes("react") || fw.includes("svelte") || fw.includes("vue")) {
229
- return { buildCommand: "vite build", testCommand: "vitest", typecheckCommand: lang.includes("typescript") ? "tsc --noEmit" : "", lintCommand: "eslint src/", prCommand: "npm run typecheck && npm run test" };
378
+ return { buildCommand: "vite build", testCommand: "vitest", testCommandFiltered: 'vitest -t "name"', typecheckCommand: lang.includes("typescript") ? "tsc --noEmit" : "", lintCommand: "eslint src/", prCommand: "npm run typecheck && npm run test" };
230
379
  }
231
380
  if (fw.includes("ink")) {
232
- return { buildCommand: "tsc", testCommand: "node --test", typecheckCommand: "tsc --noEmit", lintCommand: "eslint src/", prCommand: "npm run typecheck && npm run test" };
381
+ return { buildCommand: "tsc", testCommand: "node --test", testCommandFiltered: 'node --test --test-name-pattern "name"', typecheckCommand: "tsc --noEmit", lintCommand: "eslint src/", prCommand: "npm run typecheck && npm run test" };
233
382
  }
234
383
  if (lang.includes("typescript")) {
235
- return { buildCommand: "tsc", testCommand: "node --test", typecheckCommand: "tsc --noEmit", lintCommand: "eslint src/", prCommand: "npm run typecheck && npm run test" };
384
+ return { buildCommand: "tsc", testCommand: "node --test", testCommandFiltered: 'node --test --test-name-pattern "name"', typecheckCommand: "tsc --noEmit", lintCommand: "eslint src/", prCommand: "npm run typecheck && npm run test" };
236
385
  }
237
386
  if (lang.includes("python")) {
238
- return { buildCommand: "python -m py_compile src/", testCommand: "pytest", typecheckCommand: "mypy .", lintCommand: "ruff check .", prCommand: "mypy . && pytest" };
387
+ return { buildCommand: "python -m py_compile src/", testCommand: "pytest", testCommandFiltered: 'pytest -k "name"', typecheckCommand: "mypy .", lintCommand: "ruff check .", prCommand: "mypy . && pytest" };
239
388
  }
240
389
  if (fw.includes("bubbletea")) {
241
- return { buildCommand: "go build ./...", testCommand: "go test ./...", typecheckCommand: "go vet ./...", lintCommand: "golangci-lint run", prCommand: "go vet ./... && go test ./..." };
390
+ return { buildCommand: "go build ./...", testCommand: "go test ./...", testCommandFiltered: 'go test -run "TestName" ./...', typecheckCommand: "go vet ./...", lintCommand: "golangci-lint run", prCommand: "go vet ./... && go test ./..." };
242
391
  }
243
392
  if (lang.includes("go")) {
244
- return { buildCommand: "go build ./...", testCommand: "go test ./...", typecheckCommand: "go vet ./...", lintCommand: "golangci-lint run", prCommand: "go vet ./... && go test ./..." };
393
+ return { buildCommand: "go build ./...", testCommand: "go test ./...", testCommandFiltered: 'go test -run "TestName" ./...', typecheckCommand: "go vet ./...", lintCommand: "golangci-lint run", prCommand: "go vet ./... && go test ./..." };
245
394
  }
246
395
  if (lang.includes("rust")) {
247
- return { buildCommand: "cargo build", testCommand: "cargo test", typecheckCommand: "cargo check", lintCommand: "cargo clippy", prCommand: "cargo clippy && cargo test" };
396
+ return { buildCommand: "cargo build", testCommand: "cargo test", testCommandFiltered: "cargo test test_name", typecheckCommand: "cargo check", lintCommand: "cargo clippy", prCommand: "cargo clippy && cargo test" };
248
397
  }
249
398
  if (lang.includes("java")) {
250
- return { buildCommand: "mvn compile", testCommand: "mvn test", typecheckCommand: "", lintCommand: "mvn checkstyle:check", prCommand: "mvn verify" };
399
+ return { buildCommand: "mvn compile", testCommand: "mvn test", testCommandFiltered: "mvn test -Dtest=ClassName#methodName", typecheckCommand: "", lintCommand: "mvn checkstyle:check", prCommand: "mvn verify" };
251
400
  }
252
401
  if (lang.includes("ruby")) {
253
- return { buildCommand: "bundle exec rake", testCommand: "bundle exec rspec", typecheckCommand: "", lintCommand: "rubocop", prCommand: "rubocop && bundle exec rspec" };
402
+ return { buildCommand: "bundle exec rake", testCommand: "bundle exec rspec", testCommandFiltered: 'bundle exec rspec -e "name"', typecheckCommand: "", lintCommand: "rubocop", prCommand: "rubocop && bundle exec rspec" };
403
+ }
404
+ if (fw.includes("swiftui") || fw.includes("uikit")) {
405
+ return { buildCommand: "xcodebuild -scheme App build", testCommand: "xcodebuild -scheme App test", testCommandFiltered: "xcodebuild -only-testing:App/<TestName> test", typecheckCommand: "swift build", lintCommand: "swiftlint", prCommand: "swift build && xcodebuild -scheme App test" };
254
406
  }
255
407
  if (lang.includes("swift")) {
256
- return { buildCommand: "swift build", testCommand: "swift test", typecheckCommand: "", lintCommand: "swiftlint", prCommand: "swift test" };
408
+ return { buildCommand: "swift build", testCommand: "swift test", testCommandFiltered: 'swift test --filter "TestName"', typecheckCommand: "", lintCommand: "swiftlint", prCommand: "swift test" };
257
409
  }
258
410
  if (lang.includes("kotlin")) {
259
- return { buildCommand: "./gradlew build", testCommand: "./gradlew test", typecheckCommand: "", lintCommand: "./gradlew ktlintCheck", prCommand: "./gradlew test" };
411
+ return { buildCommand: "./gradlew build", testCommand: "./gradlew test", testCommandFiltered: './gradlew test --tests "*.TestName"', typecheckCommand: "", lintCommand: "./gradlew ktlintCheck", prCommand: "./gradlew test" };
260
412
  }
261
413
  if (lang.includes("php")) {
262
- return { buildCommand: "composer install", testCommand: "phpunit", typecheckCommand: "", lintCommand: "phpcs", prCommand: "phpunit" };
414
+ return { buildCommand: "composer install", testCommand: "phpunit", testCommandFiltered: "phpunit --filter testName", typecheckCommand: "", lintCommand: "phpcs", prCommand: "phpunit" };
263
415
  }
264
- return { buildCommand: "npm run build", testCommand: "npm run test", typecheckCommand: "", lintCommand: "npm run lint", prCommand: "npm run lint && npm run test" };
416
+ return { buildCommand: "npm run build", testCommand: "npm run test", testCommandFiltered: "npm run test", typecheckCommand: "", lintCommand: "npm run lint", prCommand: "npm run lint && npm run test" };
265
417
  }
266
418
  /** Suggest frameworks based on selected languages */
267
419
  function getFrameworkPreselect(languages) {
@@ -275,6 +427,12 @@ function getFrameworkPreselect(languages) {
275
427
  preselect.push("Bubbletea");
276
428
  if (langSet.has("ruby"))
277
429
  preselect.push("Rails");
430
+ if (langSet.has("swift"))
431
+ preselect.push("SwiftUI");
432
+ if (langSet.has("kotlin"))
433
+ preselect.push("Jetpack Compose");
434
+ if (langSet.has("dart"))
435
+ preselect.push("Flutter");
278
436
  return preselect;
279
437
  }
280
438
  // ─── Component ───────────────────────────────────────────────────────────────
@@ -285,7 +443,7 @@ export default function StackStyle({ onComplete }) {
285
443
  const [selectedFrameworks, setSelectedFrameworks] = useState([]);
286
444
  // ── QuickStart ──
287
445
  if (mode === "quickstart") {
288
- return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Select a preset:" }) }), _jsx(GutteredSelect, { options: QUICKSTART_OPTIONS, onChange: (val) => {
446
+ return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Select a preset:" }) }), _jsx(GutteredSelect, { options: QUICKSTART_OPTIONS, maxVisible: 10, onChange: (val) => {
289
447
  if (val === "advanced") {
290
448
  setMode("advanced");
291
449
  return;
@@ -297,19 +455,19 @@ export default function StackStyle({ onComplete }) {
297
455
  }
298
456
  // ── Advanced ──
299
457
  if (advancedStep === "language") {
300
- return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Mode: " }), _jsx(Text, { color: C.inputed, children: "manual configuration" })] }) }), _jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Programming languages:" }) }), _jsx(GutteredMultiSelect, { options: LANGUAGE_OPTIONS, allowCustom: true, customPlaceholder: "e.g. Elixir, Zig, C++", onSubmit: (values) => {
458
+ return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Mode: " }), _jsx(Text, { color: C.inputed, children: "manual configuration" })] }) }), _jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Programming languages:" }) }), _jsx(GutteredMultiSelect, { options: LANGUAGE_OPTIONS, allowCustom: true, customPlaceholder: "e.g. Elixir, Zig, C++", maxVisible: 10, onSubmit: (values) => {
301
459
  setSelectedLanguages(values);
302
460
  setAdvancedStep("framework");
303
461
  } })] }));
304
462
  }
305
463
  if (advancedStep === "framework") {
306
- return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Languages: " }), _jsx(Text, { color: C.inputed, children: selectedLanguages.join(", ") })] }) }), _jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Frameworks:" }) }), _jsx(GutteredMultiSelect, { options: FRAMEWORK_OPTIONS, initialSelected: getFrameworkPreselect(selectedLanguages), allowCustom: true, customPlaceholder: "e.g. Hono, Remix, Astro", onSubmit: (values) => {
464
+ return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Languages: " }), _jsx(Text, { color: C.inputed, children: selectedLanguages.join(", ") })] }) }), _jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Frameworks:" }) }), _jsx(GutteredMultiSelect, { options: FRAMEWORK_OPTIONS, initialSelected: getFrameworkPreselect(selectedLanguages), allowCustom: true, customPlaceholder: "e.g. Hono, Remix, Astro", maxVisible: 10, onSubmit: (values) => {
307
465
  setSelectedFrameworks(values);
308
466
  setAdvancedStep("codeStyle");
309
467
  } })] }));
310
468
  }
311
469
  // codeStyle step
312
- return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Languages: " }), _jsx(Text, { color: C.inputed, children: selectedLanguages.join(", ") })] }) }), _jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Frameworks: " }), _jsx(Text, { color: C.inputed, children: selectedFrameworks.join(", ") })] }) }), _jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Code style conventions:" }) }), _jsx(GutteredMultiSelect, { options: CODE_STYLE_OPTIONS, allowCustom: true, customPlaceholder: "e.g. tabs over spaces, max 80 chars", onSubmit: (values) => {
470
+ return (_jsxs(_Fragment, { children: [_jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Languages: " }), _jsx(Text, { color: C.inputed, children: selectedLanguages.join(", ") })] }) }), _jsx(GutterLine, { children: _jsxs(Text, { children: [_jsx(Text, { color: C.label, children: "Frameworks: " }), _jsx(Text, { color: C.inputed, children: selectedFrameworks.join(", ") })] }) }), _jsx(GutterLine, { children: _jsx(Text, { bold: true, children: "Code style conventions:" }) }), _jsx(GutteredMultiSelect, { options: CODE_STYLE_OPTIONS, allowCustom: true, customPlaceholder: "e.g. tabs over spaces, max 80 chars", maxVisible: 10, onSubmit: (values) => {
313
471
  const language = selectedLanguages.join(", ");
314
472
  const framework = selectedFrameworks.join(", ");
315
473
  onComplete({
@@ -1 +1 @@
1
- {"version":3,"file":"stack-style.js","sourceRoot":"","sources":["../../src/steps/stack-style.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stack-style.js","sourceRoot":"","sources":["../../src/steps/stack-style.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "procedure-cli",
3
- "version": "1.3.0",
3
+ "version": "1.5.2",
4
4
  "description": "CLI-based AI Agent powered by AI SDK 6, Z.ai, and OpenAI",
5
5
  "type": "module",
6
6
  "files": [
@@ -7,11 +7,11 @@ This file provides tool-agnostic instructions for AI coding agents working on th
7
7
  ## Build & Test
8
8
 
9
9
  ```bash
10
- {{buildCommand}} # Build
11
- {{typecheckCommand}} # Typecheck
12
- {{testCommand}} # Run tests
13
- {{lintCommand}} # Lint
14
- {{prCommand}} # Pre-PR checks
10
+ {{{buildCommand}}} # Build
11
+ {{{typecheckCommand}}} # Typecheck
12
+ {{{testCommand}}} # Run tests
13
+ {{{lintCommand}}} # Lint
14
+ {{{prCommand}}} # Pre-PR checks
15
15
  ```
16
16
 
17
17
  Run typecheck before build. Run all checks before submitting a PR.
@@ -62,16 +62,23 @@ When a user reports a bug:
62
62
 
63
63
  ## Understanding, Planning & Approval
64
64
 
65
- - Always confirm the understanding in Vietnamese
66
- - Always present the approach based on the confirming understanding
65
+ - Confirm understanding and present the approach in Vietnamese before implementing
66
+ - Code, identifiers, comments, commit messages, and committed docs stay in English
67
67
  - Always wait for the user's approval on the understanding and the approach
68
68
  - Make a task after being approved
69
69
 
70
+ ## Documentation Sync
71
+
72
+ - After EVERY implementation: update CLAUDE.md, README.md, and product artifacts (docs/PRD.md, docs/USER-STORIES.md) to reflect the current state
73
+ - **AGENTS.md must always stay in sync with CLAUDE.md** — CLAUDE.md is the source of truth. After any change to CLAUDE.md, propagate relevant updates to AGENTS.md immediately
74
+ - Architecture descriptions, step counts, component lists, and behavioral descriptions must match the actual code
75
+ - Never leave docs describing removed features, old step numbers, or stale behavior
76
+
70
77
  ## Testing
71
78
 
72
- 1. Run `{{typecheckCommand}}` — must pass with no errors
73
- 2. Run `{{testCommand}}` — all tests must pass
74
- 3. Run `{{lintCommand}}` — no lint violations
79
+ 1. Run `{{{typecheckCommand}}}` — must pass with no errors
80
+ 2. Run `{{{testCommand}}}` — all tests must pass
81
+ 3. Run `{{{lintCommand}}}` — no lint violations
75
82
 
76
83
  When adding new functionality, add corresponding tests. When fixing a bug, add a regression test.
77
84
 
@@ -80,7 +87,7 @@ When adding new functionality, add corresponding tests. When fixing a bug, add a
80
87
  - Keep commits focused — one logical change per commit
81
88
  - Write descriptive commit messages explaining **why**, not just what
82
89
  - After any implementation change, verify that documentation (README.md, docs/PRD.md, docs/USER-STORIES.md) still reflects the current state
83
- - Run `{{prCommand}}` before opening a PR
90
+ - Run `{{{prCommand}}}` before opening a PR
84
91
 
85
92
  ## Security
86
93
 
@@ -7,12 +7,13 @@ See docs/PRD.md for product requirements and docs/USER-STORIES.md for user stori
7
7
  ## Build & Test
8
8
 
9
9
  ```bash
10
- {{buildCommand}} # Build
11
- {{typecheckCommand}} # Typecheck (fast — run first)
12
- {{testCommand}} -- -t "name" # Test (specific)
13
- {{testCommand}} # Test (full suite)
14
- {{lintCommand}} # Lint
15
- {{prCommand}} # Before creating a PR
10
+ {{{buildCommand}}} # Build
11
+ {{{typecheckCommand}}} # Typecheck (fast — run first)
12
+ {{{testCommandFiltered}}} # Test (specific)
13
+ {{{testCommand}}} # Test (full suite)
14
+ {{#if e2eTestCommand}}{{{e2eTestCommand}}} # E2E tests
15
+ {{/if}}{{{lintCommand}}} # Lint
16
+ {{{prCommand}}} # Before creating a PR
16
17
  ```
17
18
 
18
19
  ## Documentation Lookup
@@ -30,6 +31,58 @@ See docs/PRD.md for product requirements and docs/USER-STORIES.md for user stori
30
31
 
31
32
  {{{architecture}}}
32
33
 
34
+ {{#contains techStack "Supabase"}}
35
+ ## Auth & RLS
36
+
37
+ This project uses Supabase. Key rules:
38
+
39
+ - **Defense in depth**: every gated mutation is checked at three layers — UI visibility, server-route helpers, and DB-level RLS policies. Never rely on a single layer.
40
+ - **RLS-first**: every new table needs an RLS policy in the same migration. `authenticated` SELECT and owner-scoped INSERT/UPDATE/DELETE are the default; widen explicitly.
41
+ - **Server vs client**: use `@supabase/ssr` for server components and route handlers; `@supabase/supabase-js` for client components. Never mix sessions across the boundary.
42
+ - **Mutations must be awaited**: `supabase.from(...).update(...).eq(...)` returns a lazy thenable — a bare statement is a silent no-op. Always `await` or `.then()`.
43
+ {{/contains}}
44
+ {{#contains techStack "Upstash"}}
45
+ ## Rate-limiting
46
+
47
+ Rate limits are enforced via Upstash Redis (`@upstash/ratelimit`). When adding a new endpoint:
48
+
49
+ - Pick the right tier: public unauthenticated routes ≤ 10/min/IP, authenticated reads ≤ 600/min, mutations ≤ 120/min.
50
+ - Fail-open if Upstash env vars are absent — never block production traffic on a missing credential.
51
+ - Emit `security.rate_limited` audit events for tripped limits.
52
+ {{/contains}}
53
+ {{#contains techStack "MCP SDK"}}
54
+ ## MCP Tools
55
+
56
+ This project exposes Model Context Protocol tools via `@modelcontextprotocol/sdk`. Conventions:
57
+
58
+ - Tool definitions live in `src/mcp/tools/` — one file per tool, default-exporting `{ name, description, inputSchema, handler }`.
59
+ - Server entry point in `src/mcp/server.ts` registers all tools and wires transport.
60
+ - Document each tool's `name`, args, and side effects in this section as you add them — agents discover tools by name only.
61
+ {{/contains}}
62
+ {{#contains techStack "Vercel"}}
63
+ ## Deployment
64
+
65
+ Deployment runbook lives in [`deployment/`](./deployment/). Single source of truth for:
66
+
67
+ - Env-var matrix (`deployment/01-env-vars.md`)
68
+ - Vercel project settings & domains (`deployment/02-vercel-checklist.md`)
69
+ - Migration log
70
+ - Preflight script run before infra-affecting commits
71
+
72
+ Update `deployment/` **in the same commit** as any infrastructure change.
73
+ {{else}}{{#contains techStack "Fly.io"}}
74
+ ## Deployment
75
+
76
+ Deployment runbook lives in [`deployment/`](./deployment/) — Fly.io app config (`fly.toml`), env-var matrix, release commands. Update `deployment/` in the same commit as any infra change.
77
+ {{else}}{{#contains techStack "Railway"}}
78
+ ## Deployment
79
+
80
+ Deployment runbook lives in [`deployment/`](./deployment/) — Railway service config, env-var matrix, migration log. Update `deployment/` in the same commit as any infra change.
81
+ {{else}}{{#contains techStack "Cloudflare"}}
82
+ ## Deployment
83
+
84
+ Deployment runbook lives in [`deployment/`](./deployment/) — Cloudflare Workers config (`wrangler.toml`), env-var matrix, secret bindings. Update `deployment/` in the same commit as any infra change.
85
+ {{/contains}}{{/contains}}{{/contains}}{{/contains}}
33
86
  {{#if (eq framework "Ink")}}
34
87
  ## Ink TUI Development
35
88
 
@@ -88,14 +141,15 @@ All colors accessed through `C` from `src/lib/theme.ts`. **Never hardcode hex va
88
141
  - A good plan lets you one-shot the implementation
89
142
 
90
143
  ### Understanding, Planning & Approval
91
- - Always confirm the understanding in Vietnamese
92
- - Always present the approach based on the confirming understanding
144
+ - Confirm understanding and present the approach in Vietnamese before implementing
145
+ - Code, identifiers, comments, commit messages, and committed docs stay in English
93
146
  - Always wait for the user's approval on the understanding and the approach
94
147
  - Make a task after being approved
95
148
  - Leverage team agents if possible
96
149
 
97
150
  ### Documentation Sync
98
151
  - After EVERY implementation: update CLAUDE.md, README.md, and product artifacts (docs/PRD.md, docs/USER-STORIES.md) to reflect the current state
152
+ - **AGENTS.md must always stay in sync with CLAUDE.md** — CLAUDE.md is the source of truth. After any change to CLAUDE.md, propagate relevant updates to AGENTS.md immediately
99
153
  - Architecture descriptions, step counts, component lists, and behavioral descriptions must match the actual code
100
154
  - Never leave docs describing removed features, old step numbers, or stale behavior
101
155
 
@@ -176,6 +230,7 @@ When a user reports a bug:
176
230
  2. **If valid** — append a new `CR-` entry to `CODE-REVIEW.md` following the code review logging procedure (Entry ID, Scope, Validation Matrix, Findings with `file:line` evidence and severity, Verification Notes).
177
231
  3. **If not valid** — explain to the user why the reported behavior is expected or not reproducible.
178
232
 
233
+ {{#if hasReleaseScript}}
179
234
  ## Release
180
235
 
181
236
  ```bash
@@ -190,6 +245,7 @@ The release script (`~/bin/{{projectName}}-release`) will:
190
245
  3. Bump version via `npm version`
191
246
  4. Push branch + tags to origin
192
247
  5. Publish to registry
248
+ {{/if}}
193
249
 
194
250
  ## Core Principles
195
251
 
@@ -0,0 +1,38 @@
1
+ # Deployment — {{projectName}}
2
+
3
+ Single source of truth for shipping {{projectName}} to **{{deployTarget}}**. After any infrastructure-affecting change, update the relevant file in this folder **in the same commit** as the code.
4
+
5
+ ## Files in this folder
6
+
7
+ | File | Purpose |
8
+ |------|---------|
9
+ | `00-README.md` | This index — overview and update protocol |
10
+ | `01-env-vars.md` | Env-var matrix (name, scope, source, rotation) |
11
+ | `02-{{deployTarget}}-checklist.md` | Provider-specific deploy checklist |
12
+ | `05-migrations.md` | DB migration log (append-only) |
13
+ | `07-scripts/01-preflight.sh` | Local preflight: typecheck + lint + build + env audit |
14
+
15
+ ## Update protocol
16
+
17
+ 1. **Add or rename an env var** → update `01-env-vars.md`, `02-{{deployTarget}}-checklist.md`, and `.env.example` in the same commit.
18
+ 2. **New migration** → append to `05-migrations.md`. Bump any generated DB types.
19
+ 3. **New third-party integration** → add to `02-{{deployTarget}}-checklist.md` plus an integration-specific doc.
20
+ 4. **Change preflight or release scripts** → the script file itself + reference here.
21
+
22
+ ## Preflight
23
+
24
+ Run `bash deployment/07-scripts/01-preflight.sh` before pushing infra-touching commits. It exercises typecheck, lint, build, and the env audit. CI runs the same script — if it fails locally, it will fail in CI.
25
+
26
+ {{#contains techStack "Supabase"}}
27
+ ## Supabase notes
28
+
29
+ - Migrations live in `supabase/migrations/` — apply with `supabase db push` against the linked project.
30
+ - Auth URL allowlist must be updated in the Supabase dashboard whenever a new domain is added.
31
+ - RLS policies are part of the migration file that creates the table — never enable RLS in a separate commit.
32
+ {{/contains}}
33
+ {{#contains techStack "Upstash"}}
34
+ ## Upstash notes
35
+
36
+ - Rate-limit env vars: `UPSTASH_REDIS_REST_URL`, `UPSTASH_REDIS_REST_TOKEN`.
37
+ - Rate-limit code is fail-open: if env vars are absent, requests pass through. Audit the `01-env-vars.md` matrix to confirm presence in every environment.
38
+ {{/contains}}