CommandCodeAI / CommandCodeAI/command-code
Request: bless a stable headless contract so a Linux desktop client can embed `cmd`
まだ誰も着手していません。
- 主要言語
- 言語のデータがありません
- スター
- 4k
- フォーク
- 350
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
Request: bless a stable headless contract so a Linux desktop client can embed cmd
Hi, I maintain MonoCode Linux, a Tauri + React desktop app that puts several coding CLIs behind one composer. Each provider gets a small adapter: the app spawns the CLI, streams its events into the transcript, and maps approvals, questions, cancel, resume, and model lists.
I want to add Command Code as a provider and I have headless mode mostly mapped: cmd -p --output-format json gives NDJSON events plus a final result line, --verbose prints the session id on stderr for later --resume, transcripts persist per directory under ~/.commandcode/projects/, and without --yolo file writes and shell commands stay blocked, which fits a supervised mode.
Before I wire up the adapter, I need a few things nailed down so it does not depend on behavior that might change:
- Is
--output-format jsonin-pmode a stable contract I can parse? I will ignore unknownevent.typevalues, but I want to know if theresultline shape is versioned anywhere. - Is there a machine-readable model list?
--list-modelsprints a table whilestatus --jsonalready emits JSON. A--jsonflag for models would remove table parsing. - What are the cancel semantics for a headless run? SIGINT/SIGTERM maps to exit 130. Does the transcript stay resumable after a kill, and is there a preferred way to stop a run from a parent process?
- Is
cmd loginpluscmd status --jsonthe supported headless auth check? Anything a desktop client should do differently? - Does
-psupport concurrent runs in the same directory, or should the client serialize turns per session? Related: is--continuesafe when no headless session exists yet (it starts fresh in my tests)? - Anything Linux-specific to know? The npm package needs Node 22+, which matters for an AppImage that resolves its own runtime search path.
What I can offer back: a reference adapter in TypeScript that spawns cmd -p --output-format json, maps the NDJSON stream onto transcript events, and handles resume, cancel, and model switching. Happy to shape it to whatever contract you bless, or to test an unstable flag and report back.
Tested on: command-code 1.56.0, Node v22.23.2, Linux x64.
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
調査の方向性
リクエストで指定されている headless エントリポイントから始めます: cmd -p --output-format json、--list-models、status --json、cmd login、および再開またはキャンセルの処理です。command-code 1.56.0 における現在の動作を比較し、イベント、モデル一覧、認証、シグナル、並行性、Linux ランタイムに関するどの動作を文書化または安定化できるかを判断します。提案されている TypeScript アダプターなどのクライアント向けに、サポートされる契約と必要なフラグが明確に仕様化されていれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- linux, node.js, react, tauri, typescript
- 領域
- api, cli, desktop
- issue の種類
- 機能追加
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 活発さ
- 活発
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 25/100