wiggum-cli 0.10.13 → 0.10.14

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/dist/tui/app.d.ts CHANGED
@@ -3,6 +3,9 @@
3
3
  *
4
4
  * The root component for the Ink-based TUI. Routes to different screens
5
5
  * based on the current screen state. Manages session state and navigation.
6
+ *
7
+ * Uses a "continuous thread" model like Claude Code - all output stays
8
+ * visible in the terminal as a growing thread, rather than clearing screens.
6
9
  */
7
10
  import React from 'react';
8
11
  import { type Instance } from 'ink';
@@ -45,22 +48,6 @@ export interface AppProps {
45
48
  /** Called when the user exits/cancels */
46
49
  onExit?: () => void;
47
50
  }
48
- /**
49
- * Main App component for the Ink-based TUI
50
- *
51
- * Routes to different screens based on the current screen state.
52
- * Manages session state and provides navigation between screens.
53
- *
54
- * @example
55
- * ```tsx
56
- * renderApp({
57
- * screen: 'welcome',
58
- * initialSessionState: sessionState,
59
- * version: '0.8.0',
60
- * onExit: () => process.exit(0),
61
- * });
62
- * ```
63
- */
64
51
  export declare function App({ screen: initialScreen, initialSessionState, version, interviewProps, onComplete, onExit, }: AppProps): React.ReactElement | null;
65
52
  /**
66
53
  * Render options for renderApp
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAgC,MAAM,OAAO,CAAC;AACrD,OAAO,EAAU,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAC;AAG5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAO7D;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,QAAQ,EAAE,UAAU,CAAC;IACrB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,MAAM,EAAE,SAAS,CAAC;IAClB,4BAA4B;IAC5B,mBAAmB,EAAE,YAAY,CAAC;IAClC,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,oDAAoD;IACpD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,GAAG,CAAC,EAClB,MAAM,EAAE,aAAa,EACrB,mBAAmB,EACnB,OAAiB,EACjB,cAAc,EACd,UAAU,EACV,MAAM,GACP,EAAE,QAAQ,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CA2JtC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,MAAM,EAAE,SAAS,CAAC;IAClB,4BAA4B;IAC5B,mBAAmB,EAAE,YAAY,CAAC;IAClC,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,4CAA4C;IAC5C,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,QAAQ,CAW7D"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAgC,MAAM,OAAO,CAAC;AACrD,OAAO,EAA6B,KAAK,QAAQ,EAAE,MAAM,KAAK,CAAC;AAG/D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAkB7D;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;AAEnE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,QAAQ,EAAE,UAAU,CAAC;IACrB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,gCAAgC;IAChC,MAAM,EAAE,SAAS,CAAC;IAClB,4BAA4B;IAC5B,mBAAmB,EAAE,YAAY,CAAC;IAClC,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2EAA2E;IAC3E,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,oDAAoD;IACpD,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,yCAAyC;IACzC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAyBD,wBAAgB,GAAG,CAAC,EAClB,MAAM,EAAE,aAAa,EACrB,mBAAmB,EACnB,OAAiB,EACjB,cAAc,EACd,UAAU,EACV,MAAM,GACP,EAAE,QAAQ,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CAsTtC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,gCAAgC;IAChC,MAAM,EAAE,SAAS,CAAC;IAClB,4BAA4B;IAC5B,mBAAmB,EAAE,YAAY,CAAC;IAClC,kBAAkB;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,cAAc,CAAC,EAAE,iBAAiB,CAAC;IACnC,4CAA4C;IAC5C,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,6BAA6B;IAC7B,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,QAAQ,CAW7D"}
package/dist/tui/app.js CHANGED
@@ -1,19 +1,23 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /**
3
3
  * Main Ink Application Entry Point
4
4
  *
5
5
  * The root component for the Ink-based TUI. Routes to different screens
6
6
  * based on the current screen state. Manages session state and navigation.
7
+ *
8
+ * Uses a "continuous thread" model like Claude Code - all output stays
9
+ * visible in the terminal as a growing thread, rather than clearing screens.
7
10
  */
8
11
  import { useState, useCallback } from 'react';
9
- import { render } from 'ink';
12
+ import { render, Static, Box, Text } from 'ink';
10
13
  import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
11
14
  import { join } from 'node:path';
12
15
  import { loadConfigWithDefaults } from '../utils/config.js';
13
16
  import { InterviewScreen } from './screens/InterviewScreen.js';
14
- import { WelcomeScreen } from './screens/WelcomeScreen.js';
15
17
  import { InitScreen } from './screens/InitScreen.js';
16
18
  import { MainShell } from './screens/MainShell.js';
19
+ import { WiggumBanner } from './components/WiggumBanner.js';
20
+ import { colors, theme } from './theme.js';
17
21
  /**
18
22
  * Main App component for the Ink-based TUI
19
23
  *
@@ -30,10 +34,34 @@ import { MainShell } from './screens/MainShell.js';
30
34
  * });
31
35
  * ```
32
36
  */
