Two tools. One stack.
Govern your AI agents.
Cut the cost of running them.
conduct-cli manages your AI platform β agents, workflows, and Guard policies. agent-booster cuts token costs 5β15x by routing only the code that matters. They're independent packages that work better together.
Platform CLI
Authenticate, install agents, trigger workflows, and enforce Guard policies β all from the terminal.
- $ conduct login
- $ conduct install-all
- $ conduct guard sync
- $ conduct verify --strict
- $ conduct test --all
pip install conduct-cli
Token Optimizer
Parses your codebase with tree-sitter, builds a symbol index, and returns only the functions and classes relevant to each task β instead of full files.
- $ booster init claude
- $ booster index && booster embed
- $ booster serve
- $ booster gain
How they work together
conduct-cli
installs agents, enforces policies, triggers runs
agent-booster
routes only relevant symbols on every file read
Governed + cheap
policies enforced, token costs down 5β15x
What's included
One package. Six capabilities.
conduct-cli ships the platform CLI, ConductGuard MCP, atomic workspace switching, OWASP Agentic Top 10 verification, agent discovery, and advisory mode β everything your team needs to run agents safely from the terminal.
conductConduct CLI
Run agents, manage projects, switch workspaces, show runs. The daily driver for every developer on the Conduct platform.
conductguard-mcpConductGuard MCP
MCP server that enforces AI usage policies set by your team lead. Every tool call Claude makes passes through Guard first.
conduct switch <workspace>Guard Policy Sync
Switch workspace and instantly re-sync Guard policies. No manual reconfiguration across multiple config files.
conduct verify --strictOWASP Agentic Top 10
Maps every guard event to the OWASP Agentic Top 10. Run in CI with --strict to exit 1 if any blocked events exist. JSON output for downstream tooling.
conduct guard discoverAgent Discovery
Scans the local environment for AI agents and reports Guard coverage percentage. Add --register to bring discovered agents under Guard automatically.
advisory modeAdvisory Mode
Log-all, block-nothing governance mode. Security admins enable it per workspace β violations are audited instead of blocked, so developers see a note but the tool call proceeds. Hash-chain audit log keeps every event tamper-evident.
Claude Code hooks
Every moment in the session. Covered.
conduct guard sync wires all five Claude Code hook types automatically. No manual config.
| Hook | When | What Guard does | Status |
|---|---|---|---|
PreToolUse | Fires before every tool call | Policy enforcement, PII/secret blocking, hard budget stops. Exit 2 cancels the tool entirely. | Shipped |
PostToolUse | Fires after every tool call | Token tracking per tool, threshold policies, rich audit events with actual tool output. | Shipped |
Stop | Fires before final response delivery | Team memory capture β transcript summarized by Haiku, vector-embedded, searchable by next dev. | Shipped |
PreCompact | Fires before context compaction | Memory flush to Guard before Claude compresses the conversation β nothing is lost. | Shipped |
SessionStart | Fires when a session opens | Session init alert, policy sync check, surfaces prior team context for the current repo. | Shipped |
Hooks are Claude Code only. Cursor, Copilot, and Windsurf use the conductguard-mcp server instead.
Quickstart
Up and running in three commands.
Step 1. Install Conduct CLI
# platform CLI, run agents, manage workspaces, enforce policies
pip install conduct-cli
Step 2. Start
# detects Claude/Cursor/Codex, wires hooks, indexes, starts daemon
booster start
Detects which AI tools are present (Claude Code, Cursor, Windsurf, Codex), wires each one automatically, indexes the project, and starts a background daemon. Fully reversible with booster remove claude.
Then track savings
booster gain
Compatibility
Works with every major AI coding tool.
Both tools wire up with one command per platform β token savings and policy enforcement, everywhere.
Claude Code
booster
booster init claudeguard
conduct guard syncCursor
booster
booster init cursorguard
conduct guard syncWindsurf
booster
booster init windsurfguard
conduct guard syncOpenAI Codex
booster
booster init codexguard
conduct guard syncGitHub Copilot
booster
booster init copilothosted MCP
HTTPapi.conductai.ai/guard/mcpGitHub Copilot β no install required
Copilot supports HTTP MCP servers. Add either URL in VS Code MCP settings β every developer in your org gets Guard enforcement and platform access with zero local setup.
Guard β policy enforcement
Conduct β agents, workflows, runs
Set Authorization: Bearer YOUR_TOKEN in the Headers field. Get your token from conductai.ai β Settings β API Keys.
Run booster remove <platform> to cleanly undo booster wiring. conduct guard sync is the same command on every platform β one policy, enforced everywhere.
Guard Insights
See what every developer's AI is doing.
Every blocked tool call logged with who, what, and when
Coverage table: which developers have Guard wired
Events feed: real-time stream of policy enforcement
OWASP Agentic Top 10 mapping via conduct verify β use in CI with --strict
Advisory mode: log-all, block-nothing governance for gradual rollouts
Hash-chain audit log: tamper-evident, cryptographically linked events
Example use cases
See the difference on real tasks.
These are actual patterns from everyday development workflows β not synthetic demos.
Running an agent from the terminal
You want to run the βgithub-pr-reviewβ agent on a new PR without opening the browser.
2 min β 8 sec
time saved
Without CLI
- βOpen browser and navigate to Conduct
- βFind the agent, fill in params, click Run
- βWait for the browser to show output
2 minutes of context-switching
With conduct-cli
- βconduct run github-pr-review --pr 142
- βAgent fires immediately from the terminal
- βLive output streams to your terminal, done
8 seconds from idea to result
What's new
v0.2.16 β v0.7.28SmartCrusher, cache alignment, booster learn, and shared team index.
Four new releases. The result: booster cuts costs at every layer, elimination, compression, caching, and learning from every session, search is instant after the first run, and re-indexing costs nothing on unchanged files.
RFC 8693 token exchange
conduct login now follows RFC 8693 β the same token exchange standard as Okta and Entra. The browser relays your Clerk session to the CLI, which exchanges it at POST /token for a cond_agt_* token. No custom auth flow to explain to your security team.
Long-lived API tokens
Create cond_api_* tokens from the Agent Identity page for CI/CD pipelines, server agents, and integrations. Same proxy enforcement and audit trail as session tokens, no expiry unless you revoke them.
conduct token
Reveals your current agent token. Tokens are masked in all sync output by default β run conduct token when you need the raw value for debugging or manual API calls.
Proactive token refresh
conduct guard sync checks token expiry and refreshes automatically 5 minutes before the 8-hour window closes. No interrupted sessions, no manual re-login during long coding runs.
MCP Registry listing
Both agent-booster and conduct-cli are now published to the official MCP Registry (registry.modelcontextprotocol.io). Install directly from VS Code, Cursor, or any MCP-compatible client without manual config.
Call graph navigation
expand_calls(symbol, direction) returns immediate callers or callees of any symbol. One MCP round-trip, cycle-safe depth up to 3, same-file resolution at index time, name-based cross-file resolution at query time. Stop re-searching for who calls what.
Diff-aware reads
Pass since='HEAD~5' or any git ref to smart_read or search_context. Returns only symbols whose lines changed in the range. Git context lives in the read now, no separate git diff parse, no whole-file scan to figure out what's new.
Test signal in every read
booster index --tests builds the symbol-to-test map. test_coverage('login') returns the test files that reference it. smart_read can surface the answer to 'is this code tested?' before the agent decides whether the change is safe.
Last-modified header
Every symbol in smart_read output now carries [last_modified: sha date] via batched git blame. One subprocess per file, max-timestamp commit per symbol range. Know whether code is hot or legacy without a separate look.
Shared team index
booster index-push uploads your symbol index to the team workspace via the Guard sync channel. Teammates run booster index-pull (or just conduct guard sync) to merge it locally, no re-indexing the same repo twice. Uses the same auth as guard sync, zero new config.
booster learn
Mines your local read history and Guard failed run traces to extract patterns, hot files, files that resist smart_read, turn limit failures. Writes corrections directly to CLAUDE.md under a dedicted block. Run booster learn --dry-run to preview first.
SmartCrusher
Compression pass on every smart_read and search_context result before it reaches the model. JSON arrays: keeps first 5 + last 3 entries, drops middle duplicates. Repeated lines: collapsed into 'β¦ N identical lines omitted'. Kicks in above 2KB, small results pass through untouched.
Cache alignment
Tools are now returned alphabetically with deterministically sorted schema keys on every request. Anthropic users get free KV cache hits on the tools prefix, same tool list every session means the prefix is already cached. Auto-detected from ANTHROPIC_API_KEY, no config needed. booster gain shows cache alignment status.
Output token tracking
booster-stop.py fires on every Claude Code session end and captures actual output tokens from the stop event. Stores baseline vs. actual in .booster/stats.db. booster gain now shows real savings, not estimates.
Verbosity modes
booster verbosity lite|full|ultra injects a conciseness block into CLAUDE.md, AGENTS.md, .cursorrules, and .windsurfrules. booster verbosity off removes it. Cuts output token count by 30β75% across all AI coding tools.
Memory compression
booster compress rewrites every file in memory/ through claude-haiku to strip filler and cut token count by ~60%. booster compress --dry-run previews savings without writing. Keeps project memory lean as it grows.
Background daemon
booster start launches a persistent Unix socket process that keeps the embedding model loaded. search_context drops from 2β3 s cold-start to ~50 ms. Daemon survives editor restarts, it's not tied to any terminal.
File watcher
watchdog monitors the project for writes. Changed files are re-indexed within 2 seconds of a save, no manual booster index during a coding session. Daemon handles this automatically.
Delta indexing
SHA-256 hash and mtime stored per file in the SQLite index. Full re-index skips unchanged files entirely. Large repos that took seconds now finish in milliseconds. Use --force to override.
Asymmetric embeddings
Index-time vectors use a passage: prefix; query-time vectors use query:. Follows the E5 paper's asymmetric retrieval approach. Retrieval accuracy improves meaningfully over symmetric embeddings, especially for short function names.
booster start does everything
One command bootstraps the full stack: detects installed AI tools (Claude Code, Cursor, Windsurf, Codex), wires each one that isn't already wired, indexes the project, builds embeddings, and starts the daemon. On subsequent runs it just wakes the daemon.
Full changelog
Every commit, diff, and release note lives in the GitHub repo. PRs welcome.
Under the hood
How it's actually built.
Your terminal. Your team's rules. One CLI.
Run agents, enforce policies, switch workspaces, and know exactly what context your terminal is operating in β all from a single command.
pip install conduct-cliPython 3.10+ Β· Free for individuals Β· commercial license for companies
