{"id":51723150,"url":"https://github.com/construct-worlds/construct","last_synced_at":"2026-07-27T07:00:31.852Z","repository":{"id":359840925,"uuid":"1240946207","full_name":"construct-worlds/construct","owner":"construct-worlds","description":"A terminal-native ADE (agentic development environment).","archived":false,"fork":false,"pushed_at":"2026-07-25T23:38:35.000Z","size":44643,"stargazers_count":7,"open_issues_count":28,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-07-26T00:10:23.439Z","etag":null,"topics":["ade","agent","agentic-development-environment","cmux","coding-agent","harness","opensource-agents","tmux"],"latest_commit_sha":null,"homepage":"https://github.com/construct-worlds/construct","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/construct-worlds.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-16T19:12:47.000Z","updated_at":"2026-07-25T23:38:24.000Z","dependencies_parsed_at":null,"dependency_job_id":"e43281fe-2687-46b9-b8d5-4a0c1e86e06d","html_url":"https://github.com/construct-worlds/construct","commit_stats":null,"previous_names":["zarvis-ai/agentd","zarvis-ai/construct","construct-worlds/construct"],"tags_count":51,"template":false,"template_full_name":null,"purl":"pkg:github/construct-worlds/construct","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/construct-worlds%2Fconstruct","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/construct-worlds%2Fconstruct/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/construct-worlds%2Fconstruct/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/construct-worlds%2Fconstruct/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/construct-worlds","download_url":"https://codeload.github.com/construct-worlds/construct/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/construct-worlds%2Fconstruct/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35941123,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-27T02:00:06.776Z","response_time":101,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ade","agent","agentic-development-environment","cmux","coding-agent","harness","opensource-agents","tmux"],"created_at":"2026-07-17T15:00:32.875Z","updated_at":"2026-07-27T07:00:31.793Z","avatar_url":"https://github.com/construct-worlds.png","language":"Rust","funding_links":[],"categories":["Harnesses \u0026 orchestration"],"sub_categories":["Session managers \u0026 parallel runners"],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1\u003econstruct\u003c/h1\u003e\n  \u003cp\u003e\u003cstrong\u003eA terminal-native agentic development environment.\u003c/strong\u003e\u003c/p\u003e\n  \u003cp\u003e\n    \u003ca href=\"https://github.com/construct-worlds/construct/actions/workflows/ci.yml\"\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/construct-worlds/construct/ci.yml?branch=main\" alt=\"ci status\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/construct-worlds/construct/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/construct-worlds/construct\" alt=\"latest release\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://www.rust-lang.org\"\u003e\u003cimg src=\"https://img.shields.io/badge/built_with-rust-dea584?logo=rust\u0026logoColor=white\" alt=\"built with rust\"\u003e\u003c/a\u003e\n    \u003ca href=\"https://discord.gg/89fPgTKsRF\"\u003e\u003cimg src=\"https://img.shields.io/badge/discord-join-5865F2?logo=discord\u0026logoColor=white\" alt=\"join the construct discord\"\u003e\u003c/a\u003e\n  \u003c/p\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/construct-worlds/construct/52849f56c902397d6729ec286293064c5b15bcfe/demos/lineage-program-run.gif\" alt=\"construct lineage and program run\"\u003e\n\u003c/div\u003e\n\n### Quick start\n\n```sh\ncurl -fsSL https://raw.githubusercontent.com/construct-worlds/construct/main/install.sh | sh\n```\n\nMore screenshots and demos: [gallery](gallery.md).\n\n## Why construct?\n\n- **tmux for agent fleets** — manage Codex, Claude Code, OpenCode, Antigravity,\n  Grok, and smith sessions from your terminal — or let an agent coordinate them.\n  SSH-friendly, single Rust binary.\n- **Lineage** — sessions branch like ideas do: fork one when you want a\n  parallel attempt (new idea, side quest, or a long shot) — even a\n  cross-harness fork — and merge the results back.\n\n  \u003cimg src=\"https://raw.githubusercontent.com/construct-worlds/construct/9de1982e7ec4ae9ad71c32f3f3e3f2f58fbe93ca/demos/fork-merge.gif\" alt=\"construct fork and merge demo\" width=\"70%\"\u003e\n- **Program** — collaborative, executable Markdown\n  ([docs/program.md](docs/program.md)): co-develop workflows, tasks, and ideas\n  with the agent, then run them from the same document.\n\n  \u003cimg src=\"https://raw.githubusercontent.com/construct-worlds/construct/90d02bd2c1e6108eaa5c763bde9e2d78f8786691/demos/program.gif\" alt=\"construct program demo\" width=\"70%\"\u003e\n- **Agent-to-agent orchestration** — let your Codex and Claude Code sessions\n  talk to each other: one agent can hand a task to another, check how it's\n  going, and pick up the results.\n- **ACP (Agent Client Protocol) server** — point Agent Client Protocol clients at\n  `construct acp` to create, load, resume, prompt, cancel, and close construct\n  daemon sessions through the same installed binary.\n- **Generative widgets** — construct generates and updates widgets for your task,\n  so you can track progress, review outputs, and take action without leaving\n  the TUI or web client.\n\n  \u003cimg src=\"https://raw.githubusercontent.com/construct-worlds/construct/0b9df04fb1fb40b2cea5f7e42b2e249a649b0ec2/demos/generative-widgets.gif\" alt=\"construct generative widgets demo\" width=\"70%\"\u003e\n- **[Remote control](docs/remote-control.md) when you step away** — `/remote-control`\n  opens a browser-accessible web client with a QR code. Connect from your phone,\n  no service signup, no setup required.\n\n  \u003cimg src=\"https://raw.githubusercontent.com/construct-worlds/construct/31239874073db9fee79d78eb98ea1e7f434d051b/demos/remote-control.gif\" alt=\"construct remote control demo\" width=\"50%\" align=\"middle\"\u003e \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;→\u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp; \u003cimg src=\"https://raw.githubusercontent.com/construct-worlds/construct/91d88b514b602fb313aa82b9783d68b8ca1ab5a9/demos/webui-phone.jpg\" alt=\"construct web client on a phone\" width=\"180\" align=\"middle\"\u003e\n- **Extensible harness protocol** — adapters are separate processes speaking\n  JSON-RPC over stdio, so new tools can plug in without changing the daemon.\n\n## Getting started\n\n### 1. Requirements\n\nBring the agents you want to run. `construct` wraps the CLIs already on your\nmachine, so install whichever harnesses you use, keep them on `PATH`, and log in\nfirst:\n\n- **Codex** — install the `codex` CLI and complete its OAuth login.\n- **Claude Code** — install the `claude` CLI and complete its OAuth login.\n- **OpenCode** — install the `opencode` CLI and authenticate the providers you\n  plan to use.\n- **Antigravity** — install the `agy` CLI and complete its OAuth login.\n- **Grok** — install the `grok` CLI and complete its OAuth login.\n- **smith** — built in to construct. Talks to OpenAI, Anthropic, Google Gemini,\n  or xAI Grok via API key, a local Ollama, a ChatGPT subscription via Codex\n  OAuth, a Claude subscription via the authenticated Claude Code CLI, or a Grok\n  subscription via the authenticated Grok CLI.\n\nOnce those CLIs are available and authenticated, `construct` can create and resume\ntheir sessions from the fleet TUI.\n\n### 2. Install\n\nThe installer downloads the right prebuilt binary for your platform, verifies its\nSHA-256 checksum, and drops every binary into one directory on your PATH:\n\n```sh\ncurl -fsSL https://raw.githubusercontent.com/construct-worlds/construct/main/install.sh | sh\n```\n\nPin a version or change the directory with `CONSTRUCT_VERSION=v0.2.0` /\n`CONSTRUCT_BIN_DIR=/usr/local/bin`.\n\n### 3. Open the construct Terminal UI\n\n```sh\nconstruct\n```\n\nIf no daemon is running yet, `construct` auto-starts one in the background and\nattaches — there's no separate daemon step. (Opt out with\n`CONSTRUCT_NO_AUTOSTART=1`, e.g. in scripts that manage the daemon themselves.)\n\nUse `?` for help and `M-x` for the command palette. From the TUI you can create\nsessions, switch between agents, send input, inspect diffs, and interrupt or stop\nwork without leaving the flow.\n\nYou can also launch straight into construct by prepending `construct new` to your\nfavorite CLI harness command:\n\n```sh\nconstruct new codex\nconstruct new claude --model opus\n```\n\nMIDI controllers can drive those same native TUI actions without keyboard\nemulation. See [MIDI control surfaces](docs/midi.md) for device discovery and\nthe `construct midi learn` workflow, including OP–XY setup.\n\nTo run the daemon explicitly instead (e.g. on a server, or under a process\nsupervisor):\n\n```sh\nconstruct daemon run\n```\n\nIt owns sessions, persists state, and exposes the local IPC socket used by\nclients. Lifecycle helpers are also available for background daemons:\n\n```sh\nconstruct daemon start\nconstruct daemon stop             # stops adapters; sessions resume on next start\nconstruct daemon stop --sessions  # explicit spelling of the same session-safe stop\nconstruct daemon restart\nconstruct daemon restart --sessions\n```\n\n### 4. Start building\n\nHappy hacking. Chase the idea from your terminal: ask Codex, Claude Code,\nOpenCode, Antigravity, Grok, and [smith](docs/smith.md) to dive into the hard\nparts, then keep steering from your phone when you're in motion.\n\n## Upgrading\n\n```sh\nconstruct upgrade            # install the latest release (atomic in-place replace)\nconstruct upgrade --check    # just compare your version against the latest\nconstruct upgrade --restart  # upgrade, then restart a running daemon to apply\n```\n\n`construct upgrade` re-runs the installer for you (pin a release with\n`--version vX.Y.Z`); re-running the install one-liner does the same thing. A\nrunning daemon keeps the old code until it restarts — pass `--restart`, or run\n`/construct restart` in the TUI, to pick up the upgrade without losing sessions.\nInteractive client commands also ask whether to upgrade when a newer release is\navailable; saying yes upgrades in place, restarts a running daemon, and resumes\nthe original command under the new binary. The TUI still surfaces a one-line\nnotice from the cached check. Disable both with `CONSTRUCT_NO_UPDATE_CHECK=1`.\n\n## ACP (Agent Client Protocol) server\n\n`construct acp` runs an Agent Client Protocol stdio server. Configure ACP\nclients to launch this command:\n\n```sh\nconstruct acp\n```\n\nIt auto-starts the daemon if needed, then maps ACP session lifecycle calls onto\nconstruct daemon sessions. Use `--harness`, `--model`, or `--cwd` to set\ndefaults for `session/new` requests that omit those fields.\n\n## Building from source\n\n```sh\ngit clone https://github.com/construct-worlds/construct.git\ncd construct\ncargo build --workspace\n```\n\nDebug binaries land in `target/debug/`:\n\n- `target/debug/construct` — TUI, control CLI, **the daemon**\n  (`construct daemon run`), ACP stdio server (`construct acp`),\n  MCP bridge (`construct __mcp`, internal), and all harness adapters\n  (`construct __adapter \u003cname\u003e`, internal)\n\nFor an optimized build, use `cargo build --workspace --release` and replace\n`target/debug` with `target/release`.\n\n## Documentation\n\n- [Gallery](gallery.md) — screenshots and demo clips of the TUI and web client.\n- [Architecture](docs/architecture.md) — daemon/client split, crates, and the\n  Agent Harness Protocol (AHP).\n- [Harnesses and session modes](docs/harnesses.md) — supported adapters,\n  interactive vs. headless modes, worktree isolation, and resume behavior.\n- [Program](docs/program.md) — the per-session Markdown document you and the\n  agent co-edit and run: smart clips, run shimmer, templates, and live\n  collaboration.\n- [Program selection verbs](docs/program-verbs.md) — typed refinement actions\n  on a Program selection (challenge assumptions, simplify, crystallize,\n  interview), the pinned inline terminal for interactive verbs, and authoring\n  your own.\n- [smith built-in agent](docs/smith.md) — providers, model selection, tools,\n  approvals, automode, and hooks.\n- [Unified tool layer](docs/unified-tool-layer.md) — MCP servers and shared tools for\n  fleet control, browser automation, and agent coordination.\n- [Generative widgets](docs/generative-widgets.md) — agent-generated Markdown UI\n  for compact session-scoped task state, timelines, and action links.\n- [Memory](docs/memory.md) — durable Markdown context for project workflows,\n  decisions, preferences, and pitfalls.\n- [Configuration](docs/configuration.md) — XDG paths, `CONSTRUCT_*` overrides, and\n  TUI theme customization.\n- [Remote control](docs/remote-control.md) — phone/browser access, QR setup,\n  credentials, and local debug mode.\n\n## License\n\nMIT — see [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconstruct-worlds%2Fconstruct","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconstruct-worlds%2Fconstruct","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconstruct-worlds%2Fconstruct/lists"}