37
+ /**
38
+ * Generate a unique ID for thread items
39
+ */
40
+ function generateThreadId() {
41
+ return `thread-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
42
+ }
33
43
  export function App({ screen: initialScreen, initialSessionState, version = '0.8.0', interviewProps, onComplete, onExit, }) {
34
44
  const [currentScreen, setCurrentScreen] = useState(initialScreen);
35
45
  const [screenProps, setScreenProps] = useState(interviewProps ? { featureName: interviewProps.featureName } : null);
36
46
  const [sessionState, setSessionState] = useState(initialSessionState);
47
+ // Thread history - preserves all output as a continuous thread
48
+ const [threadHistory, setThreadHistory] = useState(() => {
49
+ // Start with banner if showing welcome screen
50
+ if (initialScreen === 'welcome') {
51
+ return [{
52
+ id: generateThreadId(),
53
+ type: 'banner',
54
+ content: (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(WiggumBanner, {}), _jsxs(Box, { marginTop: 1, flexDirection: "row", children: [_jsxs(Text, { color: colors.pink, children: ["v", version] }), _jsx(Text, { dimColor: true, children: theme.statusLine.separator }), initialSessionState.provider ? (_jsxs(Text, { color: colors.blue, children: [initialSessionState.provider, "/", initialSessionState.model] })) : (_jsx(Text, { color: colors.orange, children: "not configured" })), _jsx(Text, { dimColor: true, children: theme.statusLine.separator }), _jsx(Text, { color: initialSessionState.initialized ? colors.green : colors.orange, children: initialSessionState.initialized ? 'Ready' : 'Not initialized' })] }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { dimColor: true, children: ["Tip: ", initialSessionState.initialized ? '/new <feature> to create spec' : '/init to set up', ", /help for commands"] }) })] })),
55
+ }];
56
+ }
57
+ return [];
58
+ });
59
+ /**
60
+ * Add an item to the thread history
61
+ */
62
+ const addToThread = useCallback((type, content) => {
63
+ setThreadHistory(prev => [...prev, { id: generateThreadId(), type, content }]);
64
+ }, []);
37
65
  /**
38
66
  * Navigate to a different screen
39
67
  */
@@ -42,11 +70,12 @@ export function App({ screen: initialScreen, initialSessionState, version = '0.8
42
70
  setCurrentScreen(target);
43
71
  }, []);
44
72
  /**
45
- * Handle interview completion - save spec to disk and notify
73
+ * Handle interview completion - save spec to disk and add to thread
46
74
  */
47
75
  const handleInterviewComplete = useCallback(async (spec) => {
48
76
  // Get feature name from navigation props or initial interview props
49
77
  const featureName = screenProps?.featureName || interviewProps?.featureName;
78
+ let specPath = '';
50
79
  if (featureName && typeof featureName === 'string') {
51
80
  try {
52
81
  // Load config to get specs directory
@@ -57,7 +86,7 @@ export function App({ screen: initialScreen, initialSessionState, version = '0.8
57
86
  mkdirSync(specsDir, { recursive: true });
58
87
  }
59
88
  // Write spec to file
60
- const specPath = join(specsDir, `${featureName}.md`);
89
+ specPath = join(specsDir, `${featureName}.md`);
61
90
  writeFileSync(specPath, spec, 'utf-8');
62
91
  // Call onComplete with the spec path for logging
63
92
  onComplete?.(specPath);
@@ -70,6 +99,12 @@ export function App({ screen: initialScreen, initialSessionState, version = '0.8
70
99
  else {
71
100
  onComplete?.(spec);
72
101
  }
102
+ // Add completion summary to thread
103
+ const specLines = spec.split('\n');
104
+ const totalLines = specLines.length;
105
+ const previewLines = specLines.slice(0, 5);
106
+ const remainingLines = Math.max(0, totalLines - 5);
107
+ addToThread('spec-complete', (_jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: colors.green, children: "\u25CF" }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "Write" }), _jsxs(Text, { dimColor: true, children: ["(", specPath || `${featureName}.md`, ")"] })] }), _jsx(Box, { marginLeft: 2, children: _jsxs(Text, { dimColor: true, children: ["\u2514 Wrote ", totalLines, " lines"] }) }), _jsxs(Box, { marginLeft: 4, flexDirection: "column", children: [previewLines.map((line, i) => (_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { dimColor: true, children: [String(i + 1).padStart(4), " "] }), _jsx(Text, { dimColor: true, children: line })] }, i))), remainingLines > 0 && (_jsxs(Text, { dimColor: true, children: ["\u2026 +", remainingLines, " lines"] }))] }), _jsxs(Box, { marginTop: 1, flexDirection: "row", gap: 1, children: [_jsx(Text, { color: colors.green, children: "\u25CF" }), _jsx(Text, { children: "Done. Specification generated successfully." })] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { bold: true, children: "What's next:" }), _jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Text, { color: colors.green, children: "\u203A" }), _jsx(Text, { dimColor: true, children: "Review the spec in your editor" })] }), _jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Text, { color: colors.green, children: "\u203A" }), _jsx(Text, { color: colors.blue, children: "/help" }), _jsx(Text, { dimColor: true, children: "See all commands" })] })] })] })));
73
108
  // If started on interview (--tui mode), call onExit to resolve promise
74
109
  // Otherwise, return to shell
75
110
  if (initialScreen === 'interview') {
@@ -78,7 +113,7 @@ export function App({ screen: initialScreen, initialSessionState, version = '0.8
78
113
  else {
79
114
  navigate('shell');
80
115
  }
81
- }, [onComplete, navigate, initialScreen, onExit, screenProps, interviewProps, sessionState.projectRoot]);
116
+ }, [onComplete, navigate, initialScreen, onExit, screenProps, interviewProps, sessionState.projectRoot, addToThread]);
82
117
  /**
83
118
  * Handle interview cancel
84
119
  */
@@ -104,38 +139,47 @@ export function App({ screen: initialScreen, initialSessionState, version = '0.8
104
139
  const handleSessionStateChange = useCallback((newState) => {
105
140
  setSessionState(newState);
106
141
  }, []);
107
- // Route to the appropriate screen
108
- switch (currentScreen) {
109
- case 'welcome':
110
- return (_jsx(WelcomeScreen, { provider: sessionState.provider, model: sessionState.model, version: version, isInitialized: sessionState.initialized, onContinue: handleWelcomeContinue }));
111
- case 'shell':
112
- return (_jsx(MainShell, { sessionState: sessionState, onNavigate: navigate, onSessionStateChange: handleSessionStateChange }));
113
- case 'interview': {
114
- // Get feature name from props or navigation
115
- const featureName = screenProps?.featureName || interviewProps?.featureName;
116
- if (!featureName || typeof featureName !== 'string') {
117
- // Missing feature name, go back to shell
118
- navigate('shell');
142
+ /**
143
+ * Handle init completion - add summary to thread and update state
144
+ */
145
+ const handleInitComplete = useCallback((newState, generatedFiles) => {
146
+ // Add init completion to thread
147
+ addToThread('init-complete', (_jsxs(Box, { flexDirection: "column", marginY: 1, children: [generatedFiles && generatedFiles.slice(0, 5).map((file) => (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: colors.green, children: "\u25CF" }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "Write" }), _jsxs(Text, { dimColor: true, children: ["(", file, ")"] })] }), _jsx(Box, { marginLeft: 2, children: _jsxs(Text, { dimColor: true, children: ["\u2514 Created ", file] }) })] }, file))), generatedFiles && generatedFiles.length > 5 && (_jsxs(Text, { dimColor: true, children: [" ... and ", generatedFiles.length - 5, " more files"] })), _jsxs(Box, { marginTop: 1, flexDirection: "row", gap: 1, children: [_jsx(Text, { color: colors.green, children: "\u25CF" }), _jsx(Text, { children: "Done. Created Ralph configuration files." })] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { bold: true, children: "What's next:" }), _jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Text, { color: colors.green, children: "\u203A" }), _jsxs(Text, { color: colors.blue, children: ["/new ", '<feature>'] }), _jsx(Text, { dimColor: true, children: "Create a feature specification" })] }), _jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Text, { color: colors.green, children: "\u203A" }), _jsx(Text, { color: colors.blue, children: "/help" }), _jsx(Text, { dimColor: true, children: "See all commands" })] })] })] })));
148
+ setSessionState(newState);
149
+ navigate('shell');
150
+ }, [addToThread, navigate]);
151
+ // Render current screen content
152
+ const renderCurrentScreen = () => {
153
+ switch (currentScreen) {
154
+ case 'welcome':
155
+ // Banner is already in thread history, just continue to shell
119
156
  return null;
157
+ case 'shell':
158
+ return (_jsx(MainShell, { sessionState: sessionState, onNavigate: navigate, onSessionStateChange: handleSessionStateChange }));
159
+ case 'interview': {
160
+ // Get feature name from props or navigation
161
+ const featureName = screenProps?.featureName || interviewProps?.featureName;
162
+ if (!featureName || typeof featureName !== 'string') {
163
+ // Missing feature name, go back to shell
164
+ navigate('shell');
165
+ return null;
166
+ }
167
+ if (!sessionState.provider) {
168
+ // No provider configured, can't run interview
169
+ navigate('shell');
170
+ return null;
171
+ }
172
+ return (_jsx(InterviewScreen, { featureName: featureName, projectRoot: sessionState.projectRoot, provider: sessionState.provider, model: sessionState.model, scanResult: sessionState.scanResult, specsPath: sessionState.config?.paths.specs, onComplete: handleInterviewComplete, onCancel: handleInterviewCancel }));
120
173
  }
121
- if (!sessionState.provider) {
122
- // No provider configured, can't run interview
123
- navigate('shell');
124
- return null;
174
+ case 'init': {
175
+ return (_jsx(InitScreen, { projectRoot: sessionState.projectRoot, sessionState: sessionState, onComplete: handleInitComplete, onCancel: () => navigate('shell') }));
125
176
  }
126
- return (_jsx(InterviewScreen, { featureName: featureName, projectRoot: sessionState.projectRoot, provider: sessionState.provider, model: sessionState.model, scanResult: sessionState.scanResult, specsPath: sessionState.config?.paths.specs, onComplete: handleInterviewComplete, onCancel: handleInterviewCancel }));
127
- }
128
- case 'init': {
129
- // Handle init completion by updating session state
130
- const handleInitComplete = (newState) => {
131
- setSessionState(newState);
132
- navigate('shell');
133
- };
134
- return (_jsx(InitScreen, { projectRoot: sessionState.projectRoot, sessionState: sessionState, onComplete: handleInitComplete, onCancel: () => navigate('shell') }));
177
+ default:
178
+ return null;
135
179
  }
136
- default:
137
- return null;
138
- }
180
+ };
181
+ // Render with thread history (Static) + current screen
182
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Static, { items: threadHistory, children: (item) => (_jsx(Box, { children: item.content }, item.id)) }), renderCurrentScreen()] }));
139
183
  }
140
184
  /**
141
185
  * Render the App component to the terminal
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/tui/app.tsx"],"names":[],"mappings":"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"}
@@ -18,8 +18,8 @@ export interface InitScreenProps {
18
18
  projectRoot: string;
19
19
  /** Current session state */
20
20
  sessionState: SessionState;
21
- /** Called when initialization is complete */
22
- onComplete: (newState: SessionState) => void;
21
+ /** Called when initialization is complete (with optional generated files list) */
22
+ onComplete: (newState: SessionState, generatedFiles?: string[]) => void;
23
23
  /** Called when user cancels */
24
24
  onCancel: () => void;
25
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"InitScreen.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/InitScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAyC,MAAM,OAAO,CAAC;AA6B9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,6CAA6C;IAC7C,UAAU,EAAE,CAAC,QAAQ,EAAE,YAAY,KAAK,IAAI,CAAC;IAC7C,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AA+CD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,GACT,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CA4gBtC"}
1
+ {"version":3,"file":"InitScreen.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/InitScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAyC,MAAM,OAAO,CAAC;AA6B9D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAGhE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,YAAY,EAAE,YAAY,CAAC;IAC3B,kFAAkF;IAClF,UAAU,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACxE,+BAA+B;IAC/B,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AA+CD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,EACzB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,QAAQ,GACT,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAsetC"}
@@ -221,7 +221,8 @@ export function InitScreen({ projectRoot, sessionState, onComplete, onCancel, })
221
221
  config,
222
222
  initialized: true,
223
223
  });
224
- onComplete(newSessionState);
224
+ // Pass generated files to completion handler for thread history
225
+ onComplete(newSessionState, generatedFiles);
225
226
  }
226
227
  catch (error) {
227
228
  setError(`Failed to generate files: ${error instanceof Error ? error.message : String(error)}`);
@@ -311,7 +312,8 @@ export function InitScreen({ projectRoot, sessionState, onComplete, onCancel, })
311
312
  hint: 'please wait',
312
313
  } }));
313
314
  case 'complete':
314
- return (_jsxs(Box, { flexDirection: "column", children: [state.generatedFiles.map((file) => (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: colors.green, children: "\u25CF" }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "Write" }), _jsxs(Text, { dimColor: true, children: ["(", file, ")"] })] }), _jsx(Box, { marginLeft: 2, children: _jsxs(Text, { dimColor: true, children: ["\u2514 Created ", file] }) })] }, file))), _jsxs(Box, { marginTop: 1, flexDirection: "row", gap: 1, children: [_jsx(Text, { color: colors.green, children: "\u25CF" }), _jsx(Text, { children: "Done. Created Ralph configuration files." })] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { dimColor: true, children: "Created files:" }), state.generatedFiles.map((file) => (_jsxs(Text, { dimColor: true, children: [" ", file] }, file)))] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { bold: true, children: "What's next:" }), _jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Text, { color: colors.green, children: "\u203A" }), _jsxs(Text, { color: colors.blue, children: ["/new ", '<feature>'] }), _jsx(Text, { dimColor: true, children: "Create a feature specification" })] }), _jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Text, { color: colors.green, children: "\u203A" }), _jsx(Text, { color: colors.blue, children: "/help" }), _jsx(Text, { dimColor: true, children: "See all commands" })] })] })] }));
315
+ // Brief completion message - full summary added to thread by App
316
+ return (_jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Text, { color: colors.green, children: "\u25CF" }), _jsx(Text, { children: "Initialization complete." })] }));
315
317
  case 'error':
316
318
  return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.pink, bold: true, children: "Error" }), _jsx(Text, { color: colors.pink, children: state.error }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "Press Esc to go back" }) })] }));
317
319
  default:
@@ -1 +1 @@
1
- {"version":3,"file":"InitScreen.js","sourceRoot":"","sources":["../../../src/tui/screens/InitScreen.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InitScreen.js","sourceRoot":"","sources":["../../../src/tui/screens/InitScreen.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InterviewScreen.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/InterviewScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAczD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,QAAQ,EAAE,UAAU,CAAC;IACrB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,WAAW,EACX,QAAQ,EACR,KAAK,EACL,UAAU,EACV,SAA0B,EAC1B,UAAU,EACV,QAAQ,GACT,EAAE,oBAAoB,GAAG,KAAK,CAAC,YAAY,CAiV3C"}
1
+ {"version":3,"file":"InterviewScreen.d.ts","sourceRoot":"","sources":["../../../src/tui/screens/InterviewScreen.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAExE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAczD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,QAAQ,EAAE,UAAU,CAAC;IACrB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,oDAAoD;IACpD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8CAA8C;IAC9C,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAAC,EAC9B,WAAW,EACX,WAAW,EACX,QAAQ,EACR,KAAK,EACL,UAAU,EACV,SAA0B,EAC1B,UAAU,EACV,QAAQ,GACT,EAAE,oBAAoB,GAAG,KAAK,CAAC,YAAY,CAkR3C"}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /**
3
3
  * InterviewScreen - Main screen for the /new command interview flow
4
4
  *
@@ -17,7 +17,7 @@ import { WorkingIndicator } from '../components/WorkingIndicator.js';
17
17
  import { ChatInput } from '../components/ChatInput.js';
18
18
  import { useSpecGenerator, PHASE_CONFIGS, TOTAL_DISPLAY_PHASES, } from '../hooks/useSpecGenerator.js';
19
19
  import { InterviewOrchestrator } from '../orchestration/interview-orchestrator.js';
20
- import { colors, theme } from '../theme.js';
20
+ import { theme } from '../theme.js';
21
21
  /**
22
22
  * InterviewScreen component
23
23
  *
@@ -113,12 +113,8 @@ export function InterviewScreen({ featureName, projectRoot, provider, model, sca
113
113
  if (isCancelledRef.current)
114
114
  return;
115
115
  setGeneratedSpec(spec);
116
- // Delay navigation to show completion UI first
117
- setTimeout(() => {
118
- if (!isCancelledRef.current) {
119
- onCompleteRef.current(spec);
120
- }
121
- }, 3000); // Show completion view for 3 seconds
116
+ // Complete immediately - App will add summary to thread
117
+ onCompleteRef.current(spec);
122
118
  },
123
119
  onError: (error) => {
124
120
  if (isCancelledRef.current)
@@ -226,12 +222,6 @@ export function InterviewScreen({ featureName, projectRoot, provider, model, sca
226
222
  };
227
223
  // Build phase string for status line
228
224
  const phaseString = `${phaseConfig.name} (${phaseConfig.number}/${TOTAL_DISPLAY_PHASES})`;
229
- return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(StatusLine, { action: "New Spec", phase: phaseString, path: featureName }), state.error && (_jsx(Box, { marginY: 1, children: _jsxs(Text, { color: theme.colors.error, children: ["Error: ", state.error] }) })), _jsx(Box, { marginY: 1, children: _jsx(MessageList, { messages: state.messages, toolCallsExpanded: toolCallsExpanded }) }), state.isWorking && (_jsx(Box, { marginY: 1, children: _jsx(WorkingIndicator, { state: workingState, variant: state.phase === 'generation' ? 'thinking' : 'active' }) })), state.phase === 'complete' && (_jsxs(Box, { marginY: 1, flexDirection: "column", children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: theme.colors.tool.success, children: "\u25CF" }), _jsx(Text, { children: " " }), _jsx(Text, { bold: true, children: "Write" }), _jsxs(Text, { dimColor: true, children: ["(", specsPath, "/", featureName, ".md)"] })] }), state.generatedSpec && (() => {
230
- const specLines = state.generatedSpec.split('\n');
231
- const totalLines = specLines.length;
232
- const previewLines = specLines.slice(0, 5);
233
- const remainingLines = Math.max(0, totalLines - 5);
234
- return (_jsxs(_Fragment, { children: [_jsx(Box, { marginLeft: 2, children: _jsxs(Text, { dimColor: true, children: ["\u2514 Wrote ", totalLines, " lines to ", specsPath, "/", featureName, ".md"] }) }), _jsxs(Box, { marginLeft: 4, flexDirection: "column", children: [previewLines.map((line, i) => (_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { dimColor: true, children: [String(i + 1).padStart(4), " "] }), _jsx(Text, { dimColor: true, children: line })] }, i))), remainingLines > 0 && (_jsxs(Text, { dimColor: true, children: ["\u2026 +", remainingLines, " lines (ctrl+o to expand)"] }))] })] }));
235
- })(), _jsxs(Box, { marginTop: 1, flexDirection: "row", gap: 1, children: [_jsx(Text, { color: theme.colors.success, children: "\u25CF" }), _jsx(Text, { children: "Done. Specification generated successfully." })] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { bold: true, children: "What's next:" }), _jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Text, { color: colors.green, children: "\u203A" }), _jsx(Text, { dimColor: true, children: "Review the spec in your editor" })] }), _jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Text, { color: colors.green, children: "\u203A" }), _jsx(Text, { color: colors.blue, children: "/help" }), _jsx(Text, { dimColor: true, children: "See all commands" })] })] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, italic: true, children: "Returning to shell in 3s..." }) })] })), state.phase !== 'complete' && (_jsx(Box, { marginTop: 1, children: _jsx(ChatInput, { onSubmit: handleSubmit, disabled: inputDisabled, allowEmpty: state.phase === 'context', placeholder: getPlaceholder() }) }))] }));
225
+ return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsx(StatusLine, { action: "New Spec", phase: phaseString, path: featureName }), state.error && (_jsx(Box, { marginY: 1, children: _jsxs(Text, { color: theme.colors.error, children: ["Error: ", state.error] }) })), _jsx(Box, { marginY: 1, children: _jsx(MessageList, { messages: state.messages, toolCallsExpanded: toolCallsExpanded }) }), state.isWorking && (_jsx(Box, { marginY: 1, children: _jsx(WorkingIndicator, { state: workingState, variant: state.phase === 'generation' ? 'thinking' : 'active' }) })), state.phase === 'complete' && (_jsxs(Box, { flexDirection: "row", gap: 1, children: [_jsx(Text, { color: theme.colors.success, children: "\u25CF" }), _jsx(Text, { children: "Specification complete." })] })), state.phase !== 'complete' && (_jsx(Box, { marginTop: 1, children: _jsx(ChatInput, { onSubmit: handleSubmit, disabled: inputDisabled, allowEmpty: state.phase === 'context', placeholder: getPlaceholder() }) }))] }));
236
226
  }
237
227
  //# sourceMappingURL=InterviewScreen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InterviewScreen.js","sourceRoot":"","sources":["../../../src/tui/screens/InterviewScreen.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InterviewScreen.js","sourceRoot":"","sources":["../../../src/tui/screens/InterviewScreen.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;AAEH,OAAc,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAG1C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,aAAa,EACb,oBAAoB,GAErB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAU,KAAK,EAAE,MAAM,aAAa,CAAC;AAwB5C;;;;;;;;;GASG;AACH,MAAM,UAAU,eAAe,CAAC,EAC9B,WAAW,EACX,WAAW,EACX,QAAQ,EACR,KAAK,EACL,UAAU,EACV,SAAS,GAAG,cAAc,EAC1B,UAAU,EACV,QAAQ,GACa;IACrB,MAAM,EACJ,KAAK,EACL,UAAU,EACV,UAAU,EACV,mBAAmB,EACnB,sBAAsB,EACtB,wBAAwB,EACxB,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,UAAU,EACV,QAAQ,GACT,GAAG,gBAAgB,EAAE,CAAC;IAEvB,8BAA8B;IAC9B,MAAM,eAAe,GAAG,MAAM,CAA+B,IAAI,CAAC,CAAC;IAEnE,2DAA2D;IAC3D,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,gBAAgB,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;IAEpC,gFAAgF;IAChF,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEtC,qEAAqE;IACrE,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAErC,gFAAgF;IAChF,MAAM,aAAa,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;IACzC,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;IAEnC,wDAAwD;IACxD,SAAS,CAAC,GAAG,EAAE;QACb,gCAAgC;QAChC,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;QAE/B,wBAAwB;QACxB,UAAU,CAAC;YACT,WAAW;YACX,WAAW;YACX,QAAQ;YACR,KAAK;SACN,CAAC,CAAC;QAEH,iEAAiE;QACjE,MAAM,YAAY,GAAG,IAAI,qBAAqB,CAAC;YAC7C,WAAW;YACX,WAAW;YACX,QAAQ;YACR,KAAK;YACL,UAAU;YACV,SAAS,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;gBAC3B,IAAI,cAAc,CAAC,OAAO;oBAAE,OAAO;gBACnC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAC5B,CAAC;YACD,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE;gBACvB,IAAI,cAAc,CAAC,OAAO;oBAAE,OAAO;gBACnC,yEAAyE;gBACzE,IAAI,eAAe,CAAC,OAAO;oBAAE,OAAO;gBACpC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC5B,gCAAgC;oBAChC,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;oBAC9B,gBAAgB,CAAC,OAAO,GAAG,KAAK,CAAC;oBACjC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBAC7B,CAAC;qBAAM,CAAC;oBACN,uCAAuC;oBACvC,gBAAgB,CAAC,OAAO,IAAI,KAAK,CAAC;oBAClC,sBAAsB,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YACD,gBAAgB,EAAE,GAAG,EAAE;gBACrB,IAAI,cAAc,CAAC,OAAO;oBAAE,OAAO;gBACnC,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;oBAC3B,wBAAwB,EAAE,CAAC;oBAC3B,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;oBAC/B,gBAAgB,CAAC,OAAO,GAAG,EAAE,CAAC;gBAChC,CAAC;YACH,CAAC;YACD,WAAW,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE;gBAC/B,IAAI,cAAc,CAAC,OAAO;oBAAE,OAAO,EAAE,CAAC;gBACtC,OAAO,aAAa,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;YACxC,CAAC;YACD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;gBACnC,IAAI,cAAc,CAAC,OAAO;oBAAE,OAAO;gBACnC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC1C,CAAC;YACD,aAAa,EAAE,CAAC,KAAqB,EAAE,EAAE;gBACvC,IAAI,cAAc,CAAC,OAAO;oBAAE,OAAO;gBACnC,gEAAgE;gBAChE,eAAe,CAAC,OAAO,GAAG,KAAK,KAAK,YAAY,CAAC;gBACjD,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YACD,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;gBACnB,IAAI,cAAc,CAAC,OAAO;oBAAE,OAAO;gBACnC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACvB,wDAAwD;gBACxD,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC9B,CAAC;YACD,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;gBACjB,IAAI,cAAc,CAAC,OAAO;oBAAE,OAAO;gBACnC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClB,CAAC;YACD,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;gBACrC,IAAI,cAAc,CAAC,OAAO;oBAAE,OAAO;gBACnC,UAAU,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;YAChC,CAAC;YACD,OAAO,EAAE,GAAG,EAAE;gBACZ,IAAI,cAAc,CAAC,OAAO;oBAAE,OAAO;gBACnC,QAAQ,EAAE,CAAC;YACb,CAAC;SACF,CAAC,CAAC;QAEH,eAAe,CAAC,OAAO,GAAG,YAAY,CAAC;QAEvC,yBAAyB;QACzB,YAAY,CAAC,KAAK,EAAE,CAAC;QAErB,gEAAgE;QAChE,OAAO,GAAG,EAAE;YACV,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;YAC9B,eAAe,CAAC,OAAO,GAAG,IAAI,CAAC;QACjC,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC;IAE5D,sDAAsD;IACtD,MAAM,YAAY,GAAG,WAAW,CAC9B,KAAK,EAAE,KAAa,EAAE,EAAE;QACtB,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC;QAC7C,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,8BAA8B;QAC9B,IAAI,KAAK,EAAE,CAAC;YACV,UAAU,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED,MAAM,YAAY,GAAG,YAAY,CAAC,QAAQ,EAAE,CAAC;QAE7C,QAAQ,YAAY,EAAE,CAAC;YACrB,KAAK,SAAS;gBACZ,IAAI,KAAK,EAAE,CAAC;oBACV,oCAAoC;oBACpC,MAAM,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACN,oDAAoD;oBACpD,MAAM,YAAY,CAAC,cAAc,EAAE,CAAC;gBACtC,CAAC;gBACD,MAAM;YAER,KAAK,OAAO;gBACV,2BAA2B;gBAC3B,MAAM,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACtC,MAAM;YAER,KAAK,WAAW;gBACd,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;oBACrE,qBAAqB;oBACrB,MAAM,YAAY,CAAC,gBAAgB,EAAE,CAAC;gBACxC,CAAC;qBAAM,CAAC;oBACN,gBAAgB;oBAChB,MAAM,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBACzC,CAAC;gBACD,MAAM;YAER;gBACE,gDAAgD;gBAChD,MAAM;QACV,CAAC;IACH,CAAC,EACD,CAAC,UAAU,CAAC,CACb,CAAC;IAEF,gDAAgD;IAChD,MAAM,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAElE,kDAAkD;IAClD,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACf,QAAQ,EAAE,CAAC;QACb,CAAC;QACD,uCAAuC;QACvC,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,oBAAoB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,kCAAkC;IAClC,MAAM,WAAW,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE/C,wCAAwC;IACxC,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC;IAE5F,oCAAoC;IACpC,MAAM,YAAY,GAAG;QACnB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,MAAM,EAAE,KAAK,CAAC,aAAa;QAC3B,IAAI,EAAE,eAAe;KACtB,CAAC;IAEF,sCAAsC;IACtC,MAAM,cAAc,GAAG,GAAG,EAAE;QAC1B,QAAQ,KAAK,CAAC,KAAK,EAAE,CAAC;YACpB,KAAK,SAAS;gBACZ,OAAO,uDAAuD,CAAC;YACjE,KAAK,OAAO;gBACV,OAAO,oCAAoC,CAAC;YAC9C,KAAK,WAAW;gBACd,OAAO,oDAAoD,CAAC;YAC9D,KAAK,YAAY;gBACf,OAAO,6BAA6B,CAAC;YACvC,KAAK,UAAU;gBACb,OAAO,yBAAyB,CAAC;YACnC;gBACE,OAAO,uBAAuB,CAAC;QACnC,CAAC;IACH,CAAC,CAAC;IAEF,qCAAqC;IACrC,MAAM,WAAW,GAAG,GAAG,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC,MAAM,IAAI,oBAAoB,GAAG,CAAC;IAE1F,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,OAAO,EAAE,CAAC,aAEpC,KAAC,UAAU,IACT,MAAM,EAAC,UAAU,EACjB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,WAAW,GACjB,EAGD,KAAK,CAAC,KAAK,IAAI,CACd,KAAC,GAAG,IAAC,OAAO,EAAE,CAAC,YACb,MAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,wBAAU,KAAK,CAAC,KAAK,IAAQ,GACxD,CACP,EAGD,KAAC,GAAG,IAAC,OAAO,EAAE,CAAC,YACb,KAAC,WAAW,IAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,iBAAiB,EAAE,iBAAiB,GAAI,GAC3E,EAGL,KAAK,CAAC,SAAS,IAAI,CAClB,KAAC,GAAG,IAAC,OAAO,EAAE,CAAC,YACb,KAAC,gBAAgB,IACf,KAAK,EAAE,YAAY,EACnB,OAAO,EAAE,KAAK,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,GAC7D,GACE,CACP,EAGA,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,CAC7B,MAAC,GAAG,IAAC,aAAa,EAAC,KAAK,EAAC,GAAG,EAAE,CAAC,aAC7B,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,uBAAU,EAC3C,KAAC,IAAI,0CAA+B,IAChC,CACP,EAGA,KAAK,CAAC,KAAK,KAAK,UAAU,IAAI,CAC7B,KAAC,GAAG,IAAC,SAAS,EAAE,CAAC,YACf,KAAC,SAAS,IACR,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,aAAa,EACvB,UAAU,EAAE,KAAK,CAAC,KAAK,KAAK,SAAS,EACrC,WAAW,EAAE,cAAc,EAAE,GAC7B,GACE,CACP,IACG,CACP,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wiggum-cli",
3
- "version": "0.10.13",
3
+ "version": "0.10.14",
4
4
  "description": "AI-powered feature development loop CLI",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/src/tui/app.tsx CHANGED
@@ -3,10 +3,13 @@
3
3
  *
4
4
  * The root component for the Ink-based TUI. Routes to different screens
5
5
  * based on the current screen state. Manages session state and navigation.
6
+ *
7
+ * Uses a "continuous thread" model like Claude Code - all output stays
8
+ * visible in the terminal as a growing thread, rather than clearing screens.
6
9
  */
7
10
 
8
11
  import React, { useState, useCallback } from 'react';
9
- import { render, type Instance } from 'ink';
12
+ import { render, Static, Box, Text, type Instance } from 'ink';
10
13
  import { existsSync, mkdirSync, writeFileSync } from 'node:fs';
11
14
  import { join } from 'node:path';
12
15
  import type { AIProvider } from '../ai/providers.js';
@@ -17,6 +20,17 @@ import { InterviewScreen } from './screens/InterviewScreen.js';
17
20
  import { WelcomeScreen } from './screens/WelcomeScreen.js';
18
21
  import { InitScreen } from './screens/InitScreen.js';
19
22
  import { MainShell, type NavigationTarget, type NavigationProps } from './screens/MainShell.js';
23
+ import { WiggumBanner } from './components/WiggumBanner.js';
24
+ import { colors, theme } from './theme.js';
25
+
26
+ /**
27
+ * Thread item representing a completed action in the history
28
+ */
29
+ interface ThreadItem {
30
+ id: string;
31
+ type: 'banner' | 'init-complete' | 'spec-complete' | 'message';
32
+ content: React.ReactNode;
33
+ }
20
34
 
21
35
  /**
22
36
  * Available screen types for the App component
@@ -73,6 +87,13 @@ export interface AppProps {
73
87
  * });
74
88
  * ```
75
89
  */
90
+ /**
91
+ * Generate a unique ID for thread items
92
+ */
93
+ function generateThreadId(): string {
94
+ return `thread-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
95
+ }
96
+
76
97
  export function App({
77
98
  screen: initialScreen,
78
99
  initialSessionState,
@@ -87,6 +108,48 @@ export function App({
87
108
  );
88
109
  const [sessionState, setSessionState] = useState<SessionState>(initialSessionState);
89
110
 
111
+ // Thread history - preserves all output as a continuous thread
112
+ const [threadHistory, setThreadHistory] = useState<ThreadItem[]>(() => {
113
+ // Start with banner if showing welcome screen
114
+ if (initialScreen === 'welcome') {
115
+ return [{
116
+ id: generateThreadId(),
117
+ type: 'banner',
118
+ content: (
119
+ <Box flexDirection="column" padding={1}>
120
+ <WiggumBanner />
121
+ <Box marginTop={1} flexDirection="row">
122
+ <Text color={colors.pink}>v{version}</Text>
123
+ <Text dimColor>{theme.statusLine.separator}</Text>
124
+ {initialSessionState.provider ? (
125
+ <Text color={colors.blue}>{initialSessionState.provider}/{initialSessionState.model}</Text>
126
+ ) : (
127
+ <Text color={colors.orange}>not configured</Text>
128
+ )}
129
+ <Text dimColor>{theme.statusLine.separator}</Text>
130
+ <Text color={initialSessionState.initialized ? colors.green : colors.orange}>
131
+ {initialSessionState.initialized ? 'Ready' : 'Not initialized'}
132
+ </Text>
133
+ </Box>
134
+ <Box marginTop={1}>
135
+ <Text dimColor>
136
+ Tip: {initialSessionState.initialized ? '/new <feature> to create spec' : '/init to set up'}, /help for commands
137
+ </Text>
138
+ </Box>
139
+ </Box>
140
+ ),
141
+ }];
142
+ }
143
+ return [];
144
+ });
145
+
146
+ /**
147
+ * Add an item to the thread history
148
+ */
149
+ const addToThread = useCallback((type: ThreadItem['type'], content: React.ReactNode) => {
150
+ setThreadHistory(prev => [...prev, { id: generateThreadId(), type, content }]);
151
+ }, []);
152
+
90
153
  /**
91
154
  * Navigate to a different screen
92
155
  */
@@ -96,11 +159,12 @@ export function App({
96
159
  }, []);
97
160
 
98
161
  /**
99
- * Handle interview completion - save spec to disk and notify
162
+ * Handle interview completion - save spec to disk and add to thread
100
163
  */
101
164
  const handleInterviewComplete = useCallback(async (spec: string) => {
102
165
  // Get feature name from navigation props or initial interview props
103
166
  const featureName = screenProps?.featureName || interviewProps?.featureName;
167
+ let specPath = '';
104
168
 
105
169
  if (featureName && typeof featureName === 'string') {
106
170
  try {
@@ -114,7 +178,7 @@ export function App({
114
178
  }
115
179
 
116
180
  // Write spec to file
117
- const specPath = join(specsDir, `${featureName}.md`);
181
+ specPath = join(specsDir, `${featureName}.md`);
118
182
  writeFileSync(specPath, spec, 'utf-8');
119
183
 
120
184
  // Call onComplete with the spec path for logging
@@ -127,6 +191,60 @@ export function App({
127
191
  onComplete?.(spec);
128
192
  }
129
193
 
194
+ // Add completion summary to thread
195
+ const specLines = spec.split('\n');
196
+ const totalLines = specLines.length;
197
+ const previewLines = specLines.slice(0, 5);
198
+ const remainingLines = Math.max(0, totalLines - 5);
199
+
200
+ addToThread('spec-complete', (
201
+ <Box flexDirection="column" marginY={1}>
202
+ {/* Tool-call style preview */}
203
+ <Box flexDirection="row">
204
+ <Text color={colors.green}>●</Text>
205
+ <Text> </Text>
206
+ <Text bold>Write</Text>
207
+ <Text dimColor>({specPath || `${featureName}.md`})</Text>
208
+ </Box>
209
+ <Box marginLeft={2}>
210
+ <Text dimColor>└ Wrote {totalLines} lines</Text>
211
+ </Box>
212
+
213
+ {/* Preview with line numbers */}
214
+ <Box marginLeft={4} flexDirection="column">
215
+ {previewLines.map((line, i) => (
216
+ <Box key={i} flexDirection="row">
217
+ <Text dimColor>{String(i + 1).padStart(4)} </Text>
218
+ <Text dimColor>{line}</Text>
219
+ </Box>
220
+ ))}
221
+ {remainingLines > 0 && (
222
+ <Text dimColor>… +{remainingLines} lines</Text>
223
+ )}
224
+ </Box>
225
+
226
+ {/* Done message */}
227
+ <Box marginTop={1} flexDirection="row" gap={1}>
228
+ <Text color={colors.green}>●</Text>
229
+ <Text>Done. Specification generated successfully.</Text>
230
+ </Box>
231
+
232
+ {/* What's next */}
233
+ <Box marginTop={1} flexDirection="column">
234
+ <Text bold>What's next:</Text>
235
+ <Box flexDirection="row" gap={1}>
236
+ <Text color={colors.green}>›</Text>
237
+ <Text dimColor>Review the spec in your editor</Text>
238
+ </Box>
239
+ <Box flexDirection="row" gap={1}>
240
+ <Text color={colors.green}>›</Text>
241
+ <Text color={colors.blue}>/help</Text>
242
+ <Text dimColor>See all commands</Text>
243
+ </Box>
244
+ </Box>
245
+ </Box>
246
+ ));
247
+
130
248
  // If started on interview (--tui mode), call onExit to resolve promise
131
249
  // Otherwise, return to shell
132
250
  if (initialScreen === 'interview') {
@@ -134,7 +252,7 @@ export function App({
134
252
  } else {
135
253
  navigate('shell');
136
254
  }
137
- }, [onComplete, navigate, initialScreen, onExit, screenProps, interviewProps, sessionState.projectRoot]);
255
+ }, [onComplete, navigate, initialScreen, onExit, screenProps, interviewProps, sessionState.projectRoot, addToThread]);
138
256
 
139
257
  /**
140
258
  * Handle interview cancel
@@ -163,78 +281,136 @@ export function App({
163
281
  setSessionState(newState);
164
282
  }, []);
165
283
 
166
- // Route to the appropriate screen
167
- switch (currentScreen) {
168
- case 'welcome':
169
- return (
170
- <WelcomeScreen
171
- provider={sessionState.provider}
172
- model={sessionState.model}
173
- version={version}
174
- isInitialized={sessionState.initialized}
175
- onContinue={handleWelcomeContinue}
176
- />
177
- );
178
-
179
- case 'shell':
180
- return (
181
- <MainShell
182
- sessionState={sessionState}
183
- onNavigate={navigate}
184
- onSessionStateChange={handleSessionStateChange}
185
- />
186
- );
187
-
188
- case 'interview': {
189
- // Get feature name from props or navigation
190
- const featureName = screenProps?.featureName || interviewProps?.featureName;
191
-
192
- if (!featureName || typeof featureName !== 'string') {
193
- // Missing feature name, go back to shell
194
- navigate('shell');
284
+ /**
285
+ * Handle init completion - add summary to thread and update state
286
+ */
287
+ const handleInitComplete = useCallback((newState: SessionState, generatedFiles?: string[]) => {
288
+ // Add init completion to thread
289
+ addToThread('init-complete', (
290
+ <Box flexDirection="column" marginY={1}>
291
+ {/* Tool-call style display for files */}
292
+ {generatedFiles && generatedFiles.slice(0, 5).map((file) => (
293
+ <Box key={file} flexDirection="column">
294
+ <Box flexDirection="row">
295
+ <Text color={colors.green}>●</Text>
296
+ <Text> </Text>
297
+ <Text bold>Write</Text>
298
+ <Text dimColor>({file})</Text>
299
+ </Box>
300
+ <Box marginLeft={2}>
301
+ <Text dimColor>└ Created {file}</Text>
302
+ </Box>
303
+ </Box>
304
+ ))}
305
+ {generatedFiles && generatedFiles.length > 5 && (
306
+ <Text dimColor> ... and {generatedFiles.length - 5} more files</Text>
307
+ )}
308
+
309
+ {/* Done message */}
310
+ <Box marginTop={1} flexDirection="row" gap={1}>
311
+ <Text color={colors.green}>●</Text>
312
+ <Text>Done. Created Ralph configuration files.</Text>
313
+ </Box>
314
+
315
+ {/* What's next */}
316
+ <Box marginTop={1} flexDirection="column">
317
+ <Text bold>What's next:</Text>
318
+ <Box flexDirection="row" gap={1}>
319
+ <Text color={colors.green}>›</Text>
320
+ <Text color={colors.blue}>/new {'<feature>'}</Text>
321
+ <Text dimColor>Create a feature specification</Text>
322
+ </Box>
323
+ <Box flexDirection="row" gap={1}>
324
+ <Text color={colors.green}>›</Text>
325
+ <Text color={colors.blue}>/help</Text>
326
+ <Text dimColor>See all commands</Text>
327
+ </Box>
328
+ </Box>
329
+ </Box>
330
+ ));
331
+
332
+ setSessionState(newState);
333
+ navigate('shell');
334
+ }, [addToThread, navigate]);
335
+
336
+ // Render current screen content
337
+ const renderCurrentScreen = () => {
338
+ switch (currentScreen) {
339
+ case 'welcome':
340
+ // Banner is already in thread history, just continue to shell
195
341
  return null;
342
+
343
+ case 'shell':
344
+ return (
345
+ <MainShell
346
+ sessionState={sessionState}
347
+ onNavigate={navigate}
348
+ onSessionStateChange={handleSessionStateChange}
349
+ />
350
+ );
351
+
352
+ case 'interview': {
353
+ // Get feature name from props or navigation
354
+ const featureName = screenProps?.featureName || interviewProps?.featureName;
355
+
356
+ if (!featureName || typeof featureName !== 'string') {
357
+ // Missing feature name, go back to shell
358
+ navigate('shell');
359
+ return null;
360
+ }
361
+
362
+ if (!sessionState.provider) {
363
+ // No provider configured, can't run interview
364
+ navigate('shell');
365
+ return null;
366
+ }
367
+
368
+ return (
369
+ <InterviewScreen
370
+ featureName={featureName}
371
+ projectRoot={sessionState.projectRoot}
372
+ provider={sessionState.provider}
373
+ model={sessionState.model}
374
+ scanResult={sessionState.scanResult}
375
+ specsPath={sessionState.config?.paths.specs}
376
+ onComplete={handleInterviewComplete}
377
+ onCancel={handleInterviewCancel}
378
+ />
379
+ );
196
380
  }
197
381
 
198
- if (!sessionState.provider) {
199
- // No provider configured, can't run interview
200
- navigate('shell');
201
- return null;
382
+ case 'init': {
383
+ return (
384
+ <InitScreen
385
+ projectRoot={sessionState.projectRoot}
386
+ sessionState={sessionState}
387
+ onComplete={handleInitComplete}
388
+ onCancel={() => navigate('shell')}
389
+ />
390
+ );
202
391
  }
203
392
 
204
- return (
205
- <InterviewScreen
206
- featureName={featureName}
207
- projectRoot={sessionState.projectRoot}
208
- provider={sessionState.provider}
209
- model={sessionState.model}
210
- scanResult={sessionState.scanResult}
211
- specsPath={sessionState.config?.paths.specs}
212
- onComplete={handleInterviewComplete}
213
- onCancel={handleInterviewCancel}
214
- />
215
- );
393
+ default:
394
+ return null;
216
395
  }
396
+ };
217
397
 
218
- case 'init': {
219
- // Handle init completion by updating session state
220
- const handleInitComplete = (newState: SessionState) => {
221
- setSessionState(newState);
222
- navigate('shell');
223
- };
224
-
225
- return (
226
- <InitScreen
227
- projectRoot={sessionState.projectRoot}
228
- sessionState={sessionState}
229
- onComplete={handleInitComplete}
230
- onCancel={() => navigate('shell')}
231
- />
232
- );
233
- }
398
+ // Render with thread history (Static) + current screen
399
+ return (
400
+ <Box flexDirection="column">
401
+ {/* Static thread history - preserved output that doesn't re-render */}
402
+ <Static items={threadHistory}>
403
+ {(item) => (
404
+ <Box key={item.id}>
405
+ {item.content}
406
+ </Box>
407
+ )}
408
+ </Static>
234
409
 
235
- default:
236
- return null;
237
- }
410
+ {/* Current active screen */}
411
+ {renderCurrentScreen()}
412
+ </Box>
413
+ );
238
414
  }
239
415
 
240
416
  /**
@@ -49,8 +49,8 @@ export interface InitScreenProps {
49
49
  projectRoot: string;
50
50
  /** Current session state */
51
51
  sessionState: SessionState;
52
- /** Called when initialization is complete */
53
- onComplete: (newState: SessionState) => void;
52
+ /** Called when initialization is complete (with optional generated files list) */
53
+ onComplete: (newState: SessionState, generatedFiles?: string[]) => void;
54
54
  /** Called when user cancels */
55
55
  onCancel: () => void;
56
56
  }
@@ -295,7 +295,8 @@ export function InitScreen({
295
295
  initialized: true,
296
296
  });
297
297
 
298
- onComplete(newSessionState);
298
+ // Pass generated files to completion handler for thread history
299
+ onComplete(newSessionState, generatedFiles);
299
300
  } catch (error) {
300
301
  setError(`Failed to generate files: ${error instanceof Error ? error.message : String(error)}`);
301
302
  }
@@ -512,50 +513,11 @@ export function InitScreen({
512
513
  );
513
514
 
514
515
  case 'complete':
516
+ // Brief completion message - full summary added to thread by App
515
517
  return (
516
- <Box flexDirection="column">
517
- {/* Tool-call style display for each generated file */}
518
- {state.generatedFiles.map((file) => (
519
- <Box key={file} flexDirection="column" marginBottom={1}>
520
- <Box flexDirection="row">
521
- <Text color={colors.green}>●</Text>
522
- <Text> </Text>
523
- <Text bold>Write</Text>
524
- <Text dimColor>({file})</Text>
525
- </Box>
526
- <Box marginLeft={2}>
527
- <Text dimColor>└ Created {file}</Text>
528
- </Box>
529
- </Box>
530
- ))}
531
-
532
- {/* Done message */}
533
- <Box marginTop={1} flexDirection="row" gap={1}>
534
- <Text color={colors.green}>●</Text>
535
- <Text>Done. Created Ralph configuration files.</Text>
536
- </Box>
537
-
538
- {/* Created files summary */}
539
- <Box marginTop={1} flexDirection="column">
540
- <Text dimColor>Created files:</Text>
541
- {state.generatedFiles.map((file) => (
542
- <Text key={file} dimColor> {file}</Text>
543
- ))}
544
- </Box>
545
-
546
- <Box marginTop={1} flexDirection="column">
547
- <Text bold>What's next:</Text>
548
- <Box flexDirection="row" gap={1}>
549
- <Text color={colors.green}>›</Text>
550
- <Text color={colors.blue}>/new {'<feature>'}</Text>
551
- <Text dimColor>Create a feature specification</Text>
552
- </Box>
553
- <Box flexDirection="row" gap={1}>
554
- <Text color={colors.green}>›</Text>
555
- <Text color={colors.blue}>/help</Text>
556
- <Text dimColor>See all commands</Text>
557
- </Box>
558
- </Box>
518
+ <Box flexDirection="row" gap={1}>
519
+ <Text color={colors.green}>●</Text>
520
+ <Text>Initialization complete.</Text>
559
521
  </Box>
560
522
  );
561
523
 
@@ -165,12 +165,8 @@ export function InterviewScreen({
165
165
  onComplete: (spec) => {
166
166
  if (isCancelledRef.current) return;
167
167
  setGeneratedSpec(spec);
168
- // Delay navigation to show completion UI first
169
- setTimeout(() => {
170
- if (!isCancelledRef.current) {
171
- onCompleteRef.current(spec);
172
- }
173
- }, 3000); // Show completion view for 3 seconds
168
+ // Complete immediately - App will add summary to thread
169
+ onCompleteRef.current(spec);
174
170
  },
175
171
  onError: (error) => {
176
172
  if (isCancelledRef.current) return;
@@ -324,70 +320,11 @@ export function InterviewScreen({
324
320
  </Box>
325
321
  )}
326
322
 
327
- {/* Completion message with spec preview - Codex style */}
323
+ {/* Completion message - full summary added to thread by App */}
328
324
  {state.phase === 'complete' && (
329
- <Box marginY={1} flexDirection="column">
330
- {/* Tool-call style preview */}
331
- <Box flexDirection="row">
332
- <Text color={theme.colors.tool.success}>●</Text>
333
- <Text> </Text>
334
- <Text bold>Write</Text>
335
- <Text dimColor>({specsPath}/{featureName}.md)</Text>
336
- </Box>
337
-
338
- {/* Summary line and preview */}
339
- {state.generatedSpec && (() => {
340
- const specLines = state.generatedSpec.split('\n');
341
- const totalLines = specLines.length;
342
- const previewLines = specLines.slice(0, 5);
343
- const remainingLines = Math.max(0, totalLines - 5);
344
-
345
- return (
346
- <>
347
- <Box marginLeft={2}>
348
- <Text dimColor>└ Wrote {totalLines} lines to {specsPath}/{featureName}.md</Text>
349
- </Box>
350
-
351
- {/* Preview with line numbers */}
352
- <Box marginLeft={4} flexDirection="column">
353
- {previewLines.map((line, i) => (
354
- <Box key={i} flexDirection="row">
355
- <Text dimColor>{String(i + 1).padStart(4)} </Text>
356
- <Text dimColor>{line}</Text>
357
- </Box>
358
- ))}
359
- {remainingLines > 0 && (
360
- <Text dimColor>… +{remainingLines} lines (ctrl+o to expand)</Text>
361
- )}
362
- </Box>
363
- </>
364
- );
365
- })()}
366
-
367
- {/* Done message */}
368
- <Box marginTop={1} flexDirection="row" gap={1}>
369
- <Text color={theme.colors.success}>●</Text>
370
- <Text>Done. Specification generated successfully.</Text>
371
- </Box>
372
-
373
- {/* What's next */}
374
- <Box marginTop={1} flexDirection="column">
375
- <Text bold>What's next:</Text>
376
- <Box flexDirection="row" gap={1}>
377
- <Text color={colors.green}>›</Text>
378
- <Text dimColor>Review the spec in your editor</Text>
379
- </Box>
380
- <Box flexDirection="row" gap={1}>
381
- <Text color={colors.green}>›</Text>
382
- <Text color={colors.blue}>/help</Text>
383
- <Text dimColor>See all commands</Text>
384
- </Box>
385
- </Box>
386
-
387
- {/* Auto-continue hint */}
388
- <Box marginTop={1}>
389
- <Text dimColor italic>Returning to shell in 3s...</Text>
390
- </Box>
325
+ <Box flexDirection="row" gap={1}>
326
+ <Text color={theme.colors.success}>●</Text>
327
+ <Text>Specification complete.</Text>
391
328
  </Box>
392
329
  )}
393
330