AI-native terminal emulator / IDE built on Tauri 2 + React + Vite. Supports macOS, Windows, and Linux.
Source-available under the Business Source License 1.1 (BSL). Converts to Apache 2.0 three years after each release. See LICENSE for details.
- Tauri config:
src-tauri/tauri.conf.json - Version synced across:
package.json,src-tauri/tauri.conf.json,src-tauri/Cargo.toml - Bump version:
npm run bump -- X.Y.Z
npm run dev— Vite dev servernpm run tauri dev— Full Tauri app dev modenpm run test— Run testsnpx tsc --noEmit— Type check
- TypeScript: Strict mode. Follow existing patterns in
src/. - Rust: Standard
cargo fmtandcargo clippyconventions. - CSS: Per-component CSS files in
src/styles/. No CSS-in-JS. - Components: Functional React components with hooks. State lives in
SessionContext.
- Read CONTRIBUTING.md and DESIGN_PRINCIPLES.md before making changes.
- Open an issue or discussion before working on any new feature.
- Bug fixes and docs do not require prior discussion.
- All contributors must sign the CLA.
All public-facing release text must follow these rules:
- User-facing language only — Describe what changed from the user's perspective.
- Never expose internal details — No component names, library names, architecture patterns, file paths, or code-level specifics.
- Focus on outcomes — "Fast typing no longer causes missing characters" is good. "Added dedup guard to PTY write path" is bad.
- Keep it concise — Each item should be one clear sentence describing a change a user would notice.