CometixCode Ni Nini?
CometixCode ni msaidizi wa usimbaji unaotumia AI, unaotegemea terminal na kuandikwa kwa Rust. Ni utekelezaji huru wa kuunda upya kiolesura cha terminal cha Anthropic’s Claude Code, faili kwa faili, na si bidhaa rasmi ya Anthropic.
CometixCode si rasmi, haihusiani na Anthropic, na haijaidhinishwa wala kuungwa mkono na Anthropic. Claude na Claude Code ni alama za biashara za Anthropic, PBC.
Kiolesura cha awali cha terminal cha Claude Code kinatumia TypeScript pamoja na React na Ink. CometixCode huunda upya muundo huo kwa Rust kwa kutumia CometixTUI, uma wa mfumo wa kiolesura cha terminal wa iocraft unaohifadhi hali. Vipengele vya TypeScript vinaoanisha na vipengele vya Rust, hooks vinaoanisha na hooks, na tofauti za kimakusudi za usanifu zimeandikwa kwenye msimbo wa chanzo.
Mradi bado unaendelea kutengenezwa. Sehemu kubwa za mzunguko shirikishi, utekelezaji wa zana, ruhusa, ujumuishaji wa Model Context Protocol, na amri za slash zimetekelezwa, lakini baadhi ya maeneo bado hayajakamilika.
Vipengele Muhimu na Usanifu
- Kiolesura cha terminal chenye msingi wa Rust: Kiolesura kimetekelezwa kwa kutumia muundo wa vipengele na hooks wa mtindo wa React.
- Uhamishaji wa karibu wa usanifu: Mradi hufuata muundo wa CLI wa Claude Code uliochapishwa, faili kwa faili, badala ya kuubadilisha kwa muundo mpya.
- Mtiririko shirikishi wa usimbaji: Sehemu kuu za mzunguko wa msaidizi na mfumo wa utekelezaji wa zana zimetekelezwa.
- Ruhusa na amri: Ushughulikiaji wa ruhusa na usaidizi wa amri za slash umetekelezwa kwa kiwango kikubwa.
- Usaidizi wa MCP: Utendaji wa Model Context Protocol umejumuishwa, ingawa mradi kwa ujumla bado unaendelezwa.
- Vijenzi vya terminal vilivyoimarishwa: CometixTUI hutoa utofautishaji wa kiwango cha safu, usambazaji wa matukio, urejeshaji wa SIGCONT, usaidizi wa kishale cha IME, ubandikaji uliowekwa kwenye mabano, na mpangilio wa gridi.
- Utafutaji wa faili wa nje: CometixCode hutumia kitekelezo tofauti cha ripgrep badala ya kuijumuisha ripgrep kwenye binary yake.
Mahitaji ya Awali
Kabla ya kuunda CometixCode, sakinisha vitegemezi vifuatavyo:
- Rust 1.87 au mpya zaidi, ukitumia Rust edition 2024.
- ICU4C, inayohitajika na crates za
rust_icu_*kupitiapkg-config.
Sakinisha ICU4C kwenye macOS
Homebrew husakinisha ICU4C kama kifurushi cha keg-only. Isakinishe na uongeze saraka yake ya pkgconfig kwenye njia ya utafutaji:
brew install icu4c
export PKG_CONFIG_PATH="$(brew --prefix icu4c)/lib/pkgconfig"Tekeleza export hiyo kwenye shell unayotumia kuunda CometixCode. Ikiwa unafanya kazi kwenye mradi huu mara kwa mara, ongeza kigezo hicho kwenye faili linalofaa la usanidi wa shell.
Sakinisha ICU4C kwenye Debian au Ubuntu
sudo apt install libicu-dev pkg-configUnda CometixCode
Fungua terminal kwenye mzizi wa hazina na uunde toleo lililoboreshwa la release:
cargo build --releaseBinary inayotokana inaitwa cometix. Muundo wa release unafaa kwa matumizi ya kawaida kwa sababu unawezesha maboresho ya Rust ya release.
Endesha Msaidizi
Unda na uzindue CometixCode kupitia Cargo kwa:
cargo run --releaseHii huanzisha kiolesura cha terminal kwa kutumia wasifu wa release. Kwa kuwa mradi unaendelezwa kikamilifu, tarajia baadhi ya mtiririko wa kazi kutokamilika ingawa utendaji mkuu wa mwingiliano, zana, ruhusa, MCP, na amri tayari upo.
Amri ya Msingi ya Uchunguzi
Ndani ya CometixCode, tumia amri ifuatayo ya slash kukagua mazingira yaliyosanidiwa, ikiwemo kitekelezo cha ripgrep kinachotumika:
/doctorHii ni muhimu hasa wakati utafutaji wa faili haupatikani au unapohitaji kuthibitisha ikiwa CometixCode ilichagua binary ya rg iliyofungashwa au iliyosakinishwa kwenye host.
Sanidi ripgrep kwa Utafutaji wa Faili
CometixCode hukabidhi utafutaji wa faili kwa rg, zana ya mstari wa amri ya ripgrep. Kitekelezo cha ripgrep hubaki kuwa rasilimali ya nje na hakiunganishwi kamwe kwenye kitekelezo cha cometix.
CometixCode hutafuta ripgrep kwa mpangilio huu:
vendor/ripgrep/<arch>-<os>/rgkaribu na kitekelezo, kama kinavyotumiwa na kumbukumbu za release.vendor/ripgrep/<arch>-<os>/rgkwenye mti wa msimbo wa chanzo, kama kinavyotumiwa wakati wa uendelezaji.- Amri ya
rgya mfumo wa host inayopatikana kupitiaPATH.
Kwa hiyo unaweza kuweka build ya ripgrep iliyowekwa toleo katika saraka ya jukwaa inayolingana ya vendor/ripgrep/, au kusakinisha ripgrep kwenye host na kuhakikisha kuwa rg ipo kwenye PATH.
Lazimisha Binary ya ripgrep ya Host
Weka USE_BUILTIN_RIPGREP kuwa 0 unapotaka CometixCode iruke rasilimali za ripgrep zilizowekwa kwenye mradi na itumie kitekelezo cha host:
USE_BUILTIN_RIPGREP=0 cargo run --releaseBaada ya kuzindua, endesha /doctor ili kuthibitisha binary iliyochaguliwa.
Endesha Seti ya Majaribio kwa Usahihi
CometixCode ina hali ya kiwango cha mchakato mzima, ikiwemo vigezo vya mazingira na akiba za OnceLock. Kuendesha kila jaribio kama thread ndani ya mchakato mmoja kunaweza kuruhusu hali kuvuja kati ya majaribio, kwa hiyo cargo test ya kawaida haichukuliwi kuwa lango halali la ubora kwa crate hii.
Badala yake, mradi hutumia cargo-nextest, inayoitwa kupitia just. Hii huipa kila jaribio mchakato wake na kuweka hali ya host ambayo jaribio lingeweza kurithi vinginevyo.
Endesha Seti Kamili
just testHili ndilo lango kamili la lazima la majaribio la mradi.
Endesha Majaribio Yanayolingana na Mchoro
just t <pattern>Badilisha <pattern> kwa kamba ndogo inayotumika kuchuja majaribio unayotaka kutekeleza.
Fanya Ukaguzi wa Haraka wa Msimbo
just checkHii hufanya ukaguzi wa aina na ukopaji bila kuunganisha, hivyo ni muhimu kwa kupata mrejesho wa haraka unapohariri msimbo wa Rust.
Vidokezo vya Kina vya Uundaji
- Pendelea hali ya toleo kwa matumizi ya kawaida: Tumia
cargo run --releasekuendesha muundo ulioboreshwa uliobainishwa katika nyaraka za mradi. - Kagua ugunduzi wa ICU kwanza: Kwenye macOS, hitilafu ya uundaji inayohusisha ICU inaweza kuashiria kuwa
PKG_CONFIG_PATHhaijumuishi saraka ya metadata ya ICU4C ya Homebrew. - Tambua matatizo ya utafutaji wa faili kwa
/doctor: Thibitisha kitekelezi halisi cha ripgrep kilichochaguliwa kabla ya kubadilisha faili za vendored au usanidi wa mfumo. - Funga toleo la ripgrep inapohitajika kurudiwa kwa uaminifu: Weka binary inayokusudiwa chini ya njia mahususi ya jukwaa ya
vendor/ripgrep/badala ya kutegemea toleo lolote lililosakinishwa kimataifa. - Usibadilishe
cargo testkuchukua nafasi ya lango la mradi: Tumiajust testili majaribio yapokee utenganishaji wa michakato unaotarajiwa na codebase. - Rejelea justfile kwa sababu za majaribio: Kichwa chake kinaandika vipimo vilivyo nyuma ya mkakati wa majaribio uliochaguliwa.
Mazingatio ya Leseni
CometixCode inasambazwa chini ya leseni ya AGPL-3.0-only. Leseni hii ina sharti la matumizi ya mtandao: ukiendesha toleo lililorekebishwa kama huduma ya mtandao, watumiaji wake wana haki ya kupata msimbo chanzo unaolingana wa toleo hilo lililorekebishwa.
Hitimisho
CometixCode hutoa utekelezaji mpya unaotegemea Rust wa usanifu wa terminali wa Claude Code kwa kutumia CometixTUI. Mara Rust, ICU4C na kitekelezi kinachofaa cha ripgrep vinapopatikana, unaweza kuujenga na kuuanzisha kwa Cargo, kukagua usanidi wa utafutaji kupitia /doctor, na kuthibitisha mabadiliko kwa mtiririko wa kazi wa mradi wa just test unaotenganisha michakato.
