Go repo documentation, Starlight site, Cloudflare Pages deploy script, docs checks, and link checks.
Home
foxctl
Go-based framework for agentic code work.
A Go CLI and runtime framework for code retrieval, skills, memory, context, agents, rooms, and operational workflows.
foxctl run code/semantic_search --input '{"format":"tree"}'$ foxctl run code/semantic_search --input '{"format":"tree"}'$ foxctl index repo build --workspace . --go --typescript --elixir$ foxctl run code/dag_grep --input '{"query":"buildEvidencePack"}'$ foxctl agent spawn --role reviewer --exec-mode autonomousWhat is current, and what is still moving
The site separates shipped behavior from plan-backed work so agents can avoid treating experimental runtime and evaluation work as production operator guidance.
Repoindex, semantic search, DAG grep, codemaps, and CAS-backed outputs are documented as operator workflows.
Agent lifecycle, orchestration, rooms, storage, and observability have current behavior docs.
Crash recovery, idempotent side effects, and effect journal work remain tied to active plans.
Hotspot detection, confidence scoring, target selection, and slop detection are being hardened.
LongCoT evals, helper pipelines, recursive fanout, and smolvm runtime work are still experimental.
Connectors that make foxctl useful in real workflows
Integrations are grouped by status: current surfaces are safe to build on, while runtime adapter work remains explicitly marked in progress.
LLM provider detection plus MCP serving for editor and agent tool access.
Open docsGeneric OpenAPI calls, auth strategies, pagination, retries, CAS output, and plugin hooks.
Open docsSession, tool, agent, and lifecycle events wired to structured actions and safety decisions.
Open docsDiscord, Telegram, and Teams adapters route commands and conversation into foxctl sessions.
Open docsVault indexing for notes, wikilinks, aliases, tags, and retrieval-oriented memory.
Open docsOpenSandbox, RLM, durable execution, and Go-native runtime plans are still plan-backed work.
Open docsA practical loop for agentic code work
foxctl makes the repeatable path explicit: orient the agent, retrieve grounded evidence, plan with context, act through tools, then verify the result.
Use Go-backed indexers to build a ranked map before changing code.
Index symbols, imports, calls, references, and files.
Pull the exact evidence needed for a bounded implementation path.
Coordinate persistent agents and rooms when the work needs hands.
Keep outputs reproducible, protocol-shaped, and CI-visible.
The Go-backed system pieces foxctl gives you
CLIcommandsA Go command surface for repo search, skill runs, agent control, docs refresh, and local operations.
RetrievalrepoindexSemantic search, graph navigation, DAG grep, snippet extraction, and codemaps for grounded context.
SkillsruntimeJob-tracked, ephemeral, and direct execution paths for installable tools with stable envelopes.
AgentsroomsGo-managed agent sessions plus durable room collaboration for messages, tasks, relays, and status.
StorageevidenceCAS, vectors, Turso, and Postgres keep large artifacts and working memory inspectable.
Refactor scouts for tightening real codebases
foxctl treats cleanup as an evidence workflow: scout the shape, identify slop, tighten boundaries, and keep each refactor reviewable.
Use refactor status, snapshots, hot paths, dependency expansion, and scout evidence to choose narrow cleanup targets.
foxctl refactor scout --path ./internal --language go --focus slopOpen workflowLook for duplicated guards, repeated remapping, overgrown functions, noisy adapters, and unclear package boundaries.
foxctl refactor advisor --path ./internal --language go --focus slopOpen workflowTighten package placement, command surfaces, docs ownership, and runtime boundaries without broad unrelated rewrites.
foxctl refactor deps --path ./internal --language go --query Run --direction inOpen workflowAttach snapshots, change ranges, dependency evidence, and benchmark/doc checks so cleanup work stays auditable.
foxctl refactor evidence --artifact sha256:<digest>Open workflowMeasured evidence for why the harness matters
The current evidence separates hot runtime cost, cold CLI startup, context size, and agent-baseline comparison so the site can make claims without hiding the tradeoffs.
gather_context built the RLM map evidence in 6.50s with 1.00 fact recall and a compact 1,096-character context bundle.
Reviewfoxctl reduced output across command rows that actually shrank: ls, find, cat, head, tail, grep, sed, git, and go test tasks.
ReviewSearch fallback and DAG explanation fixtures keep graph retrieval latency and allocation cost visible in the Go benchmark lane.
ReviewThe no-hook tool runner, envelope codecs, actor lifecycle, and shell reducer hot paths are measured with allocation-aware Go benchmarks.
Review| Binary | Same task | Native output | foxctl output |
|---|---|---|---|
| ls93.8% less | List the internal package treels -la internal | 483 tokens / 1,002 bytes | 30 tokens / 106 bytes |
| find92.0% less | Find Go files under toolingfind internal/tooling -name '*.go' | 825 tokens / 3,061 bytes | 66 tokens / 237 bytes |
| cat86.6% less | Read module metadatacat go.mod | 7,520 tokens / 19,723 bytes | 1,011 tokens / 2,216 bytes |
| head14.6% less | Read the start of shell command sourcehead -n 80 cmd/foxctl/cmd/shell.go | 679 tokens / 2,680 bytes | 580 tokens / 2,245 bytes |
| tail4.9% less | Read the end of shell command sourcetail -n 80 cmd/foxctl/cmd/shell.go | 655 tokens / 2,376 bytes | 623 tokens / 2,245 bytes |
| grep98.9% less | Find Go functions in shellreducegrep -rn 'func ' internal/tooling/shellreduce | 4,779 tokens / 18,632 bytes | 53 tokens / 209 bytes |
| sed51.6% less | Read the shell command source slicesed -n '1,120p' cmd/foxctl/cmd/shell.go | 1,148 tokens / 4,617 bytes | 556 tokens / 2,216 bytes |
| git status94.9% less | Inspect worktree statusgit status --short | 1,422 tokens / 5,095 bytes | 72 tokens / 215 bytes |
| git diff89.7% less | Inspect changed-file statsgit diff --stat | 1,760 tokens / 6,458 bytes | 182 tokens / 503 bytes |
| git diff82.9% less | List changed file namesgit diff --name-only | 1,313 tokens / 4,755 bytes | 225 tokens / 768 bytes |
| git log97.3% less | Review recent commit statsgit log --stat -5 | 3,303 tokens / 11,464 bytes | 89 tokens / 337 bytes |
| go test36.4% less | Run the shellreduce package testsgo test ./internal/tooling/shellreduce | 22 tokens / 68 bytes | 14 tokens / 41 bytes |
| total85.4% less | All command-output rows where foxctl reduced outputtwelve native commands, same tasks through foxctl shell reduction | 23,910 tokens / 79,932 bytes | 3,501 tokens / 11,338 bytes |
Canonical storage, disposable context, durable evidence
Commands return envelopes, large artifacts go to CAS, repo metadata stays rebuildable, and agent work is anchored to durable room and session records.