Haleclipse/CometixCode
An unofficial Rust reimplementation of Anthropic's Claude Code terminal UI, built on iocraft
About Haleclipse/CometixCode
Haleclipse/CometixCode is an open-source project on GitHub, mainly written in Rust. An unofficial Rust reimplementation of Anthropic's Claude Code terminal UI, built on iocraft It currently holds 235 stars and 11 forks with 0 open issues, and was last pushed on an unknown date (repository created unknown).
Project Overview
AI Homed tracks it on the Today's Trending board, currently at rank #78 with 0 new stars today.
GitHub Repository Details
README
CometixCode
A terminal-based AI coding assistant, written in Rust as a 1:1 reimplementation of Anthropic's Claude Code.
Unofficial project, not affiliated with Anthropic.
This is an independent reimplementation built by reading the published
Claude Code CLI. "Claude" and "Claude Code" are trademarks of Anthropic, PBC.
Nothing here is endorsed by or supported by Anthropic.
What this is
Claude Code's terminal UI is TypeScript on React + Ink. CometixCode reproduces it in Rust on iocraft, a React-style retained-mode TUI framework that is the structural counterpart of Ink — components, hooks, declarative elements. The port follows the original file by file rather than reinventing the architecture: a TypeScript component maps to a Rust component, a hook to a hook, and deliberate deviations are recorded in the source where they happen.
It builds against [CometixTUI], a fork of iocraft carrying the primitives this port needs (row-level diffing, event propagation, SIGCONT self-healing, IME cursor, bracketed paste, grid layout).
It is a work in progress. Large parts of the interactive loop, tool execution, permissions, MCP and slash commands are implemented; other areas are partial.
Building
Prerequisites
- Rust 1.87+ (edition 2024)
- ICU4C — the
rust_icu_*crates bind to it throughpkg-config
pkgconfig directory has to be on the
search path:
brew install icu4c
export PKG_CONFIG_PATH="$(brew --prefix icu4c)/lib/pkgconfig"
On Debian/Ubuntu:
sudo apt install libicu-dev pkg-config
Build and run
cargo build --release
cargo run --release
The binary is cometix.
ripgrep
File search shells out to rg. Claude Code ships a packaged ripgrep inside its
npm package and executes that path; CometixCode keeps the same shape — the
binary is an external asset, never compiled into the executable.
Resolution order:
1. vendor/ripgrep/-/rg next to the executable (release archives)
2. vendor/ripgrep/-/rg in the source tree (development)
3. the host's rg on PATH
So either drop a pinned ripgrep under vendor/ripgrep/, or just have rg
installed. /doctor reports which one is in use. Setting
USE_BUILTIN_RIPGREP=0 forces the host binary.
Testing
just test # full suite through cargo-nextest — the gate
just t # substring filter
just check # type/borrow check only, links nothing
cargo test is not a valid gate for this crate. It runs the whole suite as
threads in one process, and this codebase has process-wide state (env vars,
OnceLock caches) that leaks between tests as a result. just test runs under
cargo-nextest, which gives each test its own process, and pins the host state
a test would otherwise inherit. The justfile header explains the measurements
behind that.
License
Note the network clause: if you run a modified version as a network service, its users are entitled to the modified source.
[CometixTUI]: https://github.com/Haleclipse/CometixTUI