wiggum-cli 0.7.8 → 0.9.0

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 (126) hide show
  1. package/dist/ai/conversation/conversation-manager.d.ts +11 -0
  2. package/dist/ai/conversation/conversation-manager.d.ts.map +1 -1
  3. package/dist/ai/conversation/conversation-manager.js +14 -0
  4. package/dist/ai/conversation/conversation-manager.js.map +1 -1
  5. package/dist/cli.d.ts.map +1 -1
  6. package/dist/cli.js +4 -0
  7. package/dist/cli.js.map +1 -1
  8. package/dist/commands/new.d.ts +2 -0
  9. package/dist/commands/new.d.ts.map +1 -1
  10. package/dist/commands/new.js +63 -22
  11. package/dist/commands/new.js.map +1 -1
  12. package/dist/index.d.ts +3 -2
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +97 -22
  15. package/dist/index.js.map +1 -1
  16. package/dist/tui/app.d.ts +108 -0
  17. package/dist/tui/app.d.ts.map +1 -0
  18. package/dist/tui/app.js +169 -0
  19. package/dist/tui/app.js.map +1 -0
  20. package/dist/tui/components/ChatInput.d.ts +40 -0
  21. package/dist/tui/components/ChatInput.d.ts.map +1 -0
  22. package/dist/tui/components/ChatInput.js +61 -0
  23. package/dist/tui/components/ChatInput.js.map +1 -0
  24. package/dist/tui/components/MessageList.d.ts +79 -0
  25. package/dist/tui/components/MessageList.d.ts.map +1 -0
  26. package/dist/tui/components/MessageList.js +68 -0
  27. package/dist/tui/components/MessageList.js.map +1 -0
  28. package/dist/tui/components/PhaseHeader.d.ts +36 -0
  29. package/dist/tui/components/PhaseHeader.d.ts.map +1 -0
  30. package/dist/tui/components/PhaseHeader.js +31 -0
  31. package/dist/tui/components/PhaseHeader.js.map +1 -0
  32. package/dist/tui/components/StreamingText.d.ts +47 -0
  33. package/dist/tui/components/StreamingText.d.ts.map +1 -0
  34. package/dist/tui/components/StreamingText.js +38 -0
  35. package/dist/tui/components/StreamingText.js.map +1 -0
  36. package/dist/tui/components/ToolCallCard.d.ts +65 -0
  37. package/dist/tui/components/ToolCallCard.d.ts.map +1 -0
  38. package/dist/tui/components/ToolCallCard.js +100 -0
  39. package/dist/tui/components/ToolCallCard.js.map +1 -0
  40. package/dist/tui/components/WiggumBanner.d.ts +30 -0
  41. package/dist/tui/components/WiggumBanner.d.ts.map +1 -0
  42. package/dist/tui/components/WiggumBanner.js +34 -0
  43. package/dist/tui/components/WiggumBanner.js.map +1 -0
  44. package/dist/tui/components/WorkingIndicator.d.ts +45 -0
  45. package/dist/tui/components/WorkingIndicator.d.ts.map +1 -0
  46. package/dist/tui/components/WorkingIndicator.js +31 -0
  47. package/dist/tui/components/WorkingIndicator.js.map +1 -0
  48. package/dist/tui/components/index.d.ts +16 -0
  49. package/dist/tui/components/index.d.ts.map +1 -0
  50. package/dist/tui/components/index.js +10 -0
  51. package/dist/tui/components/index.js.map +1 -0
  52. package/dist/tui/demo.d.ts +8 -0
  53. package/dist/tui/demo.d.ts.map +1 -0
  54. package/dist/tui/demo.js +69 -0
  55. package/dist/tui/demo.js.map +1 -0
  56. package/dist/tui/hooks/index.d.ts +7 -0
  57. package/dist/tui/hooks/index.d.ts.map +1 -0
  58. package/dist/tui/hooks/index.js +6 -0
  59. package/dist/tui/hooks/index.js.map +1 -0
  60. package/dist/tui/hooks/useSpecGenerator.d.ts +184 -0
  61. package/dist/tui/hooks/useSpecGenerator.d.ts.map +1 -0
  62. package/dist/tui/hooks/useSpecGenerator.js +452 -0
  63. package/dist/tui/hooks/useSpecGenerator.js.map +1 -0
  64. package/dist/tui/index.d.ts +14 -0
  65. package/dist/tui/index.d.ts.map +1 -0
  66. package/dist/tui/index.js +18 -0
  67. package/dist/tui/index.js.map +1 -0
  68. package/dist/tui/orchestration/index.d.ts +6 -0
  69. package/dist/tui/orchestration/index.d.ts.map +1 -0
  70. package/dist/tui/orchestration/index.js +6 -0
  71. package/dist/tui/orchestration/index.js.map +1 -0
  72. package/dist/tui/orchestration/interview-orchestrator.d.ts +136 -0
  73. package/dist/tui/orchestration/interview-orchestrator.d.ts.map +1 -0
  74. package/dist/tui/orchestration/interview-orchestrator.js +437 -0
  75. package/dist/tui/orchestration/interview-orchestrator.js.map +1 -0
  76. package/dist/tui/screens/InitScreen.d.ts +26 -0
  77. package/dist/tui/screens/InitScreen.d.ts.map +1 -0
  78. package/dist/tui/screens/InitScreen.js +30 -0
  79. package/dist/tui/screens/InitScreen.js.map +1 -0
  80. package/dist/tui/screens/InterviewScreen.d.ts +44 -0
  81. package/dist/tui/screens/InterviewScreen.d.ts.map +1 -0
  82. package/dist/tui/screens/InterviewScreen.js +212 -0
  83. package/dist/tui/screens/InterviewScreen.js.map +1 -0
  84. package/dist/tui/screens/MainShell.d.ts +46 -0
  85. package/dist/tui/screens/MainShell.d.ts.map +1 -0
  86. package/dist/tui/screens/MainShell.js +196 -0
  87. package/dist/tui/screens/MainShell.js.map +1 -0
  88. package/dist/tui/screens/WelcomeScreen.d.ts +45 -0
  89. package/dist/tui/screens/WelcomeScreen.d.ts.map +1 -0
  90. package/dist/tui/screens/WelcomeScreen.js +56 -0
  91. package/dist/tui/screens/WelcomeScreen.js.map +1 -0
  92. package/dist/tui/screens/index.d.ts +6 -0
  93. package/dist/tui/screens/index.d.ts.map +1 -0
  94. package/dist/tui/screens/index.js +5 -0
  95. package/dist/tui/screens/index.js.map +1 -0
  96. package/dist/tui/theme.d.ts +66 -0
  97. package/dist/tui/theme.d.ts.map +1 -0
  98. package/dist/tui/theme.js +62 -0
  99. package/dist/tui/theme.js.map +1 -0
  100. package/package.json +6 -1
  101. package/src/ai/conversation/conversation-manager.ts +22 -0
  102. package/src/cli.ts +4 -0
  103. package/src/commands/new.ts +79 -27
  104. package/src/index.ts +109 -27
  105. package/src/tui/app.tsx +297 -0
  106. package/src/tui/components/ChatInput.tsx +105 -0
  107. package/src/tui/components/MessageList.tsx +186 -0
  108. package/src/tui/components/PhaseHeader.tsx +63 -0
  109. package/src/tui/components/StreamingText.tsx +69 -0
  110. package/src/tui/components/ToolCallCard.tsx +215 -0
  111. package/src/tui/components/WiggumBanner.tsx +66 -0
  112. package/src/tui/components/WorkingIndicator.tsx +72 -0
  113. package/src/tui/components/index.ts +21 -0
  114. package/src/tui/demo.tsx +111 -0
  115. package/src/tui/hooks/index.ts +13 -0
  116. package/src/tui/hooks/useSpecGenerator.ts +662 -0
  117. package/src/tui/index.ts +23 -0
  118. package/src/tui/orchestration/index.ts +10 -0
  119. package/src/tui/orchestration/interview-orchestrator.ts +559 -0
  120. package/src/tui/screens/InitScreen.tsx +63 -0
  121. package/src/tui/screens/InterviewScreen.tsx +319 -0
  122. package/src/tui/screens/MainShell.tsx +290 -0
  123. package/src/tui/screens/WelcomeScreen.tsx +141 -0
  124. package/src/tui/screens/index.ts +6 -0
  125. package/src/tui/theme.ts +76 -0
  126. package/tsconfig.json +2 -1
