Repository navigation
Releases
v0.2.0
v0.2.0
On Homebrew
brew install overfocus/tap/rigswig, for macOS and Linux. The formula installs this release's own binaries, each checked againstSHA256SUMS(the tap).
What past sessions used
- rigswig usage: what past sessions invoked, read only when asked, metadata only.
rigswig usagereads Claude Code's session logs for a repo and counts the agents, skills and MCP servers its sessions called, the models and the tokens.rigswig audit --usageadds a finding for what loads but no session called. Codex and the other harnesses refuse for now. - Session logs are opened only by a run that asks (
usage,audit --usage), never by the page or the MCP server, and only these fields are read: ids, times, the working folder, models, token counts and the names of what was called. Never message text, thinking, tool inputs or results. This replaces the earlier "no transcripts" guarantee; docs/USAGE.md lists every field and what changed.
In your editor
- The editor extension shows the audit's findings in the status bar, with the tokens the fixes could save, and the page panel has a refresh/open toolbar. Its findings read never opts into session logs. (Extension 0.0.3, the VSIX above.)
Docs
- A getting-started guide leads the docs: docs/GETTING-STARTED.md.
Still true
- The JSON output may change in a minor release until 1.0. The binaries are not signed or notarized yet.
Install: brew install overfocus/tap/rigswig, cargo install rigswig (crates.io has rigswig-core and rigswig at 0.2.0), or npm install -g rigswig / npx rigswig. Verify a tarball: shasum -a 256 -c SHA256SUMS.
Full Changelog: v0.1.4...v0.2.0
v0.1.4
v0.1.4
The MCP server, the path-display fix and now: two more harnesses plus the CLI's first editor surface.
New harnesses — rigswig reads eleven
- GitHub Copilot CLI (
copilot): the~/.copilotconfig root (COPILOT_HOME), the settings files with their user < repository < local precedence, the instruction chains including theapplyTo-scoped.github/instructions/**, skills from five roots, custom agents with the docs' inverted precedence (a personal agent beats a project one), hooks from the flat files, the settingshookskey and Claude's settings for the cross-tool subset, and MCP with workspace-over-user. - Hugging Face CLI (
hf): a skill-provider surface — the Agent-Skills stores (hf skills addwrites.agents/skills, the Claude mirror the CLI links), and the CLI's own staleness contract: a generatedhf-cliskill must carry "Generated withhuggingface_hub v<installed>", and rigswig warnshf-cli-skill-staleper stale copy, reading the installed version from thedist-infobeside the CLI.
status: an evidence pick that says when it is guessing
Without --tool, the harness with the most evidence is read, as before. What changed: when the winner scores at most 50 — nothing repo-specific points at any harness — the human output says so, lists every installed harness with its evidence and scores, marks the one being read, and on a machine with no evidence names the readers instead of reading anything. --json keeps its contract; --tool and the MCP tools are unchanged.
In your editor
The release carries the first VSIX: a thin VS Code / Cursor extension (rigswig-vscode-v0.1.4.vsix, checksummed above) — the context bill in the status bar, the read-only page in a panel. It spawns the CLI and starts nothing in write mode. Registering the MCP server in VS Code is a doc row in docs/MCP.md; publishing the extension to the Marketplace and Open VSX is handover-documented in docs/EDITOR-REGISTRIES.md.
Fixed
rigswig ... | headno longer panics on a closed pipe:mainresets SIGPIPE to the default on unix, and every command stops quietly.
- New subcommand:
rigswig mcp(v0.1.3) — seedocs/MCP.md. - The five
@kftcda/cli-*+rigswignpm packages: provenance-attested, as usual.
rigswig 0.1.3
rigswig is an MCP server now. rigswig mcp speaks newline-delimited JSON-RPC over stdio — the transport a harness's own client launches and owns — so the tools you audit can ask the auditor: what does a session in this repo load, does it pass its budgets, what does an audit find, and what would differ between two checkouts or two harnesses.
Five tools: status (the full harness JSON, with what-if), check (the CI limits and their verdict), audit (ranked findings with fixes), compare (two repos or two harnesses), and tools (harness detection with evidence). Read-only by construction: no write tool, no network from a tool call, and the registration is the same mcpServers row the adapters already read — see docs/MCP.md. The protocol is hand-rolled on serde_json and std; nine wire-level tests spawn the binary and check every message, including that no tool run prints into the protocol.
Also in this release: a Windows path-display fix (an absolute path built with Path::join displayed its platform separator mid-path; every displayed path is forward-slash on every host now).
Install: cargo install rigswig (crates.io has rigswig-core and rigswig at 0.1.3), or npm install -g rigswig / npx rigswig (npm has the six packages at 0.1.3, all with provenance attestations). Verify a tarball: shasum -a 256 -c SHA256SUMS.
Full Changelog: v0.1.2...v0.1.3
rigswig 0.1.2
Five more harnesses join the audited set; rigswig status now reads nine: Claude Code, Codex, Hermes Agent, Ollama and these five.
New adapters (each with its rules doc, its invented-fixture tests, and live verification):
- Devin CLI —
rigswig status --tool devin(the rules): five policy layers plus theread_config_fromimport layers, JSONC configs, hooks from three sources, skills and subagents across the standard families, MCP merged by name, permissions that merge without shadowing. - Cursor —
--tool cursor(the rules): the four.mdcrule modes from their frontmatter, nestedAGENTS.md, skills and subagents across five families, hooks from Cursor's and Claude's settings, bothmcp.jsonfiles. - Gemini CLI —
--tool gemini(the rules): the reversed settings precedence,GEMINI.mdhierarchies with@importsfollowed to five hops, TOML commands as skills, additive hooks across settings layers and extensions, policy TOMLs as permissions. - DeepSeek Harness —
--tool dsh(the rules): theagent-instructionschain with per-directory dedup, and the ranked local skill roots; the composed Cordis tree stays honest coverage. - DeepSeek-CLI (community) —
--tool deepseek(the rules): first-match instruction loading, per-project long-term memory at session start, eight skill roots in scan order, flat-array hooks.
New shared machinery: a comment-tolerant JSONC reader (in read/json.rs, unit-tested), Cursor's and Gemini's hook events mapped onto the shared neutral names.
Install: cargo install rigswig (crates.io has rigswig-core and rigswig at 0.1.2), or npm install -g rigswig / npx rigswig (npm has the six packages at 0.1.2, all with provenance attestations).
Verify a tarball: shasum -a 256 -c SHA256SUMS.
Full Changelog: v0.1.1...v0.1.2
rigswig 0.1.1
rigswig is now on both package registries.
- npm:
npx rigswigornpm install -g rigswig. Therigswigpackage installs the prebuilt binary for your platform from per-platform packages. - crates.io:
cargo install rigswig(rigswigandrigswig-core). - Both are published from the release workflow through trusted publishing; the crates.io job waits for an approval.
No change to what rigswig reads or shows since 0.1.0.
Install from a download: pick your platform's archive below and check it with shasum -a 256 -c SHA256SUMS.
Full Changelog: v0.1.0...v0.1.1
rigswig 0.1.0
The first release of rigswig: see everything your coding agent loads before you type, and where each piece came from.
A coding agent's harness is everything around the model: instruction files, agents, skills, commands, hooks, MCP
servers, plugins, permissions and the model setting, spread across user, project, local and managed scopes. rigswig
reads it for a repo, shows what a session there actually gets, which scope decided each setting, what is overridden,
and roughly how much context it costs before the first message, then tells you what to trim.
What's in 0.1.0
rigswig status: the harness of a repo, by kind and by layer, with the context estimate and its largest items.
Claude Code, OpenAI Codex CLI, Hermes Agent and Ollama, each modelled from its own documentation
(docs/adapters).rigswig audit: ranked findings, each with its evidence, the tokens it would save and a proposed fix:
user-scope agents and skills nothing in the repo references, plugins the repo has no files for, instruction files
over budget, text repeated across layers, dead references, a CLAUDE.md that never imports its AGENTS.md, and
permission rules that are risky, one-off or already covered. Fleet mode (--repos '~/code/*') says which repos
need each user-scope item, and what to archive or move to project scope.rigswig ui: the same as a local page on 127.0.0.1, behind a random token: the budget on your model's context
window, every item, settings with the layers that set them, a compare view, and the audit with a progress bar,
filters and links to the items each finding names. Read-only unless started with--allow-writes(plugins and
project MCP servers on and off, each with a preview, a backup and undo).rigswig compare: two repos, or two harnesses on one repo.rigswig check: limits for CI (--max-tokens 40k,--max-item-tokens,--no-warnings), and--without
what-ifs onstatusandcheck.--github owner/repoand--archive repo.tar.gz: audit a repo without cloning it. The archive is unpacked
into memory, never onto disk, and read with an empty home folder, so your own setup is not part of the result
(docs/GITHUB.md).
Guarantees
No model calls. No telemetry. No network request unless you ask for one with --github (one public archive from
codeload.github.com); build with --no-default-features for a rigswig with no network code at all. Nothing written
unless the page is started with --allow-writes. No secrets printed or served. No transcripts read. A folder listed in
~/.rigswig/private.json is refused as a repo and skipped by fleet mode.
Install
Download the archive for your platform below, check it against SHA256SUMS, and put rigswig on your PATH:
| Platform | Asset |
|---|---|
| macOS, Apple Silicon | rigswig-v0.1.0-aarch64-apple-darwin.tar.gz |
| macOS, Intel | rigswig-v0.1.0-x86_64-apple-darwin.tar.gz |
| Linux x86_64 (static) | rigswig-v0.1.0-x86_64-unknown-linux-musl.tar.gz |
| Linux arm64 (static) | rigswig-v0.1.0-aarch64-unknown-linux-musl.tar.gz |
| Windows x86_64 | rigswig-v0.1.0-x86_64-pc-windows-msvc.zip |
The binaries are not signed or notarized yet. On macOS, one downloaded through a browser may need
xattr -d com.apple.quarantine ./rigswig before it runs. Or build from source: cargo install --git https://github.com/overfocus/rigswig rigswig. Added after this release was drafted: 0.1.0 is also on crates.io (cargo install rigswig) and npm
(npx rigswig). Homebrew is not set up yet.
Before 1.0
The JSON (status --json, schema version 0.1.0) may change in a minor release until 1.0. Every adapter lists what it
does not model in coverage.notModelled; see the roadmap
for what comes next.