ace is an agentic coding environment for running local coding-agent CLIs through one web, desktop, and remote-control workspace.
It starts provider CLIs behind a shared server, normalizes their runtime events, and streams session state to the UI over WebSocket.
The project is actively developed and already used as a daily coding workspace. Expect regular improvements as provider CLIs and desktop release flows evolve.
ace currently includes integrations for:
- Codex
- Claude
- Cursor
- Gemini
- GitHub Copilot
- OpenCode
- Pi
Provider CLIs are installed and authenticated separately. ace does not replace provider accounts or provider-specific auth flows.
Provider-specific features are implemented natively where ace can expose them cleanly. Codex currently has the deepest native integration, including plugins, skills, image generation, and Browser Use inside ace's in-app browser. More provider-specific capabilities are coming across Claude, Cursor, Gemini, GitHub Copilot, OpenCode, and Pi.
See FEATURES.md for the current feature map.
- Install dependencies:
bun install- Install and sign in to at least one supported provider CLI:
Examples:
- Codex:
codex login - Claude:
claude auth login - Gemini: install Gemini CLI and sign in
- Cursor: install
cursor-agent - GitHub Copilot: configure through ace app settings; availability is checked through the Copilot runtime
- OpenCode: install
opencode - Pi: install the Pi CLI, for example
npm install -g @mariozechner/pi-coding-agent
- Check local setup:
bun apps/server/src/bin.ts doctor- Start the app:
bun dev:webThis starts the web app and local server together.
The Electron desktop app lives in apps/desktop.
Local all-platform desktop releases are documented in docs/release.md. The short path is:
# Build all desktop assets locally without publishing.
bun run dist:desktop:all -- --tag vX.Y.Z --create-tag
# Build, upload assets, and create/update the GitHub Release with changelog notes.
bun run release -- --tag vX.Y.ZThe local release flow reads .env.local automatically. Start from
.env.local.example and keep real signing values out of
git.
Generated release artifacts stay out of git. Use ignored release directories such
as release/, release-local/, or release-*.
The mobile app is in development in apps/mobile. It is part of the ace workspace direction for remote supervision and companion workflows, but the web and desktop apps are the primary daily-use surfaces today.
The ace CLI can start/open the app, manage the daemon, diagnose provider setup, control telemetry, inspect terminals, and manage local/remote runtime state.
Quick examples:
# Open the app (reuses or starts daemon)
ace web
# Check local setup
ace doctor
# Start daemon in background
ace daemon start
# Stop daemon (same as `ace daemon stop`)
ace stop
# Restart daemon
ace daemon restart
# Telemetry and runtime controls
ace telemetry off
ace telemetry status
ace daemon start --telemetry on
# Managed terminals
ace terminal listFull CLI guide with first-run setup, diagnostics, telemetry/privacy controls, terminal management, remote pairing, troubleshooting, and automation examples:
Requirements:
- Bun
1.3.9or compatible withpackage.json - Node
24.13.1or compatible withpackage.json - at least one supported provider CLI installed locally
Common commands:
bun dev:webbun dev- full dev runnerbun dev:web- web app + serverbun dev:server- server onlybun dev:desktop- desktop appbun dev:mobile- mobile appbun dev:marketing- marketing sitebun fmtbun lintbun typecheckbun run test
Before considering a change complete, run:
bun fmt
bun lint
bun typecheckUse bun run test for tests. Do not use bun test; the repo scripts route tests through Turbo/Vitest.
apps/servermanages provider sessions, daemon lifecycle, CLI commands, and WebSocket routing.apps/webis the main React/Vite UI.apps/desktopwraps the app in Electron and owns native desktop lifecycle/update behavior.- Provider runtime activity is projected into shared orchestration events for the client.
- Some internals are still Codex-first today, but the product and provider layer are designed to support multiple backends.
apps/web- React/Vite UIapps/server- WebSocket server and provider/session orchestrationapps/desktop- Electron desktop shellapps/mobile- React Native / Expo mobile appapps/marketing- marketing siteapps/relay- relay apppackages/contracts- shared schemas and protocol typespackages/shared- shared runtime utilities
Small reliability, performance, cross-platform, and docs improvements are the easiest contributions to review. Open an issue before large features, provider integrations, or protocol changes.
See CONTRIBUTING.md.
Community and maintainer process:
ace is released under the MIT License.
This project began as a fork of T3 Code by T3 Tools Inc. and is now maintained as ace by arpan404.