AI Assistant Guidelines¶
This page summarizes the repository rules that matter most to AI coding assistants and contributors. The canonical, stricter contract is the root-level Agents.md; architectural background lives in Memory.md.
Documentation Rules¶
- The GitHub Pages source is
docs/;mkdocs.ymlcontrols the site. - Do not edit generated
site/output directly. - Keep MkDocs nav paths relative to
docs/. - Keep root
README.md,Agents.md, andMemory.mdsynchronized with public docs when behavior changes. - Keep
0.722.0semantic release references, thev0.722display label, and thev0.722.0MkDocs release label synchronized. - Validate documentation changes with
npm run docs:validate; publish requested online updates withnpm run docs:deploy.
Tool Changes¶
When adding or changing an AI-callable tool, update all relevant surfaces:
- YAML schema in
tools_registry/<category>/<tool_name>.yaml. builtInToolsMapintools_registry/builtin_tools_integration.jsfor local built-ins.- Keyword relevance rules in
analyzeBuiltInToolRelevance(). - Execution wiring in
ChatManageror a service undersrc/renderer/modules/chat/services/. src/renderer/modules/chat/constants/ToolNames.js.src/renderer/modules/FunctionCallsOrganizer.js.- Intent keywords in
tools_registry/registry_manager.js. - Category metadata in
tools_registry/tool_categories.yaml. - MCP definition/routing under
src/mcp-tools/when external clients should see it. - Explicit execution policy in
LLMContextService.shouldAllowToolExecution().
Current Tool Facts¶
| Surface | Count |
|---|---|
| YAML registry schemas | 180 |
| Active registry categories | 18 |
| Built-in ChatBox tools | 143 |
| MCP tools mode | 96 |
| MCP agent mode | 3 |
MCP agent mode intentionally exposes only codexomics_chat, list_genome_windows, and switch_active_window.
Coding Rules¶
- Use vanilla JavaScript and vanilla CSS.
- Do not introduce TypeScript, React, TailwindCSS, Bootstrap, or atomic CSS frameworks unless explicitly requested.
- Use robust IPC, file, and network error handling.
- Keep changes scoped and do not revert unrelated user work.
- Do not leave placeholders or TODO-only implementations.
Routing Rules¶
- Specialized agent tools need both agent-side capability mapping and
MultiAgentSystem.isSpecializedAgent()alignment. - System, utility, and benchmark tools should not be added to agent mappings.
- Client-delegated MCP calls should use
chatManager.executeToolByName().
Policy Rules¶
Tool execution policies are intentionally hardcoded in LLMContextService.shouldAllowToolExecution() for auditability. New tools should be placed in an explicit policy category; otherwise, they fall back to a same-parameters duplicate block.