[ any cli ][ one server ]
CLI Delegationconfig-driven · MCP over STDIO

Plot every CLI on one sheet.

Any CLI becomes a delegate. Delegates become a council. The council ships one verdict.

$npx -y clinkx@latest
Fig.01 · Convergence
⊢ many agentsone verdict ⊣
Context Receipt
{
  "run_id": "ctx_0617",
  "status": "ok",
  "recommended_clink": {
    "absolute_file_paths":
      ["src/server.ts"]
  }
}
clink · context_builder · councils · elaris
§Abstractfour chapters · one sheet

Alone, each CLI is an opinion. Convened, they’re a verdict.

ITools & pipeline

One surface. Every tool.

§ 1.0 · index
Delegationclink · clink_agent_run · clink_agent_manage§ 1.1
Contextcontext_builder · refine_context_run§ 1.2
Councilsrun_workflow · resume_workflow · list_workflows · workflow_run_status · cancel_workflow[ ch. II ]
Sessionsclink_elaris_run · clink_elaris_manage[ ch. IV ]
§ 1.1

clink

Run a configured CLI as a subprocess subagent and return its final output. Single-shot, stateless, safe to run in parallel.

agycodexclaudeglm…anything
§ 1.2

context_builder

Build a persisted, attachable context bundle from allowed roots before you delegate. Deterministic selection; any prior run can be refined.

manifest.jsonartifacts/bundle.mdminified receipt
§ 1.3

context pipeline

anchorbounded focus · required
selectdeterministic · local
bundledurable run dir
receiptone minified JSON
delegatepaths → clink
IICouncils

Many models deliberate. One verdict ships.

Memberspropose in parallel
codexglmclaudeagy
Reviewersevaluate anonymously
reviewer · areviewer · breviewer · c
Rankingdeterministic reducer
rank + score
Chairmansynthesizes the verdict
final decision
Shipped councils
council-defaultPropose, review, decide.
council-answerOne deliberated answer.
council-code-reviewReviewers assess; chairman rules.
council-debugCompeting hypotheses, one verdict.
council-discoverSurvey an unfamiliar codebase.
Control plane

clinkx-workflows delegates each call to a ClinkX child over stdio — resumable, or detached with async:true.

run_workflowresume_workflowlist_workflowsworkflow_run_statuscancel_workflow
IIIConfig & safety

Adapters, not allowlists.

Any CLI you can spawn, described in one JSON file.

conf/adapters/agy.jsonAdapter
{
  "name": "agy",
  "command": "agy",
  "args": ["--print", "--print-timeout", "3600s"],
  "parser": "text",
  "prompt_mode": "stdin",
  "timeout_seconds": 3600
}
mcp client configvia npx
{
  "mcpServers": {
    "clinkx": {
      "command": "npx",
      "args": ["-y", "clinkx@latest"],
      "env": {
        "CLINKX_ALLOWED_ROOTS": "/path/to/workspace"
      }
    }
  }
}
3.3 · Safety

Inputs are validated before anything spawns. What spawns runs as you — no sandbox, no pretense.

allowed rootsinput validationsanitized envsecret-aware bundles
IVSessions

Elaris sessions, driven from your CLI.

A sister project, exposed as an opt-in remote session family — start long-running remote agents and drive them without leaving the MCP surface.

Two toolsclink_elaris_run starts a session; clink_elaris_manage drives it.
Multi-turnkeep_alive sessions take follow-up turns, recoverable by run_id.
GitHub-awareTarget a branch or create a worktree — validated before send.
Credential-safe readsEvery read carries a redaction count; raw blobs withheld on detection.
Opt-in — off by default
clink_elaris_runRemote
{
  "prompt": "Update the README",
  "permission_mode": "auto",
  "github_repo": { "full_name": "owner/repo" },
  "keep_alive": true
}
v.0.3.0 · stdioGet started

Call the council to order.

One command — every CLI you’ve configured takes its seat.

Client config