{"slug": "vibe-coded-ui-ci-runner-for-your-agent", "title": "Vibe coded UI CI runner for your agent", "summary": "ActUI, a local GitHub Actions workbench for humans and coding agents, has been released, providing a browser dashboard that discovers workflows, delegates execution to nektos/act, and presents jobs, logs, and approvals in one view. The tool requires Node.js 22+, Docker Engine or Docker Desktop, and Act on PATH, and includes a JSON CLI and local MCP server for agent integration. ActUI's explicit --trust flag is required to execute workflow code, and it supports custom job lists, bookmarkable views, and process-level log isolation.", "body_md": "ActUI is a local GitHub Actions workbench for humans and coding agents. It discovers workflows in a repository, delegates their execution to [nektos/act](https://github.com/nektos/act), and presents jobs, dependency state, logs, agent notes, approvals, and cancellation in one browser dashboard.\n\nThe dashboard, JSON CLI, and local MCP server use one shared run manager. A human and an agent can therefore watch and operate the same run instead of creating disconnected CI processes.\n\nPrerequisites: Node.js 22+, Docker Engine or Docker Desktop, and [Act](https://nektosact.com/installation/index.html) on `PATH`\n\n.\n\n```\nnpm install\nnpm run build\nnpm link\nactui /path/to/repository --trust\n```\n\nActUI binds to `127.0.0.1`\n\n, chooses an available port, and opens the dashboard. The explicit `--trust`\n\nflag is required to execute workflow code; without it, the session is read-only.\n\nIf Act is missing when a run is requested, ActUI detects the host operating system and shows a copyable installation command in both the terminal and dashboard. After installing, verify with `act --version`\n\nand restart ActUI. If the executable is installed outside `PATH`\n\n, use `--act-path /absolute/path/to/act`\n\n. See the [official Act installation guide](https://nektosact.com/installation/index.html) for package-manager alternatives and prerequisites.\n\nWorkflow cards group each job with its ordered steps. Select individual jobs, name the selection, and save it as a custom job list. Lists and the last active list are stored locally under the repository’s absolute path, so opening another repository loads its own presets automatically. Targeted runs pass the selected job IDs to Act; required job dependencies are retained in the shared run view. The run console can expand to the entire viewport and closes with its button or `Escape`\n\n.\n\nThe dashboard has separate Workflows, Run history, and Environment views. Their URL hashes are bookmarkable. Press `Command-K`\n\non macOS or `Control-K`\n\nelsewhere—or select the repository switcher—to open the command palette and move between views without leaving the current session.\n\nInside a run console, jobs are accessible tabs. Selecting a job opens one panel containing that job’s ordered step states and its filtered live logs, keeping job, steps, and output together.\n\nProcess-level Act messages are isolated in a separate **Run output** tab instead of being repeated in every job. ActUI parses both JSON and logfmt Act records to preserve job attribution. Each Act workflow process uses an operating-system-assigned artifact-server port, avoiding collisions when several workflows run together.\n\nBefore execution, ActUI checks selected jobs for runner labels Act does not provide by default. Custom Ubuntu labels such as `ubuntu-latest-low`\n\nproduce a visible mapping prompt and can be mapped in one click to `catthehacker/ubuntu:act-latest`\n\n. Multiple mappings are passed as repeated `--platform`\n\narguments. ActUI blocks the run until every detected custom label is mapped, preventing silently skipped jobs.\n\nUseful launch options:\n\n```\nactui . --no-open\nactui . --port 4040 --trust\nactui . --act-path /custom/path/to/act --trust\nactui discover . --json\nactui run --workflow ci.yml --event pull_request --json\nactui wait <run-id> --after-cursor 12 --json\nactui get <run-id> --json\nactui logs <run-id> --failed --json\nactui logs <run-id> --from 200 --to 260 --json\nactui cancel <run-id> --json\nactui rerun-failed <run-id> --files src/cart.ts,src/cart.test.ts --json\n```\n\n`wait`\n\nis cursor-based and bounded to 30 seconds. Agents receive concise state changes and fetch selected log ranges only when a failure requires them.\n\nStart the provider-neutral local MCP server with:\n\n```\nactui mcp\n```\n\n`actui mcp`\n\nis a stdio protocol server, not an interactive shell. It prints a readiness message to the terminal and then remains open while it waits for an MCP client. Configure the client with command `actui`\n\nand arguments `[\"mcp\"]`\n\n. Keep `actui . --trust`\n\nrunning in another terminal when the tools need to discover or execute workflows; a manual launch also prints the shared dashboard URL when one is active. Human-readable messages use stderr, leaving stdout exclusively for MCP JSON-RPC traffic.\n\nIt exposes `discover_workflows`\n\n, `start_run`\n\n, `wait_for_run`\n\n, `get_run`\n\n, `get_failed_steps`\n\n, `read_logs`\n\n, `cancel_run`\n\n, `rerun_failed`\n\n, and `open_dashboard`\n\n.\n\nInstall the bundled Codex workflow skill with:\n\n```\nactui install-skill\n```\n\nThe skill follows a constrained discover → run smallest scope → wait → inspect failures → fix only when authorized → rerun failed scope loop.\n\n- Repository trust is explicit for every launched session.\n- Agent runs receive no secrets by default.\n- Secrets are written only to user-private temporary files and deleted after the run.\n- Deployment, publishing, release, production, and privileged jobs are detected and require per-run approval.\n- The UI shows the exact Act command preview before execution.\n- Run, agent-note, cancellation, and result events enter a local audit trail.\n- Agent retry attempts are bounded.\n- The HTTP server listens on loopback and requires a random session token.\n- Run history is stored in the operating system application cache, not the target repository.\n\nThe full handbook is built into ActUI at `/docs`\n\n. The wire-level cursor and log-range contract is also documented in [docs/PROTOCOL.md](/hamza221/ActUi/blob/main/docs/PROTOCOL.md).\n\n```\nnpm run dev\nnpm run build\nnpm test\nnpm run lint\n```\n\nEvery pull request runs the repository’s `QA`\n\nworkflow. Its independent required-check candidates are ESLint, unit and integration tests, the production bundle, and a high-severity production dependency audit. All jobs use Node.js 22 and reproducible `npm ci`\n\ninstalls. Superseded runs for the same pull request are cancelled automatically.\n\nRun the same code-quality path locally with:\n\n```\nnpm run qa\n```\n\n`npm run dev`\n\ndisplays representative preview data when it is not behind the local ActUI control plane. Running `actui . --trust`\n\nuses real repository, Act, Docker, run, and agent state.\n\nActUI uses [nektos/act](https://github.com/nektos/act) as its local GitHub Actions execution engine. Act is an independent project distributed under the MIT License. Its required notice is preserved in [THIRD_PARTY_NOTICES.md](/hamza221/ActUi/blob/main/THIRD_PARTY_NOTICES.md).\n\nActUI does not claim complete parity with GitHub-hosted runners. Image contents, hardware, networking, permissions, and unsupported GitHub platform services can differ locally.\n\nActUI is released under the [MIT License](/hamza221/ActUi/blob/main/LICENSE).", "url": "https://wpnews.pro/news/vibe-coded-ui-ci-runner-for-your-agent", "canonical_source": "https://github.com/hamza221/ActUi", "published_at": "2026-08-11 21:20:10+00:00", "updated_at": "2026-08-11 21:41:46.237423+00:00", "lang": "en", "topics": ["developer-tools", "ai-agents"], "entities": ["ActUI", "nektos/act", "GitHub Actions", "Node.js", "Docker Engine", "Docker Desktop", "MCP"], "alternates": {"html": "https://wpnews.pro/news/vibe-coded-ui-ci-runner-for-your-agent", "markdown": "https://wpnews.pro/news/vibe-coded-ui-ci-runner-for-your-agent.md", "text": "https://wpnews.pro/news/vibe-coded-ui-ci-runner-for-your-agent.txt", "jsonld": "https://wpnews.pro/news/vibe-coded-ui-ci-runner-for-your-agent.jsonld"}}