@@ -26,6 +26,10 @@ export interface ConversationContext {
26
26
  * Tool use callback for displaying tool usage
27
27
  */
28
28
  export type ToolUseCallback = (toolName: string, args: Record<string, unknown>) => void;
29
+ /**
30
+ * Tool result callback for capturing tool completion
31
+ */
32
+ export type ToolResultCallback = (toolName: string, result: unknown) => void;
29
33
  /**
30
34
  * Conversation manager options
31
35
  */
@@ -37,6 +41,8 @@ export interface ConversationManagerOptions {
37
41
  tools?: Record<string, Tool>;
38
42
  /** Callback when a tool is used */
39
43
  onToolUse?: ToolUseCallback;
44
+ /** Callback when a tool completes with result */
45
+ onToolResult?: ToolResultCallback;
40
46
  /** Maximum tool calling steps (default: 5) */
41
47
  maxToolSteps?: number;
42
48
  }
@@ -51,6 +57,7 @@ export declare class ConversationManager {
51
57
  private systemPrompt;
52
58
  private tools?;
53
59
  private onToolUse?;
60
+ private onToolResult?;
54
61
  private maxToolSteps;
55
62
  constructor(options: ConversationManagerOptions);
56
63
  /**
@@ -61,6 +68,10 @@ export declare class ConversationManager {
61
68
  * Set tool use callback
62
69
  */
63
70
  setOnToolUse(callback: ToolUseCallback): void;
71
+ /**
72
+ * Set tool result callback
73
+ */
74
+ setOnToolResult(callback: ToolResultCallback): void;
64
75
  /**
65
76
  * Update the system prompt
66
77
  */
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-manager.d.ts","sourceRoot":"","sources":["../../../src/ai/conversation/conversation-manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAA6B,KAAK,IAAI,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAWzD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;IACtC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,IAAI,CAAC;AAExF;;GAEG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,UAAU,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC7B,mCAAmC;IACnC,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAiCD;;GAEG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,OAAO,CAA2C;IAC1D,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,KAAK,CAAC,CAAuB;IACrC,OAAO,CAAC,SAAS,CAAC,CAAkB;IACpC,OAAO,CAAC,YAAY,CAAS;gBAEjB,OAAO,EAAE,0BAA0B;IAS/C;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,IAAI;IAI3C;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI;IAI7C;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI1C,OAAO,CAAC,sBAAsB;IAM9B;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAIhD;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAInD;;OAEG;IACH,eAAe,IAAI,IAAI;IAIvB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACH,OAAO,CAAC,aAAa;IAmBrB;;OAEG;IACG,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwChD;;OAEG;IACI,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;IA0B7D;;OAEG;IACH,UAAU,IAAI,mBAAmB,EAAE;IAInC;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,IAAI;CAGjD"}
1
+ {"version":3,"file":"conversation-manager.d.ts","sourceRoot":"","sources":["../../../src/ai/conversation/conversation-manager.ts"],"names":[],"mappings":"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"}
@@ -39,6 +39,7 @@ export class ConversationManager {
39
39
  systemPrompt;
40
40
  tools;
41
41
  onToolUse;
42
+ onToolResult;
42
43
  maxToolSteps;
43
44
  constructor(options) {
44
45
  this.provider = options.provider;
@@ -46,6 +47,7 @@ export class ConversationManager {
46
47
  this.systemPrompt = options.systemPrompt || this.getDefaultSystemPrompt();
47
48
  this.tools = options.tools;
48
49
  this.onToolUse = options.onToolUse;
50
+ this.onToolResult = options.onToolResult;
49
51
  this.maxToolSteps = options.maxToolSteps ?? 5;
50
52
  }
51
53
  /**
@@ -60,6 +62,12 @@ export class ConversationManager {
60
62
  setOnToolUse(callback) {
61
63
  this.onToolUse = callback;
62
64
  }
65
+ /**
66
+ * Set tool result callback
67
+ */
68
+ setOnToolResult(callback) {
69
+ this.onToolResult = callback;
70
+ }
63
71
  /**
64
72
  * Update the system prompt
65
73
  */
@@ -154,6 +162,12 @@ Be concise but thorough. Focus on understanding the user's needs before proposin
154
162
  this.onToolUse(toolCall.toolName, toolCall.input);
155
163
  }
156
164
  }
165
+ // Call onToolResult callback for each tool result
166
+ if (step.toolResults && this.onToolResult) {
167
+ for (const toolResult of step.toolResults) {
168
+ this.onToolResult(toolResult.toolName, toolResult.output);
169
+ }
170
+ }
157
171
  };
158
172
  }
