agentleFS
LARIkozLARIkoz/cli-council/llms.txt

cli-council

llms.txt1 starsChanged 8 days agoMITView on GitHub

Ask one question; several first-party model CLIs (Claude, Codex, Grok, Gemini/Antigravity) answer, anonymously rank each other, and a chairman synthesises the final answer. No API keys by default, zero runtime dependencies — it shells out to the official CLIs you already installed and authenticated. An OpenAI-compatible token voice is optional and opt-in (key from an env var). cli-council is an independent, clean-room reimplementation of the "LLM council" idea (first opinions → anonymized peer ranking → chairman synthesis) on a subscription-CLI…

The file

We split this llms.txt into the rules it gives an agent

1 rule. About 0 are common, 1 is distinctive, and 0 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈1

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 0

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    subscription-CLI substrate: instead of a paid HTTP API.

    line 11

≈ “Common” is an estimate: at least 1 in 5 of the 3,592 llms.txt files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
llms.txt
# cli-council

> Ask one question; several first-party model CLIs (Claude, Codex, Grok,
> Gemini/Antigravity) answer, anonymously rank each other, and a chairman
> synthesises the final answer. No API keys by default, zero runtime dependencies
> — it shells out to the official CLIs you already installed and authenticated. An
> OpenAI-compatible token voice is optional and opt-in (key from an env var).

cli-council is an independent, clean-room reimplementation of the "LLM council"
idea (first opinions → anonymized peer ranking → chairman synthesis) on a
**subscription-CLI substrate** instead of a paid HTTP API. Native-default —
Claude works out of the box; every other voice is opt-in behind a strict,
smoke-gated install contract that never enrols a voice it hasn't proven answers.
A voice can optionally be a token-based OpenAI-compatible API call instead of a
CLI, configured only in your local council.toml with the key kept in an env var.
The engine is mode-aware and built from two primitives: a COUNCIL (Karpathy:
opinions → anonymized peer-rank → chairman synthesis) for answers and reviews,
and a PANEL (every voice independently, worst-wins rule aggregation, no
chairman) for gates. `council "question"` asks; `council review [ref]` reviews a
code change, then optional audit/redteam panels verify the synthesis and a pure
rule gate reports clean / degraded / unverified (fail-closed). `council decide
"question"` makes a verified decision: the same council + audit panel, but
redteam is off by default (a recommendation has no ground-truth claim to refute)
and a family quorum requires ≥3 model families before it synthesises.

## Docs

- [README](README.md): what it is, why subscription-CLI and not an API, the provider table, how the three stages work, install and run.
- [Install contract](installer/CONTRACT.md): the strict gated install sequence (detect → choose → install → login → smoke → enrol → dry-run) and the invariants it guarantees.
- [NOTICE](NOTICE): clean-room provenance and credit to Karpathy's llm-council idea; what this is NOT (not an API client, not a credential tool, not account sharing).

## Code

- [council/stages.py](council/stages.py): the three council stages — first opinions, anonymized peer ranking, chairman synthesis, with loud-fail on any voice; a `Mode` chooses the ranking/chairman wording (ask vs review), the engine is shared.
- [council/review.py](council/review.py): review mode — build a review prompt from a git diff / files / prompt-file, run the council with review wording, synthesise one review with a verdict (SHIP/…/REWORK) and BLOCKER/IMPORTANT/CHECK/ACCEPT/NOISE severities.
- [council/decide.py](council/decide.py): decide mode — wrap a question in a decision contract, run the council with decision wording (recommendation + trade-offs + action tiers), gate on a ≥3 model-family quorum before synthesis, plus the DECISION audit prompt (invented convergence / misattribution / tier inflation) reused by the pipeline.
- [council/panel.py](council/panel.py): the PANEL primitive — every voice gets the same prompt independently and in parallel; verdicts aggregate worst-wins (a rule can't be talked into softening; a lone credible catch can't be outvoted).
- [council/audit.py](council/audit.py): verification layer — audit panel (synthesis vs raw reviews), redteam panel (adversarial attack on findings), mechanical greps, and the pure-rule gate (clean ⇔ audit CLEAN ∧ redteam HOLDS/skipped; fail-closed).
- [council/pipeline.py](council/pipeline.py): the one-call review pipeline (council → panels → gate) — the library entry point; returns status clean / degraded / unverified with reasons.
- [council/providers.py](council/providers.py): the provider table and two transports — a subprocess to an official CLI (default), or an opt-in stdlib-`urllib` call to an OpenAI-compatible endpoint (key from an env var); per-voice timeouts.
- [council/aggregate.py](council/aggregate.py): strict `FINAL RANKING` parse (exact permutation or reported failure) + Borda leaderboard + critique extraction.
- [installer/doctor.py](installer/doctor.py): the deterministic install gates — detect, smoke, smoke-gated enroll, list.

## Optional

- [council.example.toml](council.example.toml): enrolment plus per-voice command and timeout overrides.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.