Skip to content

fix(eve): keep init progress on one line#99

Open
ruiconti wants to merge 1 commit into
mainfrom
rui/one-line-init-progress
Open

fix(eve): keep init progress on one line#99
ruiconti wants to merge 1 commit into
mainfrom
rui/one-line-init-progress

Conversation

@ruiconti

@ruiconti ruiconti commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

What

  • Keep eve init on one transient terminal row from project preparation through Git initialization.
  • Animate the left from a repeating binary sequence. The default 10001000 pattern produces two hits per second.
  • Show npm activity as dim, width-bounded detail after a blinking · separator.
  • Append dim elapsed time to the created/added-agent and installed-dependencies rows.
  • Clear the transient row and replay every captured package-manager output line when installation fails.

Why

The old spinner started only after scaffolding, and the install callback only buffered child-process output. Project creation and Git had no progress state. npm could also appear stuck because its default piped output often has no intermediate lines.

The init command now owns progress for the full run. Interactive npm installs request verbose events, which Eve reduces to useful state updates. The package-manager option is opt-in, so other install callers keep their existing output behavior.

The left marker uses an 8- or 16-step sequence instead of a scalar pulse rate. Each bit owns an equal slot in a one-second loop: 1 renders , and 0 renders a same-width space. This keeps patterns such as 10001000, 10100100, and 00000000 readable in code. Other setup spinners keep their existing animation.

Project creation/addition and dependency installation have separate monotonic timers. Their permanent success rows append compact dim durations such as in 467ms, in 13.2s, in 1m 2s, or in 1h 1m 2s.

Failure behavior

A failed install clears the transient UI before printing captured stdout and stderr. Git initialization and the dev handoff remain downstream, so neither runs after an install failure.

@vercel

vercel Bot commented Jun 19, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
eve-docs Ready Ready Preview, Comment, Open in v0 Jun 20, 2026 2:15am

Comment thread packages/eve/src/cli/commands/init.ts Outdated
@github-actions

github-actions Bot commented Jun 19, 2026

Copy link
Copy Markdown
Contributor

Bundle + Package Summary: apps/fixtures/weather-agent

Key takeaways

  • No notable deltas vs main (bfc7191).

Delta vs main (bfc7191)

Area Metric Baseline Current Delta
Package Packed tarball 3.23 MB 3.23 MB +3.9 kB ⚠️
Package Unpacked publish size 11.58 MB 11.59 MB +9.1 kB ⚠️
Package Installed footprint 51.79 MB 51.80 MB +9.1 kB ⚠️
Package Published files 2163 2169 +6
Package Installed files 5368 5374 +6
Runtime Unique function payloads 2 2 0
Runtime Total function bytes 9.34 MB 9.34 MB -176 B ✅
Runtime Public routes 9 9 0
Changed function payloads vs main (bfc7191) (2)
Function Status Baseline Current Delta Route changes
functions/__server.func changed 3.86 MB 3.86 MB -144 B ✅ none
functions/.well-known/workflow/v1/flow.func changed 5.47 MB 5.47 MB -32 B ✅ none
Build Metadata
  • Preset: vercel
  • Nitro: nitro@3.0.260610-beta
  • Output directory: apps/fixtures/weather-agent/.vercel/output
  • Build metadata timestamp: 2026-06-20T02:15:35.976Z
  • Route aliases: 9 public, 1 internal (10 total aliases)
  • Vercel routes in config: 10
  • Severity legend: 🔴 dominant/large, 🟠 notable, 🟡 watch, ⚪ small
Package Drill-Down

Package Details

  • Package: eve@0.11.7
  • Package directory: packages/eve
  • Tarball: 3.23 MB (eve-0.11.7.tgz)
  • Unpacked payload: 11.59 MB across 2169 published files
  • Installed footprint: 51.80 MB across 5374 installed files
  • Installed root package: 10.48 MB
  • Installed dependencies: 41.32 MB
  • Runtime dependencies: 1
  • Peer dependencies: 12 (11 optional)

Installed footprint is measured from an isolated temporary npm install of the packed tarball.

Heavy installed dependencies

  • @rolldown/binding-linux-x64-gnu: 20.61 MB (39.8%)
  • eve: 10.48 MB (20.2%)
  • ai: 6.20 MB (12.0%)
  • zod: 4.97 MB (9.6%)
  • nitro: 2.41 MB (4.6%)
