Skill4.7k estrellas del repoactualizado today
orca-cli
Orca CLI is a command-line interface for managing Orca's development environment, including worktrees, repositories, terminals, and browser tabs. Use it when Orca's editor is running and you need to query or modify workspace state, create child worktrees for related tasks, manage repository references, or orchestrate multi-terminal workflows, preferring JSON output for programmatic calls.
Instalar en Claude Code
Copiargit clone --depth 1 https://github.com/stablyai/orca /tmp/orca-cli && cp -r /tmp/orca-cli/skills/orca-cli ~/.claude/skills/orca-cliDespués abre una sesión nueva de Claude Code; el skill carga automáticamente.
Definición
SKILL.md
# Orca CLI Use `orca` when Orca's running editor/runtime is the source of truth. On Linux, use `orca-ide` wherever this file says `orca`. **Dev builds (`pnpm dev`):** after `pnpm build:cli`, the dev CLI is exposed as `orca-dev` (the global shim points at this checkout's wrapper + out/cli). Inside a dev Orca's terminals use `orca-dev emulator ...` (or `./config/scripts/orca-dev.mjs emulator ...` for worktree-local invocation that does not depend on the /usr/local/bin symlink). Plain `orca` targets any installed production Orca. The app's own agent preambles use `orca-dev` automatically in dev mode. Use plain shell tools when Orca state does not matter. ## Start Here ```bash command -v orca || command -v orca-ide orca status --json orca worktree ps --json orca terminal list --json ``` If Orca is not running, start it: ```bash orca open --json orca status --json ``` Prefer `--json` for agent-driven calls. If the CLI is missing, say so explicitly instead of inspecting source files first. ## Worktrees An Orca worktree/workspace is Orca's tracked view of a repo checkout, its metadata, terminals, browser tabs, and UI state. Common commands: ```bash orca repo list --json orca repo show --repo id:<repoId> --json orca repo add --path /abs/repo --json orca repo set-base-ref --repo id:<repoId> --ref origin/main --json orca repo search-refs --repo id:<repoId> --query main --limit 10 --json orca worktree list --repo id:<repoId> --json orca worktree ps --json orca worktree current --json orca worktree show --worktree <selector> --json orca worktree create --repo id:<repoId> --name related-task --json orca worktree create --name child-task --agent codex --prompt "hi" --json orca worktree create --name independent-task --no-parent --json orca worktree set --worktree id:<worktreeId> --display-name "My Task" --json orca worktree set --worktree active --comment "reproduced bug; testing fix" --json orca worktree rm --worktree id:<worktreeId> --force --json ``` Selectors: - `id:<worktreeId>`, `path:<absolutePath>`, `branch:<branchName>`, `issue:<number>` - `active` / `current` for the enclosing Orca-managed worktree from the shell cwd Lineage rules: - When creating from inside an Orca-managed worktree, Orca infers the current workspace as the parent when it can. - Use `--parent-worktree active` when the child relationship should be explicit. - Use `--no-parent` only when the new work is independent. - If `--repo` is omitted, Orca infers the repo from the current Orca worktree when possible. Agent/setup flags: ```bash orca worktree create --name task --agent codex --prompt "hi" --json orca worktree create --name task --agent claude --setup run --json orca worktree create --name task --setup skip --json orca worktree create --name task --run-hooks --json ``` - `--agent <id>` launches that agent in the first terminal; `--prompt <text>` sends initial work to it. - `--setup run|skip|inherit` controls repo setup hooks. Default is `inherit`, which follows the repo's setup policy. - `--run-hooks` is a legacy alias for `--setup run`; it also reveals/activates the new worktree. - `--agent`, `--activate`, and `--run-hooks` reveal the new worktree. Plain create stays in the background. - Let Orca choose setup terminal placement from repo settings, including tab vs split behavior. Do not manually create extra setup terminals. - If an older installed CLI rejects `--agent`, `--prompt`, or `--setup`, create the worktree normally, then run `orca terminal create --worktree <selector> --command "codex"` and `orca terminal send` if a prompt is needed. ## Worktree Comments A worktree comment is the short status text shown in Orca's workspace list/card for quick progress visibility. Coding agents should update the active worktree comment at meaningful checkpoints: ```bash orca worktree set --worktree active --comment "fix implemented; running integration tests" --json ``` Update after meaningful state changes such as repro, fix, validation, handoff, or blocker. Keep comments short/current; failures are best-effort unless Orca state was requested. ## Terminals Common commands: ```bash orca terminal list --worktree id:<worktreeId> --json orca terminal show --terminal <handle> --json orca terminal read --terminal <handle> --json orca terminal read --terminal <handle> --cursor <cursor> --limit 1000 --json orca terminal read --json orca terminal send --terminal <handle> --text "continue" --enter --json orca terminal send --text "echo hello" --enter --json orca terminal wait --terminal <handle> --for exit --timeout-ms 5000 --json orca terminal wait --terminal <handle> --for tui-idle --timeout-ms 300000 --json orca terminal stop --worktree id:<worktreeId> --json orca terminal create --json orca terminal create --title "Worker" --json orca terminal create --worktree active --command "codex" --json orca terminal split --terminal <handle> --direction vertical --json orca terminal split --terminal <handle> --direction horizontal --command "npm test" --json orca terminal rename --terminal <handle> --title "New Name" --json orca terminal switch --terminal <handle> --json orca terminal close --terminal <handle> --json ``` Terminal rules: - `--terminal` is optional for most commands; omitted means the active terminal in the current worktree. - Use `terminal read` before `terminal send` unless the next input is obvious. - Use `terminal send` only for direct terminal input or one-off prompts where no task state, inbox, or reply tracking is needed. - For structured coordination, invoke the `orchestration` skill; it uses `orca orchestration ...` commands for messages, handoffs, task DAGs, dispatches, inbox/reply flows, and coordinator loops. - Use `terminal wait --for tui-idle` for agent CLIs such as Claude Code, Gemini, and Codex; always pass `--timeout-ms`. - Terminal handles are runtime-scoped. If Orca restarts or returns `terminal_handle_stale`, reacquire with `terminal list`. - For long output, use cursor reads. Af
Del mismo repositorio