| name | foxctl-code |
| description | Code analysis for symbols, diffs, imports, complexity, security scan, semantic search, and repo graph or DAG queries. |
What I do
- Help you answer “where is X?” and “how does X work?” with structure-first tooling.
When to use me
- You’re about to edit non-trivial code and want to understand the surface area.
- You need to find related code (conceptual search), not just exact strings.
Common commands
Symbols / structure
foxctl run code/symbols --input '{"path": "internal/agent/daemon/daemon.go"}'
Diffs
foxctl run code/diff --input '{"staged": true}'
foxctl run code/diff --input '{"base": "origin/main", "head": "HEAD"}'
Imports / dependency graph
foxctl run code/imports --input '{"path": "internal/", "recursive": true}'
Security scan
foxctl run code/security --input '{"path": ".", "recursive": true}'
Semantic search
foxctl run code/semantic_search --input '{"query": "repoindex", "format": "tree", "limit": 25}'
Repo graph index
foxctl index repo build --dry-run --workspace . --go --typescript --elixir
foxctl index repo build --workspace . --go --typescript --elixir
foxctl run repo/index_build --input '{"workspace": ".", "include_go": true, "include_typescript": true}'
foxctl index repo search --workspace . --query "repoindex"
foxctl index repo expand --workspace . --seed "<node-id>" --edge CALLS --edge REFERS_TO
Summaries are separate from graph construction. Generate file/symbol summaries,
then enrich the existing repo graph only when graph output should include those
summaries:
foxctl index file-summaries --workspace .
foxctl index symbol-summaries --workspace .
foxctl index repo enrich summaries --workspace .
foxctl run repo/index_enrich_summaries --input '{"workspace": "."}'
For semantic-comment anchors, build the graph with explicit anchor edges:
foxctl index repo build --workspace . --semantic-anchors --include-tests
DAG grep (repo graph explanation subgraph)
Use this when you want a small explanation subgraph in one call (similar to code/context_grep, but for repoindex).
foxctl run code/dag_grep --input '{
"query": "repoindex built",
"workspace": ".",
"render": "tree",
"edge_sets": ["structural"],
"depth": 2,
"budget": 80,
"k": 5
}'
Notes:
- TypeScript adds heuristic
CALLS edges; Elixir adds heuristic REFERS_TO edges. These are best-effort (no type-checking) and conservative (ambiguous targets are skipped).