Skip to content

Tool Reference

special-place-administrator edited this page Apr 3, 2026 · 4 revisions

Tool Reference

SymForge currently exposes 31 tools plus prompts and resources.

Use this page for

looking up the right tool family after SymForge is already installed and connected in your client.

Orientation

Tool Purpose
health Index status, file/symbol counts, watcher state, parse diagnostics
get_repo_map Structured overview of the entire repository with adjustable detail
explore Concept-driven exploration with stemmed matching and convention enrichment

Reading Code

Tool Purpose
get_file_context File outline, imports, consumers, references, git context — call before reading a source file
get_file_content Exact file reads with line ranges or around a symbol — for docs, config, or literal source
get_symbol Full source of a function, struct, class, etc. by name (batch mode supported)
get_symbol_context Symbol body + callers + callees + type dependencies, or expanded bundles

Searching

Tool Purpose
search_symbols Find symbols by name, kind, language, or path prefix
search_text Full-text search with enclosing symbol context
search_files Ranked file path discovery with co-change coupling

References and Dependencies

Tool Purpose
find_references Call sites, imports, type usages, implementations
find_dependents File-level dependency graph
trace_symbol Multi-hop caller/callee chains for a symbol
inspect_match Deep-dive a search match with full symbol context

Git and Change Inspection

Tool Purpose
what_changed Changed files by git ref, timestamp, or working tree
analyze_file_impact Reindex one file and report affected symbols and dependents
diff_symbols Symbol-level diff between git refs (AST-based for supported languages, regex fallback for others)

Validation

Tool Purpose
validate_file_syntax Parse diagnostics with line/column location for both code files (tree-sitter) and config files (TOML, JSON, YAML, Env)

Editing

Tool Purpose
edit_plan Analyze impact and suggest the correct edit tool sequence
replace_symbol_body Replace an entire symbol definition by name
edit_within_symbol Scoped find/replace inside one symbol's range
insert_symbol Insert code before or after a named symbol
delete_symbol Delete a symbol and its attached doc comments by name
batch_edit Apply multiple symbol-addressed edits atomically across files
batch_rename Rename a symbol and update all references project-wide
batch_insert Insert code before/after multiple symbols across files

Agent-oriented helpers

Tool Purpose
ask Natural-language questions routed to the right SymForge tool internally
conventions Auto-detect project coding patterns
context_inventory See what symbols and files you've already fetched this session
investigation_suggest Find gaps in your loaded context
index_folder Full reindex of a directory

Practical defaults

  • Use get_file_context before reading source files.
  • Use search_symbols or search_text before broad raw file scanning.
  • Use get_file_content for docs and config where exact wording matters.
  • Use edit_plan before non-trivial edits.
  • Use analyze_file_impact after small edits and index_folder after large ones.
  • edit_plan accepts a bare symbol, a file path, or path::symbol.
  • batch_edit and batch_insert accept shorthand strings like src/lib.rs::helper => delete.

Tip

The fastest mental model is: orient with get_repo_map or explore, narrow with search_*, inspect with get_*, trace with find_references or trace_symbol, then edit with the symbol-aware edit tools.

Edit behavior

SymForge edit tools are intended to replace raw text-copy editing for source code.

Important behaviors:

  • symbol-addressed range resolution
  • doc-comment-aware edit ranges
  • automatic indentation
  • atomic writes
  • immediate reindexing
  • stale-callsite warnings on signature changes where applicable

Prompts

SymForge also exposes prompts for higher-level workflows:

  • symforge-review
  • symforge-architecture
  • symforge-triage
  • symforge-onboard
  • symforge-refactor
  • symforge-debug

These prompts return procedural workflows that tell the agent which SymForge tools to call next.

Resources

Static resources:

  • symforge://repo/health
  • symforge://repo/outline
  • symforge://repo/map
  • symforge://repo/changes/uncommitted

Resource templates:

  • symforge://file/context?...
  • symforge://file/content?...
  • symforge://symbol/detail?...
  • symforge://symbol/context?...

Clone this wiki locally