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.
Current desktop release state:
- macOS release artifacts are available.
- Windows and Linux packaging are part of the release workflow but need more real-device validation before production use.
- macOS signing/notarization and Windows signing require maintainer-owned signing credentials.
Generated release artifacts should stay out of git. Use ignored release directories such as release/ or release-mac-*/.
From macOS, Linux AppImage artifacts can be built locally in Docker:
bun run dist:desktop:linux:dockerThe Docker build intentionally uses a Linux node_modules volume so platform-native dependencies are installed inside the container instead of reusing host macOS dependencies. Windows installers should still be built on Windows or in the GitHub Actions release matrix because the desktop app includes native dependencies.
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.
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.