ace is a minimal web GUI for coding agents.
It runs local provider CLIs behind a shared server, then streams session events to the UI over WebSocket.
ace is multi-provider. The repo currently includes provider integrations for:
- Codex
- Claude
- Cursor
- Gemini
- GitHub Copilot
- OpenCode
This project is still early and changing quickly.
- 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
- Start the app:
bun dev:webThis starts the web app and local server together.
Requirements:
bunnode- 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 typecheck
Before considering a change complete, run:
bun fmt
bun lint
bun typecheckapps/servermanages provider sessions and exposes the app over WebSocketapps/webis the main React/Vite UI- provider runtime activity is projected into shared orchestration events for the client
- some internals are still Codex-specific 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
- The server is the integration point for provider CLIs.
- The web app consumes server-pushed orchestration events rather than talking to providers directly.
- For contribution details, see CONTRIBUTING.md.
Attribution: ace is a fork of T3 Code by T3 Tools Inc. and is released under the MIT License, copyright (c) 2026 arpan404.