feat(setup): clarify setup flow from user-feedback session
- Container step: duration hint + 3-line rolling output window with 60s stall detector that offers "keep waiting" vs "ask Claude" - First chat: reframed as a try-out with sandbox-model explainer (wakes on message, sleeps when idle, context persists) - Timezone: auto-detected non-UTC zones now get an explicit confirm from the user instead of silent persist - Outro: added always-on warning + prominent "check your DM" banner when a channel was configured; directive last line - Discord: always show token-location reminder even when user says they have one; new "do you have a server?" branch walks through server creation if not - All select prompts: custom brightSelect renderer keeps inactive option labels at full brightness (was dim gray); adds @clack/core as a direct dep Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -174,19 +174,31 @@ export async function run(args: string[]): Promise<void> {
|
||||
// .env is optional; absence is normal on a fresh checkout
|
||||
}
|
||||
|
||||
// Build
|
||||
// Build — stdio inherit so the parent setup runner can tail docker's
|
||||
// per-step output and render it in a rolling window. Previously we used
|
||||
// execSync which buffered everything; users couldn't tell whether a
|
||||
// 3–10 minute build was making progress or hung.
|
||||
let buildOk = false;
|
||||
log.info('Building container', { runtime, buildArgs });
|
||||
try {
|
||||
const argsStr = buildArgs.length > 0 ? ' ' + buildArgs.join(' ') : '';
|
||||
execSync(`${buildCmd}${argsStr} -t ${image} .`, {
|
||||
const buildRes = spawnSync(
|
||||
buildCmd.split(' ')[0],
|
||||
[
|
||||
...buildCmd.split(' ').slice(1),
|
||||
...buildArgs.flatMap((a) => a.split(' ')),
|
||||
'-t',
|
||||
image,
|
||||
'.',
|
||||
],
|
||||
{
|
||||
cwd: path.join(projectRoot, 'container'),
|
||||
stdio: ['ignore', 'pipe', 'pipe'],
|
||||
});
|
||||
stdio: 'inherit',
|
||||
},
|
||||
);
|
||||
if (buildRes.status === 0) {
|
||||
buildOk = true;
|
||||
log.info('Container build succeeded');
|
||||
} catch (err) {
|
||||
log.error('Container build failed', { err });
|
||||
} else {
|
||||
log.error('Container build failed', { exitCode: buildRes.status });
|
||||
}
|
||||
|
||||
// Test
|
||||
|
||||
Reference in New Issue
Block a user