Skip to content

v0.8.64: Add a dev-server readiness primitive for local app automation #3360

Description

@Hmbown

Problem

Agents doing local webapp work currently have to poll shell output or guess when a dev server is ready. That makes the loop flaky: npm run dev may print before the app is actually serving, and frontend verification can race the server startup.

The webapp-testing workflow needs a small, reusable readiness primitive that can be used by tools, bundled skills, verifier gates, and helper scripts.

Proposal

Add a bounded dev-server readiness primitive, either as a small native tool, a shared helper, or both.

Initial shape:

  • wait for a TCP port to accept connections
  • optionally wait for a URL/healthcheck to return a 2xx/3xx response
  • support bounded timeout and poll interval
  • report structured timeout/connection errors
  • work for localhost-first development without requiring a hosted service

This should avoid replacing full process supervision. It is the narrow readiness check that higher-level server lifecycle helpers and browser automation can call.

Acceptance criteria

  • A caller can wait for localhost:<port> with a bounded timeout and receive structured success/failure output.
  • A caller can optionally wait for an HTTP URL and require a successful status class.
  • Timeout output includes the target, elapsed time, and last observed error/status.
  • The primitive is usable from the webapp-testing/server-lifecycle flow without ad hoc shell polling.
  • Tests cover success, timeout, refused connection, and HTTP non-success behavior using local fixtures.

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingenhancementNew feature or requestreliabilityReliability, flaky behavior, retries, fallbacks, and robustnesstoolsTool execution, tool schemas, tool UX, and built-in tool behaviortuiTerminal UI behavior, rendering, or interaction

    Projects

    Status
    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions