Files
oh-my-opencode-free-fork/src/tools/AGENTS.md
YeonGyu-Kim a1fe0f8517 docs(agents): regenerate all AGENTS.md files with comprehensive codebase analysis
- Regenerated root AGENTS.md with overview, structure, and complexity hotspots
- Regenerated all 7 subdirectory AGENTS.md files: hooks, tools, features, agents, cli, auth, shared
- Used 11 background explore agents for comprehensive feature and architecture analysis
- All files within size limits (root: 112 lines, subdirs: 57-68 lines)
- Includes where-to-look guide, conventions, anti-patterns, and agent model information

🤖 Generated with assistance of oh-my-opencode
2026-01-02 10:42:38 +09:00

2.6 KiB

TOOLS KNOWLEDGE BASE

OVERVIEW

Custom tools: 11 LSP tools, AST-aware search/replace, file ops with timeouts, background task management, session navigation.

STRUCTURE

tools/
├── ast-grep/           # AST-aware code search/replace (25 languages)
│   ├── napi.ts         # @ast-grep/napi binding (preferred)
│   └── cli.ts          # @ast-grep/cli fallback
├── background-task/    # Async agent task management
├── call-omo-agent/     # Spawn explore/librarian agents
├── glob/               # File pattern matching (60s timeout)
├── grep/               # Content search (60s timeout)
├── interactive-bash/   # Tmux session management
├── look-at/            # Multimodal analysis (PDF, images)
├── lsp/                # 11 LSP tools (611 lines client.ts)
│   ├── client.ts       # LSP connection lifecycle
│   ├── config.ts       # Server configurations
│   └── tools.ts        # Tool implementations
├── session-manager/    # OpenCode session file ops
├── skill/              # Skill loading and execution
├── skill-mcp/          # Skill-embedded MCP invocation
├── slashcommand/       # Slash command execution
└── index.ts            # builtinTools export

TOOL CATEGORIES

Category Tools
LSP lsp_hover, lsp_goto_definition, lsp_find_references, lsp_document_symbols, lsp_workspace_symbols, lsp_diagnostics, lsp_servers, lsp_prepare_rename, lsp_rename, lsp_code_actions, lsp_code_action_resolve
AST ast_grep_search, ast_grep_replace
File Search grep, glob
Session session_list, session_read, session_search, session_info
Background background_task, background_output, background_cancel
Multimodal look_at
Terminal interactive_bash
Skills skill, skill_mcp
Agents call_omo_agent

HOW TO ADD

  1. Create src/tools/my-tool/
  2. Files: constants.ts, types.ts, tools.ts, index.ts
  3. Add to builtinTools in src/tools/index.ts

LSP SPECIFICS

  • Lazy init on first use, auto-shutdown on idle
  • Config priority: opencode.json > oh-my-opencode.json > defaults
  • Servers: typescript-language-server, pylsp, gopls, rust-analyzer

AST-GREP SPECIFICS

  • Meta-variables: $VAR (single), $$$ (multiple)
  • Pattern must be valid AST node, not fragment
  • Prefers napi binding for performance

ANTI-PATTERNS

  • No timeout on file ops (always use, default 60s)
  • Sync file operations (use async/await)
  • Ignoring LSP errors (graceful handling required)
  • Raw subprocess for ast-grep (prefer napi)