159
173
  // Use traced AI for automatic Braintrust logging
@@ -1 +1 @@
1
- {"version":3,"file":"conversation-manager.js","sourceRoot":"","sources":["../../../src/ai/conversation/conversation-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conversation-manager.js","sourceRoot":"","sources":["../../../src/ai/conversation/conversation-manager.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAmPnC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC;;GAEG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAuPnC"}
package/dist/cli.js CHANGED
@@ -148,12 +148,14 @@ Dashboard Shows:
148
148
  .option('-y, --yes', 'Skip confirmation prompts')
149
149
  .option('-f, --force', 'Overwrite existing spec file without prompting')
150
150
  .option('--ai', 'Use AI interview to generate the spec')
151
+ .option('--tui', 'Use Ink TUI for AI interview (with --ai)')
151
152
  .option('--provider <name>', 'AI provider for spec generation (anthropic, openai, openrouter)')
152
153
  .option('--model <model>', 'Model to use for AI spec generation')
153
154
  .addHelpText('after', `
154
155
  Examples:
155
156
  $ wiggum new user-dashboard Create spec from template
156
157
  $ wiggum new user-dashboard --ai Use AI interview to generate spec
158
+ $ wiggum new user-dashboard --ai --tui Use AI with Ink TUI interface
157
159
  $ wiggum new user-dashboard --edit Create and open in editor
158
160
  $ wiggum new user-dashboard -e --editor vim Open in vim
159
161
  $ wiggum new user-dashboard --yes Skip confirmations
@@ -166,6 +168,7 @@ AI Mode (--ai):
166
168
  - Gathers context from URLs/files you provide
167
169
  - Conducts an interview to understand your requirements
168
170
  - Generates a detailed, project-specific specification
171
+ - Add --tui for a beautiful Ink-based terminal interface
169
172
 
170
173
  Template Mode (default):
171
174
  - Uses a standard template with sections for:
@@ -179,6 +182,7 @@ Template Mode (default):
179
182
  yes: options.yes,
180
183
  force: options.force,
181
184
  ai: options.ai,
185
+ tui: options.tui,
182
186
  provider: options.provider,
183
187
  model: options.model,
184
188
  };
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,8 @@ export interface NewOptions {
15
15
  force?: boolean;
16
16
  /** Use AI interview to generate spec */
17
17
  ai?: boolean;
18
+ /** Use Ink TUI for AI interview (instead of readline) */
19
+ tui?: boolean;
18
20
  /** AI provider (anthropic, openai, openrouter) */
19
21
  provider?: AIProvider;
20
22
  /** Model to use for AI generation */
@@ -1 +1 @@
1
- {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAwB,KAAK,UAAU,EAAoB,MAAM,oBAAoB,CAAC;AAE7F,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAK/D,MAAM,WAAW,UAAU;IACzB,oCAAoC;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,qCAAqC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,kDAAkD;IAClD,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAuJD;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAuNzF"}
1
+ {"version":3,"file":"new.d.ts","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAQH,OAAO,EAAwB,KAAK,UAAU,EAAoB,MAAM,oBAAoB,CAAC;AAE7F,OAAO,EAAW,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAO/D,MAAM,WAAW,UAAU;IACzB,oCAAoC;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oDAAoD;IACpD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wBAAwB;IACxB,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,qCAAqC;IACrC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,EAAE,CAAC,EAAE,OAAO,CAAC;IACb,yDAAyD;IACzD,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,kDAAkD;IAClD,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAuJD;;GAEG;AACH,wBAAsB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,UAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAuQzF"}
@@ -14,6 +14,8 @@ import { Scanner } from '../scanner/index.js';
14
14
  import { flushTracing, traced, initTracing } from '../utils/tracing.js';
15
15
  import pc from 'picocolors';
16
16
  import * as prompts from '@clack/prompts';
17
+ import { renderApp } from '../tui/app.js';
18
+ import { createSessionState } from '../repl/session-state.js';
17
19
  /**
18
20
  * Default spec template content
19
21
  */
@@ -224,29 +226,68 @@ export async function newCommand(feature, options = {}) {
224
226
  const scanner = new Scanner();
225
227
  scanResult = await scanner.scan(projectRoot);
226
228
  }
227
- const specGenerator = new SpecGenerator({
228
- featureName: feature,
229
- projectRoot,
230
- provider,
231
- model,
232
- scanResult,
233
- });
234
- // Initialize tracing BEFORE creating parent span (ensures logger is ready)
235
- initTracing();
236
- const generatedSpec = await traced(async () => {
237
- // All AI calls inside run() automatically become child spans
238
- return await specGenerator.run();
239
- }, {
240
- name: `generate-spec-${feature}`,
241
- type: 'task',
242
- });
243
- // Flush any pending Braintrust tracing spans
244
- await flushTracing();
245
- if (!generatedSpec) {
246
- logger.info('Spec generation cancelled');
247
- return;
229
+ // Check if TUI mode is requested
230
+ if (options.tui) {
231
+ // Use Ink TUI for interview
232
+ logger.info('Starting interactive TUI mode...');
233
+ console.log('');
234
+ // Create session state for TUI
235
+ const sessionState = createSessionState(projectRoot, provider, model, scanResult, config, true // initialized
236
+ );
237
+ // Wrap in a promise to get the generated spec
238
+ const generatedSpec = await new Promise((resolve) => {
239
+ const instance = renderApp({
240
+ screen: 'interview',
241
+ initialSessionState: sessionState,
242
+ interviewProps: {
243
+ featureName: feature,
244
+ projectRoot,
245
+ provider,
246
+ model,
247
+ scanResult,
248
+ },
249
+ onComplete: (spec) => {
250
+ instance.unmount();
251
+ resolve(spec);
252
+ },
253
+ onExit: () => {
254
+ instance.unmount();
255
+ resolve(null);
256
+ },
257
+ });
258
+ });
259
+ if (!generatedSpec) {
260
+ logger.info('Spec generation cancelled');
261
+ return;
262
+ }
263
+ specContent = generatedSpec;
264
+ }
265
+ else {
266
+ // Use readline-based SpecGenerator
267
+ const specGenerator = new SpecGenerator({
268
+ featureName: feature,
269
+ projectRoot,
270
+ provider,
271
+ model,
272
+ scanResult,
273
+ });
274
+ // Initialize tracing BEFORE creating parent span (ensures logger is ready)
275
+ initTracing();
276
+ const generatedSpec = await traced(async () => {
277
+ // All AI calls inside run() automatically become child spans
278
+ return await specGenerator.run();
279
+ }, {
280
+ name: `generate-spec-${feature}`,
281
+ type: 'task',
282
+ });
283
+ // Flush any pending Braintrust tracing spans
284
+ await flushTracing();
285
+ if (!generatedSpec) {
286
+ logger.info('Spec generation cancelled');
287
+ return;
288
+ }
289
+ specContent = generatedSpec;
248
290
  }
249
- specContent = generatedSpec;
250
291
  // Confirm saving (unless --yes)
251
292
  if (!options.yes) {
252
293
  console.log('');
@@ -1 +1 @@
1
- {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"new.js","sourceRoot":"","sources":["../../src/commands/new.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  /**
2
- * Main entry point for the Ralph CLI
3
- * REPL-first: no args = start REPL, otherwise use CLI
2
+ * Main entry point for the Wiggum CLI
3
+ * TUI-first: no args = start Ink TUI, otherwise use CLI
4
4
  */
5
5
  export declare function main(): Promise<void>;
6
6
  export { createCli } from './cli.js';
@@ -10,4 +10,5 @@ export { Scanner, scanProject, formatScanResult } from './scanner/index.js';
10
10
  export type { DetectionResult, DetectedStack, ScanResult, ScannerOptions, } from './scanner/index.js';
11
11
  export { Generator, generateRalph, formatGenerationResult, extractVariables, generateConfig, generateConfigFile, } from './generator/index.js';
12
12
  export type { GeneratorOptions, GenerationResult, TemplateVariables, RalphConfig, WriteOptions, WriteSummary, } from './generator/index.js';
13
+ export { renderApp, type RenderAppOptions, type AppScreen } from './tui/app.js';
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAuCA;;;GAGG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAe1C;AAGD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,YAAY,EACV,eAAe,EACf,aAAa,EACb,UAAU,EACV,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,SAAS,EACT,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAsHA;;;GAGG;AACH,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAe1C;AAGD,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG3C,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,YAAY,EACV,eAAe,EACf,aAAa,EACb,UAAU,EACV,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EACL,SAAS,EACT,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,GACnB,MAAM,sBAAsB,CAAC;AAC9B,YAAY,EACV,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,YAAY,GACb,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EAAE,SAAS,EAAE,KAAK,gBAAgB,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,42 +1,115 @@
1
1
  import { createCli } from './cli.js';
2
- import { startRepl, createSessionState } from './repl/index.js';
2
+ import { createSessionState } from './repl/index.js';
3
3
  import { hasConfig, loadConfigWithDefaults } from './utils/config.js';
4
4
  import { getAvailableProvider } from './ai/providers.js';
5
- import { displayHeader } from './utils/header.js';
6
5
  import { notifyIfUpdateAvailable } from './utils/update-check.js';
6
+ import { renderApp } from './tui/app.js';
7
+ import { runInitWorkflow } from './commands/init.js';
8
+ import { logger } from './utils/logger.js';
9
+ import { readFileSync } from 'fs';
10
+ import { fileURLToPath } from 'url';
11
+ import { dirname, join } from 'path';
7
12
  /**
8
- * Start REPL-first mode
13
+ * Get version from package.json
14
+ */
15
+ function getVersion() {
16
+ try {
17
+ const __filename = fileURLToPath(import.meta.url);
18
+ const __dirname = dirname(__filename);
19
+ const packagePath = join(__dirname, '..', 'package.json');
20
+ const pkg = JSON.parse(readFileSync(packagePath, 'utf-8'));
21
+ return pkg.version || '0.8.0';
22
+ }
23
+ catch {
24
+ return '0.8.0';
25
+ }
26
+ }
27
+ /**
28
+ * Start Ink TUI mode
9
29
  * Called when wiggum is invoked with no arguments
10
30
  */
11
- async function startReplFirst() {
31
+ async function startInkTui() {
12
32
  const projectRoot = process.cwd();
13
- const provider = getAvailableProvider();
14
- // Display header
15
- displayHeader();
16
- // Check if already initialized
17
- const isInitialized = hasConfig(projectRoot);
18
- let config = null;
19
- if (isInitialized) {
20
- config = await loadConfigWithDefaults(projectRoot);
33
+ const version = getVersion();
34
+ // Track current Ink instance for init workflow
35
+ let instance = null;
36
+ let shouldRestart = false;
37
+ /**
38
+ * Create session state based on current project state
39
+ */
40
+ async function createCurrentSessionState() {
41
+ const provider = getAvailableProvider();
42
+ const isInitialized = hasConfig(projectRoot);
43
+ let config = null;
44
+ if (isInitialized) {
45
+ config = await loadConfigWithDefaults(projectRoot);
46
+ }
47
+ return createSessionState(projectRoot, provider, // May be null if no API key
48
+ 'sonnet', // Default model, will be updated after /init
49
+ undefined, // No scan result yet
50
+ config, isInitialized);
51
+ }
52
+ /**
53
+ * Render the TUI app
54
+ */
55
+ async function renderTui(screen = 'welcome') {
56
+ const initialState = await createCurrentSessionState();
57
+ instance = renderApp({
58
+ screen,
59
+ initialSessionState: initialState,
60
+ version,
61
+ onComplete: (specPath) => {
62
+ // Spec was saved to disk by app.tsx
63
+ logger.success(`Created spec: ${specPath}`);
64
+ },
65
+ onExit: () => {
66
+ instance?.unmount();
67
+ if (!shouldRestart) {
68
+ process.exit(0);
69
+ }
70
+ },
71
+ onRunInit: async () => {
72
+ // Unmount Ink to run init workflow with readline prompts
73
+ shouldRestart = true;
74
+ instance?.unmount();
75
+ // Clear screen for init workflow
76
+ console.clear();
77
+ try {
78
+ const result = await runInitWorkflow(projectRoot, {});
79
+ if (result) {
80
+ logger.success('Initialization complete!');
81
+ console.log('');
82
+ }
83
+ else {
84
+ logger.info('Initialization cancelled');
85
+ console.log('');
86
+ }
87
+ }
88
+ catch (error) {
89
+ logger.error(`Init failed: ${error instanceof Error ? error.message : String(error)}`);
90
+ console.log('');
91
+ }
92
+ // Re-render TUI with updated state
93
+ shouldRestart = false;
94
+ await renderTui('shell');
95
+ },
96
+ });
97
+ await instance.waitUntilExit();
21
98
  }
22
- // Create initial state (may not have config yet)
23
- const initialState = createSessionState(projectRoot, provider, // May be null if no API key
24
- 'sonnet', // Default model, will be updated after /init
25
- undefined, // No scan result yet
26
- config, isInitialized);
27
- await startRepl(initialState);
99
+ // Start with welcome screen
100
+ await renderTui('welcome');
28
101
  }
29
102
  /**
30
- * Main entry point for the Ralph CLI
31
- * REPL-first: no args = start REPL, otherwise use CLI
103
+ * Main entry point for the Wiggum CLI
104
+ * TUI-first: no args = start Ink TUI, otherwise use CLI
32
105
  */
33
106
  export async function main() {
34
107
  const args = process.argv.slice(2);
35
108
  // Check for updates (non-blocking, fails silently)
36
109
  await notifyIfUpdateAvailable();
37
- // REPL-first: no args = start REPL
110
+ // TUI-first: no args = start Ink TUI
38
111
  if (args.length === 0) {
39
- await startReplFirst();
112
+ await startInkTui();
40
113
  return;
41
114
  }
42
115
  // Legacy CLI mode for backward compatibility
@@ -51,4 +124,6 @@ export { logger } from './utils/logger.js';
51
124
  export { Scanner, scanProject, formatScanResult } from './scanner/index.js';
52
125
  // Export generator
53
126
  export { Generator, generateRalph, formatGenerationResult, extractVariables, generateConfig, generateConfigFile, } from './generator/index.js';
127
+ // Export TUI components for programmatic use
128
+ export { renderApp } from './tui/app.js';
54
129
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAElE;;;GAGG;AACH,KAAK,UAAU,cAAc;IAC3B,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAClC,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IAExC,iBAAiB;IACjB,aAAa,EAAE,CAAC;IAEhB,+BAA+B;IAC/B,MAAM,aAAa,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,MAAM,GAAG,IAAI,CAAC;IAElB,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,GAAG,MAAM,sBAAsB,CAAC,WAAW,CAAC,CAAC;IACrD,CAAC;IAED,iDAAiD;IACjD,MAAM,YAAY,GAAG,kBAAkB,CACrC,WAAW,EACX,QAAQ,EAAE,4BAA4B;IACtC,QAAQ,EAAE,6CAA6C;IACvD,SAAS,EAAE,qBAAqB;IAChC,MAAM,EACN,aAAa,CACd,CAAC;IAEF,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAEnC,mDAAmD;IACnD,MAAM,uBAAuB,EAAE,CAAC;IAEhC,mCAAmC;IACnC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,cAAc,EAAE,CAAC;QACvB,OAAO;IACT,CAAC;IAED,6CAA6C;IAC7C,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC;IAC5B,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED,8BAA8B;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE3C,iBAAiB;AACjB,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAQ5E,mBAAmB;AACnB,OAAO,EACL,SAAS,EACT,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,cAAc,EACd,kBAAkB,GACnB,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Main Ink Application Entry Point
3
+ *
4
+ * The root component for the Ink-based TUI. Routes to different screens
5
+ * based on the current screen state. Manages session state and navigation.
6
+ */
7
+ import React from 'react';
8
+ import { type Instance } from 'ink';
9
+ import type { AIProvider } from '../ai/providers.js';
10
+ import type { ScanResult } from '../scanner/types.js';
11
+ import type { SessionState } from '../repl/session-state.js';
12
+ /**
13
+ * Available screen types for the App component
14
+ */
15
+ export type AppScreen = 'welcome' | 'shell' | 'interview' | 'init';
16
+ /**
17
+ * Props for the interview screen
18
+ */
19
+ export interface InterviewAppProps {
20
+ /** Name of the feature being specified */
21
+ featureName: string;
22
+ /** Project root directory path */
23
+ projectRoot: string;
24
+ /** AI provider to use */
25
+ provider: AIProvider;
26
+ /** Model ID to use */
27
+ model: string;
28
+ /** Optional scan result with detected tech stack */
29
+ scanResult?: ScanResult;
30
+ }
31
+ /**
32
+ * Props for the main App component
33
+ */
34
+ export interface AppProps {
35
+ /** Initial screen to display */
36
+ screen: AppScreen;
37
+ /** Initial session state */
38
+ initialSessionState: SessionState;
39
+ /** CLI version */
40
+ version?: string;
41
+ /** Props for the interview screen (required when screen is 'interview') */
42
+ interviewProps?: InterviewAppProps;
43
+ /** Called when the screen completes successfully */
44
+ onComplete?: (result: string) => void;
45
+ /** Called when the user exits/cancels */
46
+ onExit?: () => void;
47
+ /** Called when init workflow should run (outside of Ink) */
48
+ onRunInit?: () => void;
49
+ }
50
+ /**
51
+ * Main App component for the Ink-based TUI
52
+ *
53
+ * Routes to different screens based on the current screen state.
54
+ * Manages session state and provides navigation between screens.
55
+ *
56
+ * @example
57
+ * ```tsx
58
+ * renderApp({
59
+ * screen: 'welcome',
60
+ * initialSessionState: sessionState,
61
+ * version: '0.8.0',
62
+ * onExit: () => process.exit(0),
63
+ * });
64
+ * ```
65
+ */
66
+ export declare function App({ screen: initialScreen, initialSessionState, version, interviewProps, onComplete, onExit, onRunInit, }: AppProps): React.ReactElement | null;
67
+ /**
68
+ * Render options for renderApp
69
+ */
70
+ export interface RenderAppOptions {
71
+ /** Initial screen to display */
72
+ screen: AppScreen;
73
+ /** Initial session state */
74
+ initialSessionState: SessionState;
75
+ /** CLI version */
76
+ version?: string;
77
+ /** Props for interview screen (if starting directly on interview) */
78
+ interviewProps?: InterviewAppProps;
79
+ /** Called when spec generation completes */
80
+ onComplete?: (result: string) => void;
81
+ /** Called when user exits */
82
+ onExit?: () => void;
83
+ /** Called when init workflow should run (outside of Ink) */
84
+ onRunInit?: () => void;
85
+ }
86
+ /**
87
+ * Render the App component to the terminal
88
+ *
89
+ * Helper function that wraps Ink's render() to provide a clean API
90
+ * for starting the TUI from command handlers.
91
+ *
92
+ * @param options - Render options
93
+ * @returns Ink Instance that can be used to control/cleanup the render
94
+ *
95
+ * @example
96
+ * ```typescript
97
+ * const instance = renderApp({
98
+ * screen: 'welcome',
99
+ * initialSessionState: state,
100
+ * version: '0.8.0',
101
+ * onExit: () => instance.unmount(),
102
+ * });
103
+ *
104
+ * await instance.waitUntilExit();
105
+ * ```
106
+ */
107
+ export declare function renderApp(options: RenderAppOptions): Instance;
108
+ //# sourceMappingURL=app.d.ts.map