Publish payload breakdown
Published file size
🟠 dist/src/compiled/experimental-ai-sdk-code-mo... [#####...................] 1.51 MB 13.0%
🟡 dist/src/compiled/@workflow/core/runtime.js      [##......................] 775.4 kB 6.7%
🟡 dist/src/compiled/@vercel/sandbox/index.js       [##......................] 632.0 kB 5.5%
🟡 dist/src/compiled/@chat-adapter/slack/index.js   [#.......................] 436.9 kB 3.8%
🟡 dist/src/compiled/_chunks/workflow/attribute-... [#.......................] 370.9 kB 3.2%
🔴 Other published files                            [########################] 7.87 MB 67.9%
Installed footprint breakdown
Installed package size
🔴 @rolldown/binding-linux-x64-gnu [########################] 20.61 MB 39.8%
🔴 eve                             [############............] 10.48 MB 20.2%
🔴 ai                              [#######.................] 6.20 MB 12.0%
🟠 zod                             [######..................] 4.97 MB 9.6%
🟠 nitro                           [###.....................] 2.41 MB 4.6%
🟡 rolldown                        [#.......................] 771.0 kB 1.5%
🔴 Other installed packages        [#######.................] 6.37 MB 12.3%
Runtime dependencies (1)
Package Range Notes
nitro 3.0.260610-beta
Peer dependencies (12)
Package Range Notes
@opentelemetry/api ^1.0.0 optional peer
@sveltejs/kit ^2.0.0 optional peer
ai catalog:
braintrust ^3.0.0 optional peer
just-bash ^3.0.0 optional peer
microsandbox ^0.5.0 optional peer
next ^16.0.0 optional peer
nuxt ^4.0.0 optional peer
react ^19.0.0 optional peer
svelte ^5.0.0 optional peer
vite ^8.0.0 optional peer
vue ^3.5.0 optional peer
Function Drill-Down

Payload Size Graph

Unique function payload size and share of total
🔴 functions/.well-known/workflow/v1/flow.func     [########################] 5.47 MB 58.6%
🔴 functions/__server.func                         [#################.......] 3.86 MB 41.4%

Top Function Payloads

🟠 functions/.well-known/workflow/v1/flow.func • 1 public route • 5.47 MB
Metric Value
Public routes /.well-known/workflow/v1/flow
Runtime nodejs24.x
Handler index.mjs
Payload 5.47 MB
Function files 5.47 MB across 27 files
Traced dependencies 0 B
Signal 🟠 Bundled file __eve_nitro_handler__.mjs is 1.50 MB (27.5%)

🟠 🔎 Dependency Analysis

📦 Bundled files:

Bundled file size
🟠 __eve_nitro_handler__.mjs              [########################] 1.50 MB 27.5%
🟠 _chunks/runtime.mjs                    [###############.........] 958.4 kB 17.5%
🟡 _chunks/sandbox.mjs                    [############............] 766.0 kB 14.0%
🟡 _chunks/attribute-changes-Bi5DLT8S.mjs [########................] 472.2 kB 8.6%
🟡 _chunks/dist-DTchiX0N.mjs              [#######.................] 460.6 kB 8.4%
🟠 Other bundled files                    [#####################...] 1.31 MB 24.0%

🧾 Vercel Config

{
  "handler": "index.mjs",
  "launcherType": "Nodejs",
  "shouldAddHelpers": false,
  "supportsResponseStreaming": true,
  "runtime": "nodejs24.x",
  "environment": {
    "NODE_OPTIONS": "--experimental-require-module",
    "WORKFLOW_QUEUE_NAMESPACE": "eve"
  },
  "maxDuration": "max",
  "experimentalTriggers": [
    {
      "type": "queue/v2beta",
      "topic": "__eve_wkf_workflow_*",
      "consumer": "default",
      "retryAfterSeconds": 5,
      "initialDelaySeconds": 0
    }
  ]
}

🟠 functions/__server.func • 8 public routes, 1 internal alias • 3.86 MB
Metric Value
Public routes /
/eve/v1/callback/[token]
/eve/v1/connections/[name]/callback/[token]
/eve/v1/health
/eve/v1/info
/eve/v1/session
/eve/v1/session/[sessionId]
/eve/v1/session/[sessionId]/stream
Internal aliases /__server
Runtime nodejs24.x
Handler index.mjs
Payload 3.86 MB
Function files 3.86 MB across 21 files
Traced dependencies 0 B
Signal 🟠 Bundled file index.mjs is 1.40 MB (36.3%)

🟠 🔎 Dependency Analysis

📦 Bundled files:

Bundled file size
🟠 index.mjs                              [########################] 1.40 MB 36.3%
🟠 _chunks/runtime.mjs                    [###############.........] 875.8 kB 22.7%
🟠 _chunks/sandbox.mjs                    [#############...........] 766.0 kB 19.8%
🟡 _chunks/attribute-changes-Bi5DLT8S.mjs [########................] 448.5 kB 11.6%
⚪ _libs/zod.mjs                          [##......................] 114.2 kB 3.0%
🟡 Other bundled files                    [####....................] 258.8 kB 6.7%

🧾 Vercel Config

{
  "handler": "index.mjs",
  "launcherType": "Nodejs",
  "shouldAddHelpers": false,
  "supportsResponseStreaming": true,
  "runtime": "nodejs24.x"
}

Share a CLI live-row renderer between init and local dev, preserving the configurable pulse while reporting phase detail and elapsed completion times.

Scope dev boot events to each invocation, keep eval and remote callers silent, run Git initialization asynchronously, and replay useful package-manager output when installation fails. Debug mode uses plain phase and output logs instead of terminal repainting.

Signed-off-by: Rui Conti <ruiconti@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant