This document traces the history and architectural shifts of the GoDoctor project, from a simple documentation wrapper to a comprehensive AI-powered Go engineering suite.
| Era | Key Changes & Focus | Tools Available |
|---|---|---|
| Genesis | Basic implementation. | getDoc |
| Standardization | Aligning with standard Go tools. | go-doc, godoc, code_review |
| Expansion | Adding file editing and formatting. | godoc, code_review, goimports, gopretty |
| Creation | Ability to write new files. | godoc, code_review, gopretty, scribble |
| Refinement | Surgical editing introduced. | godoc, code_review, scribble, scalpel |
| Exploration | Web crawling capabilities (short-lived). | godoc, code_review, scribble, scalpel, endoscope |
| Renaming | Major semantic renaming for clarity. | get_documentation, review_code, write_code, edit_code, fetch_webpage |
| Focus | Dropping web tools to focus on Code. | get_docs, code_review |
| Modern Era | The "Agentic" Shift. Massive expansion. | 15+ Tools including file_edit, symbol_inspect, go_docs |
| Extension | Native Gemini CLI integration & Specialist Skills. | go-architect, go-test-expert, go-backend-dev, go-reviewer |
Early versions of the tool used "Surgical" metaphors (scalpel, scribble) and relied on exact string matching. The project evolved toward Intelligence with tools like file_edit (fuzzy matching) and go_modernize (AST-aware refactoring).
The project's core feature—documentation retrieval—went through six major renames to optimize LLM performance:
getDoc → go-doc → godoc → get_docs → read_godoc → read_docs → go_docs.
The most significant shift was the introduction of the Semantic Toolset. Instead of providing a flat list of tools, GoDoctor now features specialized domain groups:
file_*: Core file operations and surgical editing.go_*: Toolchain integration.symbol_*: Deep semantic inspection and refactoring.
With the introduction of the Gemini CLI Extension, GoDoctor moved beyond tools to providing Expertise. The skills/ directory allows the agent to adopt specific personas (go-architect, go-test-expert) with deep, curated knowledge about the SDLC, preventing hallucinations and enforcing best practices like ADRs and quality gates.
- getDoc: symbol (string)
- go-doc: package_path (string), SymbolName (string)
- code_review: expert review logic introduced.
- godoc: package_path (string), SymbolName (string)
- goimports: file_path (string)
- code_review: file_content (string), ModelName (string), Hint (string)
- scribble: file_path (string), content (string)
- scalpel: file_path (string), old_string (string), new_string (string)
- endoscope: url (string), level (int), external (bool)
- fetch_webpage (formerly endoscope)
- get_documentation (formerly godoc)
- write_code (formerly scribble)
- edit_code (formerly scalpel)
- edit_code: edits ([]Edit) - shifted from single string to slice of replacements.
- inspect_file: code-aware registration of symbols.
- file_edit: Fuzzy matching editor (formerly smart_edit).
- go_docs: Documentation retrieval (formerly read_docs).
- go_modernize: AST-based refactoring (formerly modernize).
- symbol_inspect: Deep semantic inspection (formerly inspect_symbol).
- go_diff: API breaking change detection (formerly analyze_dependency_updates).
- file_list / file_outline / file_read: Navigation suite.
- go_build / go_test / go_get: Toolchain integration.
- symbol_rename: Semantic refactoring.
- safe_shell: Secure command execution.
- code_review: Expert analysis.