/** * Agent capability catalog. * * @experimental This API is unstable and may change without notice. */ import * as Schema from "effect/Schema"; /** @experimental This API is unstable and may change without notice. */ export declare const CONFIGURABLE_AGENTS_BY_ID: { readonly adal: { readonly id: "adal"; readonly name: "AdaL"; readonly vendor: "SylphAI"; readonly homepage: "https://adalagent.ai"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".adal"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "AdaL documentation"; readonly url: "https://docs.sylph.ai"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.sylph.ai/features/plugins-and-skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".adal/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "AdaL manages MCP servers through the /mcp CLI flow and stores OAuth tokens under ~/.adal/mcp-auth; the docs describe add/remove/test actions rather than a stable editable config file."; readonly docs: readonly []; readonly sources: readonly ["https://docs.sylph.ai/features/mcp-support-proposed"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented an AdaL MCP writer for the CLI-managed MCP store."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.sylph.ai/getting-started/workflows-and-examples"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "AdaL exposes /permissions to configure approval behavior, but the public docs do not document a stable settings file shape for AXM to patch."; readonly docs: readonly []; readonly sources: readonly ["https://docs.sylph.ai/features/slash-commands"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented an AdaL permission writer for the interactive /permissions surface."; }; }; }; readonly "aider-desk": { readonly id: "aider-desk"; readonly name: "AiderDesk"; readonly vendor: "HOTOVO"; readonly homepage: "https://github.com/hotovo/aider-desk"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".aider-desk"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".aider-desk"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.aider-desk"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "AiderDesk repository"; readonly url: "https://github.com/hotovo/aider-desk"; }, { readonly label: "AiderDesk documentation"; readonly url: "https://aiderdesk.hotovo.com/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://aiderdesk.hotovo.com/docs/features/skills", "https://github.com/hotovo/aider-desk/issues/568"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".aider-desk/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "AiderDesk is a native MCP client: it connects to external standard MCP servers and exposes their tools to the agent, registering only the servers listed in a profile's enabledServers. MCP client configuration lives under the .aider-desk config, but the exact config file path, servers key, and per-transport dialect are not documented, so no AXM writer is modeled. AiderDesk can additionally act as an MCP server via @aiderdesk/mcp-server (the inverse direction)."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/hotovo/aider-desk"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AiderDesk's MCP client config dialect (exact file path, servers key, and transport-specific shape under .aider-desk) is not documented, so AXM has no MCP writer."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "AiderDesk has a native lifecycle hook / Extension System with 30+ events (onTaskCreated, onPromptFinished, onToolCalled, onFileAdded, ...) that can observe, modify, or block operations. Hooks are in-process JS/TS callbacks under .aider-desk/hooks/ (project) and ~/.aider-desk/hooks/ (user), with a newer Extension System under .aider-desk/extensions/. The native event names are not canonically mappable and there is no command-stdin dialect for AXM to serialize."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/hotovo/aider-desk"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AiderDesk hooks are in-process JS/TS callbacks with no command-stdin serialization dialect, and its 30+ native events are not canonically mapped, so AXM has no hook writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "AiderDesk gates tool execution with a three-state per-tool approval (Always / Ask / Never) configured per agent profile, plus pattern-based allow/deny regex for bash commands. Approvals are persisted in the per-profile JSON, but the exact config file location and grammar are not documented, so AXM has no grant writer."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/hotovo/aider-desk"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AiderDesk tool-approval settings live in per-profile JSON without a documented, stable writable path or grammar, so AXM cannot safely write permission grants."; }; }; }; readonly amp: { readonly id: "amp"; readonly name: "Amp"; readonly vendor: "Sourcegraph"; readonly homepage: "https://ampcode.com"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: "sourcegraph"; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Amp Owner's Manual"; readonly url: "https://ampcode.com/manual"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://ampcode.com/manual#agent-skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Amp declares always-available MCP servers under the flat amp.mcpServers settings key in ~/.config/amp/settings.json (user) or .amp/settings.json (workspace, which requires explicit approval), and skill-scoped MCP servers through mcp.json inside a skill directory."; readonly docs: readonly []; readonly sources: readonly ["https://ampcode.com/manual#MCP", "https://ampcode.com/manual#configuration"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Amp nests its servers under the flat amp.mcpServers settings key, which McpServersKey cannot express; a writer needs a schema change rather than catalog data."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "plugin"; readonly provider: "first-party"; readonly plugin: { readonly name: "Amp plugin API"; readonly homepage: "https://ampcode.com/manual"; readonly author: "Amp"; readonly distribution: { readonly mechanism: "agent-native"; readonly installHint: "Save a plugin under .amp/plugins and reload plugins."; readonly packageRef: null; }; readonly detection: { readonly paths: readonly [{ readonly scope: "project"; readonly path: ".amp/plugins"; readonly kind: "dir"; }, { readonly scope: "user"; readonly path: "~/.config/amp/plugins"; readonly kind: "dir"; }]; readonly configKeys: readonly []; }; }; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Amp has built-in automatic subagents and first-party plugin APIs for custom subagent-like tools, but no documented Markdown subagent directory that AXM can materialize."; readonly docs: readonly []; readonly sources: readonly ["https://ampcode.com/manual#subagents", "https://ampcode.com/manual#plugins"]; readonly scopes: readonly ["user", "project"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented Amp plugin/subagent materialization."; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Amp plugins can handle tool-call, tool-result, and agent lifecycle events. AXM models the in-process plugin surface but does not serialize Amp plugins or amp.hooks actions yet."; readonly docs: readonly []; readonly sources: readonly ["https://ampcode.com/manual", "https://ampcode.com/manual/plugin-api"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented Amp plugin or declarative-action hook writers."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://ampcode.com/manual#agentsmd"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: "at-path"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Amp permission rules use the amp.permissions and amp.mcpPermissions settings. Enterprise administrators can enforce the same schema through platform-specific managed-settings.json files."; readonly docs: readonly []; readonly sources: readonly ["https://ampcode.com/news/tool-level-permissions", "https://ampcode.com/news/mcp-permissions", "https://ampcode.com/news/enterprise-managed-settings"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.config/amp/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".amp/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "{\"tool\":\"Bash\",\"matches\":{\"cmd\":\"*git commit*\"},\"action\":\"ask\"}"; readonly notes: "amp.permissions rules select a tool, optionally glob-match tool arguments, and apply allow, reject, ask, or delegate."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly antigravity: { readonly id: "antigravity"; readonly name: "Antigravity"; readonly vendor: "Google"; readonly homepage: "https://antigravity.google"; readonly interfaces: readonly ["ide-extension"]; readonly family: "google"; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".agents"; readonly signal: "supporting"; readonly note: null; }, { readonly kind: "dir"; readonly path: ".agent"; readonly signal: "supporting"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.gemini/antigravity-cli"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Antigravity documentation"; readonly url: "https://antigravity.google/docs"; }, { readonly label: "Antigravity CLI overview"; readonly url: "https://antigravity.google/docs/cli-overview"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Antigravity 2.0 defaults to .agents/skills (project) and ~/.gemini/config/skills (user); .agent/skills remains supported for backward compatibility.\n"; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".agent/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Antigravity stores global MCP servers in ~/.gemini/config/mcp_config.json and workspace MCP servers in .agents/mcp_config.json. Remote MCP definitions use serverUrl, and disabled is an optional per-server switch."; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/mcp", "https://antigravity.google/docs/cli/plugins"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.gemini/config/mcp_config.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "project"; readonly path: ".agents/mcp_config.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "serverUrl"; readonly sse: "serverUrl"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Antigravity documents command hooks in hooks.json for the current Antigravity execution loop. This supersedes earlier research that found hooks only in SDK/plugin surfaces. Each hooks.json entry is namespaced by a hook name that carries its own enabled flag, and event groups nest under that name rather than under a single top-level hooks key."; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/hooks", "https://antigravity.google/docs/cli/plugins"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.gemini/config/hooks.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".agents/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "browser_.*"; readonly notes: "Matches on tool name; * selects every tool."; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }]; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "run_command"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreInvocation"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostInvocation"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "run_command"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "Antigravity namespaces each hook bundle under its own top-level name in hooks.json; AXM's writer targets a single settings key and cannot express that nesting."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/rules-workflows"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/rules"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Antigravity CLI exposes fine-grained allow/ask/deny permissions in settings, with resources such as command(...), read_file(...), write_file(...), read_url(...), execute_url(...), and mcp(...)."; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/cli-permissions", "https://antigravity.google/docs/cli-reference"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file", "ui-only"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.gemini/antigravity-cli/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "regex"; readonly example: "command(axm)"; readonly notes: "Conflicting rules are evaluated Deny > Ask > Allow."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.gemini/antigravity-cli/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["command(${tool})"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: "~/.gemini/antigravity-cli/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["read_file(${workspaceRoot})", "write_file(${workspaceRoot})"]; }; }; readonly template: null; }; }; }; }; }; }; readonly "antigravity-cli": { readonly id: "antigravity-cli"; readonly name: "Antigravity CLI"; readonly vendor: "Google"; readonly homepage: "https://antigravity.google/product/antigravity-cli"; readonly interfaces: readonly ["cli"]; readonly family: "google"; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".agents"; readonly signal: "supporting"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.gemini/antigravity-cli"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Antigravity CLI documentation"; readonly url: "https://antigravity.google/docs/cli-overview"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Because the CLI's project Skill directory is .agents/skills, --agent universal already wrote to the correct location; this entry adds CLI-specific detection and naming."; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".agent/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "The Antigravity CLI shares product configuration with the desktop surface; AXM avoids a second writer until shared-target ownership is explicit."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The CLI manages background subagents in its Agent Manager, but the vendor docs do not define a custom-subagent file directory."; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/product/antigravity-cli"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "No vendor-documented custom-subagent file target is available."; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The CLI reads command hooks from the workspace or global customization directory."; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "Antigravity's named hook bundles require a serializer AXM does not implement."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/rules-workflows"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; readonly directory: ".agents/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/cli-permissions"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.gemini/antigravity-cli/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "regex"; readonly example: "command(axm)"; readonly notes: "Conflicting rules are evaluated Deny > Ask > Allow."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM does not yet implement Antigravity CLI permission-rule patches."; }; }; }; readonly augment: { readonly id: "augment"; readonly name: "Augment"; readonly vendor: "Augment Code"; readonly homepage: "https://www.augmentcode.com"; readonly interfaces: readonly ["ide-extension", "cli"]; readonly family: null; readonly rootDir: ".augment"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Augment documentation"; readonly url: "https://docs.augmentcode.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Auggie loads skills from .augment/skills, .claude/skills, and .agents/skills at both user and workspace scope. AXM writes the native Augment project directory."; readonly docs: readonly []; readonly sources: readonly ["https://docs.augmentcode.com/cli/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".augment/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Auggie persists MCP server configuration in ~/.augment/settings.json. The CLI also supports per-run --mcp-config overrides that are not represented by AXM writers."; readonly docs: readonly []; readonly sources: readonly ["https://docs.augmentcode.com/cli/integrations"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.augment/settings.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://docs.augmentcode.com/cli/subagents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".augment/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Auggie hooks run command hooks from settings files and use JSON on stdin/stdout. Native Auggie also exposes SessionEnd and Notification, plus metadata options not represented in AXM's portable hook manifest."; readonly docs: readonly []; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.augment/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".augment/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".augment/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "terminal|write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "terminal|write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "read"; readonly canonical: "file.read"; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "write"; readonly canonical: "file.write"; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "terminal"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "web-fetch"; readonly canonical: "web.fetch"; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".augment/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "milliseconds"; readonly commandNameSerialization: "omit"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.augmentcode.com/cli/rules"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Auggie CLI evaluates toolPermissions top-to-bottom with first match winning. Tool permissions are CLI-only and live in ~/.augment/settings.json (user scope) or a repo-committed .augment/settings.json (project scope)."; readonly docs: readonly []; readonly sources: readonly ["https://docs.augmentcode.com/cli/permissions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.augment/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".augment/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "regex"; readonly example: "^axm(\\s|$)"; readonly notes: "Rules contain toolName plus permission.type allow/deny/ask-user; shell commands can be constrained with shellInputRegex."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.augment/settings.json"; readonly patch: { readonly toolPermissions: readonly [{ readonly toolName: "terminal"; readonly shellInputRegex: "^${tool}(\\s|$)"; readonly permission: { readonly type: "allow"; }; }]; }; readonly template: null; }; readonly filesystem: { readonly target: "~/.augment/settings.json"; readonly patch: { readonly toolPermissions: readonly [{ readonly toolName: "read"; readonly permission: { readonly type: "allow"; }; }, { readonly toolName: "edit"; readonly permission: { readonly type: "allow"; }; }, { readonly toolName: "write"; readonly permission: { readonly type: "allow"; }; }]; }; readonly template: null; }; }; }; }; }; }; readonly "claude-code": { readonly id: "claude-code"; readonly name: "Claude Code"; readonly vendor: "Anthropic"; readonly homepage: "https://claude.com/product/claude-code"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: "anthropic"; readonly rootDir: ".claude"; readonly targeting: { readonly extends: null; readonly capabilities: { readonly "structured-input": { readonly grades: readonly ["native"]; readonly nouns: { readonly "tool:structured-input": "AskUserQuestion"; }; readonly affordances: { readonly "do:ask-structured": "Use the AskUserQuestion tool to collect structured input, then STOP and wait for the response."; }; }; }; }; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.claude"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "executable"; readonly name: "claude"; readonly signal: "definitive"; readonly note: "CLI on PATH."; }]; }; }; readonly docs: readonly [{ readonly label: "Claude Code documentation"; readonly url: "https://code.claude.com/docs/en/overview"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://code.claude.com/docs/en/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".claude/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://code.claude.com/docs/en/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: true; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".mcp.json"; readonly format: "json"; readonly attribution: "shared"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "stdio"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "stdio"; }, null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://code.claude.com/docs/en/sub-agents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".claude/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Managed hooks merge into the Claude Code settings hooks block and execute materialized AXM package entrypoints. Claude Code exposes additional native events such as Notification, SessionEnd, CwdChanged, FileChanged, and WorktreeCreate; this catalog maps the subset covered by AXM's canonical hook event registry."; readonly docs: readonly []; readonly sources: readonly ["https://code.claude.com/docs/en/hooks", "https://code.claude.com/docs/en/settings"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.claude/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".claude/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".claude/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Write|Edit"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Write|Edit"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "manual|auto"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "Read"; readonly canonical: "file.read"; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Write"; readonly canonical: "file.write"; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Bash"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "WebFetch"; readonly canonical: "web.fetch"; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".claude/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".claude/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "seconds"; readonly commandNameSerialization: "omit"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Reads CLAUDE.md, not the AGENTS.md spec filename."; readonly docs: readonly []; readonly sources: readonly ["https://code.claude.com/docs/en/memory"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly kind: "own-file"; readonly files: readonly ["CLAUDE.md"]; readonly nestedDiscovery: true; readonly importSyntax: "at-path"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://code.claude.com/docs/en/permissions", "https://code.claude.com/docs/en/settings"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.claude/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".claude/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".claude/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(axm:*)"; readonly notes: "Tool(specifier) with * wildcards. Evaluated deny > ask > allow (first match wins). Settings merge across scopes rather than override.\n"; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.claude/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Bash(${tool}:*)"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: "~/.claude/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Read(${workspaceRoot}/**)", "Write(${workspaceRoot}/**)", "Edit(${workspaceRoot}/**)"]; }; }; readonly template: null; }; }; }; }; }; }; readonly cline: { readonly id: "cline"; readonly name: "Cline"; readonly vendor: "Cline"; readonly homepage: "https://cline.bot"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".cline"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Cline documentation"; readonly url: "https://docs.cline.bot"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.cline.bot/customization/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".cline/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".clinerules/skills"; readonly status: "compat"; }, { readonly path: ".claude/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cline supports MCP in both the extension and CLI. The CLI MCP config is ~/.cline/mcp.json; extension config is exposed through the MCP settings UI. Entries use the community-standard mcpServers shape with a streamableHttp remote discriminator plus Cline-specific disabled and autoApprove fields."; readonly docs: readonly []; readonly sources: readonly ["https://docs.cline.bot/mcp/mcp-overview"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.cline/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "streamableHttp"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "streamableHttp"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cline stores executable hooks under ~/Documents/Cline/Hooks and .clinerules/hooks. The native script-directory shape is not compatible with AXM's grouped JSON command-hook writer."; readonly docs: readonly []; readonly sources: readonly ["https://docs.cline.bot/customization/hooks"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a Cline hook script directory writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Uses a vendor rule directory under the AGENTS.md-governed rule umbrella."; readonly docs: readonly []; readonly sources: readonly ["https://docs.cline.bot/customization/cline-rules"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly files: readonly ["*.md", "*.txt"]; readonly nestedDiscovery: false; readonly importSyntax: null; readonly directory: ".clinerules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cline exposes auto-approve controls in the extension/CLI UI and toolPolicies in the SDK. The public docs do not define a stable AXM-writable project permission grant file."; readonly docs: readonly []; readonly sources: readonly ["https://docs.cline.bot/cline-cli/interactive-mode", "https://docs.cline.bot/sdk/guides/permission-handling"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Cline permission grant writer."; }; }; }; readonly "codearts-agent": { readonly id: "codearts-agent"; readonly name: "CodeArts Agent"; readonly vendor: "Huawei Cloud"; readonly homepage: "https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0001.html"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".codeartsdoer"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".codeartsdoer"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.codeartsdoer"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "CodeArts Agent CLI documentation"; readonly url: "https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0001.html"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0019.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".codeartsdoer/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeArts Agent stores local and remote MCP servers under the mcp key in its shared JSON or JSONC configuration."; readonly docs: readonly []; readonly sources: readonly ["https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0017.html", "https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0028.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcp"; readonly activationField: { readonly required: null; readonly accepted: readonly [{ readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".codeartsdoer/codearts_cli.jsonc"; readonly format: "jsonc"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.codeartsdoer/codearts_cli.jsonc"; readonly format: "jsonc"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "local"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "local"; }]; }; readonly command: "array"; readonly envKey: "environment"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "remote"; readonly sse: "remote"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "remote"; readonly sse: "remote"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeArts Agent discovers Markdown agent definitions with YAML frontmatter and supports primary and subagent modes."; readonly docs: readonly []; readonly sources: readonly ["https://support.huaweicloud.com/usermanual-codeartssnap/codeartsagent_ug_0051.html"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".codeartsdoer/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeArts Agent hooks are JavaScript or TypeScript plugin callbacks rather than declarative command hooks that AXM can serialize."; readonly docs: readonly []; readonly sources: readonly ["https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0018.html"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM does not serialize CodeArts Agent JavaScript or TypeScript plugins."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeArts Agent uses AGENTS.md for project instructions and can generate it with /init."; readonly docs: readonly []; readonly sources: readonly ["https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0014.html"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeArts Agent stores ordered allow, ask, and deny-style rules in a user-level JSON permission file."; readonly docs: readonly []; readonly sources: readonly ["https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0006.html"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.codeartsdoer/cli-data/storage/permission/global.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "{\"permission\":\"bash\",\"pattern\":\"axm *\",\"action\":\"allow\"}"; readonly notes: "Each array entry selects a permission name and wildcard pattern, then applies an allow, ask, or deny action."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a CodeArts Agent permission-list writer."; }; }; }; readonly codebuddy: { readonly id: "codebuddy"; readonly name: "CodeBuddy"; readonly vendor: "Tencent Cloud"; readonly homepage: "https://www.codebuddy.ai/docs"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".codebuddy"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "CodeBuddy documentation"; readonly url: "https://www.codebuddy.ai/docs/ide/Introduction"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://www.codebuddy.ai/docs/ide/Introduction"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".codebuddy/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeBuddy MCP configs are JSONC and use first-existing-file precedence within each scope; AXM writes the recommended project/user files."; readonly docs: readonly []; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: true; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".mcp.json"; readonly format: "jsonc"; readonly attribution: "shared"; }, { readonly scope: "user"; readonly path: "~/.codebuddy/.mcp.json"; readonly format: "jsonc"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "stdio"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "stdio"; }, null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/sub-agents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".codebuddy/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeBuddy hooks are configured under the hooks key in settings.json and use grouped event/matcher command hooks compatible with AXM's command-stdin serializer."; readonly docs: readonly []; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".codebuddy/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.codebuddy/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "literal-list"; readonly example: "startup|resume"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|Edit|Write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Edit|Write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "literal-list"; readonly example: "manual|auto"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "Read"; readonly canonical: "file.read"; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/settings"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Write"; readonly canonical: "file.write"; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Bash"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/settings"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "WebFetch"; readonly canonical: "web.fetch"; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/settings"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".codebuddy/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "seconds"; readonly commandNameSerialization: "omit"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeBuddy loads CODEBUDDY.md plus nested .codebuddy/rules instruction files and supports @path imports."; readonly docs: readonly []; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/memory"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "none"; readonly convention: "vendor"; readonly kind: "own-file"; readonly files: readonly ["CODEBUDDY.md"]; readonly nestedDiscovery: true; readonly importSyntax: "at-path"; readonly directory: ".codebuddy/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeBuddy permissions support allow/ask/deny rules in settings.json plus CLI permission flags. Bash rules are prefix-style and can include :* suffixes."; readonly docs: readonly []; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/settings", "https://www.codebuddy.ai/docs/cli/cli-reference"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".codebuddy/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".codebuddy/settings.local.json"; readonly format: "json"; readonly gitignored: true; }, { readonly scope: "user"; readonly path: "~/.codebuddy/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(axm:*)"; readonly notes: "Rules live in permissions.allow/ask/deny arrays; Bash patterns use prefix matching."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--dangerously-skip-permissions"; readonly note: "Bypasses CodeBuddy Code permission prompts."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: ".codebuddy/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Bash(${tool}:*)"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: ".codebuddy/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Read(**)", "Write(**)", "Edit"]; }; }; readonly template: null; }; }; }; }; }; }; readonly codemaker: { readonly id: "codemaker"; readonly name: "Codemaker"; readonly vendor: "CodeMaker AI"; readonly homepage: "https://github.com/codemakerai/codemaker-cli"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "retired"; readonly since: null; readonly note: "CodeMaker AI's vendor domains no longer resolve, and its vendor-owned CLI repository has not shipped an agent-extension surface."; readonly supersededBy: null; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.codemaker"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "CodeMaker CLI repository"; readonly url: "https://github.com/codemakerai/codemaker-cli"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The vendor CLI source and documentation do not implement skills or read .codemaker/skills; the prior claim came only from a third-party installer path table."; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly codestudio: { readonly id: "codestudio"; readonly name: "Code Studio"; readonly vendor: "Syncfusion"; readonly homepage: "https://www.syncfusion.com/code-studio/"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".codestudio"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".codestudio"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.codestudio"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Code Studio documentation"; readonly url: "https://help.syncfusion.com/code-studio/welcome-to-code-studio"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://www.syncfusion.com/code-studio/features/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".codestudio/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Code Studio supports custom stdio and remote HTTP MCP servers."; readonly docs: readonly []; readonly sources: readonly ["https://www.syncfusion.com/code-studio/features/", "https://help.syncfusion.com/code-studio/reference/configure-properties/mcp/customservers"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Code Studio custom agents are stored under .codestudio/agents."; readonly docs: readonly []; readonly sources: readonly ["https://www.syncfusion.com/code-studio/features/", "https://github.com/syncfusion/code-studio-library"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".codestudio/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Code Studio exposes command-based lifecycle hooks, but its public documentation does not enumerate a stable event and matcher grammar."; readonly docs: readonly []; readonly sources: readonly ["https://www.syncfusion.com/code-studio/features/"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Code Studio supports AGENTS.md and its own instruction/rule surfaces; this entry models the universal AGENTS.md surface."; readonly docs: readonly []; readonly sources: readonly ["https://help.syncfusion.com/code-studio/features/globalagent", "https://www.syncfusion.com/code-studio/features/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly codex: { readonly id: "codex"; readonly name: "Codex"; readonly vendor: "OpenAI"; readonly homepage: "https://learn.chatgpt.com/docs"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: "openai"; readonly rootDir: ".codex"; readonly targeting: { readonly extends: null; readonly capabilities: { readonly "structured-input": { readonly grades: readonly ["native"]; readonly nouns: { readonly "tool:structured-input": "request_user_input"; }; readonly affordances: { readonly "do:ask-structured": "Use request_user_input to collect structured input, then STOP and wait for the response."; }; }; }; }; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "file"; readonly path: "AGENTS.md"; readonly signal: "ambiguous"; readonly note: "Shared instruction filename used by multiple agents."; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.codex"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "executable"; readonly name: "codex"; readonly signal: "definitive"; readonly note: "CLI on PATH."; }]; }; }; readonly docs: readonly [{ readonly label: "Codex documentation"; readonly url: "https://learn.chatgpt.com/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Reads SKILL.md skills from repository (.agents/skills) and user (~/.agents/skills) locations with progressive disclosure, using the cross-tool Agent Skills convention rather than a .codex/ path.\n"; readonly docs: readonly []; readonly sources: readonly ["https://developers.openai.com/codex/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://developers.openai.com/codex/mcp/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcp_servers"; readonly activationField: { readonly required: { readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }; readonly accepted: readonly [{ readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".codex/config.toml"; readonly format: "toml"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.codex/config.toml"; readonly format: "toml"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; }; readonly headersKey: "http_headers"; readonly bearerTokenEnvKey: "bearer_token_env_var"; readonly envHeadersKey: "env_http_headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Custom agents are standalone TOML files under .codex/agents (project) or ~/.codex/agents (user); a custom agent overrides a built-in of the same name.\n"; readonly docs: readonly []; readonly sources: readonly ["https://learn.chatgpt.com/docs/agent-configuration/subagents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".codex/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Codex lifecycle hooks are command hooks loaded from hooks.json or inline [hooks] tables next to active config layers."; readonly docs: readonly []; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.codex/hooks.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".codex/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|apply_patch"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "block"; readonly outcomes: readonly ["deny"]; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PermissionRequest"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|apply_patch"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "block"; readonly outcomes: readonly ["deny"]; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|apply_patch"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "block"; readonly outcomes: readonly ["deny"]; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "regex"; readonly example: "startup|resume|clear|compact"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "regex"; readonly example: null; readonly notes: "Matcher filters subagent type."; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "manual|auto"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "apply_patch"; readonly canonical: "file.edit"; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Write"; readonly canonical: "file.write"; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Bash"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".codex/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "seconds"; readonly commandNameSerialization: "omit"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/openai/codex/blob/main/docs/agents_md.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://learn.chatgpt.com/docs/config-file/config-reference", "https://learn.chatgpt.com/docs/permissions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.codex/config.toml"; readonly format: "toml"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.codex/axm.config.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "[permissions.agentxm.filesystem.\":workspace_roots\"] \".\" = \"write\""; readonly notes: "Permission profiles combine filesystem, network, and workspace-root rules. Narrower deny rules remain in force over broader readable or writable paths.\n"; }; readonly prerequisites: readonly [{ readonly key: "default_permissions"; readonly value: "agentxm"; readonly scope: "user"; readonly note: "Selects the named permission profile."; }]; readonly cliFlags: readonly [{ readonly flag: "--yolo"; readonly note: "Alias for danger-full-access; use only when broad local access is intentional."; }, { readonly flag: "--dangerously-bypass-approvals-and-sandbox"; readonly note: "Runs without local sandbox restrictions."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.codex/axm.config.toml"; readonly patch: { readonly default_permissions: "agentxm"; readonly permissions: { readonly agentxm: { readonly extends: ":workspace"; }; }; }; readonly template: null; }; readonly filesystem: { readonly target: "~/.codex/axm.config.toml"; readonly patch: { readonly default_permissions: "agentxm"; readonly permissions: { readonly agentxm: { readonly extends: ":workspace"; readonly workspace_roots: { readonly "${workspaceRoot}": true; }; readonly filesystem: { readonly ":workspace_roots": { readonly ".": "write"; }; }; readonly network: { readonly enabled: true; }; }; }; }; readonly template: null; }; }; }; }; }; }; readonly "command-code": { readonly id: "command-code"; readonly name: "Command Code"; readonly vendor: "Command Code"; readonly homepage: "https://commandcode.ai"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".commandcode"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Command Code documentation"; readonly url: "https://commandcode.ai/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://commandcode.ai/docs/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".commandcode/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The shared/project-scoped MCP config is .mcp.json at the repo root; the user-scoped config is ~/.commandcode/mcp.json. A private local scope (~/.commandcode/projects//mcp.json) also exists but is not managed here."; readonly docs: readonly []; readonly sources: readonly ["https://commandcode.ai/docs/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null, { readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".mcp.json"; readonly format: "json"; readonly attribution: "shared"; }, { readonly scope: "user"; readonly path: "~/.commandcode/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null, { readonly name: "transport"; readonly value: "stdio"; }, { readonly name: "type"; readonly value: "stdio"; }]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "transport"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "transport"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }, { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Command Code Custom Agents / Sub-Agents are single Markdown files with frontmatter under .commandcode/agents (project) and ~/.commandcode/agents (user)."; readonly docs: readonly []; readonly sources: readonly ["https://commandcode.ai/docs/core-concepts/custom-agents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".commandcode/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Command Code documents a lifecycle hook system configured in settings.json. AXM has not modeled its native event dialect."; readonly docs: readonly []; readonly sources: readonly ["https://commandcode.ai/docs/hooks"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a Command Code hook writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Command Code reads AGENTS.md memory/instruction files."; readonly docs: readonly []; readonly sources: readonly ["https://commandcode.ai/docs/core-concepts/memory"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Command Code exposes permission allow/deny lists and an autoApprove system in settings.json. AXM does not yet write these grants."; readonly docs: readonly []; readonly sources: readonly ["https://commandcode.ai/docs/core-concepts/settings"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.commandcode/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".commandcode/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(axm:*)"; readonly notes: null; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Command Code permission grant writer."; }; }; }; readonly continue: { readonly id: "continue"; readonly name: "Continue"; readonly vendor: "Continue"; readonly homepage: "https://www.continue.dev"; readonly interfaces: readonly ["ide-extension", "cli"]; readonly family: null; readonly rootDir: ".continue"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Continue documentation"; readonly url: "https://docs.continue.dev"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.continue.dev"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".continue/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Continue agent-mode tools include MCP servers configured as tools in Continue config. AXM does not currently write Continue's YAML/config package format."; readonly docs: readonly []; readonly sources: readonly ["https://docs.continue.dev/guides/configuring-models-rules-tools", "https://docs.continue.dev/reference/config"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Continue MCP config writer."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The Continue CLI ships a Claude Code-compatible hooks system keyed under settings.json hooks, merged across ~/.continue, .continue, and the matching .claude locations. Beyond the events mapped here it also fires PostToolUseFailure, PermissionRequest, SessionEnd, Notification, SubagentStart, ConfigChange, TeammateIdle, TaskCompleted, WorktreeCreate, and WorktreeRemove, which have no canonical AXM event. Command handlers sit beside http, prompt, and agent handler types, and the surface is not yet covered by the published Continue docs."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.continue/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".continue/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".continue/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Write|Edit"; readonly notes: "Matchers select tools by name; an optional per-handler if condition narrows by argument, such as Edit(src/**)."; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "Read"; readonly canonical: "file.read"; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Write"; readonly canonical: "file.write"; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Bash"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "Continue's hook surface is only described in tracking issues, not published reference docs, so the settings key and handler shape are not stable enough to write."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Uses a vendor rule directory under the AGENTS.md-governed rule umbrella."; readonly docs: readonly []; readonly sources: readonly ["https://docs.continue.dev/guides/configuring-models-rules-tools"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly files: readonly ["*.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; readonly directory: ".continue/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The Continue CLI sorts tool patterns into allow, ask, and exclude lists in a user-scoped permissions.yaml that the TUI writes as approvals are granted; there is no project-scoped permission file."; readonly docs: readonly []; readonly sources: readonly ["https://docs.continue.dev/cli/tool-permissions"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.continue/permissions.yaml"; readonly format: "yaml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "Bash(axm *)"; readonly notes: "Tool(pattern) entries under allow, ask, or exclude; the argument pattern is a glob, as in Write(**/*.ts)."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--auto"; readonly note: "Allows every tool for the session; not tool-scoped."; }, { readonly flag: "--readonly"; readonly note: "Restricts the session to read-only tools."; }, { readonly flag: "--allow"; readonly note: "Adds a session allow rule for one tool pattern."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "permissions.yaml is owned by the Continue TUI and AXM has no writer for its YAML permission grammar."; }; }; }; readonly cortex: { readonly id: "cortex"; readonly name: "Cortex Code"; readonly vendor: "Snowflake"; readonly homepage: "https://www.snowflake.com/en/product/features/cortex-code"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".cortex"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".cortex"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.snowflake/cortex"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Cortex Code CLI extensibility"; readonly url: "https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility", "https://github.com/Snowflake-Labs/coco-skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".cortex/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cortex Code configures MCP servers under the mcpServers key."; readonly docs: readonly []; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cortex Code subagents are Markdown definitions under .cortex/agents."; readonly docs: readonly []; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".cortex/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cortex Code hooks execute commands with event data on standard input."; readonly docs: readonly []; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.snowflake/cortex/hooks.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".cortex/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".cortex/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|Write|Edit"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|Write|Edit"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cortex Code loads AGENTS.md instruction files."; readonly docs: readonly []; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cortex Code permission rules are stored in permissions.json and layered settings files."; readonly docs: readonly []; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.snowflake/cortex/permissions.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.snowflake/cortex/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".cortex/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(git status)"; readonly notes: "Permission allow and deny entries match tool calls and command prefixes."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly crush: { readonly id: "crush"; readonly name: "Crush"; readonly vendor: "Charm"; readonly homepage: "https://charm.land/crush"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".crush"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Crush repository"; readonly url: "https://github.com/charmbracelet/crush"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/charmbracelet/crush"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".crush/skills"; readonly status: "compat"; }, { readonly path: ".claude/skills"; readonly status: "compat"; }, { readonly path: ".cursor/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Crush now prefers executable crushrc configuration. AXM targets the deprecated-but-still-supported JSON configuration because the generic writer cannot safely author shell configuration."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/charmbracelet/crush", "https://github.com/charmbracelet/crush/blob/main/schema.json"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcp"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: "crush.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.config/crush/crush.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Crush currently supports PreToolUse hooks in crush.json/.crush.json with direct event arrays. The native shape is Claude Code-compatible conceptually but not AXM's grouped command-hook JSON writer shape."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/charmbracelet/crush/tree/main/docs/hooks"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a Crush hook writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/charmbracelet/crush"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Crush can allow broad built-in tools through permissions.allowed_tools and can bypass prompts with --yolo. This does not provide a narrow shell-command grant for AXM."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/charmbracelet/crush"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: "crush.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.config/crush/crush.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "prefix"; readonly example: "\"permissions\": { \"allowed_tools\": [\"view\", \"edit\", \"bash\"] }"; readonly notes: "allowed_tools grants whole tools such as bash; it cannot narrowly grant only the axm command."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--yolo"; readonly note: "Skips all permission prompts for the workspace."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a narrow Crush permission grant writer."; }; }; }; readonly cursor: { readonly id: "cursor"; readonly name: "Cursor"; readonly vendor: "Anysphere"; readonly homepage: "https://cursor.com"; readonly interfaces: readonly ["ide-extension", "cli"]; readonly family: "cursor"; readonly rootDir: ".cursor"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "file"; readonly path: "AGENTS.md"; readonly signal: "ambiguous"; readonly note: "Shared instruction filename used by multiple agents."; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.cursor"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "executable"; readonly name: "cursor-agent"; readonly signal: "definitive"; readonly note: "CLI on PATH."; }]; }; }; readonly docs: readonly [{ readonly label: "Cursor documentation"; readonly url: "https://docs.cursor.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cursor 2.4 added Agent Skills (SKILL.md) across the editor and the cursor-agent CLI."; readonly docs: readonly []; readonly sources: readonly ["https://cursor.com/docs/skills.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".cursor/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".claude/skills"; readonly status: "compat"; }, { readonly path: ".codex/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://cursor.com/docs/mcp.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".cursor/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.cursor/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "stdio"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "stdio"; }, null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Custom subagents are Markdown files with YAML frontmatter under .cursor/agents (project) or ~/.cursor/agents (user); added in Cursor 2.4.\n"; readonly docs: readonly []; readonly sources: readonly ["https://cursor.com/docs/subagents.md"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".cursor/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cursor hooks run custom scripts around agent-loop stages. The native hooks.json shape is a direct event-to-command array, not AXM's current grouped command-stdin serializer shape."; readonly docs: readonly []; readonly sources: readonly ["https://cursor.com/docs/hooks.md"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "Cursor's hooks.json maps each event to a flat command array; AXM's only hook serializer emits grouped command-stdin entries, so a writer needs a new serializer rather than catalog data."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://cursor.com/docs/rules.md"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".cursor/rules"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://cursor.com/docs/cli/reference/permissions.md", "https://cursor.com/docs/cli/reference/parameters.md", "https://cursor.com/docs/agent/tools/terminal"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "ui-only", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.cursor/permissions.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.cursor/sandbox.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".cursor/sandbox.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.cursor/cli-config.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".cursor/cli.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "prefix"; readonly example: "axm"; readonly notes: "IDE: case-sensitive command prefix in terminalAllowlist. CLI: Tool-call syntax Shell()/Read()/Write() with glob patterns. Deny always beats allow.\n"; }; readonly prerequisites: readonly [{ readonly key: "Settings > Cursor Settings > Agents > Auto-Run"; readonly value: "Run in Sandbox | Run Everything"; readonly scope: "user"; readonly note: "IDE Auto-Run must be enabled before terminalAllowlist takes effect."; }]; readonly cliFlags: readonly [{ readonly flag: "--force"; readonly note: "Force allow commands unless explicitly denied."; }, { readonly flag: "--yolo"; readonly note: "Alias for --force."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.cursor/permissions.json"; readonly patch: { readonly terminalAllowlist: readonly ["${tool}"]; }; readonly template: null; }; readonly cliShell: { readonly target: ".cursor/cli.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Shell(${tool})", "Shell(${tool}:*)"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: ".cursor/sandbox.json"; readonly patch: { readonly type: "workspace_readwrite"; readonly additionalReadwritePaths: readonly []; }; readonly template: null; }; }; }; }; }; }; readonly deepagents: { readonly id: "deepagents"; readonly name: "Deep Agents"; readonly vendor: "LangChain"; readonly homepage: "https://docs.langchain.com/oss/python/deepagents/overview"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.deepagents"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Deep Agents skills documentation"; readonly url: "https://docs.langchain.com/oss/python/deepagents/skills"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Skill sources are layered built-in, then plugin, then user ~/.deepagents//skills and ~/.agents/skills, then project .deepagents/skills and .agents/skills.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.langchain.com/oss/python/deepagents/skills", "https://github.com/langchain-ai/deepagents/blob/main/libs/code/deepagents_code/project_utils.py"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The deepagents CLI natively supports MCP servers via 'mcp-servers add|list|tools|update|delete|connect' commands, project-level MCP config discovery/merge, per-server trust/approval, and MCP OAuth session management.\n"; readonly docs: readonly []; readonly sources: readonly ["https://reference.langchain.com/python/deepagents-cli", "https://pypi.org/project/deepagents-cli/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Deep Agents natively supports MCP servers, but the exact config file path, servers key, and serialization dialect are unverified; no AXM writer is defined to avoid fabricating an install path."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Each subagent is a folder holding an AGENTS.md with YAML frontmatter: .deepagents/agents//AGENTS.md for the project and ~/.deepagents//agents//AGENTS.md for the user. The name field is optional and defaults to the folder name."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/langchain-ai/deepagents/blob/main/libs/code/deepagents_code/subagents.py"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".deepagents/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Project instructions are auto-discovered from .deepagents/AGENTS.md first and the repository-root AGENTS.md second; both are loaded as memory. User-level instructions live at ~/.deepagents/AGENTS.md."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/langchain-ai/deepagents/blob/main/libs/code/deepagents_code/project_utils.py", "https://docs.langchain.com/oss/python/deepagents/overview"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly devin: { readonly id: "devin"; readonly name: "Devin CLI"; readonly vendor: "Cognition"; readonly homepage: "https://devin.ai"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".devin"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".devin"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "$XDG_CONFIG_HOME/devin"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Devin CLI documentation"; readonly url: "https://docs.devin.ai/cli"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Devin also reads universal .agents/skills locations; AXM targets the native .devin/skills project path and XDG user path.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/skills/overview"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".devin/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Devin CLI stores MCP servers under mcpServers in layered config files. Remote URL servers default to Streamable HTTP and can fall back to SSE."; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/mcp/configuration"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".devin/mcp_config.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.config/devin/mcp_config.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "transport"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "transport"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Custom Devin CLI subagents are AGENT.md files under .devin/agents, .agents/agents, or the global Devin agents directory. Claude Code .claude/agents/*.md files are also imported."; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/cli/subagents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".devin/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Devin CLI hooks are compatible with Claude Code hooks. AXM writes to the hooks key in .devin/config.json rather than the standalone hooks.v1.json file."; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/hooks/overview"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".devin/hooks.v1.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".devin/config.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".devin/config.local.json"; readonly format: "json"; readonly gitignored: true; }, { readonly scope: "user"; readonly path: "~/.config/devin/config.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/hooks/overview"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/hooks/overview"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "exec|edit|write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/hooks/overview"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "exec|edit|write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/hooks/overview"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/hooks/overview"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "read"; readonly canonical: "file.read"; readonly sources: readonly ["https://docs.devin.ai/cli/reference/permissions"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "write"; readonly canonical: "file.write"; readonly sources: readonly ["https://docs.devin.ai/cli/reference/permissions"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://docs.devin.ai/cli/reference/permissions"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "exec"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://docs.devin.ai/cli/reference/permissions"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".devin/config.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "seconds"; readonly commandNameSerialization: "omit"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/rules"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Devin CLI permissions use allow/ask/deny arrays in layered config files. Rules cover scope matchers such as Read/Write/Exec/Fetch and tool names such as read/edit/grep/glob/exec."; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/cli/reference/permissions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".devin/config.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".devin/config.local.json"; readonly format: "json"; readonly gitignored: true; }, { readonly scope: "user"; readonly path: "~/.config/devin/config.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Exec(axm)"; readonly notes: "Exec rules match shell command prefixes as complete words; Read/Write rules use glob-style path scopes."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--permission-mode"; readonly note: "Selects modes such as normal, accept edits, bypass, or autonomous with sandboxing."; }, { readonly flag: "--sandbox"; readonly note: "Enables OS-level sandboxing and autonomous permission behavior."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: ".devin/config.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Exec(${tool})"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: ".devin/config.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Read(**)", "Write(**)", "edit"]; }; }; readonly template: null; }; }; }; }; }; }; readonly dexto: { readonly id: "dexto"; readonly name: "Dexto"; readonly vendor: "Truffle AI"; readonly homepage: "https://www.dexto.ai"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.dexto"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Dexto documentation"; readonly url: "https://docs.dexto.ai"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/truffle-ai/dexto/blob/main/packages/core/src/skills/workspace-skill-source.ts"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Dexto declares MCP servers under mcpServers in a project agent.yml. The vendor schema adds connectionMode and type fields around the standard server definitions."; readonly docs: readonly []; readonly sources: readonly ["https://docs.dexto.ai/mcp/"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Dexto permissions use manual or auto-approve mode plus alwaysAllow and alwaysDeny tool policies in agent.yml."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/truffle-ai/dexto/blob/main/docs/docs/guides/configuring-dexto/permissions.md"]; readonly scopes: readonly ["project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: "agent.yml"; readonly format: "yaml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "mcp--filesystem--write_file"; readonly notes: "toolPolicies.alwaysAllow and toolPolicies.alwaysDeny contain tool identifiers such as read_file, bash_exec, and mcp--server--tool."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--auto-approve"; readonly note: "Enables auto-approve mode for the session."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly droid: { readonly id: "droid"; readonly name: "Droid"; readonly vendor: "Factory"; readonly homepage: "https://www.factory.ai"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".factory"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Factory documentation"; readonly url: "https://docs.factory.ai"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".factory/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Factory MCP configuration supports local and remote servers."; readonly docs: readonly []; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: true; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Factory custom droids are Markdown files under .factory/droids."; readonly docs: readonly []; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/custom-droids"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".factory/droids"; readonly layout: "directory"; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Factory hooks execute commands with event payloads on standard input."; readonly docs: readonly []; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.factory/hooks.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".factory/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Execute|Create|Edit|ApplyPatch"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["deny"]; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Execute|Create|Edit|ApplyPatch"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "Execute"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Create"; readonly canonical: "file.write"; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "ApplyPatch"; readonly canonical: "file.edit"; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/agents-md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Factory layers command allow, deny, and block lists; blocklist rules take precedence over denylist and allowlist rules."; readonly docs: readonly []; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/settings", "https://docs.factory.ai/cli/droid-exec/overview"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.factory/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".factory/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "prefix"; readonly example: "commandAllowlist: [\"git status\", \"ls\"]"; readonly notes: "Command-prefix allow, deny, and block lists are matched after program resolution to prevent path-based bypasses."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--auto "; readonly note: "Selects the automation level."; }, { readonly flag: "--skip-permissions-unsafe"; readonly note: "Bypasses permission checks."; }, { readonly flag: "--enabled-tools "; readonly note: "Restricts the enabled tool set."; }, { readonly flag: "--disabled-tools "; readonly note: "Disables selected tools."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly firebender: { readonly id: "firebender"; readonly name: "Firebender"; readonly vendor: "Firebender"; readonly homepage: "https://firebender.com"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".firebender"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".firebender"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "file"; readonly path: "firebender.json"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.firebender"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Firebender documentation"; readonly url: "https://docs.firebender.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.firebender.com/multi-agent/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".firebender/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".goose/skills"; readonly status: "compat"; }, { readonly path: ".claude/skills"; readonly status: "compat"; }, { readonly path: ".codex/skills"; readonly status: "compat"; }, { readonly path: ".cursor/skills"; readonly status: "compat"; }, { readonly path: ".agents/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Firebender stores MCP servers under mcpServers in firebender.json and ~/.firebender/firebender.json."; readonly docs: readonly []; readonly sources: readonly ["https://docs.firebender.com/context/mcp/overview", "https://firebendercorp.mintlify.app/api-reference/syntax"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Firebender subagents are Markdown definitions under .firebender/agents."; readonly docs: readonly []; readonly sources: readonly ["https://docs.firebender.com/api-reference/agents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".firebender/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Firebender hooks execute commands with JSON event payloads on standard input and can observe, block, or modify selected operations."; readonly docs: readonly []; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".firebender/hooks.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.firebender/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "sessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "preToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "literal-list"; readonly example: "Shell,Read,Write,MCP"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "postToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "literal-list"; readonly example: "Shell,Read,Write,MCP"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "subagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "preCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "Shell"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Read"; readonly canonical: "file.read"; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Write"; readonly canonical: "file.write"; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "MCP"; readonly canonical: "mcp.call"; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "afterFileEdit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Firebender reads .firebender/rules/*.mdc and also supports AGENTS.md; this entry models its primary vendor rule directory."; readonly docs: readonly []; readonly sources: readonly ["https://docs.firebender.com/multi-agent/global-rules"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly directory: ".firebender/rules"; readonly files: readonly ["*.mdc"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly forgecode: { readonly id: "forgecode"; readonly name: "ForgeCode"; readonly vendor: "Tailcall"; readonly homepage: "https://forgecode.dev"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".forge"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".forge"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.forge"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "dir"; readonly path: "~/forge"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "ForgeCode skills documentation"; readonly url: "https://forgecode.dev/docs/skills/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "ForgeCode also reads shared ~/.agents/skills and documents ~/forge/skills as its global skills path."; readonly docs: readonly []; readonly sources: readonly ["https://forgecode.dev/docs/skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".forge/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "ForgeCode supports local and remote MCP servers."; readonly docs: readonly []; readonly sources: readonly ["https://forgecode.dev/docs/mcp-integration/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "ForgeCode custom agents are files under .forge/agents."; readonly docs: readonly []; readonly sources: readonly ["https://forgecode.dev/docs/creating-agents/"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".forge/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://forgecode.dev/docs/custom-rules/"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "ForgeCode permissions.yaml policies combine read, write, command, and URL glob rules with all, any, and not operators; decisions are allow, deny, or confirm."; readonly docs: readonly []; readonly sources: readonly ["https://forgecode.dev/docs/permissions/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.forge/permissions.yaml"; readonly format: "yaml"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".forge.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "command: \"git *\""; readonly notes: "Rules support all, any, and not composition with allow, deny, and confirm decisions."; }; readonly prerequisites: readonly [{ readonly key: "restricted"; readonly value: "true"; readonly scope: "project"; readonly note: "Enables restricted permission policy enforcement from .forge.toml."; }]; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly "gemini-cli": { readonly id: "gemini-cli"; readonly name: "Gemini CLI"; readonly vendor: "Google"; readonly homepage: "https://github.com/google-gemini/gemini-cli"; readonly interfaces: readonly ["cli"]; readonly family: "google"; readonly rootDir: ".gemini"; readonly lifecycle: { readonly state: "retired"; readonly since: "2026-06-18"; readonly note: "On 2026-06-18 Gemini CLI stopped serving requests for individual/free/AI Pro/Ultra tiers, superseded by Antigravity CLI; enterprise and paid API-key access remains available."; readonly supersededBy: "antigravity"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.gemini"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "executable"; readonly name: "gemini"; readonly signal: "definitive"; readonly note: "CLI on PATH."; }]; }; }; readonly docs: readonly [{ readonly label: "Gemini CLI documentation"; readonly url: "https://github.com/google-gemini/gemini-cli/tree/main/docs"; }, { readonly label: "Transitioning Gemini CLI to Antigravity CLI"; readonly url: "https://developers.googleblog.com/an-important-update-transitioning-gemini-cli-to-antigravity-cli/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/skills.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/configuration.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: true; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".gemini/settings.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.gemini/settings.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "httpUrl"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Subagents are Markdown files with YAML frontmatter under .gemini/agents (project) or ~/.gemini/agents (user); shipped in Gemini CLI v0.38.1.\n"; readonly docs: readonly []; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/core/subagents.md"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".gemini/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Gemini CLI hooks run command hooks from settings files and use JSON on stdin/stdout. Native Gemini CLI exposes additional events such as SessionEnd, BeforeModel, AfterModel, BeforeToolSelection, and Notification; this catalog maps the subset covered by AXM's canonical hook event registry."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/index.md", "https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/reference.md", "https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/configuration.md"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.gemini/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".gemini/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "regex"; readonly example: "startup|resume|clear"; readonly notes: "Gemini CLI lifecycle matchers are exact strings; AXM serializes raw matcher text."; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/reference.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "BeforeAgent"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/reference.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "AfterAgent"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/reference.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "BeforeTool"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "write_file|replace"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/reference.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "AfterTool"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "write_file|replace"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/reference.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompress"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/index.md"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "read_file"; readonly canonical: "file.read"; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "read_many_files"; readonly canonical: "file.read"; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "write_file"; readonly canonical: "file.write"; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "replace"; readonly canonical: "file.edit"; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "run_shell_command"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "web_fetch"; readonly canonical: "web.fetch"; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".gemini/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "milliseconds"; readonly commandNameSerialization: "manifest"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Consumer access (free, AI Pro, AI Ultra) ended 2026-06-18; Antigravity CLI succeeded Gemini CLI for those tiers. Enterprise customers on paid API keys retain access. The contextFileName setting can also point Gemini CLI at AGENTS.md.\n"; readonly docs: readonly []; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/configuration.md", "https://developers.googleblog.com/an-important-update-transitioning-gemini-cli-to-antigravity-cli/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly kind: "own-file"; readonly files: readonly ["GEMINI.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/configuration.md", "https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/policy-engine.md", "https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/shell.md", "https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/trusted-folders.md"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.gemini/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".gemini/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "prefix"; readonly example: "run_shell_command(axm)"; readonly notes: "The current configuration reference exposes tools.allowed / tools.core / tools.exclude (formerly coreTools/excludeTools) and the policy engine; command-specific run_shell_command rules are simple string matches and should not be treated as a strong security boundary.\n"; }; readonly prerequisites: readonly [{ readonly key: "security.folderTrust.enabled"; readonly value: "true"; readonly scope: "user"; readonly note: "Untrusted folders disable all auto-acceptance regardless of other settings."; }]; readonly cliFlags: readonly [{ readonly flag: "--approval-mode=yolo"; readonly note: "Broad bypass; not tool-scoped. Blocked when security.disableYoloMode=true."; }, { readonly flag: "--yolo"; readonly note: "Alias for --approval-mode=yolo."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.gemini/settings.json"; readonly patch: { readonly security: { readonly folderTrust: { readonly enabled: true; }; readonly enablePermanentToolApproval: true; }; readonly tools: { readonly allowed: readonly ["run_shell_command(${tool})"]; }; }; readonly template: null; }; }; }; }; }; }; readonly "github-copilot-cli": { readonly id: "github-copilot-cli"; readonly name: "GitHub Copilot CLI"; readonly vendor: "GitHub"; readonly homepage: "https://docs.github.com/en/copilot/concepts/agents/about-copilot-cli"; readonly interfaces: readonly ["cli"]; readonly family: "github"; readonly rootDir: ".copilot"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".github/copilot"; readonly signal: "supporting"; readonly note: "Repository and local Copilot CLI settings live under .github/copilot."; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.copilot"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "executable"; readonly name: "copilot"; readonly signal: "definitive"; readonly note: "CLI on PATH."; }]; }; }; readonly docs: readonly [{ readonly label: "GitHub Copilot CLI documentation"; readonly url: "https://docs.github.com/en/copilot/how-tos/copilot-cli"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-skills", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".github/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".agents/skills"; readonly status: "compat"; }, { readonly path: ".claude/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.copilot/mcp-config.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "project"; readonly path: ".mcp.json"; readonly format: "json"; readonly attribution: "shared"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "stdio"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "stdio"; }, { readonly name: "type"; readonly value: "local"; }]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; GitHub Copilot CLI custom agents are Markdown agent profiles under .github/agents or ~/.copilot/agents.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.github.com/en/copilot/concepts/agents/copilot-cli/about-custom-agents", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".github/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "GitHub Copilot CLI supports shell-command hooks at session, prompt, task, permission, tool-use, notification, and error lifecycle points. AXM models the surface but does not serialize GitHub hook configs yet.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/overview", "https://docs.github.com/en/copilot/reference/hooks-reference"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a GitHub Copilot CLI hook writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "GitHub Copilot CLI supports AGENTS.md plus Copilot-specific instruction files; AXM syncs the cross-agent AGENTS.md convention.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/allowing-tools", "https://docs.github.com/en/copilot/how-tos/copilot-cli/set-up-copilot-cli/configure-copilot-cli", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["cli-flag", "config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.copilot/permissions-config.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.copilot/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".github/copilot/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "prefix"; readonly example: "--allow-tool='shell(axm:*)'"; readonly notes: "Copilot CLI permission flags use tool-kind patterns such as shell(git:*), write(path), url(domain), or MCP_SERVER(tool). Deny rules take precedence over allow rules.\n"; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--allow-tool='shell(${tool}:*)'"; readonly note: "Allow a command family without prompting."; }, { readonly flag: "--allow-all-tools"; readonly note: "Allow all available tools without prompting."; }, { readonly flag: "--allow-all"; readonly note: "Allow all tools, paths, and URLs."; }, { readonly flag: "--deny-tool"; readonly note: "Deny a tool pattern; deny rules take precedence over allow rules."; }, { readonly flag: "--available-tools"; readonly note: "Restrict the tools available to the session."; }, { readonly flag: "--excluded-tools"; readonly note: "Remove tools from the session."; }, { readonly flag: "--yolo"; readonly note: "Alias for allowing all tools, paths, and URLs."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "CLI invocation"; readonly patch: null; readonly template: "--allow-tool='shell(${tool}:*)'"; }; readonly filesystem: { readonly target: "CLI invocation"; readonly patch: null; readonly template: "--allow-tool='write(${workspaceRoot}/**)'"; }; }; }; }; }; }; readonly goose: { readonly id: "goose"; readonly name: "Goose"; readonly vendor: "Agentic AI Foundation (AAIF)"; readonly homepage: "https://goose-docs.ai"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".goose"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Goose documentation"; readonly url: "https://goose-docs.ai/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://goose-docs.ai/docs/mcp/skills-mcp/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".goose/skills"; readonly status: "deprecated"; }, { readonly path: ".claude/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://goose-docs.ai/docs/getting-started/using-extensions/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Goose YAML extension config writer."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Goose exposes permission mode, tool permissions, and .gooseignore controls. AXM has not modeled a narrow permission grant writer for Goose."; readonly docs: readonly []; readonly sources: readonly ["https://goose-docs.ai/docs/guides/managing-tools/tool-permissions/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Goose permission grant writer."; }; }; }; readonly "grok-cli": { readonly id: "grok-cli"; readonly name: "Grok Build"; readonly vendor: "xAI"; readonly homepage: "https://x.ai/cli"; readonly interfaces: readonly ["cli"]; readonly family: "xai"; readonly rootDir: ".grok"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Grok CLI documentation"; readonly url: "https://docs.x.ai/build/overview"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Reads SKILL.md Agent Skills from project (.grok/skills) and user (~/.grok/skills, ~/.agents/skills) locations, plus additional paths configured via [skills] in ~/.grok/config.toml.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.x.ai/build/features/skills-plugins-marketplaces"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".grok/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "MCP servers are managed with grok mcp commands or [mcp_servers] tables in ~/.grok/config.toml and project .grok/config.toml. Grok also reads ~/.claude.json, .cursor/mcp.json, and .mcp.json compatibility files."; readonly docs: readonly []; readonly sources: readonly ["https://docs.x.ai/build/features/mcp-servers"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: true; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Grok CLI MCP config writer."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Agent definitions are Markdown files in .grok/agents or ~/.grok/agents and may add new subagent types or shadow the built-in general-purpose, explore, and plan types. Personas are a separate TOML overlay under .grok/personas and are not modeled as subagents."; readonly docs: readonly []; readonly sources: readonly ["https://docs.x.ai/build/features/subagents", "https://github.com/xai-org/grok-build/blob/main/crates/codegen/xai-grok-pager/docs/user-guide/16-subagents.md"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".grok/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "xAI Grok CLI discovers hook scripts from .grok hooks paths and also advertises Claude Code hook compatibility. Exact in-app hook event details should be reverified before adding a writer."; readonly docs: readonly []; readonly sources: readonly ["https://docs.x.ai/build/features/skills-plugins-marketplaces"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a Grok CLI hooks writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Project rules are merged by directory depth from the repository root. Grok also reads documented AGENTS.md filename variants and Markdown files in .grok/rules, with compatibility for .claude/rules and .cursor/rules; AXM writes the universal AGENTS.md surface."; readonly docs: readonly []; readonly sources: readonly ["https://docs.x.ai/build/features/project-rules"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Grok [permission] settings define allow, deny, and ask lists using Tool(pattern) rules. UI permission modes and CLI flags provide coarse approval behavior in addition to the per-tool grammar."; readonly docs: readonly []; readonly sources: readonly ["https://docs.x.ai/build/settings", "https://docs.x.ai/build/settings/reference"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.grok/config.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(git *)"; readonly notes: "Patterns can target tools and their arguments, including Read(src/**) and MCPTool(server__*)."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--always-approve"; readonly note: "Skip permission prompts for tool calls."; }, { readonly flag: "--permission-mode "; readonly note: "Selects default, dontAsk, acceptEdits, bypassPermissions, or plan mode."; }, { readonly flag: "--deny "; readonly note: "Adds a deny rule for the session."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented Grok CLI permission grant writing."; }; }; }; readonly hermes: { readonly id: "hermes"; readonly name: "Hermes Agent"; readonly vendor: "Nous Research"; readonly homepage: "https://hermes-agent.nousresearch.com"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".hermes"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Hermes Agent documentation"; readonly url: "https://hermes-agent.nousresearch.com/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Hermes reads SKILL.md skills from ~/.hermes/skills as the source of truth. Additional external skill directories can be configured in ~/.hermes/config.yaml for shared team use.\n"; readonly docs: readonly []; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/skills"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".hermes/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Hermes declares MCP servers under mcp_servers in ~/.hermes/config.yaml. AXM writes that YAML file directly with per-entry x-axm metadata, preserving user-authored servers and coexisting with hermes mcp commands.\n"; readonly docs: readonly []; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/mcp"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcp_servers"; readonly activationField: { readonly required: { readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }; readonly accepted: readonly [{ readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.hermes/config.yaml"; readonly format: "yaml"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Hermes supports config-declared shell hooks and Python plugin callbacks. Shell hooks are command-based, accept event data, and are gated by a local allowlist."; readonly docs: readonly []; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.hermes/config.yaml"; readonly format: "yaml"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.hermes/shell-hooks-allowlist.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "pre_tool_call"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "terminal|read_file|write_file"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["deny"]; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_tool_call"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "terminal|read_file|write_file"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "pre_llm_call"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_llm_call"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "on_session_start"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "subagent_stop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "transform_llm_output"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "modify"; readonly operations: readonly ["modify-output"]; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Hermes reads AGENTS.md as a recursive project instruction source. .hermes.md and SOUL.md are higher-priority native alternatives at the git root, but AGENTS.md is the cross-tool standard AXM writes.\n"; readonly docs: readonly []; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/configuration"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly "ibm-bob": { readonly id: "ibm-bob"; readonly name: "IBM Bob"; readonly vendor: "IBM"; readonly homepage: "https://bob.ibm.com"; readonly interfaces: readonly ["ide-extension", "cli"]; readonly family: null; readonly rootDir: ".bob"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "IBM Bob documentation"; readonly url: "https://bob.ibm.com/docs/ide"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://bob.ibm.com/docs/ide/features/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".bob/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Project servers live in .bob/mcp.json; user servers in ~/.bob/mcp.json. Both files key entries under mcpServers. Streamable HTTP entries use \"type\": \"streamable-http\"; legacy SSE entries remain URL-only.\n"; readonly docs: readonly []; readonly sources: readonly ["https://bob.ibm.com/docs/ide/configuration/mcp/mcp-in-bob"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.bob/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "project"; readonly path: ".bob/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "streamable-http"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "streamable-http"; }; }, null]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Bob custom modes are YAML entries in .bob/custom_modes.yaml (project) or ~/.bob/settings/custom_modes.yaml (user). Entries support slug, name, description, whenToUse, roleDefinition, customInstructions, and read/edit/execute/mcp/skill/workflow/todo/subtask/subagent/mode tool-access groups; edit groups can carry fileRegex restrictions. Subagent-style extensions have no industry spec yet.\n"; readonly docs: readonly []; readonly sources: readonly ["https://bob.ibm.com/docs/ide/configuration/custom-modes"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".bob/custom_modes.yaml"; readonly layout: "file"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Bob automatically loads AGENTS.md from the workspace root.\n"; readonly docs: readonly []; readonly sources: readonly ["https://bob.ibm.com/docs/ide/configuration/rules"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".bob/rules"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "IBM Bob custom modes define tool access groups and file permissions, including read, edit, command, and mcp groups. AXM has not implemented a custom_modes permission writer."; readonly docs: readonly []; readonly sources: readonly ["https://bob.ibm.com/docs/ide/features/modes", "https://bob.ibm.com/docs/ide/configuration/custom-modes"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "ui-only"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".bob/custom_modes.yaml"; readonly format: "yaml"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.bob/settings/custom_modes.yaml"; readonly format: "yaml"; readonly gitignored: false; }]; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented an IBM Bob custom-modes permission writer."; }; }; }; readonly "iflow-cli": { readonly id: "iflow-cli"; readonly name: "iFlow CLI"; readonly vendor: "XinLiu AI"; readonly homepage: "https://platform.iflow.cn/cli"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".iflow"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".iflow"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "executable"; readonly name: "iflow"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "dir"; readonly path: "~/.iflow"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "iFlow CLI documentation"; readonly url: "https://platform.iflow.cn/en/cli/quickstart"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://platform.iflow.cn/en/cli/examples/skill"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".iflow/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "iFlow CLI supports CLI-managed and JSON-configured MCP servers at user and project scopes."; readonly docs: readonly []; readonly sources: readonly ["https://platform.iflow.cn/en/cli/examples/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "The vendor docs name both settings and legacy MCP files; AXM has not verified one lossless writer dialect across them."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://platform.iflow.cn/en/cli/examples/subagent"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".iflow/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "iFlow documents command hooks at user and project scopes, but AXM has not modeled the event and serialization contract."; readonly docs: readonly []; readonly sources: readonly ["https://platform.iflow.cn/en/cli/examples/hooks"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented the iFlow hook dialect."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://platform.iflow.cn/en/cli/configuration/iflow"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "own-file"; readonly files: readonly ["IFLOW.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "iFlow exposes confirmation and YOLO execution modes, but vendor docs do not define stable granular permission files for AXM."; readonly docs: readonly []; readonly sources: readonly ["https://platform.iflow.cn/en/cli/quickstart"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["cli-flag", "ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--yolo"; readonly note: "Allow tool execution without per-operation confirmation."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM does not emit broad bypass flags as permission grants."; }; }; }; readonly junie: { readonly id: "junie"; readonly name: "Junie"; readonly vendor: "JetBrains"; readonly homepage: "https://www.jetbrains.com/junie"; readonly interfaces: readonly ["ide-extension"]; readonly family: "jetbrains"; readonly rootDir: ".junie"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Junie documentation"; readonly url: "https://junie.jetbrains.com/docs/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://junie.jetbrains.com/docs/agent-skills.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".junie/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://junie.jetbrains.com/docs/junie-cli-mcp-configuration.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".junie/mcp/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.junie/mcp/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://junie.jetbrains.com/docs/junie-cli-subagents.html"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".junie/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Junie CLI hooks support seven command (type:command) event types: SessionStart, UserPromptSubmit, PreToolUse, Stop, StopFailure, PermissionRequest, and SessionEnd, configured from user config or explicit --config-location files. Default project hooks are still ignored for safety, so AXM does not write Junie hooks yet."; readonly docs: readonly []; readonly sources: readonly ["https://junie.jetbrains.com/docs/junie-cli-hooks.html", "https://junie.jetbrains.com/docs/junie-cli-configuration.html"]; readonly scopes: readonly ["user"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has no trusted project hook writer target for Junie CLI hooks."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Junie CLI reads persistent project guidance from .junie/AGENTS.md and suggests importing AGENTS.md-style files from other agents into that location."; readonly docs: readonly []; readonly sources: readonly ["https://junie.jetbrains.com/docs/guidelines-and-memory.html", "https://junie.jetbrains.com/docs/junie-cli-usage.html"]; readonly scopes: readonly ["project", "user"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly kind: "own-file"; readonly files: readonly [".junie/AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Junie CLI uses the Action Allowlist for terminal commands, MCP tools, and other sensitive actions; brave mode allows all sensitive actions for a session."; readonly docs: readonly []; readonly sources: readonly ["https://junie.jetbrains.com/docs/junie-cli-usage.html", "https://junie.jetbrains.com/docs/action-allowlist.html"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file", "ui-only"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.junie/allowlist.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.junie/config.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "regex"; readonly example: "^\\Qaxm \\E[^\\s;&|<>@$]+.*$"; readonly notes: "Terminal rules can be exact commands, Java regular expressions, or standard regular expressions."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Junie Action Allowlist writer."; }; }; }; readonly lingma: { readonly id: "lingma"; readonly name: "Lingma"; readonly vendor: "Alibaba Cloud"; readonly homepage: "https://help.aliyun.com/zh/lingma"; readonly interfaces: readonly ["ide-extension"]; readonly family: "alibaba"; readonly rootDir: ".lingma"; readonly lifecycle: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "Alibaba renamed TONGYI Lingma to Qoder CN."; readonly supersededBy: "qoder-cn"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".lingma"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.lingma"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Qoder CN (formerly Lingma) documentation"; readonly url: "https://help.aliyun.com/en/lingma/introduction-of-lingma"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "The Lingma product name was replaced by Qoder CN."; readonly supersededByType: null; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/en/lingma/qoder-cn/user-guide/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".lingma/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "The Lingma product name was replaced by Qoder CN."; readonly supersededByType: null; }; readonly notes: "The IDE reads MCP services from its settings file; AXM has no verified writer for the legacy Lingma surface."; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/en/lingma/qoder-cn/user-guide/guide-for-using-mcp"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented the legacy Lingma IDE settings dialect."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "The Lingma product name was replaced by Qoder CN."; readonly supersededByType: null; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "The Lingma product name was replaced by Qoder CN."; readonly supersededByType: null; }; readonly notes: "Lingma/Qoder CN IDE command hooks are documented in ~/.lingma/settings.json."; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/zh/lingma/qoder-cn/user-guide/hooks"]; readonly scopes: readonly ["user"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented the Lingma IDE hook dialect."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "The Lingma product name was replaced by Qoder CN."; readonly supersededByType: null; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "The Lingma product name was replaced by Qoder CN."; readonly supersededByType: null; }; readonly notes: "The IDE exposes Auto-Run controls in settings rather than a documented portable rule grammar."; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/zh/lingma/qoder-cn/user-guide/agent"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM cannot write UI-only Lingma Auto-Run settings."; }; }; }; readonly kilo: { readonly id: "kilo"; readonly name: "Kilo Code"; readonly vendor: "Kilo"; readonly homepage: "https://kilo.ai"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".kilo"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Kilo Code documentation"; readonly url: "https://kilo.ai/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://kilo.ai/docs/customize/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".kilo/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".agents/skills"; readonly status: "compat"; }, { readonly path: ".claude/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://kilo.ai/docs/automate/mcp/using-in-cli", "https://kilo.ai/docs/automate/mcp/using-in-kilo-code"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcp"; readonly activationField: { readonly required: { readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }; readonly accepted: readonly [{ readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: "kilo.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.config/kilo/kilo.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "local"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "local"; }]; }; readonly command: "array"; readonly envKey: "environment"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "remote"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "remote"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://kilo.ai/docs/customize/custom-subagents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".kilo/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://kilo.ai/docs/customize/custom-instructions"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://kilo.ai/docs/code-with-ai/platforms/cli", "https://kilo.ai/docs/getting-started/settings/auto-approving-actions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "ui-only"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.config/kilo/kilo.jsonc"; readonly format: "jsonc"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: "kilo.jsonc"; readonly format: "jsonc"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".kilo/kilo.jsonc"; readonly format: "jsonc"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "axm *"; readonly notes: "Permission values are \"allow\", \"ask\", or \"deny\". Object rules are wildcard matched, and the last matching rule wins."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "kilo.jsonc"; readonly patch: { readonly permission: { readonly bash: { readonly "*": "ask"; readonly "${tool} *": "allow"; }; }; }; readonly template: null; }; readonly filesystem: { readonly target: "kilo.jsonc"; readonly patch: { readonly permission: { readonly external_directory: { readonly "${workspaceRoot}/**": "allow"; }; readonly read: { readonly "${workspaceRoot}/**": "allow"; }; readonly edit: { readonly "${workspaceRoot}/**": "allow"; }; }; }; readonly template: null; }; }; }; }; }; }; readonly "kimi-cli": { readonly id: "kimi-cli"; readonly name: "Kimi Code CLI"; readonly vendor: "Moonshot AI"; readonly homepage: "https://www.kimi.com/code/docs/en/kimi-code-cli/"; readonly interfaces: readonly ["cli"]; readonly family: "moonshot"; readonly rootDir: ".kimi-code"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.kimi-code"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Kimi Code CLI documentation"; readonly url: "https://www.kimi.com/code/docs/en/kimi-code-cli/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kimi Code discovers skills from Kimi-specific and cross-tool directories; AXM writes the universal .agents/skills location."; readonly docs: readonly []; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/skills.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/mcp.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [{ readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".kimi-code/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.kimi-code/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "transport"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [null, { readonly name: "transport"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; readonly bearerTokenEnvKey: "bearerTokenEnvVar"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kimi Code recursively discovers Markdown custom agents with YAML frontmatter and can delegate to them as subagents."; readonly docs: readonly []; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/agents.html"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".kimi-code/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kimi Code hooks are TOML array entries, execute commands with JSON on standard input, and can block selected events."; readonly docs: readonly []; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.kimi-code/config.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|Read|Write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|Read|Write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "regex"; readonly example: "deploy|release"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM's grouped hook serializer cannot emit Kimi Code's flat TOML hook arrays."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kimi Code loads AGENTS.md from project and Kimi-specific or cross-tool user locations."; readonly docs: readonly []; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/agents.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kimi Code loads ordered allow, deny, and ask rules from its user configuration; invocation flags can still apply coarse session modes."; readonly docs: readonly []; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/configuration/config-files"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.kimi-code/config.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "decision = \"allow\"; pattern = \"Bash(axm *)\""; readonly notes: "Rules are ordered [[permission.rules]] tables whose first matching ToolName or ToolName(argument-pattern) rule wins."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--yolo"; readonly note: "Auto-approves all tool calls; aliased as --yes and --auto-approve."; }, { readonly flag: "--afk"; readonly note: "Auto-approves tool calls and auto-dismisses AskUserQuestion."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM does not serialize ordered TOML array-of-table permission rules."; }; }; }; readonly "kiro-cli": { readonly id: "kiro-cli"; readonly name: "Kiro CLI"; readonly vendor: "AWS"; readonly homepage: "https://kiro.dev"; readonly interfaces: readonly ["cli"]; readonly family: "amazon"; readonly rootDir: ".kiro"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Kiro CLI documentation"; readonly url: "https://kiro.dev/docs/cli/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://kiro.dev/docs/cli/skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".kiro/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://kiro.dev/docs/mcp/configuration/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".kiro/settings/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.kiro/settings/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://kiro.dev/docs/cli/custom-agents/configuration-reference/"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".kiro/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kiro CLI hooks are command hooks in agent configuration. AXM models the surface but does not serialize Kiro CLI hooks yet."; readonly docs: readonly []; readonly sources: readonly ["https://kiro.dev/docs/cli/hooks/", "https://kiro.dev/docs/cli/custom-agents/configuration-reference/"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a Kiro CLI hooks writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kiro CLI steering files live under .kiro/steering and can be always-on, conditional, or manually referenced."; readonly docs: readonly []; readonly sources: readonly ["https://kiro.dev/docs/cli/steering/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly directory: ".kiro/steering"; readonly kind: "rules-dir"; readonly files: readonly ["*.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kiro CLI custom agent configuration supports allowedTools, toolsSettings, and the hooks/MCP tools settings surfaces. The public docs do not define a single default AXM-writable permission grant target."; readonly docs: readonly []; readonly sources: readonly ["https://kiro.dev/docs/cli/custom-agents/configuration-reference/", "https://kiro.dev/docs/cli/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".kiro/agents/*.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.kiro/agents/*.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "allowedTools: [\"Read\", \"Write\", \"Bash\"]"; readonly notes: "Permission rules are embedded in custom agent configuration files."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Kiro CLI custom-agent permission grant writer."; }; }; }; readonly kode: { readonly id: "kode"; readonly name: "Kode"; readonly vendor: "shareAI-lab"; readonly homepage: "https://github.com/shareAI-lab/Kode-CLI"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".kode"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Kode CLI repository"; readonly url: "https://github.com/shareAI-lab/Kode-CLI"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/shareAI-lab/Kode-CLI"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".kode/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kode connects to MCP servers via .mcp.json (mcpServers key) and .mcprc, managed with kode mcp add/list/get/remove; server tools are exposed as mcp____. Kode also supports a ws transport that is outside AXM's transport enum."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/shareAI-lab/Kode-CLI"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Native MCP config uses .mcp.json (mcpServers key), but the exact writer dialect is not documented; leaving the AXM MCP writer unbuilt pending an AXM product decision."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/shareAI-lab/Kode-CLI"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".kode/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/shareAI-lab/Kode-CLI"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/shareAI-lab/Kode-CLI"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["cli-flag"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--safe"; readonly note: "Enables permission checks instead of Kode's default YOLO mode."; }, { readonly flag: "--dangerously-skip-permissions"; readonly note: "Explicitly bypasses permission checks."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; }; readonly mcpjam: { readonly id: "mcpjam"; readonly name: "MCPJam"; readonly vendor: "MCPJam"; readonly homepage: "https://www.mcpjam.com"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".mcpjam"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "MCPJam Inspector documentation"; readonly url: "https://docs.mcpjam.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.mcpjam.com/inspector/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".mcpjam/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "MCPJam Inspector loads MCP servers from a config file (mcpServers object) passed via `npx @mcpjam/inspector --config `, supporting stdio and remote (streamable-HTTP/SSE) transports. The config path is arbitrary with no fixed writable location."; readonly docs: readonly []; readonly sources: readonly ["https://docs.mcpjam.com/installation"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM does not manage MCPJam's inspector config file — the --config path is arbitrary with no stable writable project location."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly "minimax-code": { readonly id: "minimax-code"; readonly name: "MiniMax Code"; readonly vendor: "MiniMax"; readonly homepage: "https://agent.minimax.io/download"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "MiniMax Code"; readonly url: "https://github.com/MiniMax-AI/minimax-code"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "MiniMax advertises generated skills, but its vendor materials do not publish a stable SKILL.md directory or install contract AXM can target."; readonly docs: readonly []; readonly sources: readonly ["https://agent.minimax.io/download", "https://github.com/MiniMax-AI/minimax-code"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: "2026-08-05"; readonly writer: null; readonly reason: "No vendor-documented filesystem Skill location is available."; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "MiniMax publishes MCP servers and a hosted Agent product, but does not document a MiniMax Code client configuration file."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/MiniMax-AI/MiniMax-MCP"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "No vendor-documented MiniMax Code MCP client target is available."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The product describes Agent teams, but vendor materials do not define a portable custom-subagent file format."; readonly docs: readonly []; readonly sources: readonly ["https://agent.minimax.io/download"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "No vendor-documented custom-subagent filesystem surface is available."; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly "mistral-vibe": { readonly id: "mistral-vibe"; readonly name: "Mistral Vibe"; readonly vendor: "Mistral AI"; readonly homepage: "https://docs.mistral.ai/vibe/code/overview"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: "mistral"; readonly rootDir: ".vibe"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Mistral Vibe documentation"; readonly url: "https://docs.mistral.ai/vibe/code/overview"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".vibe/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/mcp-servers"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Mistral Vibe stores MCP servers as repeated [[mcp_servers]] TOML array-of-table entries. AXM's generic MCP writer currently serializes keyed server maps and cannot represent that shape without corrupting the configuration."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/agents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".vibe/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Vibe executes TOML-configured hook commands with event data on standard input; pre-tool hooks can deny or modify tool input and hook output can inject context."; readonly docs: readonly []; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".vibe/hooks.toml"; readonly format: "toml"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.vibe/hooks.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "pre_tool"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "bash|read_file|write_file"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input", "inject-context"]; }]; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_tool"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "bash|read_file|write_file"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_agent"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/agents"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Vibe supports per-tool always/ask policies and Bash allow/deny command rules in layered config files."; readonly docs: readonly []; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/safety-approvals-permissions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".vibe/config.toml"; readonly format: "toml"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.vibe/config.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "[tools.bash]\npermission = \"ask\""; readonly notes: "Per-tool policy is always or ask; Bash rules additionally allow or deny command patterns."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly mux: { readonly id: "mux"; readonly name: "Mux"; readonly vendor: "Coder"; readonly homepage: "https://mux.coder.com"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".mux"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Mux documentation"; readonly url: "https://mux.coder.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://mux.coder.com/agents/agent-skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".mux/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Mux stores stdio command strings under the servers key in ~/.mux/mcp.jsonc, .mux/mcp.jsonc, and .mux/mcp.local.jsonc."; readonly docs: readonly []; readonly sources: readonly ["https://mux.coder.com/config/mcp-servers"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://mux.coder.com/agents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".mux/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Mux executes raw tool_pre, tool_post, tool_env, and init scripts from .mux or ~/.mux. Input is provided through MUX_* environment variables; tool_pre can block with a non-zero exit."; readonly docs: readonly []; readonly sources: readonly ["https://mux.coder.com/hooks/tools.md", "https://mux.coder.com/hooks/init.md"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://mux.coder.com/agents/instruction-files"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly neovate: { readonly id: "neovate"; readonly name: "Neovate"; readonly vendor: "Ant Group"; readonly homepage: "https://github.com/neovateai/neovate-code"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".neovate"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Neovate Code documentation"; readonly url: "https://github.com/neovateai/neovate-code"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Neovate loads directory-based skills (each subdirectory contains a SKILL.md with name+description frontmatter) from .neovate/skills (project) and ~/.neovate/skills (user)."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/neovateai/neovate-code/blob/master/src/skill.ts"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".neovate/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/neovateai/neovate-code/blob/master/src/mcp.ts", "https://github.com/neovateai/neovate-code/blob/master/src/config.ts", "https://github.com/neovateai/neovate-code/blob/master/src/commands/mcp.ts"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: { readonly name: "disable"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disable"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.neovate/config.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "project"; readonly path: ".neovate/config.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "stdio"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "stdio"; }, null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly openclaw: { readonly id: "openclaw"; readonly name: "OpenClaw"; readonly vendor: "OpenClaw"; readonly homepage: "https://openclaw.ai"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "OpenClaw documentation"; readonly url: "https://docs.openclaw.ai"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.openclaw.ai/tools/skills", "https://github.com/openclaw/openclaw/blob/main/docs/tools/skills.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: "skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly opencode: { readonly id: "opencode"; readonly name: "OpenCode"; readonly vendor: "Anomaly"; readonly homepage: "https://opencode.ai"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".opencode"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "OpenCode documentation"; readonly url: "https://opencode.ai/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://opencode.ai/docs/skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".opencode/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".claude/skills"; readonly status: "compat"; }, { readonly path: ".agents/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "OpenCode V2 stores server definitions beneath mcp.servers; the native configuration is valid but requires a nested-map writer."; readonly docs: readonly []; readonly sources: readonly ["https://opencode.ai/v2/docs/mcp-servers", "https://opencode.ai/v2/docs/config"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "OpenCode V2 nests MCP server definitions under mcp.servers. AXM's generic MCP writer currently supports only a single keyed server-map level and would write the obsolete shape."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://opencode.ai/docs/agents/"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".opencode/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "OpenCode exposes lifecycle hooks through in-process JavaScript/TypeScript plugins. AXM models the surface but does not serialize plugin hooks yet."; readonly docs: readonly []; readonly sources: readonly ["https://opencode.ai/docs/plugins/"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "OpenCode hooks are in-process JavaScript plugin exports, not declarative config; AXM's command-stdin serializer has no way to emit them."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "OpenCode reads AGENTS.md project rules, a global ~/.config/opencode/AGENTS.md, and Claude-compatible CLAUDE.md fallbacks. AXM can target the universal AGENTS.md project file."; readonly docs: readonly []; readonly sources: readonly ["https://opencode.ai/docs/rules/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://opencode.ai/docs/permissions/", "https://opencode.ai/docs/config/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.config/opencode/opencode.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: "opencode.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "axm *"; readonly notes: "Permission values are \"allow\", \"ask\", or \"deny\". Object rules are pattern matched, and the last matching rule wins."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "opencode.json"; readonly patch: { readonly permission: { readonly bash: { readonly "*": "ask"; readonly "${tool} *": "allow"; }; }; }; readonly template: null; }; readonly filesystem: { readonly target: "opencode.json"; readonly patch: { readonly permission: { readonly external_directory: { readonly "${workspaceRoot}/**": "allow"; }; readonly read: { readonly "${workspaceRoot}/**": "allow"; }; readonly edit: { readonly "${workspaceRoot}/**": "allow"; }; }; }; readonly template: null; }; }; }; }; }; }; readonly openhands: { readonly id: "openhands"; readonly name: "OpenHands"; readonly vendor: "All Hands AI"; readonly homepage: "https://www.openhands.dev"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".openhands"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "OpenHands documentation"; readonly url: "https://docs.openhands.dev"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.openhands.dev/overview/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".openhands/skills"; readonly status: "deprecated"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "OpenHands stores MCP servers under mcpServers in ~/.openhands/mcp.json and manages them through the openhands mcp CLI."; readonly docs: readonly []; readonly sources: readonly ["https://docs.openhands.dev/sdk/guides/mcp", "https://docs.openhands.dev/openhands/usage/cli/mcp-servers"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented an OpenHands MCP writer."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "OpenHands lifecycle hooks are shell commands receiving JSON event payloads on stdin. Blocking events can deny with exit code 2 or a JSON decision; several events can inject additional context."; readonly docs: readonly []; readonly sources: readonly ["https://docs.openhands.dev/openhands/usage/customization/hooks"]; readonly scopes: readonly ["project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".openhands/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "literal-list"; readonly example: "terminal"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.openhands.dev/openhands/usage/customization/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "literal-list"; readonly example: "terminal"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.openhands.dev/openhands/usage/customization/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.openhands.dev/openhands/usage/customization/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.openhands.dev/openhands/usage/customization/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.openhands.dev/openhands/usage/customization/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.openhands.dev/overview/skills"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly ona: { readonly id: "ona"; readonly name: "Ona"; readonly vendor: "Ona"; readonly homepage: "https://ona.com"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".ona"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".ona"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Ona Agent documentation"; readonly url: "https://ona.com/docs/ona/agents"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://ona.com/docs/ona/agents/skills"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".ona/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".claude/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Ona reads repository MCP definitions from .ona/mcp-config.json and also offers organization-managed HTTP integrations."; readonly docs: readonly []; readonly sources: readonly ["https://ona.com/docs/ona/mcp"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented Ona's mcp-config.json dialect or hosted integration delivery."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://ona.com/docs/ona/agents/overview"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Ona administrators configure command and executable deny lists as organization guardrails; the vendor does not document a repository permission file."; readonly docs: readonly []; readonly sources: readonly ["https://ona.com/docs/ona/agents/overview"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Ona guardrails are managed through the organization administration surface."; }; }; }; readonly pi: { readonly id: "pi"; readonly name: "Pi"; readonly vendor: "Earendil Inc"; readonly homepage: "https://github.com/earendil-works/pi"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".pi"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Pi coding agent documentation"; readonly url: "https://pi.dev/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Skills follow the Agent Skills SKILL.md standard and are invoked via /skill:name. Pi discovers them from .pi/skills and .agents/skills (project, searched up through parent directories) and ~/.pi/agent/skills and ~/.agents/skills (user).\n"; readonly docs: readonly []; readonly sources: readonly ["https://github.com/earendil-works/pi/blob/main/packages/coding-agent/README.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".pi/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Pi ships a deliberate \"no MCP\" core. Its built-in tools are read, bash, edit, write, grep, find, and ls; MCP can only be added by installing or building a TypeScript extension.\n"; readonly docs: readonly []; readonly sources: readonly ["https://github.com/earendil-works/pi/blob/main/packages/coding-agent/README.md"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "plugin"; readonly provider: "third-party"; readonly plugin: { readonly name: "pi-subagents"; readonly homepage: "https://github.com/nicobailon/pi-subagents"; readonly author: "nicobailon"; readonly distribution: { readonly mechanism: "agent-native"; readonly installHint: "pi install npm:pi-subagents"; readonly packageRef: "npm:pi-subagents"; }; readonly detection: { readonly paths: readonly [{ readonly scope: "user"; readonly path: "~/.pi/agent/agents/"; readonly kind: "dir"; }, { readonly scope: "project"; readonly path: ".pi/agents/"; readonly kind: "dir"; }, { readonly scope: "user"; readonly path: "~/.pi/agent/extensions/subagent/agents/"; readonly kind: "dir"; }]; readonly configKeys: readonly [{ readonly scope: "user"; readonly file: "~/.pi/agent/settings.json"; readonly key: "subagents"; }, { readonly scope: "project"; readonly file: ".pi/settings.json"; readonly key: "subagents"; }]; }; }; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Pi has no built-in subagent system by design, but the third-party pi-subagents plugin adds a subagent extension surface. AXM describes and may detect this plugin, but does not install, resolve, or manage it.\n"; readonly docs: readonly []; readonly sources: readonly ["https://github.com/earendil-works/pi/blob/main/packages/coding-agent/README.md", "https://github.com/nicobailon/pi-subagents"]; readonly scopes: readonly ["user", "project"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Pi extension hooks are in-process TypeScript extension points; this is the core Pi project, not the oh-my-pi fork. AXM models the surface but does not serialize Pi extension hooks yet."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/earendil-works/pi/blob/main/packages/coding-agent/README.md"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented Pi extension hook writers."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "AGENTS.md and CLAUDE.md context load at startup from the global directory (~/.pi/agent), parent directories, and the current directory; all matching files are concatenated.\n"; readonly docs: readonly []; readonly sources: readonly ["https://github.com/earendil-works/pi/blob/main/packages/coding-agent/README.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Pi has no per-tool permission-grant surface. It does provide project trust through defaultProjectTrust in settings.json, ~/.pi/agent/trust.json, /trust, and --approve/--no-approve; that gate controls loading project-local resources rather than individual tool calls.\n"; readonly docs: readonly []; readonly sources: readonly ["https://pi.dev/docs/latest/settings"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly pochi: { readonly id: "pochi"; readonly name: "Pochi"; readonly vendor: "TabbyML"; readonly homepage: "https://getpochi.com"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".pochi"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Pochi documentation"; readonly url: "https://docs.getpochi.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.getpochi.com/skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".pochi/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.getpochi.com/mcp/", "https://docs.getpochi.com/tutorials/secure-db-access-in-pochi/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcp"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".pochi/config.jsonc"; readonly format: "jsonc"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.pochi/config.jsonc"; readonly format: "jsonc"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Pochi reads custom-instruction files at the workspace root: README.pochi.md (primary) and AGENTS.md (alternative, treated identically), plus ~/.pochi/README.pochi.md at user scope. AXM manages the universal AGENTS.md."; readonly docs: readonly []; readonly sources: readonly ["https://docs.getpochi.com/rules/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly qoder: { readonly id: "qoder"; readonly name: "Qoder"; readonly vendor: "Alibaba Cloud"; readonly homepage: "https://qoder.com"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: "alibaba"; readonly rootDir: ".qoder"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Qoder documentation"; readonly url: "https://docs.qoder.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.qoder.com/en/cli/Skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".qoder/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.qoder.com/user-guide/chat/model-context-protocol", "https://docs.qoder.com/cli/mcp-servers"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.qoder/settings.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "project"; readonly path: ".mcp.json"; readonly format: "json"; readonly attribution: "shared"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null, { readonly name: "type"; readonly value: "stdio"; }]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://docs.qoder.com/en/cli/subagent"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".qoder/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qoder CLI hooks run command hooks from settings files and use JSON on stdin/stdout. Native Qoder exposes additional events such as SessionEnd, PostToolUseFailure, SubagentStart, Notification, and PermissionRequest; this catalog maps the subset covered by AXM's canonical hook event registry."; readonly docs: readonly []; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.qoder/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".qoder/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".qoder/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "regex"; readonly example: "startup|resume|compact"; readonly notes: "Qoder matcher values can be exact strings, pipe-separated values, or regex."; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Write|Edit|Bash"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Write|Edit|Bash"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "regex"; readonly example: "task"; readonly notes: "Matcher targets the agent type name."; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "manual|auto"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "Read"; readonly canonical: "file.read"; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Write"; readonly canonical: "file.write"; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Bash"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".qoder/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "seconds"; readonly commandNameSerialization: "omit"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.qoder.com/en/cli/command"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qoder permissions use allow/ask/deny rules in settings. User settings live under ~/.qoder/settings.json; project rules can live in .qoder/settings.json or .qoder/settings.local.json."; readonly docs: readonly []; readonly sources: readonly ["https://docs.qoder.com/en/cli/permissions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.qoder/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".qoder/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(axm:*)"; readonly notes: null; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--permission-mode"; readonly note: "Chooses the session permission mode."; }, { readonly flag: "--allowed-tools"; readonly note: "Allows specific tools or tool rules for a run."; }, { readonly flag: "--dangerously-skip-permissions"; readonly note: "Alias for --permission-mode bypass_permissions."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: ".qoder/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Bash(${tool}:*)"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: ".qoder/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Read(${workspaceRoot}/**)", "Edit(${workspaceRoot}/**)", "Write(${workspaceRoot}/**)"]; }; }; readonly template: null; }; }; }; }; }; }; readonly "qoder-cn": { readonly id: "qoder-cn"; readonly name: "Qoder CN CLI"; readonly vendor: "Alibaba Cloud"; readonly homepage: "https://help.aliyun.com/zh/lingma/qoder-cn-cli"; readonly interfaces: readonly ["cli"]; readonly family: "alibaba"; readonly rootDir: ".qoder"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".qoder"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "executable"; readonly name: "qoderclicn"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "dir"; readonly path: "~/.qoder-cn"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Qoder CN CLI documentation"; readonly url: "https://help.aliyun.com/zh/lingma/qoder-cn-cli"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/en/lingma/skills-3033419", "https://help.aliyun.com/zh/lingma/qoder-cn-cli"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".qoder/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qoder CN CLI stores user, local-project, and shared-project MCP definitions in distinct settings files."; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/zh/lingma/mcp-servers"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not verified the Qoder CN CLI dialect independently from global Qoder."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/en/lingma/subagent"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".qoder/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qoder CN CLI exposes command hooks, but AXM has not independently verified its complete event and serialization contract."; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/zh/lingma/qoder-cn-cli"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "The regional CLI hook dialect requires a separate vendor-doc verification before AXM writes it."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/zh/lingma/using-the-cli"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qoder CN CLI supports allow, ask, and deny rules plus session flags."; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/zh/lingma/tools-3044418"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.qoder-cn/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".qoder/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "Bash(git status)"; readonly notes: null; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--allowed-tools"; readonly note: "Pre-allow named tools or tool patterns for the session."; }, { readonly flag: "--disallowed-tools"; readonly note: "Deny named tools or tool patterns for the session."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented regional Qoder permission settings."; }; }; }; readonly "qwen-code": { readonly id: "qwen-code"; readonly name: "Qwen Code"; readonly vendor: "Alibaba Cloud"; readonly homepage: "https://qwenlm.github.io/qwen-code-docs/"; readonly interfaces: readonly ["cli"]; readonly family: "alibaba"; readonly rootDir: ".qwen"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Qwen Code documentation"; readonly url: "https://qwenlm.github.io/qwen-code-docs/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".qwen/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/mcp/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.qwen/settings.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "project"; readonly path: ".qwen/settings.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "httpUrl"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/sub-agents/"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".qwen/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qwen Code hooks run command hooks from settings files and use JSON on stdin/stdout. Native Qwen Code also exposes HTTP hooks and additional events such as SessionEnd, PostToolUseFailure, SubagentStart, PostCompact, Notification, and PermissionRequest; this catalog maps the subset covered by AXM's canonical hook event registry."; readonly docs: readonly []; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.qwen/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".qwen/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "regex"; readonly example: "startup|resume|clear"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "WriteFile|Edit|Bash"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "WriteFile|Edit|Bash"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|Explorer"; readonly notes: "Matcher targets the subagent type."; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "manual|auto"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "ReadFile"; readonly canonical: "file.read"; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/developers/tools/file-system/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "WriteFile"; readonly canonical: "file.write"; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/developers/tools/file-system/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/developers/tools/file-system/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Bash"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/developers/tools/shell/"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".qwen/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "milliseconds"; readonly commandNameSerialization: "manifest"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qwen Code loads QWEN.md from the project root and ~/.qwen/QWEN.md, and also reads AGENTS.md when present. AXM targets the universal AGENTS.md convention for project rules."; readonly docs: readonly []; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/memory/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qwen Code grades tool access through a Claude Code-style permissions block with allow/ask/deny rule arrays. The legacy tools.allowed and tools.exclude keys are deprecated and migrate into permissions on first load; tools.approvalMode still sets the coarse default mode."; readonly docs: readonly []; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/configuration/settings/", "https://qwenlm.github.io/qwen-code-docs/en/users/features/approval-mode/", "https://qwenlm.github.io/qwen-code-docs/en/developers/tools/shell/", "https://qwenlm.github.io/qwen-code-docs/en/users/features/mcp/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.qwen/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".qwen/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(axm *)"; readonly notes: "Tool(pattern) rules sorted into permissions.allow, permissions.ask, and permissions.deny; deny wins over ask over allow. Approval modes are plan/default/auto-edit/auto/yolo set by tools.approvalMode (Default is surfaced as 'Ask Permissions'; the value stays 'default').\n"; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.qwen/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Bash(${tool} *)"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: "~/.qwen/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Read(${workspaceRoot}/**)", "Edit(${workspaceRoot}/**)"]; }; }; readonly template: null; }; }; }; }; }; }; readonly replit: { readonly id: "replit"; readonly name: "Replit"; readonly vendor: "Replit"; readonly homepage: "https://replit.com"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Replit Agent documentation"; readonly url: "https://docs.replit.com/replitai/agent"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.replit.com/core-concepts/agent/skills"]; readonly scopes: readonly ["project", "user"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Replit Agent MCP is UI-driven via the Integrations pane and 'Add to Replit' install-links, connecting only to remote HTTP servers (baseUrl + headers/OAuth). There is no AXM-writable MCP config file, so no writer dialect is modeled."; readonly docs: readonly []; readonly sources: readonly ["https://docs.replit.com/replitai/mcp/overview"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Replit Agent MCP is UI-managed (Integrations pane / install-links) with no AXM-writable config file."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly roo: { readonly id: "roo"; readonly name: "Roo Code"; readonly vendor: "Roo Code"; readonly homepage: "https://roocode.com"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".roo"; readonly lifecycle: { readonly state: "retired"; readonly since: "2026-05-15"; readonly note: "Roo Code shut down its VS Code extension, Cloud, and Router on 2026-05-15 (final release v3.54.0); the RooCodeInc/Roo-Code repo is archived and read-only. The former team pivoted to a separate cloud-agent product, Roomote."; readonly supersededBy: null; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Roo Code documentation"; readonly url: "https://docs.roocode.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "removed"; readonly since: "2026-05-15"; readonly note: "Roo Code was archived on 2026-05-15; the surface is frozen and read-only."; readonly supersededByType: null; }; readonly notes: "Roo Code supports Roo-specific .roo/skills and cross-agent .agents/skills locations, including mode-specific skill directories."; readonly docs: readonly []; readonly sources: readonly ["https://docs.roocode.com/features/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".roo/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "removed"; readonly since: "2026-05-15"; readonly note: "Roo Code was archived on 2026-05-15; the surface is frozen and read-only."; readonly supersededByType: null; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://roocodeinc.github.io/Roo-Code/features/mcp/using-mcp-in-roo"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "The current AXM Roo Code service returns MCP add/remove as unsupported."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "removed"; readonly since: "2026-05-15"; readonly note: "Roo Code was archived on 2026-05-15; the surface is frozen and read-only."; readonly supersededByType: null; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://docs.roocode.com/features/custom-modes"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".roomodes"; readonly layout: "file"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "removed"; readonly since: "2026-05-15"; readonly note: "Roo Code was archived on 2026-05-15; the surface is frozen and read-only."; readonly supersededByType: null; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "removed"; readonly since: "2026-05-15"; readonly note: "Roo Code was archived on 2026-05-15; the surface is frozen and read-only."; readonly supersededByType: null; }; readonly notes: "Uses a vendor rule directory under the AGENTS.md-governed rule umbrella; Roo also loads AGENTS.md when agent rules are enabled."; readonly docs: readonly []; readonly sources: readonly ["https://roocodeinc.github.io/Roo-Code/features/custom-instructions"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly files: readonly ["*.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; readonly directory: ".roo/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "removed"; readonly since: "2026-05-15"; readonly note: "Roo Code was archived on 2026-05-15; the surface is frozen and read-only."; readonly supersededByType: null; }; readonly notes: "Roo Code exposes auto-approval controls through the extension settings UI, including read, write, command, MCP, browser, and mode-switch approvals. The docs do not describe a stable AXM-writable permission config file for these controls."; readonly docs: readonly []; readonly sources: readonly ["https://docs.roocode.com/features/auto-approving-actions"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly [{ readonly key: "Auto-Approve Settings"; readonly value: "enabled per operation"; readonly scope: "user"; readonly note: "Configure in Roo Code's Auto-Approve Settings panel."; }]; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented Roo Code permission grant writing."; }; }; }; readonly rovodev: { readonly id: "rovodev"; readonly name: "Rovo Dev"; readonly vendor: "Atlassian"; readonly homepage: "https://www.atlassian.com/software/rovo-dev"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".rovodev"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".rovodev"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.rovodev"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Rovo Dev CLI skills"; readonly url: "https://support.atlassian.com/rovo/docs/extend-rovo-dev-cli-with-agent-skills/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Rovo Dev also reads universal .agents/skills in both project and user scopes.\n"; readonly docs: readonly []; readonly sources: readonly ["https://support.atlassian.com/rovo/docs/extend-rovo-dev-cli-with-agent-skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".rovodev/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Rovo Dev supports local and remote MCP server configuration."; readonly docs: readonly []; readonly sources: readonly ["https://support.atlassian.com/rovo/docs/connect-to-an-mcp-server-in-rovo-dev-cli/", "https://support.atlassian.com/bitbucket-cloud/docs/rovo-dev-advanced-agentic-configuration/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: true; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://support.atlassian.com/rovo/docs/use-subagents-in-rovo-dev-cli/"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".rovodev/subagents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Rovo Dev exposes event hooks including tool-permission, response-finished, and error events; the public surface is recorded without an AXM serializer model."; readonly docs: readonly []; readonly sources: readonly ["https://www.atlassian.com/blog/developer/streamline-rovo-dev-cli-with-event-hooks"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Rovo Dev reads hierarchical AGENTS.md memory files."; readonly docs: readonly []; readonly sources: readonly ["https://support.atlassian.com/rovo/docs/use-memory-in-rovo-dev-cli/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Rovo Dev toolPermissions rules select allow, ask, or deny behavior by tool call."; readonly docs: readonly []; readonly sources: readonly ["https://support.atlassian.com/rovo/docs/manage-rovo-dev-cli-settings/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.rovodev/config.yml"; readonly format: "yaml"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".rovodev/config.yml"; readonly format: "yaml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(git status)"; readonly notes: "Rules choose allow, ask, or deny, with a configurable default."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly "tabnine-cli": { readonly id: "tabnine-cli"; readonly name: "Tabnine CLI"; readonly vendor: "Tabnine"; readonly homepage: "https://www.tabnine.com/platform-cli/"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".tabnine"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".tabnine"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.tabnine"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Tabnine CLI"; readonly url: "https://www.tabnine.com/platform-cli/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/agent-skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".tabnine/agent/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Tabnine MCP servers are configured in .tabnine/mcp_servers.json and ~/.tabnine/mcp_servers.json."; readonly docs: readonly []; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-agent/mcp-intro-and-setup"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Tabnine hooks execute synchronously from layered agent settings and can observe, block, or modify selected lifecycle operations."; readonly docs: readonly []; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".tabnine/agent/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.tabnine/agent/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "BeforeAgent"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "AfterAgent"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "BeforeTool"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "literal-list"; readonly example: "shell,read,write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "AfterTool"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "literal-list"; readonly example: "shell,read,write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompress"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Tabnine reads guidelines.md files under .tabnine/guidelines and can override the context filename through settings."; readonly docs: readonly []; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-agent/guidelines"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly kind: "own-file"; readonly directory: ".tabnine/guidelines"; readonly files: readonly ["guidelines.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Tabnine settings define allowed and excluded tools plus persistent-approval and policy-path controls."; readonly docs: readonly []; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/settings/settings-reference"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".tabnine/agent/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.tabnine/agent/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "tools.allowed: [\"shell\"]"; readonly notes: "Allowed and excluded tool lists combine with security and policy-path settings."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly "trae-cn": { readonly id: "trae-cn"; readonly name: "Trae CN"; readonly vendor: "ByteDance"; readonly homepage: "https://www.trae.cn"; readonly interfaces: readonly ["ide-extension"]; readonly family: "bytedance"; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Trae CN documentation"; readonly url: "https://docs.trae.cn"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.trae.cn/ide/skills"]; readonly scopes: readonly ["project", "user"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".trae/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.trae.cn/ide_add-mcp-servers"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".trae/mcp.json"; readonly format: "json"; readonly attribution: "shared"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Uses a vendor rule directory under the AGENTS.md-governed rule umbrella."; readonly docs: readonly []; readonly sources: readonly ["https://docs.trae.cn/ide/rules"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly files: readonly ["*.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; readonly directory: ".trae/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly trae: { readonly id: "trae"; readonly name: "Trae"; readonly vendor: "ByteDance"; readonly homepage: "https://www.trae.ai"; readonly interfaces: readonly ["ide-extension"]; readonly family: "bytedance"; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Trae documentation"; readonly url: "https://docs.trae.ai"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://www.trae.ai/blog/trae_tutorial_0115"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".trae/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.trae.ai/ide/model-context-protocol"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".trae/mcp.json"; readonly format: "json"; readonly attribution: "shared"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Trae combines global user rules with project and nested .trae/rules directories for module-specific instructions."; readonly docs: readonly []; readonly sources: readonly ["https://docs.trae.ai/ide/rules"]; readonly scopes: readonly ["project", "user"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly files: readonly ["*.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; readonly directory: ".trae/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly warp: { readonly id: "warp"; readonly name: "Warp"; readonly vendor: "Warp"; readonly homepage: "https://www.warp.dev"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.warp"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Warp documentation"; readonly url: "https://docs.warp.dev"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.warp.dev/agent-platform/capabilities/skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Warp stores project MCP servers in .warp/.mcp.json and user servers in ~/.warp/.mcp.json under mcpServers."; readonly docs: readonly []; readonly sources: readonly ["https://docs.warp.dev/agent-platform/capabilities/mcp/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "sse", "http"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Warp discovers hierarchical AGENTS.md project rules and exposes user-level rules through Warp Drive."; readonly docs: readonly []; readonly sources: readonly ["https://docs.warp.dev/agent-platform/capabilities/rules/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Warp Agent Profiles configure autonomy per action and regular-expression command allowlists and denylists; deny rules take precedence."; readonly docs: readonly []; readonly sources: readonly ["https://docs.warp.dev/agent-platform/capabilities/agent-profiles-permissions/"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: { readonly style: "regex"; readonly example: "ls(\\s.*)?"; readonly notes: "Command allowlist and denylist entries are regular expressions configured in Settings."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly windsurf: { readonly id: "windsurf"; readonly name: "Devin Desktop (Windsurf)"; readonly vendor: "Cognition"; readonly homepage: "https://devin.ai/desktop"; readonly interfaces: readonly ["ide-extension"]; readonly family: "cognition"; readonly rootDir: ".windsurf"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Devin Desktop documentation"; readonly url: "https://docs.devin.ai/desktop"; }, { readonly label: "Windsurf is now Devin Desktop"; readonly url: "https://devin.ai/blog/windsurf-is-now-devin-desktop"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Devin Desktop reads SKILL.md skills from .windsurf/skills (project) and ~/.codeium/windsurf/skills (user) with progressive disclosure. It also discovers universal .agents/skills paths. The built-in Cascade agent reached end-of-life 2026-07-01 and is being replaced by Devin Local; the .windsurf/* and ~/.codeium/windsurf/* config surfaces persist under Devin Local.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".windsurf/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/mcp"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.codeium/windsurf/mcp_config.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "serverUrl"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cascade exposes only built-in and internal subagents plus multi-agent sessions; no user-authorable custom subagent extension type is documented.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/agents-md"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Devin Desktop/Cascade hooks are direct per-event command arrays in hooks.json. AXM's generic hook writer emits grouped command-stdin hooks and cannot serialize this shape yet."; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.codeium/windsurf/hooks.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".windsurf/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "pre_read_code"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_read_code"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "pre_write_code"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_write_code"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "pre_run_command"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_run_command"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "pre_mcp_tool_use"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_mcp_tool_use"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "pre_user_prompt"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_cascade_response"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_cascade_response_with_transcript"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "read_code"; readonly canonical: "file.read"; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "write_code"; readonly canonical: "file.write"; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "run_command"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "mcp_tool_use"; readonly canonical: "mcp.call"; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a Devin Desktop/Cascade hooks writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/agents-md"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".devin/rules"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/desktop/terminal", "https://docs.devin.ai/desktop/cascade"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file", "ui-only"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "VS Code settings (Settings UI)"; readonly format: "vscode-settings"; readonly gitignored: false; }]; readonly grammar: { readonly style: "prefix"; readonly example: "axm"; readonly notes: "windsurf.cascadeCommandsAllowList is prefix-matched. Workspace-scoped override for these keys is not documented; configure at user scope. Teams/Enterprise can merge in lists via the Admin Portal.\n"; }; readonly prerequisites: readonly [{ readonly key: "Cascade auto-execution level"; readonly value: "allowlist_only | turbo"; readonly scope: "user"; readonly note: "Disabled and Auto modes ignore allowlist entries; set via the Windsurf Settings panel."; }]; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "VS Code settings"; readonly patch: { readonly "windsurf.cascadeCommandsAllowList": readonly ["${tool}"]; }; readonly template: null; }; }; }; }; }; }; readonly zencoder: { readonly id: "zencoder"; readonly name: "Zencoder"; readonly vendor: "Zencoder"; readonly homepage: "https://zencoder.ai"; readonly interfaces: readonly ["ide-extension", "cli"]; readonly family: null; readonly rootDir: ".zencoder"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Zencoder documentation"; readonly url: "https://docs.zencoder.ai"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/llms-full.txt"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".zencoder/skills"; readonly status: "deprecated"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/llms-full.txt"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM cannot yet model the dotted zencoder.mcpServers VS Code settings key, and the previous standalone .zencoder/mcp.json target was not vendor-documented."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zencoder custom agents are created, selected, and shared through its UI; the current catalog schema cannot represent that native UI-only surface as a subagent install target."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/llms-full.txt"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has no delivery path for Zencoder's UI-managed custom agents."; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Uses a vendor rule directory under the AGENTS.md-governed rule umbrella."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/llms-full.txt"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly files: readonly ["*.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; readonly directory: ".zencoder/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zencoder added MCP tool permission prompts in April 2026. The docs describe user-visible MCP permission control, not a stable AXM-writable permission file."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/llms-full.txt"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Zencoder permission grant writer."; }; }; }; readonly zed: { readonly id: "zed"; readonly name: "Zed"; readonly vendor: "Zed Industries"; readonly homepage: "https://zed.dev"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".zed"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".zed"; readonly signal: "supporting"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.config/zed"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Zed Agent documentation"; readonly url: "https://zed.dev/docs/ai/zed-agent"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Because Zed's project Skill directory is .agents/skills, --agent universal already wrote to the correct location; this entry adds Zed-specific detection and naming."; readonly docs: readonly []; readonly sources: readonly ["https://zed.dev/docs/ai/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zed configures context servers in settings; AXM has not modeled the Zed settings dialect."; readonly docs: readonly []; readonly sources: readonly ["https://zed.dev/docs/ai/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Zed settings writer for context servers."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://zed.dev/docs/ai/instructions"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zed exposes tool permissions through agent settings and prompts; AXM does not model that settings surface."; readonly docs: readonly []; readonly sources: readonly ["https://zed.dev/docs/ai/tool-permissions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented Zed tool-permission settings."; }; }; }; readonly zenflow: { readonly id: "zenflow"; readonly name: "Zenflow"; readonly vendor: "Zencoder"; readonly homepage: "https://zencoder.ai/zenflow"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".zenflow"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".zenflow"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Zenflow documentation"; readonly url: "https://docs.zencoder.ai/zenflow/task-types"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Because Zenflow's project Skill directory is .agents/skills, --agent universal already wrote to the correct location; this entry adds Zenflow-specific detection and naming."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/features/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".claude/skills"; readonly status: "compat"; }, { readonly path: ".zencoder/skills"; readonly status: "deprecated"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zenflow exposes hosted MCP integrations and a built-in MCP server, but vendor docs do not publish a repository MCP client file AXM can write."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/zenflow/integrations"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Zenflow MCP integrations are managed through the product UI."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zenflow can orchestrate subagents, but presets and workflow comments are not a portable custom-subagent directory."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/zenflow/multi-agent-orchestration"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "No vendor-documented custom-subagent filesystem target is available."; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zenflow runs supported underlying agents in worktrees; instruction-file behavior belongs to the selected agent rather than a Zenflow-specific rule format."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/clis/overview"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Execution mode, approval policy, and tool permissions are configured on Zenflow agent presets rather than a documented repository file."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/zenflow/multi-agent-orchestration"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; }; /** @experimental This API is unstable and may change without notice. */ export declare const CONFIGURABLE_AGENT_IDS: readonly ["adal", "aider-desk", "amp", "antigravity", "antigravity-cli", "augment", "claude-code", "cline", "codearts-agent", "codebuddy", "codemaker", "codestudio", "codex", "command-code", "continue", "cortex", "crush", "cursor", "deepagents", "devin", "dexto", "droid", "firebender", "forgecode", "gemini-cli", "github-copilot-cli", "goose", "grok-cli", "hermes", "ibm-bob", "iflow-cli", "junie", "lingma", "kilo", "kimi-cli", "kiro-cli", "kode", "mcpjam", "minimax-code", "mistral-vibe", "mux", "neovate", "openclaw", "opencode", "openhands", "ona", "pi", "pochi", "qoder", "qoder-cn", "qwen-code", "replit", "roo", "rovodev", "tabnine-cli", "trae-cn", "trae", "warp", "windsurf", "zencoder", "zed", "zenflow"]; /** @experimental This API is unstable and may change without notice. */ export type ConfigurableAgentId = (typeof CONFIGURABLE_AGENT_IDS)[number]; /** @experimental This API is unstable and may change without notice. */ export declare const HOSTED_AGENTS_BY_ID: { readonly chatgpt: { readonly id: "chatgpt"; readonly name: "ChatGPT"; readonly vendor: "OpenAI"; readonly homepage: "https://chatgpt.com"; readonly interfaces: readonly ["chat", "hosted-agent"]; readonly family: "openai"; readonly rootDir: null; readonly installTarget: { readonly kind: "hosted"; readonly delivery: readonly ["upload"]; readonly artifact: "directory"; readonly instructions: "Run axm lint to validate the skill directory, then choose Plugins > Skills > Create > Upload from your computer in ChatGPT."; readonly docs: "https://help.openai.com/en/articles/20001066-skills-in-chatgpt"; }; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Skills in ChatGPT"; readonly url: "https://help.openai.com/en/articles/20001066-skills-in-chatgpt"; }, { readonly label: "Developer mode and MCP apps in ChatGPT"; readonly url: "https://help.openai.com/en/articles/12584461-developer-mode-and-full-mcp-connectors-in-chatgpt-beta"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Personal Skills use the Agent Skills open standard and are uploaded separately on desktop and web/mobile. Plan and administrator controls apply."; readonly docs: readonly []; readonly sources: readonly ["https://help.openai.com/en/articles/20001066-skills-in-chatgpt"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "ChatGPT developer mode accepts remote MCP servers for custom apps; plan, role, and administrator controls apply."; readonly docs: readonly []; readonly sources: readonly ["https://help.openai.com/en/articles/12584461-developer-mode-and-full-mcp-connectors-in-chatgpt-beta"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; readonly transports: readonly ["http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly reason: "ChatGPT connector setup is hosted and UI-mediated."; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "ChatGPT app action permissions and confirmations are managed in the hosted UI."; readonly docs: readonly []; readonly sources: readonly ["https://help.openai.com/en/articles/12584461-developer-mode-and-full-mcp-connectors-in-chatgpt-beta"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly "claude-ai": { readonly id: "claude-ai"; readonly name: "Claude.ai"; readonly vendor: "Anthropic"; readonly homepage: "https://claude.ai"; readonly interfaces: readonly ["chat"]; readonly family: "claude"; readonly rootDir: null; readonly installTarget: { readonly kind: "hosted"; readonly delivery: readonly ["upload", "directory"]; readonly artifact: "zip"; readonly instructions: "Run axm lint to validate the skill, package its folder as a ZIP, then use Customize > Skills > Create skill > Upload a skill in Claude."; readonly docs: "https://support.claude.com/en/articles/12512180-use-skills-in-claude"; }; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Use skills in Claude"; readonly url: "https://support.claude.com/en/articles/12512180-use-skills-in-claude"; }, { readonly label: "Remote MCP custom connectors"; readonly url: "https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Claude accepts custom skill folders packaged as ZIP files. Account, organization, and code-execution controls apply; enabled skills are shared with Cowork."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/12512180-use-skills-in-claude"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Claude accepts publicly reachable remote MCP servers as custom connectors."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; readonly transports: readonly ["http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly reason: "Claude connector setup is hosted and UI-mediated."; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Plugin subagents run in Cowork, not in Claude chat."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/13837440-use-plugins-in-claude"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Plugin hooks run in Cowork, not in Claude chat."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/13837440-use-plugins-in-claude"]; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly cowork: { readonly id: "cowork"; readonly name: "Claude Cowork"; readonly vendor: "Anthropic"; readonly homepage: "https://claude.ai"; readonly interfaces: readonly ["hosted-agent"]; readonly family: "claude"; readonly rootDir: null; readonly installTarget: { readonly kind: "hosted"; readonly delivery: readonly ["upload", "directory"]; readonly artifact: "zip"; readonly instructions: "Run axm lint to validate the skill, package its folder as a ZIP, then use Customize > Skills in Cowork to upload it or install a shared skill from the directory."; readonly docs: "https://support.claude.com/en/articles/12512180-use-skills-in-claude"; }; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Use skills in Claude"; readonly url: "https://support.claude.com/en/articles/12512180-use-skills-in-claude"; }, { readonly label: "Use plugins in Claude"; readonly url: "https://support.claude.com/en/articles/13837440-use-plugins-in-claude"; }, { readonly label: "Remote MCP custom connectors"; readonly url: "https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cowork uses the Claude account's custom and shared skills, which are uploaded as ZIP-packaged skill folders or installed from an organization directory."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/12512180-use-skills-in-claude"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cowork uses Claude account connectors backed by publicly reachable remote MCP servers."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; readonly transports: readonly ["http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly reason: "Cowork connector setup is hosted and UI-mediated."; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "plugin"; readonly provider: "first-party"; readonly plugin: { readonly name: "Claude plugins"; readonly homepage: "https://support.claude.com/en/articles/13837440-use-plugins-in-claude"; readonly author: "Anthropic"; readonly distribution: { readonly mechanism: "agent-native"; readonly installHint: "Install or upload the plugin from Customize > Plugins in Cowork."; readonly packageRef: null; }; readonly detection: null; }; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Claude plugins can bundle subagents, which run only in Cowork."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/13837440-use-plugins-in-claude"]; readonly scopes: readonly ["user"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly reason: "Cowork plugin installation is hosted and UI-mediated."; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "plugin"; readonly provider: "first-party"; readonly plugin: { readonly name: "Claude plugins"; readonly homepage: "https://support.claude.com/en/articles/13837440-use-plugins-in-claude"; readonly author: "Anthropic"; readonly distribution: { readonly mechanism: "agent-native"; readonly installHint: "Install or upload the plugin from Customize > Plugins in Cowork."; readonly packageRef: null; }; readonly detection: null; }; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Claude plugin hooks run only in Cowork; event mechanics are not cataloged yet."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/13837440-use-plugins-in-claude"]; readonly scopes: readonly ["user"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly reason: "Cowork plugin hooks have no AXM writer."; readonly writer: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly "gemini-app": { readonly id: "gemini-app"; readonly name: "Gemini app"; readonly vendor: "Google"; readonly homepage: "https://gemini.google.com"; readonly interfaces: readonly ["chat", "hosted-agent"]; readonly family: "gemini"; readonly rootDir: null; readonly installTarget: { readonly kind: "hosted"; readonly delivery: readonly ["upload"]; readonly artifact: "skill-file-or-zip"; readonly instructions: "Run axm lint to validate the skill, then in Gemini Spark choose Skills > Upload and select its SKILL.md file or a ZIP with SKILL.md at the root."; readonly docs: "https://support.google.com/gemini/answer/17094296?hl=en"; }; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Create and manage skills for Gemini Apps"; readonly url: "https://support.google.com/gemini/answer/17094296?hl=en"; }, { readonly label: "Connected Apps in Gemini"; readonly url: "https://support.google.com/gemini/answer/13695044?co=GENIE.Platform%3DDesktop&hl=en"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Gemini Spark accepts a SKILL.md file or a ZIP with SKILL.md at its root. Subscription, region, language, and surface restrictions apply."; readonly docs: readonly []; readonly sources: readonly ["https://support.google.com/gemini/answer/17094296?hl=en"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Gemini Spark accepts remote MCP server URLs as custom Connected Apps; Spark eligibility restrictions apply."; readonly docs: readonly []; readonly sources: readonly ["https://support.google.com/gemini/answer/13695044?co=GENIE.Platform%3DDesktop&hl=en"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; readonly transports: readonly ["http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly reason: "Gemini Connected App setup is hosted and UI-mediated."; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; }; /** @experimental This API is unstable and may change without notice. */ export declare const HOSTED_AGENT_IDS: readonly ["chatgpt", "claude-ai", "cowork", "gemini-app"]; /** @experimental This API is unstable and may change without notice. */ export type HostedAgentId = (typeof HOSTED_AGENT_IDS)[number]; /** @experimental This API is unstable and may change without notice. */ export declare const AGENTS_BY_ID: { readonly chatgpt: { readonly id: "chatgpt"; readonly name: "ChatGPT"; readonly vendor: "OpenAI"; readonly homepage: "https://chatgpt.com"; readonly interfaces: readonly ["chat", "hosted-agent"]; readonly family: "openai"; readonly rootDir: null; readonly installTarget: { readonly kind: "hosted"; readonly delivery: readonly ["upload"]; readonly artifact: "directory"; readonly instructions: "Run axm lint to validate the skill directory, then choose Plugins > Skills > Create > Upload from your computer in ChatGPT."; readonly docs: "https://help.openai.com/en/articles/20001066-skills-in-chatgpt"; }; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Skills in ChatGPT"; readonly url: "https://help.openai.com/en/articles/20001066-skills-in-chatgpt"; }, { readonly label: "Developer mode and MCP apps in ChatGPT"; readonly url: "https://help.openai.com/en/articles/12584461-developer-mode-and-full-mcp-connectors-in-chatgpt-beta"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Personal Skills use the Agent Skills open standard and are uploaded separately on desktop and web/mobile. Plan and administrator controls apply."; readonly docs: readonly []; readonly sources: readonly ["https://help.openai.com/en/articles/20001066-skills-in-chatgpt"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "ChatGPT developer mode accepts remote MCP servers for custom apps; plan, role, and administrator controls apply."; readonly docs: readonly []; readonly sources: readonly ["https://help.openai.com/en/articles/12584461-developer-mode-and-full-mcp-connectors-in-chatgpt-beta"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; readonly transports: readonly ["http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly reason: "ChatGPT connector setup is hosted and UI-mediated."; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "ChatGPT app action permissions and confirmations are managed in the hosted UI."; readonly docs: readonly []; readonly sources: readonly ["https://help.openai.com/en/articles/12584461-developer-mode-and-full-mcp-connectors-in-chatgpt-beta"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly "claude-ai": { readonly id: "claude-ai"; readonly name: "Claude.ai"; readonly vendor: "Anthropic"; readonly homepage: "https://claude.ai"; readonly interfaces: readonly ["chat"]; readonly family: "claude"; readonly rootDir: null; readonly installTarget: { readonly kind: "hosted"; readonly delivery: readonly ["upload", "directory"]; readonly artifact: "zip"; readonly instructions: "Run axm lint to validate the skill, package its folder as a ZIP, then use Customize > Skills > Create skill > Upload a skill in Claude."; readonly docs: "https://support.claude.com/en/articles/12512180-use-skills-in-claude"; }; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Use skills in Claude"; readonly url: "https://support.claude.com/en/articles/12512180-use-skills-in-claude"; }, { readonly label: "Remote MCP custom connectors"; readonly url: "https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Claude accepts custom skill folders packaged as ZIP files. Account, organization, and code-execution controls apply; enabled skills are shared with Cowork."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/12512180-use-skills-in-claude"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Claude accepts publicly reachable remote MCP servers as custom connectors."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; readonly transports: readonly ["http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly reason: "Claude connector setup is hosted and UI-mediated."; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Plugin subagents run in Cowork, not in Claude chat."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/13837440-use-plugins-in-claude"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Plugin hooks run in Cowork, not in Claude chat."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/13837440-use-plugins-in-claude"]; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly cowork: { readonly id: "cowork"; readonly name: "Claude Cowork"; readonly vendor: "Anthropic"; readonly homepage: "https://claude.ai"; readonly interfaces: readonly ["hosted-agent"]; readonly family: "claude"; readonly rootDir: null; readonly installTarget: { readonly kind: "hosted"; readonly delivery: readonly ["upload", "directory"]; readonly artifact: "zip"; readonly instructions: "Run axm lint to validate the skill, package its folder as a ZIP, then use Customize > Skills in Cowork to upload it or install a shared skill from the directory."; readonly docs: "https://support.claude.com/en/articles/12512180-use-skills-in-claude"; }; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Use skills in Claude"; readonly url: "https://support.claude.com/en/articles/12512180-use-skills-in-claude"; }, { readonly label: "Use plugins in Claude"; readonly url: "https://support.claude.com/en/articles/13837440-use-plugins-in-claude"; }, { readonly label: "Remote MCP custom connectors"; readonly url: "https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cowork uses the Claude account's custom and shared skills, which are uploaded as ZIP-packaged skill folders or installed from an organization directory."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/12512180-use-skills-in-claude"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cowork uses Claude account connectors backed by publicly reachable remote MCP servers."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; readonly transports: readonly ["http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly reason: "Cowork connector setup is hosted and UI-mediated."; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "plugin"; readonly provider: "first-party"; readonly plugin: { readonly name: "Claude plugins"; readonly homepage: "https://support.claude.com/en/articles/13837440-use-plugins-in-claude"; readonly author: "Anthropic"; readonly distribution: { readonly mechanism: "agent-native"; readonly installHint: "Install or upload the plugin from Customize > Plugins in Cowork."; readonly packageRef: null; }; readonly detection: null; }; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Claude plugins can bundle subagents, which run only in Cowork."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/13837440-use-plugins-in-claude"]; readonly scopes: readonly ["user"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly reason: "Cowork plugin installation is hosted and UI-mediated."; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "plugin"; readonly provider: "first-party"; readonly plugin: { readonly name: "Claude plugins"; readonly homepage: "https://support.claude.com/en/articles/13837440-use-plugins-in-claude"; readonly author: "Anthropic"; readonly distribution: { readonly mechanism: "agent-native"; readonly installHint: "Install or upload the plugin from Customize > Plugins in Cowork."; readonly packageRef: null; }; readonly detection: null; }; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Claude plugin hooks run only in Cowork; event mechanics are not cataloged yet."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/13837440-use-plugins-in-claude"]; readonly scopes: readonly ["user"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly reason: "Cowork plugin hooks have no AXM writer."; readonly writer: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly "gemini-app": { readonly id: "gemini-app"; readonly name: "Gemini app"; readonly vendor: "Google"; readonly homepage: "https://gemini.google.com"; readonly interfaces: readonly ["chat", "hosted-agent"]; readonly family: "gemini"; readonly rootDir: null; readonly installTarget: { readonly kind: "hosted"; readonly delivery: readonly ["upload"]; readonly artifact: "skill-file-or-zip"; readonly instructions: "Run axm lint to validate the skill, then in Gemini Spark choose Skills > Upload and select its SKILL.md file or a ZIP with SKILL.md at the root."; readonly docs: "https://support.google.com/gemini/answer/17094296?hl=en"; }; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Create and manage skills for Gemini Apps"; readonly url: "https://support.google.com/gemini/answer/17094296?hl=en"; }, { readonly label: "Connected Apps in Gemini"; readonly url: "https://support.google.com/gemini/answer/13695044?co=GENIE.Platform%3DDesktop&hl=en"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Gemini Spark accepts a SKILL.md file or a ZIP with SKILL.md at its root. Subscription, region, language, and surface restrictions apply."; readonly docs: readonly []; readonly sources: readonly ["https://support.google.com/gemini/answer/17094296?hl=en"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Gemini Spark accepts remote MCP server URLs as custom Connected Apps; Spark eligibility restrictions apply."; readonly docs: readonly []; readonly sources: readonly ["https://support.google.com/gemini/answer/13695044?co=GENIE.Platform%3DDesktop&hl=en"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; readonly transports: readonly ["http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly reason: "Gemini Connected App setup is hosted and UI-mediated."; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly adal: { readonly id: "adal"; readonly name: "AdaL"; readonly vendor: "SylphAI"; readonly homepage: "https://adalagent.ai"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".adal"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "AdaL documentation"; readonly url: "https://docs.sylph.ai"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.sylph.ai/features/plugins-and-skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".adal/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "AdaL manages MCP servers through the /mcp CLI flow and stores OAuth tokens under ~/.adal/mcp-auth; the docs describe add/remove/test actions rather than a stable editable config file."; readonly docs: readonly []; readonly sources: readonly ["https://docs.sylph.ai/features/mcp-support-proposed"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented an AdaL MCP writer for the CLI-managed MCP store."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.sylph.ai/getting-started/workflows-and-examples"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "AdaL exposes /permissions to configure approval behavior, but the public docs do not document a stable settings file shape for AXM to patch."; readonly docs: readonly []; readonly sources: readonly ["https://docs.sylph.ai/features/slash-commands"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented an AdaL permission writer for the interactive /permissions surface."; }; }; }; readonly "aider-desk": { readonly id: "aider-desk"; readonly name: "AiderDesk"; readonly vendor: "HOTOVO"; readonly homepage: "https://github.com/hotovo/aider-desk"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".aider-desk"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".aider-desk"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.aider-desk"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "AiderDesk repository"; readonly url: "https://github.com/hotovo/aider-desk"; }, { readonly label: "AiderDesk documentation"; readonly url: "https://aiderdesk.hotovo.com/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://aiderdesk.hotovo.com/docs/features/skills", "https://github.com/hotovo/aider-desk/issues/568"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".aider-desk/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "AiderDesk is a native MCP client: it connects to external standard MCP servers and exposes their tools to the agent, registering only the servers listed in a profile's enabledServers. MCP client configuration lives under the .aider-desk config, but the exact config file path, servers key, and per-transport dialect are not documented, so no AXM writer is modeled. AiderDesk can additionally act as an MCP server via @aiderdesk/mcp-server (the inverse direction)."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/hotovo/aider-desk"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AiderDesk's MCP client config dialect (exact file path, servers key, and transport-specific shape under .aider-desk) is not documented, so AXM has no MCP writer."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "AiderDesk has a native lifecycle hook / Extension System with 30+ events (onTaskCreated, onPromptFinished, onToolCalled, onFileAdded, ...) that can observe, modify, or block operations. Hooks are in-process JS/TS callbacks under .aider-desk/hooks/ (project) and ~/.aider-desk/hooks/ (user), with a newer Extension System under .aider-desk/extensions/. The native event names are not canonically mappable and there is no command-stdin dialect for AXM to serialize."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/hotovo/aider-desk"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AiderDesk hooks are in-process JS/TS callbacks with no command-stdin serialization dialect, and its 30+ native events are not canonically mapped, so AXM has no hook writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "AiderDesk gates tool execution with a three-state per-tool approval (Always / Ask / Never) configured per agent profile, plus pattern-based allow/deny regex for bash commands. Approvals are persisted in the per-profile JSON, but the exact config file location and grammar are not documented, so AXM has no grant writer."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/hotovo/aider-desk"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AiderDesk tool-approval settings live in per-profile JSON without a documented, stable writable path or grammar, so AXM cannot safely write permission grants."; }; }; }; readonly amp: { readonly id: "amp"; readonly name: "Amp"; readonly vendor: "Sourcegraph"; readonly homepage: "https://ampcode.com"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: "sourcegraph"; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Amp Owner's Manual"; readonly url: "https://ampcode.com/manual"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://ampcode.com/manual#agent-skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Amp declares always-available MCP servers under the flat amp.mcpServers settings key in ~/.config/amp/settings.json (user) or .amp/settings.json (workspace, which requires explicit approval), and skill-scoped MCP servers through mcp.json inside a skill directory."; readonly docs: readonly []; readonly sources: readonly ["https://ampcode.com/manual#MCP", "https://ampcode.com/manual#configuration"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Amp nests its servers under the flat amp.mcpServers settings key, which McpServersKey cannot express; a writer needs a schema change rather than catalog data."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "plugin"; readonly provider: "first-party"; readonly plugin: { readonly name: "Amp plugin API"; readonly homepage: "https://ampcode.com/manual"; readonly author: "Amp"; readonly distribution: { readonly mechanism: "agent-native"; readonly installHint: "Save a plugin under .amp/plugins and reload plugins."; readonly packageRef: null; }; readonly detection: { readonly paths: readonly [{ readonly scope: "project"; readonly path: ".amp/plugins"; readonly kind: "dir"; }, { readonly scope: "user"; readonly path: "~/.config/amp/plugins"; readonly kind: "dir"; }]; readonly configKeys: readonly []; }; }; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Amp has built-in automatic subagents and first-party plugin APIs for custom subagent-like tools, but no documented Markdown subagent directory that AXM can materialize."; readonly docs: readonly []; readonly sources: readonly ["https://ampcode.com/manual#subagents", "https://ampcode.com/manual#plugins"]; readonly scopes: readonly ["user", "project"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented Amp plugin/subagent materialization."; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Amp plugins can handle tool-call, tool-result, and agent lifecycle events. AXM models the in-process plugin surface but does not serialize Amp plugins or amp.hooks actions yet."; readonly docs: readonly []; readonly sources: readonly ["https://ampcode.com/manual", "https://ampcode.com/manual/plugin-api"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented Amp plugin or declarative-action hook writers."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://ampcode.com/manual#agentsmd"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: "at-path"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Amp permission rules use the amp.permissions and amp.mcpPermissions settings. Enterprise administrators can enforce the same schema through platform-specific managed-settings.json files."; readonly docs: readonly []; readonly sources: readonly ["https://ampcode.com/news/tool-level-permissions", "https://ampcode.com/news/mcp-permissions", "https://ampcode.com/news/enterprise-managed-settings"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.config/amp/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".amp/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "{\"tool\":\"Bash\",\"matches\":{\"cmd\":\"*git commit*\"},\"action\":\"ask\"}"; readonly notes: "amp.permissions rules select a tool, optionally glob-match tool arguments, and apply allow, reject, ask, or delegate."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly antigravity: { readonly id: "antigravity"; readonly name: "Antigravity"; readonly vendor: "Google"; readonly homepage: "https://antigravity.google"; readonly interfaces: readonly ["ide-extension"]; readonly family: "google"; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".agents"; readonly signal: "supporting"; readonly note: null; }, { readonly kind: "dir"; readonly path: ".agent"; readonly signal: "supporting"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.gemini/antigravity-cli"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Antigravity documentation"; readonly url: "https://antigravity.google/docs"; }, { readonly label: "Antigravity CLI overview"; readonly url: "https://antigravity.google/docs/cli-overview"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Antigravity 2.0 defaults to .agents/skills (project) and ~/.gemini/config/skills (user); .agent/skills remains supported for backward compatibility.\n"; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".agent/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Antigravity stores global MCP servers in ~/.gemini/config/mcp_config.json and workspace MCP servers in .agents/mcp_config.json. Remote MCP definitions use serverUrl, and disabled is an optional per-server switch."; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/mcp", "https://antigravity.google/docs/cli/plugins"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.gemini/config/mcp_config.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "project"; readonly path: ".agents/mcp_config.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "serverUrl"; readonly sse: "serverUrl"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Antigravity documents command hooks in hooks.json for the current Antigravity execution loop. This supersedes earlier research that found hooks only in SDK/plugin surfaces. Each hooks.json entry is namespaced by a hook name that carries its own enabled flag, and event groups nest under that name rather than under a single top-level hooks key."; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/hooks", "https://antigravity.google/docs/cli/plugins"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.gemini/config/hooks.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".agents/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "browser_.*"; readonly notes: "Matches on tool name; * selects every tool."; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }]; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "run_command"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreInvocation"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostInvocation"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "run_command"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "Antigravity namespaces each hook bundle under its own top-level name in hooks.json; AXM's writer targets a single settings key and cannot express that nesting."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/rules-workflows"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/rules"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Antigravity CLI exposes fine-grained allow/ask/deny permissions in settings, with resources such as command(...), read_file(...), write_file(...), read_url(...), execute_url(...), and mcp(...)."; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/cli-permissions", "https://antigravity.google/docs/cli-reference"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file", "ui-only"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.gemini/antigravity-cli/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "regex"; readonly example: "command(axm)"; readonly notes: "Conflicting rules are evaluated Deny > Ask > Allow."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.gemini/antigravity-cli/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["command(${tool})"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: "~/.gemini/antigravity-cli/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["read_file(${workspaceRoot})", "write_file(${workspaceRoot})"]; }; }; readonly template: null; }; }; }; }; }; }; readonly "antigravity-cli": { readonly id: "antigravity-cli"; readonly name: "Antigravity CLI"; readonly vendor: "Google"; readonly homepage: "https://antigravity.google/product/antigravity-cli"; readonly interfaces: readonly ["cli"]; readonly family: "google"; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".agents"; readonly signal: "supporting"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.gemini/antigravity-cli"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Antigravity CLI documentation"; readonly url: "https://antigravity.google/docs/cli-overview"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Because the CLI's project Skill directory is .agents/skills, --agent universal already wrote to the correct location; this entry adds CLI-specific detection and naming."; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".agent/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "The Antigravity CLI shares product configuration with the desktop surface; AXM avoids a second writer until shared-target ownership is explicit."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The CLI manages background subagents in its Agent Manager, but the vendor docs do not define a custom-subagent file directory."; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/product/antigravity-cli"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "No vendor-documented custom-subagent file target is available."; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The CLI reads command hooks from the workspace or global customization directory."; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "Antigravity's named hook bundles require a serializer AXM does not implement."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/rules-workflows"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; readonly directory: ".agents/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/cli-permissions"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.gemini/antigravity-cli/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "regex"; readonly example: "command(axm)"; readonly notes: "Conflicting rules are evaluated Deny > Ask > Allow."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM does not yet implement Antigravity CLI permission-rule patches."; }; }; }; readonly augment: { readonly id: "augment"; readonly name: "Augment"; readonly vendor: "Augment Code"; readonly homepage: "https://www.augmentcode.com"; readonly interfaces: readonly ["ide-extension", "cli"]; readonly family: null; readonly rootDir: ".augment"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Augment documentation"; readonly url: "https://docs.augmentcode.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Auggie loads skills from .augment/skills, .claude/skills, and .agents/skills at both user and workspace scope. AXM writes the native Augment project directory."; readonly docs: readonly []; readonly sources: readonly ["https://docs.augmentcode.com/cli/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".augment/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Auggie persists MCP server configuration in ~/.augment/settings.json. The CLI also supports per-run --mcp-config overrides that are not represented by AXM writers."; readonly docs: readonly []; readonly sources: readonly ["https://docs.augmentcode.com/cli/integrations"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.augment/settings.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://docs.augmentcode.com/cli/subagents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".augment/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Auggie hooks run command hooks from settings files and use JSON on stdin/stdout. Native Auggie also exposes SessionEnd and Notification, plus metadata options not represented in AXM's portable hook manifest."; readonly docs: readonly []; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.augment/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".augment/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".augment/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "terminal|write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "terminal|write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "read"; readonly canonical: "file.read"; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "write"; readonly canonical: "file.write"; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "terminal"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "web-fetch"; readonly canonical: "web.fetch"; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".augment/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "milliseconds"; readonly commandNameSerialization: "omit"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.augmentcode.com/cli/rules"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Auggie CLI evaluates toolPermissions top-to-bottom with first match winning. Tool permissions are CLI-only and live in ~/.augment/settings.json (user scope) or a repo-committed .augment/settings.json (project scope)."; readonly docs: readonly []; readonly sources: readonly ["https://docs.augmentcode.com/cli/permissions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.augment/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".augment/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "regex"; readonly example: "^axm(\\s|$)"; readonly notes: "Rules contain toolName plus permission.type allow/deny/ask-user; shell commands can be constrained with shellInputRegex."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.augment/settings.json"; readonly patch: { readonly toolPermissions: readonly [{ readonly toolName: "terminal"; readonly shellInputRegex: "^${tool}(\\s|$)"; readonly permission: { readonly type: "allow"; }; }]; }; readonly template: null; }; readonly filesystem: { readonly target: "~/.augment/settings.json"; readonly patch: { readonly toolPermissions: readonly [{ readonly toolName: "read"; readonly permission: { readonly type: "allow"; }; }, { readonly toolName: "edit"; readonly permission: { readonly type: "allow"; }; }, { readonly toolName: "write"; readonly permission: { readonly type: "allow"; }; }]; }; readonly template: null; }; }; }; }; }; }; readonly "claude-code": { readonly id: "claude-code"; readonly name: "Claude Code"; readonly vendor: "Anthropic"; readonly homepage: "https://claude.com/product/claude-code"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: "anthropic"; readonly rootDir: ".claude"; readonly targeting: { readonly extends: null; readonly capabilities: { readonly "structured-input": { readonly grades: readonly ["native"]; readonly nouns: { readonly "tool:structured-input": "AskUserQuestion"; }; readonly affordances: { readonly "do:ask-structured": "Use the AskUserQuestion tool to collect structured input, then STOP and wait for the response."; }; }; }; }; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.claude"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "executable"; readonly name: "claude"; readonly signal: "definitive"; readonly note: "CLI on PATH."; }]; }; }; readonly docs: readonly [{ readonly label: "Claude Code documentation"; readonly url: "https://code.claude.com/docs/en/overview"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://code.claude.com/docs/en/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".claude/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://code.claude.com/docs/en/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: true; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".mcp.json"; readonly format: "json"; readonly attribution: "shared"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "stdio"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "stdio"; }, null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://code.claude.com/docs/en/sub-agents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".claude/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Managed hooks merge into the Claude Code settings hooks block and execute materialized AXM package entrypoints. Claude Code exposes additional native events such as Notification, SessionEnd, CwdChanged, FileChanged, and WorktreeCreate; this catalog maps the subset covered by AXM's canonical hook event registry."; readonly docs: readonly []; readonly sources: readonly ["https://code.claude.com/docs/en/hooks", "https://code.claude.com/docs/en/settings"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.claude/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".claude/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".claude/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Write|Edit"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Write|Edit"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "manual|auto"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "Read"; readonly canonical: "file.read"; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Write"; readonly canonical: "file.write"; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Bash"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "WebFetch"; readonly canonical: "web.fetch"; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".claude/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".claude/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "seconds"; readonly commandNameSerialization: "omit"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Reads CLAUDE.md, not the AGENTS.md spec filename."; readonly docs: readonly []; readonly sources: readonly ["https://code.claude.com/docs/en/memory"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly kind: "own-file"; readonly files: readonly ["CLAUDE.md"]; readonly nestedDiscovery: true; readonly importSyntax: "at-path"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://code.claude.com/docs/en/permissions", "https://code.claude.com/docs/en/settings"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.claude/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".claude/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".claude/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(axm:*)"; readonly notes: "Tool(specifier) with * wildcards. Evaluated deny > ask > allow (first match wins). Settings merge across scopes rather than override.\n"; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.claude/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Bash(${tool}:*)"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: "~/.claude/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Read(${workspaceRoot}/**)", "Write(${workspaceRoot}/**)", "Edit(${workspaceRoot}/**)"]; }; }; readonly template: null; }; }; }; }; }; }; readonly cline: { readonly id: "cline"; readonly name: "Cline"; readonly vendor: "Cline"; readonly homepage: "https://cline.bot"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".cline"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Cline documentation"; readonly url: "https://docs.cline.bot"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.cline.bot/customization/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".cline/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".clinerules/skills"; readonly status: "compat"; }, { readonly path: ".claude/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cline supports MCP in both the extension and CLI. The CLI MCP config is ~/.cline/mcp.json; extension config is exposed through the MCP settings UI. Entries use the community-standard mcpServers shape with a streamableHttp remote discriminator plus Cline-specific disabled and autoApprove fields."; readonly docs: readonly []; readonly sources: readonly ["https://docs.cline.bot/mcp/mcp-overview"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.cline/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "streamableHttp"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "streamableHttp"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cline stores executable hooks under ~/Documents/Cline/Hooks and .clinerules/hooks. The native script-directory shape is not compatible with AXM's grouped JSON command-hook writer."; readonly docs: readonly []; readonly sources: readonly ["https://docs.cline.bot/customization/hooks"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a Cline hook script directory writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Uses a vendor rule directory under the AGENTS.md-governed rule umbrella."; readonly docs: readonly []; readonly sources: readonly ["https://docs.cline.bot/customization/cline-rules"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly files: readonly ["*.md", "*.txt"]; readonly nestedDiscovery: false; readonly importSyntax: null; readonly directory: ".clinerules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cline exposes auto-approve controls in the extension/CLI UI and toolPolicies in the SDK. The public docs do not define a stable AXM-writable project permission grant file."; readonly docs: readonly []; readonly sources: readonly ["https://docs.cline.bot/cline-cli/interactive-mode", "https://docs.cline.bot/sdk/guides/permission-handling"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Cline permission grant writer."; }; }; }; readonly "codearts-agent": { readonly id: "codearts-agent"; readonly name: "CodeArts Agent"; readonly vendor: "Huawei Cloud"; readonly homepage: "https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0001.html"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".codeartsdoer"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".codeartsdoer"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.codeartsdoer"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "CodeArts Agent CLI documentation"; readonly url: "https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0001.html"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0019.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".codeartsdoer/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeArts Agent stores local and remote MCP servers under the mcp key in its shared JSON or JSONC configuration."; readonly docs: readonly []; readonly sources: readonly ["https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0017.html", "https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0028.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcp"; readonly activationField: { readonly required: null; readonly accepted: readonly [{ readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".codeartsdoer/codearts_cli.jsonc"; readonly format: "jsonc"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.codeartsdoer/codearts_cli.jsonc"; readonly format: "jsonc"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "local"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "local"; }]; }; readonly command: "array"; readonly envKey: "environment"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "remote"; readonly sse: "remote"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "remote"; readonly sse: "remote"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeArts Agent discovers Markdown agent definitions with YAML frontmatter and supports primary and subagent modes."; readonly docs: readonly []; readonly sources: readonly ["https://support.huaweicloud.com/usermanual-codeartssnap/codeartsagent_ug_0051.html"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".codeartsdoer/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeArts Agent hooks are JavaScript or TypeScript plugin callbacks rather than declarative command hooks that AXM can serialize."; readonly docs: readonly []; readonly sources: readonly ["https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0018.html"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM does not serialize CodeArts Agent JavaScript or TypeScript plugins."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeArts Agent uses AGENTS.md for project instructions and can generate it with /init."; readonly docs: readonly []; readonly sources: readonly ["https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0014.html"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeArts Agent stores ordered allow, ask, and deny-style rules in a user-level JSON permission file."; readonly docs: readonly []; readonly sources: readonly ["https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0006.html"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.codeartsdoer/cli-data/storage/permission/global.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "{\"permission\":\"bash\",\"pattern\":\"axm *\",\"action\":\"allow\"}"; readonly notes: "Each array entry selects a permission name and wildcard pattern, then applies an allow, ask, or deny action."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a CodeArts Agent permission-list writer."; }; }; }; readonly codebuddy: { readonly id: "codebuddy"; readonly name: "CodeBuddy"; readonly vendor: "Tencent Cloud"; readonly homepage: "https://www.codebuddy.ai/docs"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".codebuddy"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "CodeBuddy documentation"; readonly url: "https://www.codebuddy.ai/docs/ide/Introduction"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://www.codebuddy.ai/docs/ide/Introduction"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".codebuddy/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeBuddy MCP configs are JSONC and use first-existing-file precedence within each scope; AXM writes the recommended project/user files."; readonly docs: readonly []; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: true; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".mcp.json"; readonly format: "jsonc"; readonly attribution: "shared"; }, { readonly scope: "user"; readonly path: "~/.codebuddy/.mcp.json"; readonly format: "jsonc"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "stdio"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "stdio"; }, null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/sub-agents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".codebuddy/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeBuddy hooks are configured under the hooks key in settings.json and use grouped event/matcher command hooks compatible with AXM's command-stdin serializer."; readonly docs: readonly []; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".codebuddy/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.codebuddy/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "literal-list"; readonly example: "startup|resume"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|Edit|Write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Edit|Write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "literal-list"; readonly example: "manual|auto"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "Read"; readonly canonical: "file.read"; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/settings"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Write"; readonly canonical: "file.write"; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Bash"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/settings"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "WebFetch"; readonly canonical: "web.fetch"; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/settings"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".codebuddy/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "seconds"; readonly commandNameSerialization: "omit"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeBuddy loads CODEBUDDY.md plus nested .codebuddy/rules instruction files and supports @path imports."; readonly docs: readonly []; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/memory"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "none"; readonly convention: "vendor"; readonly kind: "own-file"; readonly files: readonly ["CODEBUDDY.md"]; readonly nestedDiscovery: true; readonly importSyntax: "at-path"; readonly directory: ".codebuddy/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeBuddy permissions support allow/ask/deny rules in settings.json plus CLI permission flags. Bash rules are prefix-style and can include :* suffixes."; readonly docs: readonly []; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/settings", "https://www.codebuddy.ai/docs/cli/cli-reference"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".codebuddy/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".codebuddy/settings.local.json"; readonly format: "json"; readonly gitignored: true; }, { readonly scope: "user"; readonly path: "~/.codebuddy/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(axm:*)"; readonly notes: "Rules live in permissions.allow/ask/deny arrays; Bash patterns use prefix matching."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--dangerously-skip-permissions"; readonly note: "Bypasses CodeBuddy Code permission prompts."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: ".codebuddy/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Bash(${tool}:*)"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: ".codebuddy/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Read(**)", "Write(**)", "Edit"]; }; }; readonly template: null; }; }; }; }; }; }; readonly codemaker: { readonly id: "codemaker"; readonly name: "Codemaker"; readonly vendor: "CodeMaker AI"; readonly homepage: "https://github.com/codemakerai/codemaker-cli"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "retired"; readonly since: null; readonly note: "CodeMaker AI's vendor domains no longer resolve, and its vendor-owned CLI repository has not shipped an agent-extension surface."; readonly supersededBy: null; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.codemaker"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "CodeMaker CLI repository"; readonly url: "https://github.com/codemakerai/codemaker-cli"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The vendor CLI source and documentation do not implement skills or read .codemaker/skills; the prior claim came only from a third-party installer path table."; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly codestudio: { readonly id: "codestudio"; readonly name: "Code Studio"; readonly vendor: "Syncfusion"; readonly homepage: "https://www.syncfusion.com/code-studio/"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".codestudio"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".codestudio"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.codestudio"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Code Studio documentation"; readonly url: "https://help.syncfusion.com/code-studio/welcome-to-code-studio"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://www.syncfusion.com/code-studio/features/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".codestudio/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Code Studio supports custom stdio and remote HTTP MCP servers."; readonly docs: readonly []; readonly sources: readonly ["https://www.syncfusion.com/code-studio/features/", "https://help.syncfusion.com/code-studio/reference/configure-properties/mcp/customservers"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Code Studio custom agents are stored under .codestudio/agents."; readonly docs: readonly []; readonly sources: readonly ["https://www.syncfusion.com/code-studio/features/", "https://github.com/syncfusion/code-studio-library"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".codestudio/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Code Studio exposes command-based lifecycle hooks, but its public documentation does not enumerate a stable event and matcher grammar."; readonly docs: readonly []; readonly sources: readonly ["https://www.syncfusion.com/code-studio/features/"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Code Studio supports AGENTS.md and its own instruction/rule surfaces; this entry models the universal AGENTS.md surface."; readonly docs: readonly []; readonly sources: readonly ["https://help.syncfusion.com/code-studio/features/globalagent", "https://www.syncfusion.com/code-studio/features/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly codex: { readonly id: "codex"; readonly name: "Codex"; readonly vendor: "OpenAI"; readonly homepage: "https://learn.chatgpt.com/docs"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: "openai"; readonly rootDir: ".codex"; readonly targeting: { readonly extends: null; readonly capabilities: { readonly "structured-input": { readonly grades: readonly ["native"]; readonly nouns: { readonly "tool:structured-input": "request_user_input"; }; readonly affordances: { readonly "do:ask-structured": "Use request_user_input to collect structured input, then STOP and wait for the response."; }; }; }; }; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "file"; readonly path: "AGENTS.md"; readonly signal: "ambiguous"; readonly note: "Shared instruction filename used by multiple agents."; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.codex"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "executable"; readonly name: "codex"; readonly signal: "definitive"; readonly note: "CLI on PATH."; }]; }; }; readonly docs: readonly [{ readonly label: "Codex documentation"; readonly url: "https://learn.chatgpt.com/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Reads SKILL.md skills from repository (.agents/skills) and user (~/.agents/skills) locations with progressive disclosure, using the cross-tool Agent Skills convention rather than a .codex/ path.\n"; readonly docs: readonly []; readonly sources: readonly ["https://developers.openai.com/codex/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://developers.openai.com/codex/mcp/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcp_servers"; readonly activationField: { readonly required: { readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }; readonly accepted: readonly [{ readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".codex/config.toml"; readonly format: "toml"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.codex/config.toml"; readonly format: "toml"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; }; readonly headersKey: "http_headers"; readonly bearerTokenEnvKey: "bearer_token_env_var"; readonly envHeadersKey: "env_http_headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Custom agents are standalone TOML files under .codex/agents (project) or ~/.codex/agents (user); a custom agent overrides a built-in of the same name.\n"; readonly docs: readonly []; readonly sources: readonly ["https://learn.chatgpt.com/docs/agent-configuration/subagents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".codex/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Codex lifecycle hooks are command hooks loaded from hooks.json or inline [hooks] tables next to active config layers."; readonly docs: readonly []; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.codex/hooks.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".codex/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|apply_patch"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "block"; readonly outcomes: readonly ["deny"]; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PermissionRequest"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|apply_patch"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "block"; readonly outcomes: readonly ["deny"]; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|apply_patch"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "block"; readonly outcomes: readonly ["deny"]; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "regex"; readonly example: "startup|resume|clear|compact"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "regex"; readonly example: null; readonly notes: "Matcher filters subagent type."; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "manual|auto"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "apply_patch"; readonly canonical: "file.edit"; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Write"; readonly canonical: "file.write"; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Bash"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".codex/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "seconds"; readonly commandNameSerialization: "omit"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/openai/codex/blob/main/docs/agents_md.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://learn.chatgpt.com/docs/config-file/config-reference", "https://learn.chatgpt.com/docs/permissions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.codex/config.toml"; readonly format: "toml"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.codex/axm.config.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "[permissions.agentxm.filesystem.\":workspace_roots\"] \".\" = \"write\""; readonly notes: "Permission profiles combine filesystem, network, and workspace-root rules. Narrower deny rules remain in force over broader readable or writable paths.\n"; }; readonly prerequisites: readonly [{ readonly key: "default_permissions"; readonly value: "agentxm"; readonly scope: "user"; readonly note: "Selects the named permission profile."; }]; readonly cliFlags: readonly [{ readonly flag: "--yolo"; readonly note: "Alias for danger-full-access; use only when broad local access is intentional."; }, { readonly flag: "--dangerously-bypass-approvals-and-sandbox"; readonly note: "Runs without local sandbox restrictions."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.codex/axm.config.toml"; readonly patch: { readonly default_permissions: "agentxm"; readonly permissions: { readonly agentxm: { readonly extends: ":workspace"; }; }; }; readonly template: null; }; readonly filesystem: { readonly target: "~/.codex/axm.config.toml"; readonly patch: { readonly default_permissions: "agentxm"; readonly permissions: { readonly agentxm: { readonly extends: ":workspace"; readonly workspace_roots: { readonly "${workspaceRoot}": true; }; readonly filesystem: { readonly ":workspace_roots": { readonly ".": "write"; }; }; readonly network: { readonly enabled: true; }; }; }; }; readonly template: null; }; }; }; }; }; }; readonly "command-code": { readonly id: "command-code"; readonly name: "Command Code"; readonly vendor: "Command Code"; readonly homepage: "https://commandcode.ai"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".commandcode"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Command Code documentation"; readonly url: "https://commandcode.ai/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://commandcode.ai/docs/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".commandcode/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The shared/project-scoped MCP config is .mcp.json at the repo root; the user-scoped config is ~/.commandcode/mcp.json. A private local scope (~/.commandcode/projects//mcp.json) also exists but is not managed here."; readonly docs: readonly []; readonly sources: readonly ["https://commandcode.ai/docs/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null, { readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".mcp.json"; readonly format: "json"; readonly attribution: "shared"; }, { readonly scope: "user"; readonly path: "~/.commandcode/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null, { readonly name: "transport"; readonly value: "stdio"; }, { readonly name: "type"; readonly value: "stdio"; }]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "transport"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "transport"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }, { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Command Code Custom Agents / Sub-Agents are single Markdown files with frontmatter under .commandcode/agents (project) and ~/.commandcode/agents (user)."; readonly docs: readonly []; readonly sources: readonly ["https://commandcode.ai/docs/core-concepts/custom-agents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".commandcode/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Command Code documents a lifecycle hook system configured in settings.json. AXM has not modeled its native event dialect."; readonly docs: readonly []; readonly sources: readonly ["https://commandcode.ai/docs/hooks"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a Command Code hook writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Command Code reads AGENTS.md memory/instruction files."; readonly docs: readonly []; readonly sources: readonly ["https://commandcode.ai/docs/core-concepts/memory"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Command Code exposes permission allow/deny lists and an autoApprove system in settings.json. AXM does not yet write these grants."; readonly docs: readonly []; readonly sources: readonly ["https://commandcode.ai/docs/core-concepts/settings"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.commandcode/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".commandcode/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(axm:*)"; readonly notes: null; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Command Code permission grant writer."; }; }; }; readonly continue: { readonly id: "continue"; readonly name: "Continue"; readonly vendor: "Continue"; readonly homepage: "https://www.continue.dev"; readonly interfaces: readonly ["ide-extension", "cli"]; readonly family: null; readonly rootDir: ".continue"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Continue documentation"; readonly url: "https://docs.continue.dev"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.continue.dev"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".continue/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Continue agent-mode tools include MCP servers configured as tools in Continue config. AXM does not currently write Continue's YAML/config package format."; readonly docs: readonly []; readonly sources: readonly ["https://docs.continue.dev/guides/configuring-models-rules-tools", "https://docs.continue.dev/reference/config"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Continue MCP config writer."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The Continue CLI ships a Claude Code-compatible hooks system keyed under settings.json hooks, merged across ~/.continue, .continue, and the matching .claude locations. Beyond the events mapped here it also fires PostToolUseFailure, PermissionRequest, SessionEnd, Notification, SubagentStart, ConfigChange, TeammateIdle, TaskCompleted, WorktreeCreate, and WorktreeRemove, which have no canonical AXM event. Command handlers sit beside http, prompt, and agent handler types, and the surface is not yet covered by the published Continue docs."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.continue/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".continue/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".continue/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Write|Edit"; readonly notes: "Matchers select tools by name; an optional per-handler if condition narrows by argument, such as Edit(src/**)."; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "Read"; readonly canonical: "file.read"; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Write"; readonly canonical: "file.write"; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Bash"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "Continue's hook surface is only described in tracking issues, not published reference docs, so the settings key and handler shape are not stable enough to write."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Uses a vendor rule directory under the AGENTS.md-governed rule umbrella."; readonly docs: readonly []; readonly sources: readonly ["https://docs.continue.dev/guides/configuring-models-rules-tools"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly files: readonly ["*.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; readonly directory: ".continue/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The Continue CLI sorts tool patterns into allow, ask, and exclude lists in a user-scoped permissions.yaml that the TUI writes as approvals are granted; there is no project-scoped permission file."; readonly docs: readonly []; readonly sources: readonly ["https://docs.continue.dev/cli/tool-permissions"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.continue/permissions.yaml"; readonly format: "yaml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "Bash(axm *)"; readonly notes: "Tool(pattern) entries under allow, ask, or exclude; the argument pattern is a glob, as in Write(**/*.ts)."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--auto"; readonly note: "Allows every tool for the session; not tool-scoped."; }, { readonly flag: "--readonly"; readonly note: "Restricts the session to read-only tools."; }, { readonly flag: "--allow"; readonly note: "Adds a session allow rule for one tool pattern."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "permissions.yaml is owned by the Continue TUI and AXM has no writer for its YAML permission grammar."; }; }; }; readonly cortex: { readonly id: "cortex"; readonly name: "Cortex Code"; readonly vendor: "Snowflake"; readonly homepage: "https://www.snowflake.com/en/product/features/cortex-code"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".cortex"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".cortex"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.snowflake/cortex"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Cortex Code CLI extensibility"; readonly url: "https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility", "https://github.com/Snowflake-Labs/coco-skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".cortex/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cortex Code configures MCP servers under the mcpServers key."; readonly docs: readonly []; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cortex Code subagents are Markdown definitions under .cortex/agents."; readonly docs: readonly []; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".cortex/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cortex Code hooks execute commands with event data on standard input."; readonly docs: readonly []; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.snowflake/cortex/hooks.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".cortex/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".cortex/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|Write|Edit"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|Write|Edit"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cortex Code loads AGENTS.md instruction files."; readonly docs: readonly []; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cortex Code permission rules are stored in permissions.json and layered settings files."; readonly docs: readonly []; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.snowflake/cortex/permissions.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.snowflake/cortex/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".cortex/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(git status)"; readonly notes: "Permission allow and deny entries match tool calls and command prefixes."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly crush: { readonly id: "crush"; readonly name: "Crush"; readonly vendor: "Charm"; readonly homepage: "https://charm.land/crush"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".crush"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Crush repository"; readonly url: "https://github.com/charmbracelet/crush"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/charmbracelet/crush"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".crush/skills"; readonly status: "compat"; }, { readonly path: ".claude/skills"; readonly status: "compat"; }, { readonly path: ".cursor/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Crush now prefers executable crushrc configuration. AXM targets the deprecated-but-still-supported JSON configuration because the generic writer cannot safely author shell configuration."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/charmbracelet/crush", "https://github.com/charmbracelet/crush/blob/main/schema.json"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcp"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: "crush.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.config/crush/crush.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Crush currently supports PreToolUse hooks in crush.json/.crush.json with direct event arrays. The native shape is Claude Code-compatible conceptually but not AXM's grouped command-hook JSON writer shape."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/charmbracelet/crush/tree/main/docs/hooks"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a Crush hook writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/charmbracelet/crush"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Crush can allow broad built-in tools through permissions.allowed_tools and can bypass prompts with --yolo. This does not provide a narrow shell-command grant for AXM."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/charmbracelet/crush"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: "crush.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.config/crush/crush.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "prefix"; readonly example: "\"permissions\": { \"allowed_tools\": [\"view\", \"edit\", \"bash\"] }"; readonly notes: "allowed_tools grants whole tools such as bash; it cannot narrowly grant only the axm command."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--yolo"; readonly note: "Skips all permission prompts for the workspace."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a narrow Crush permission grant writer."; }; }; }; readonly cursor: { readonly id: "cursor"; readonly name: "Cursor"; readonly vendor: "Anysphere"; readonly homepage: "https://cursor.com"; readonly interfaces: readonly ["ide-extension", "cli"]; readonly family: "cursor"; readonly rootDir: ".cursor"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "file"; readonly path: "AGENTS.md"; readonly signal: "ambiguous"; readonly note: "Shared instruction filename used by multiple agents."; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.cursor"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "executable"; readonly name: "cursor-agent"; readonly signal: "definitive"; readonly note: "CLI on PATH."; }]; }; }; readonly docs: readonly [{ readonly label: "Cursor documentation"; readonly url: "https://docs.cursor.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cursor 2.4 added Agent Skills (SKILL.md) across the editor and the cursor-agent CLI."; readonly docs: readonly []; readonly sources: readonly ["https://cursor.com/docs/skills.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".cursor/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".claude/skills"; readonly status: "compat"; }, { readonly path: ".codex/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://cursor.com/docs/mcp.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".cursor/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.cursor/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "stdio"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "stdio"; }, null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Custom subagents are Markdown files with YAML frontmatter under .cursor/agents (project) or ~/.cursor/agents (user); added in Cursor 2.4.\n"; readonly docs: readonly []; readonly sources: readonly ["https://cursor.com/docs/subagents.md"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".cursor/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cursor hooks run custom scripts around agent-loop stages. The native hooks.json shape is a direct event-to-command array, not AXM's current grouped command-stdin serializer shape."; readonly docs: readonly []; readonly sources: readonly ["https://cursor.com/docs/hooks.md"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "Cursor's hooks.json maps each event to a flat command array; AXM's only hook serializer emits grouped command-stdin entries, so a writer needs a new serializer rather than catalog data."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://cursor.com/docs/rules.md"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".cursor/rules"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://cursor.com/docs/cli/reference/permissions.md", "https://cursor.com/docs/cli/reference/parameters.md", "https://cursor.com/docs/agent/tools/terminal"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "ui-only", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.cursor/permissions.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.cursor/sandbox.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".cursor/sandbox.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.cursor/cli-config.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".cursor/cli.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "prefix"; readonly example: "axm"; readonly notes: "IDE: case-sensitive command prefix in terminalAllowlist. CLI: Tool-call syntax Shell()/Read()/Write() with glob patterns. Deny always beats allow.\n"; }; readonly prerequisites: readonly [{ readonly key: "Settings > Cursor Settings > Agents > Auto-Run"; readonly value: "Run in Sandbox | Run Everything"; readonly scope: "user"; readonly note: "IDE Auto-Run must be enabled before terminalAllowlist takes effect."; }]; readonly cliFlags: readonly [{ readonly flag: "--force"; readonly note: "Force allow commands unless explicitly denied."; }, { readonly flag: "--yolo"; readonly note: "Alias for --force."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.cursor/permissions.json"; readonly patch: { readonly terminalAllowlist: readonly ["${tool}"]; }; readonly template: null; }; readonly cliShell: { readonly target: ".cursor/cli.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Shell(${tool})", "Shell(${tool}:*)"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: ".cursor/sandbox.json"; readonly patch: { readonly type: "workspace_readwrite"; readonly additionalReadwritePaths: readonly []; }; readonly template: null; }; }; }; }; }; }; readonly deepagents: { readonly id: "deepagents"; readonly name: "Deep Agents"; readonly vendor: "LangChain"; readonly homepage: "https://docs.langchain.com/oss/python/deepagents/overview"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.deepagents"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Deep Agents skills documentation"; readonly url: "https://docs.langchain.com/oss/python/deepagents/skills"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Skill sources are layered built-in, then plugin, then user ~/.deepagents//skills and ~/.agents/skills, then project .deepagents/skills and .agents/skills.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.langchain.com/oss/python/deepagents/skills", "https://github.com/langchain-ai/deepagents/blob/main/libs/code/deepagents_code/project_utils.py"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The deepagents CLI natively supports MCP servers via 'mcp-servers add|list|tools|update|delete|connect' commands, project-level MCP config discovery/merge, per-server trust/approval, and MCP OAuth session management.\n"; readonly docs: readonly []; readonly sources: readonly ["https://reference.langchain.com/python/deepagents-cli", "https://pypi.org/project/deepagents-cli/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Deep Agents natively supports MCP servers, but the exact config file path, servers key, and serialization dialect are unverified; no AXM writer is defined to avoid fabricating an install path."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Each subagent is a folder holding an AGENTS.md with YAML frontmatter: .deepagents/agents//AGENTS.md for the project and ~/.deepagents//agents//AGENTS.md for the user. The name field is optional and defaults to the folder name."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/langchain-ai/deepagents/blob/main/libs/code/deepagents_code/subagents.py"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".deepagents/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Project instructions are auto-discovered from .deepagents/AGENTS.md first and the repository-root AGENTS.md second; both are loaded as memory. User-level instructions live at ~/.deepagents/AGENTS.md."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/langchain-ai/deepagents/blob/main/libs/code/deepagents_code/project_utils.py", "https://docs.langchain.com/oss/python/deepagents/overview"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly devin: { readonly id: "devin"; readonly name: "Devin CLI"; readonly vendor: "Cognition"; readonly homepage: "https://devin.ai"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".devin"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".devin"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "$XDG_CONFIG_HOME/devin"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Devin CLI documentation"; readonly url: "https://docs.devin.ai/cli"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Devin also reads universal .agents/skills locations; AXM targets the native .devin/skills project path and XDG user path.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/skills/overview"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".devin/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Devin CLI stores MCP servers under mcpServers in layered config files. Remote URL servers default to Streamable HTTP and can fall back to SSE."; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/mcp/configuration"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".devin/mcp_config.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.config/devin/mcp_config.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "transport"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "transport"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Custom Devin CLI subagents are AGENT.md files under .devin/agents, .agents/agents, or the global Devin agents directory. Claude Code .claude/agents/*.md files are also imported."; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/cli/subagents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".devin/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Devin CLI hooks are compatible with Claude Code hooks. AXM writes to the hooks key in .devin/config.json rather than the standalone hooks.v1.json file."; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/hooks/overview"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".devin/hooks.v1.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".devin/config.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".devin/config.local.json"; readonly format: "json"; readonly gitignored: true; }, { readonly scope: "user"; readonly path: "~/.config/devin/config.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/hooks/overview"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/hooks/overview"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "exec|edit|write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/hooks/overview"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "exec|edit|write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/hooks/overview"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/hooks/overview"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "read"; readonly canonical: "file.read"; readonly sources: readonly ["https://docs.devin.ai/cli/reference/permissions"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "write"; readonly canonical: "file.write"; readonly sources: readonly ["https://docs.devin.ai/cli/reference/permissions"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://docs.devin.ai/cli/reference/permissions"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "exec"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://docs.devin.ai/cli/reference/permissions"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".devin/config.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "seconds"; readonly commandNameSerialization: "omit"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/rules"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Devin CLI permissions use allow/ask/deny arrays in layered config files. Rules cover scope matchers such as Read/Write/Exec/Fetch and tool names such as read/edit/grep/glob/exec."; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/cli/reference/permissions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".devin/config.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".devin/config.local.json"; readonly format: "json"; readonly gitignored: true; }, { readonly scope: "user"; readonly path: "~/.config/devin/config.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Exec(axm)"; readonly notes: "Exec rules match shell command prefixes as complete words; Read/Write rules use glob-style path scopes."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--permission-mode"; readonly note: "Selects modes such as normal, accept edits, bypass, or autonomous with sandboxing."; }, { readonly flag: "--sandbox"; readonly note: "Enables OS-level sandboxing and autonomous permission behavior."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: ".devin/config.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Exec(${tool})"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: ".devin/config.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Read(**)", "Write(**)", "edit"]; }; }; readonly template: null; }; }; }; }; }; }; readonly dexto: { readonly id: "dexto"; readonly name: "Dexto"; readonly vendor: "Truffle AI"; readonly homepage: "https://www.dexto.ai"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.dexto"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Dexto documentation"; readonly url: "https://docs.dexto.ai"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/truffle-ai/dexto/blob/main/packages/core/src/skills/workspace-skill-source.ts"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Dexto declares MCP servers under mcpServers in a project agent.yml. The vendor schema adds connectionMode and type fields around the standard server definitions."; readonly docs: readonly []; readonly sources: readonly ["https://docs.dexto.ai/mcp/"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Dexto permissions use manual or auto-approve mode plus alwaysAllow and alwaysDeny tool policies in agent.yml."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/truffle-ai/dexto/blob/main/docs/docs/guides/configuring-dexto/permissions.md"]; readonly scopes: readonly ["project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: "agent.yml"; readonly format: "yaml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "mcp--filesystem--write_file"; readonly notes: "toolPolicies.alwaysAllow and toolPolicies.alwaysDeny contain tool identifiers such as read_file, bash_exec, and mcp--server--tool."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--auto-approve"; readonly note: "Enables auto-approve mode for the session."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly droid: { readonly id: "droid"; readonly name: "Droid"; readonly vendor: "Factory"; readonly homepage: "https://www.factory.ai"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".factory"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Factory documentation"; readonly url: "https://docs.factory.ai"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".factory/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Factory MCP configuration supports local and remote servers."; readonly docs: readonly []; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: true; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Factory custom droids are Markdown files under .factory/droids."; readonly docs: readonly []; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/custom-droids"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".factory/droids"; readonly layout: "directory"; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Factory hooks execute commands with event payloads on standard input."; readonly docs: readonly []; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.factory/hooks.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".factory/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Execute|Create|Edit|ApplyPatch"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["deny"]; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Execute|Create|Edit|ApplyPatch"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "Execute"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Create"; readonly canonical: "file.write"; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "ApplyPatch"; readonly canonical: "file.edit"; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/agents-md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Factory layers command allow, deny, and block lists; blocklist rules take precedence over denylist and allowlist rules."; readonly docs: readonly []; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/settings", "https://docs.factory.ai/cli/droid-exec/overview"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.factory/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".factory/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "prefix"; readonly example: "commandAllowlist: [\"git status\", \"ls\"]"; readonly notes: "Command-prefix allow, deny, and block lists are matched after program resolution to prevent path-based bypasses."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--auto "; readonly note: "Selects the automation level."; }, { readonly flag: "--skip-permissions-unsafe"; readonly note: "Bypasses permission checks."; }, { readonly flag: "--enabled-tools "; readonly note: "Restricts the enabled tool set."; }, { readonly flag: "--disabled-tools "; readonly note: "Disables selected tools."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly firebender: { readonly id: "firebender"; readonly name: "Firebender"; readonly vendor: "Firebender"; readonly homepage: "https://firebender.com"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".firebender"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".firebender"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "file"; readonly path: "firebender.json"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.firebender"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Firebender documentation"; readonly url: "https://docs.firebender.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.firebender.com/multi-agent/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".firebender/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".goose/skills"; readonly status: "compat"; }, { readonly path: ".claude/skills"; readonly status: "compat"; }, { readonly path: ".codex/skills"; readonly status: "compat"; }, { readonly path: ".cursor/skills"; readonly status: "compat"; }, { readonly path: ".agents/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Firebender stores MCP servers under mcpServers in firebender.json and ~/.firebender/firebender.json."; readonly docs: readonly []; readonly sources: readonly ["https://docs.firebender.com/context/mcp/overview", "https://firebendercorp.mintlify.app/api-reference/syntax"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Firebender subagents are Markdown definitions under .firebender/agents."; readonly docs: readonly []; readonly sources: readonly ["https://docs.firebender.com/api-reference/agents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".firebender/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Firebender hooks execute commands with JSON event payloads on standard input and can observe, block, or modify selected operations."; readonly docs: readonly []; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".firebender/hooks.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.firebender/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "sessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "preToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "literal-list"; readonly example: "Shell,Read,Write,MCP"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "postToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "literal-list"; readonly example: "Shell,Read,Write,MCP"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "subagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "preCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "Shell"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Read"; readonly canonical: "file.read"; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Write"; readonly canonical: "file.write"; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "MCP"; readonly canonical: "mcp.call"; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "afterFileEdit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Firebender reads .firebender/rules/*.mdc and also supports AGENTS.md; this entry models its primary vendor rule directory."; readonly docs: readonly []; readonly sources: readonly ["https://docs.firebender.com/multi-agent/global-rules"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly directory: ".firebender/rules"; readonly files: readonly ["*.mdc"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly forgecode: { readonly id: "forgecode"; readonly name: "ForgeCode"; readonly vendor: "Tailcall"; readonly homepage: "https://forgecode.dev"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".forge"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".forge"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.forge"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "dir"; readonly path: "~/forge"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "ForgeCode skills documentation"; readonly url: "https://forgecode.dev/docs/skills/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "ForgeCode also reads shared ~/.agents/skills and documents ~/forge/skills as its global skills path."; readonly docs: readonly []; readonly sources: readonly ["https://forgecode.dev/docs/skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".forge/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "ForgeCode supports local and remote MCP servers."; readonly docs: readonly []; readonly sources: readonly ["https://forgecode.dev/docs/mcp-integration/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "ForgeCode custom agents are files under .forge/agents."; readonly docs: readonly []; readonly sources: readonly ["https://forgecode.dev/docs/creating-agents/"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".forge/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://forgecode.dev/docs/custom-rules/"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "ForgeCode permissions.yaml policies combine read, write, command, and URL glob rules with all, any, and not operators; decisions are allow, deny, or confirm."; readonly docs: readonly []; readonly sources: readonly ["https://forgecode.dev/docs/permissions/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.forge/permissions.yaml"; readonly format: "yaml"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".forge.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "command: \"git *\""; readonly notes: "Rules support all, any, and not composition with allow, deny, and confirm decisions."; }; readonly prerequisites: readonly [{ readonly key: "restricted"; readonly value: "true"; readonly scope: "project"; readonly note: "Enables restricted permission policy enforcement from .forge.toml."; }]; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly "gemini-cli": { readonly id: "gemini-cli"; readonly name: "Gemini CLI"; readonly vendor: "Google"; readonly homepage: "https://github.com/google-gemini/gemini-cli"; readonly interfaces: readonly ["cli"]; readonly family: "google"; readonly rootDir: ".gemini"; readonly lifecycle: { readonly state: "retired"; readonly since: "2026-06-18"; readonly note: "On 2026-06-18 Gemini CLI stopped serving requests for individual/free/AI Pro/Ultra tiers, superseded by Antigravity CLI; enterprise and paid API-key access remains available."; readonly supersededBy: "antigravity"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.gemini"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "executable"; readonly name: "gemini"; readonly signal: "definitive"; readonly note: "CLI on PATH."; }]; }; }; readonly docs: readonly [{ readonly label: "Gemini CLI documentation"; readonly url: "https://github.com/google-gemini/gemini-cli/tree/main/docs"; }, { readonly label: "Transitioning Gemini CLI to Antigravity CLI"; readonly url: "https://developers.googleblog.com/an-important-update-transitioning-gemini-cli-to-antigravity-cli/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/skills.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/configuration.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: true; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".gemini/settings.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.gemini/settings.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "httpUrl"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Subagents are Markdown files with YAML frontmatter under .gemini/agents (project) or ~/.gemini/agents (user); shipped in Gemini CLI v0.38.1.\n"; readonly docs: readonly []; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/core/subagents.md"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".gemini/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Gemini CLI hooks run command hooks from settings files and use JSON on stdin/stdout. Native Gemini CLI exposes additional events such as SessionEnd, BeforeModel, AfterModel, BeforeToolSelection, and Notification; this catalog maps the subset covered by AXM's canonical hook event registry."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/index.md", "https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/reference.md", "https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/configuration.md"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.gemini/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".gemini/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "regex"; readonly example: "startup|resume|clear"; readonly notes: "Gemini CLI lifecycle matchers are exact strings; AXM serializes raw matcher text."; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/reference.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "BeforeAgent"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/reference.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "AfterAgent"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/reference.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "BeforeTool"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "write_file|replace"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/reference.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "AfterTool"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "write_file|replace"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/reference.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompress"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/index.md"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "read_file"; readonly canonical: "file.read"; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "read_many_files"; readonly canonical: "file.read"; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "write_file"; readonly canonical: "file.write"; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "replace"; readonly canonical: "file.edit"; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "run_shell_command"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "web_fetch"; readonly canonical: "web.fetch"; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".gemini/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "milliseconds"; readonly commandNameSerialization: "manifest"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Consumer access (free, AI Pro, AI Ultra) ended 2026-06-18; Antigravity CLI succeeded Gemini CLI for those tiers. Enterprise customers on paid API keys retain access. The contextFileName setting can also point Gemini CLI at AGENTS.md.\n"; readonly docs: readonly []; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/configuration.md", "https://developers.googleblog.com/an-important-update-transitioning-gemini-cli-to-antigravity-cli/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly kind: "own-file"; readonly files: readonly ["GEMINI.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/configuration.md", "https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/policy-engine.md", "https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/shell.md", "https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/trusted-folders.md"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.gemini/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".gemini/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "prefix"; readonly example: "run_shell_command(axm)"; readonly notes: "The current configuration reference exposes tools.allowed / tools.core / tools.exclude (formerly coreTools/excludeTools) and the policy engine; command-specific run_shell_command rules are simple string matches and should not be treated as a strong security boundary.\n"; }; readonly prerequisites: readonly [{ readonly key: "security.folderTrust.enabled"; readonly value: "true"; readonly scope: "user"; readonly note: "Untrusted folders disable all auto-acceptance regardless of other settings."; }]; readonly cliFlags: readonly [{ readonly flag: "--approval-mode=yolo"; readonly note: "Broad bypass; not tool-scoped. Blocked when security.disableYoloMode=true."; }, { readonly flag: "--yolo"; readonly note: "Alias for --approval-mode=yolo."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.gemini/settings.json"; readonly patch: { readonly security: { readonly folderTrust: { readonly enabled: true; }; readonly enablePermanentToolApproval: true; }; readonly tools: { readonly allowed: readonly ["run_shell_command(${tool})"]; }; }; readonly template: null; }; }; }; }; }; }; readonly "github-copilot-cli": { readonly id: "github-copilot-cli"; readonly name: "GitHub Copilot CLI"; readonly vendor: "GitHub"; readonly homepage: "https://docs.github.com/en/copilot/concepts/agents/about-copilot-cli"; readonly interfaces: readonly ["cli"]; readonly family: "github"; readonly rootDir: ".copilot"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".github/copilot"; readonly signal: "supporting"; readonly note: "Repository and local Copilot CLI settings live under .github/copilot."; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.copilot"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "executable"; readonly name: "copilot"; readonly signal: "definitive"; readonly note: "CLI on PATH."; }]; }; }; readonly docs: readonly [{ readonly label: "GitHub Copilot CLI documentation"; readonly url: "https://docs.github.com/en/copilot/how-tos/copilot-cli"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-skills", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".github/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".agents/skills"; readonly status: "compat"; }, { readonly path: ".claude/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.copilot/mcp-config.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "project"; readonly path: ".mcp.json"; readonly format: "json"; readonly attribution: "shared"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "stdio"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "stdio"; }, { readonly name: "type"; readonly value: "local"; }]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; GitHub Copilot CLI custom agents are Markdown agent profiles under .github/agents or ~/.copilot/agents.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.github.com/en/copilot/concepts/agents/copilot-cli/about-custom-agents", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".github/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "GitHub Copilot CLI supports shell-command hooks at session, prompt, task, permission, tool-use, notification, and error lifecycle points. AXM models the surface but does not serialize GitHub hook configs yet.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/overview", "https://docs.github.com/en/copilot/reference/hooks-reference"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a GitHub Copilot CLI hook writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "GitHub Copilot CLI supports AGENTS.md plus Copilot-specific instruction files; AXM syncs the cross-agent AGENTS.md convention.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/allowing-tools", "https://docs.github.com/en/copilot/how-tos/copilot-cli/set-up-copilot-cli/configure-copilot-cli", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["cli-flag", "config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.copilot/permissions-config.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.copilot/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".github/copilot/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "prefix"; readonly example: "--allow-tool='shell(axm:*)'"; readonly notes: "Copilot CLI permission flags use tool-kind patterns such as shell(git:*), write(path), url(domain), or MCP_SERVER(tool). Deny rules take precedence over allow rules.\n"; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--allow-tool='shell(${tool}:*)'"; readonly note: "Allow a command family without prompting."; }, { readonly flag: "--allow-all-tools"; readonly note: "Allow all available tools without prompting."; }, { readonly flag: "--allow-all"; readonly note: "Allow all tools, paths, and URLs."; }, { readonly flag: "--deny-tool"; readonly note: "Deny a tool pattern; deny rules take precedence over allow rules."; }, { readonly flag: "--available-tools"; readonly note: "Restrict the tools available to the session."; }, { readonly flag: "--excluded-tools"; readonly note: "Remove tools from the session."; }, { readonly flag: "--yolo"; readonly note: "Alias for allowing all tools, paths, and URLs."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "CLI invocation"; readonly patch: null; readonly template: "--allow-tool='shell(${tool}:*)'"; }; readonly filesystem: { readonly target: "CLI invocation"; readonly patch: null; readonly template: "--allow-tool='write(${workspaceRoot}/**)'"; }; }; }; }; }; }; readonly goose: { readonly id: "goose"; readonly name: "Goose"; readonly vendor: "Agentic AI Foundation (AAIF)"; readonly homepage: "https://goose-docs.ai"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".goose"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Goose documentation"; readonly url: "https://goose-docs.ai/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://goose-docs.ai/docs/mcp/skills-mcp/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".goose/skills"; readonly status: "deprecated"; }, { readonly path: ".claude/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://goose-docs.ai/docs/getting-started/using-extensions/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Goose YAML extension config writer."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Goose exposes permission mode, tool permissions, and .gooseignore controls. AXM has not modeled a narrow permission grant writer for Goose."; readonly docs: readonly []; readonly sources: readonly ["https://goose-docs.ai/docs/guides/managing-tools/tool-permissions/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Goose permission grant writer."; }; }; }; readonly "grok-cli": { readonly id: "grok-cli"; readonly name: "Grok Build"; readonly vendor: "xAI"; readonly homepage: "https://x.ai/cli"; readonly interfaces: readonly ["cli"]; readonly family: "xai"; readonly rootDir: ".grok"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Grok CLI documentation"; readonly url: "https://docs.x.ai/build/overview"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Reads SKILL.md Agent Skills from project (.grok/skills) and user (~/.grok/skills, ~/.agents/skills) locations, plus additional paths configured via [skills] in ~/.grok/config.toml.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.x.ai/build/features/skills-plugins-marketplaces"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".grok/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "MCP servers are managed with grok mcp commands or [mcp_servers] tables in ~/.grok/config.toml and project .grok/config.toml. Grok also reads ~/.claude.json, .cursor/mcp.json, and .mcp.json compatibility files."; readonly docs: readonly []; readonly sources: readonly ["https://docs.x.ai/build/features/mcp-servers"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: true; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Grok CLI MCP config writer."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Agent definitions are Markdown files in .grok/agents or ~/.grok/agents and may add new subagent types or shadow the built-in general-purpose, explore, and plan types. Personas are a separate TOML overlay under .grok/personas and are not modeled as subagents."; readonly docs: readonly []; readonly sources: readonly ["https://docs.x.ai/build/features/subagents", "https://github.com/xai-org/grok-build/blob/main/crates/codegen/xai-grok-pager/docs/user-guide/16-subagents.md"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".grok/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "xAI Grok CLI discovers hook scripts from .grok hooks paths and also advertises Claude Code hook compatibility. Exact in-app hook event details should be reverified before adding a writer."; readonly docs: readonly []; readonly sources: readonly ["https://docs.x.ai/build/features/skills-plugins-marketplaces"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a Grok CLI hooks writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Project rules are merged by directory depth from the repository root. Grok also reads documented AGENTS.md filename variants and Markdown files in .grok/rules, with compatibility for .claude/rules and .cursor/rules; AXM writes the universal AGENTS.md surface."; readonly docs: readonly []; readonly sources: readonly ["https://docs.x.ai/build/features/project-rules"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Grok [permission] settings define allow, deny, and ask lists using Tool(pattern) rules. UI permission modes and CLI flags provide coarse approval behavior in addition to the per-tool grammar."; readonly docs: readonly []; readonly sources: readonly ["https://docs.x.ai/build/settings", "https://docs.x.ai/build/settings/reference"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.grok/config.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(git *)"; readonly notes: "Patterns can target tools and their arguments, including Read(src/**) and MCPTool(server__*)."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--always-approve"; readonly note: "Skip permission prompts for tool calls."; }, { readonly flag: "--permission-mode "; readonly note: "Selects default, dontAsk, acceptEdits, bypassPermissions, or plan mode."; }, { readonly flag: "--deny "; readonly note: "Adds a deny rule for the session."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented Grok CLI permission grant writing."; }; }; }; readonly hermes: { readonly id: "hermes"; readonly name: "Hermes Agent"; readonly vendor: "Nous Research"; readonly homepage: "https://hermes-agent.nousresearch.com"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".hermes"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Hermes Agent documentation"; readonly url: "https://hermes-agent.nousresearch.com/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Hermes reads SKILL.md skills from ~/.hermes/skills as the source of truth. Additional external skill directories can be configured in ~/.hermes/config.yaml for shared team use.\n"; readonly docs: readonly []; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/skills"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".hermes/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Hermes declares MCP servers under mcp_servers in ~/.hermes/config.yaml. AXM writes that YAML file directly with per-entry x-axm metadata, preserving user-authored servers and coexisting with hermes mcp commands.\n"; readonly docs: readonly []; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/mcp"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcp_servers"; readonly activationField: { readonly required: { readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }; readonly accepted: readonly [{ readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.hermes/config.yaml"; readonly format: "yaml"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Hermes supports config-declared shell hooks and Python plugin callbacks. Shell hooks are command-based, accept event data, and are gated by a local allowlist."; readonly docs: readonly []; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.hermes/config.yaml"; readonly format: "yaml"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.hermes/shell-hooks-allowlist.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "pre_tool_call"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "terminal|read_file|write_file"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["deny"]; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_tool_call"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "terminal|read_file|write_file"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "pre_llm_call"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_llm_call"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "on_session_start"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "subagent_stop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "transform_llm_output"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "modify"; readonly operations: readonly ["modify-output"]; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Hermes reads AGENTS.md as a recursive project instruction source. .hermes.md and SOUL.md are higher-priority native alternatives at the git root, but AGENTS.md is the cross-tool standard AXM writes.\n"; readonly docs: readonly []; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/configuration"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly "ibm-bob": { readonly id: "ibm-bob"; readonly name: "IBM Bob"; readonly vendor: "IBM"; readonly homepage: "https://bob.ibm.com"; readonly interfaces: readonly ["ide-extension", "cli"]; readonly family: null; readonly rootDir: ".bob"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "IBM Bob documentation"; readonly url: "https://bob.ibm.com/docs/ide"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://bob.ibm.com/docs/ide/features/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".bob/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Project servers live in .bob/mcp.json; user servers in ~/.bob/mcp.json. Both files key entries under mcpServers. Streamable HTTP entries use \"type\": \"streamable-http\"; legacy SSE entries remain URL-only.\n"; readonly docs: readonly []; readonly sources: readonly ["https://bob.ibm.com/docs/ide/configuration/mcp/mcp-in-bob"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.bob/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "project"; readonly path: ".bob/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "streamable-http"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "streamable-http"; }; }, null]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Bob custom modes are YAML entries in .bob/custom_modes.yaml (project) or ~/.bob/settings/custom_modes.yaml (user). Entries support slug, name, description, whenToUse, roleDefinition, customInstructions, and read/edit/execute/mcp/skill/workflow/todo/subtask/subagent/mode tool-access groups; edit groups can carry fileRegex restrictions. Subagent-style extensions have no industry spec yet.\n"; readonly docs: readonly []; readonly sources: readonly ["https://bob.ibm.com/docs/ide/configuration/custom-modes"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".bob/custom_modes.yaml"; readonly layout: "file"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Bob automatically loads AGENTS.md from the workspace root.\n"; readonly docs: readonly []; readonly sources: readonly ["https://bob.ibm.com/docs/ide/configuration/rules"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".bob/rules"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "IBM Bob custom modes define tool access groups and file permissions, including read, edit, command, and mcp groups. AXM has not implemented a custom_modes permission writer."; readonly docs: readonly []; readonly sources: readonly ["https://bob.ibm.com/docs/ide/features/modes", "https://bob.ibm.com/docs/ide/configuration/custom-modes"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "ui-only"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".bob/custom_modes.yaml"; readonly format: "yaml"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.bob/settings/custom_modes.yaml"; readonly format: "yaml"; readonly gitignored: false; }]; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented an IBM Bob custom-modes permission writer."; }; }; }; readonly "iflow-cli": { readonly id: "iflow-cli"; readonly name: "iFlow CLI"; readonly vendor: "XinLiu AI"; readonly homepage: "https://platform.iflow.cn/cli"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".iflow"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".iflow"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "executable"; readonly name: "iflow"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "dir"; readonly path: "~/.iflow"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "iFlow CLI documentation"; readonly url: "https://platform.iflow.cn/en/cli/quickstart"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://platform.iflow.cn/en/cli/examples/skill"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".iflow/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "iFlow CLI supports CLI-managed and JSON-configured MCP servers at user and project scopes."; readonly docs: readonly []; readonly sources: readonly ["https://platform.iflow.cn/en/cli/examples/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "The vendor docs name both settings and legacy MCP files; AXM has not verified one lossless writer dialect across them."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://platform.iflow.cn/en/cli/examples/subagent"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".iflow/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "iFlow documents command hooks at user and project scopes, but AXM has not modeled the event and serialization contract."; readonly docs: readonly []; readonly sources: readonly ["https://platform.iflow.cn/en/cli/examples/hooks"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented the iFlow hook dialect."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://platform.iflow.cn/en/cli/configuration/iflow"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "own-file"; readonly files: readonly ["IFLOW.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "iFlow exposes confirmation and YOLO execution modes, but vendor docs do not define stable granular permission files for AXM."; readonly docs: readonly []; readonly sources: readonly ["https://platform.iflow.cn/en/cli/quickstart"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["cli-flag", "ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--yolo"; readonly note: "Allow tool execution without per-operation confirmation."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM does not emit broad bypass flags as permission grants."; }; }; }; readonly junie: { readonly id: "junie"; readonly name: "Junie"; readonly vendor: "JetBrains"; readonly homepage: "https://www.jetbrains.com/junie"; readonly interfaces: readonly ["ide-extension"]; readonly family: "jetbrains"; readonly rootDir: ".junie"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Junie documentation"; readonly url: "https://junie.jetbrains.com/docs/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://junie.jetbrains.com/docs/agent-skills.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".junie/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://junie.jetbrains.com/docs/junie-cli-mcp-configuration.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".junie/mcp/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.junie/mcp/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://junie.jetbrains.com/docs/junie-cli-subagents.html"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".junie/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Junie CLI hooks support seven command (type:command) event types: SessionStart, UserPromptSubmit, PreToolUse, Stop, StopFailure, PermissionRequest, and SessionEnd, configured from user config or explicit --config-location files. Default project hooks are still ignored for safety, so AXM does not write Junie hooks yet."; readonly docs: readonly []; readonly sources: readonly ["https://junie.jetbrains.com/docs/junie-cli-hooks.html", "https://junie.jetbrains.com/docs/junie-cli-configuration.html"]; readonly scopes: readonly ["user"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has no trusted project hook writer target for Junie CLI hooks."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Junie CLI reads persistent project guidance from .junie/AGENTS.md and suggests importing AGENTS.md-style files from other agents into that location."; readonly docs: readonly []; readonly sources: readonly ["https://junie.jetbrains.com/docs/guidelines-and-memory.html", "https://junie.jetbrains.com/docs/junie-cli-usage.html"]; readonly scopes: readonly ["project", "user"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly kind: "own-file"; readonly files: readonly [".junie/AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Junie CLI uses the Action Allowlist for terminal commands, MCP tools, and other sensitive actions; brave mode allows all sensitive actions for a session."; readonly docs: readonly []; readonly sources: readonly ["https://junie.jetbrains.com/docs/junie-cli-usage.html", "https://junie.jetbrains.com/docs/action-allowlist.html"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file", "ui-only"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.junie/allowlist.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.junie/config.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "regex"; readonly example: "^\\Qaxm \\E[^\\s;&|<>@$]+.*$"; readonly notes: "Terminal rules can be exact commands, Java regular expressions, or standard regular expressions."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Junie Action Allowlist writer."; }; }; }; readonly lingma: { readonly id: "lingma"; readonly name: "Lingma"; readonly vendor: "Alibaba Cloud"; readonly homepage: "https://help.aliyun.com/zh/lingma"; readonly interfaces: readonly ["ide-extension"]; readonly family: "alibaba"; readonly rootDir: ".lingma"; readonly lifecycle: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "Alibaba renamed TONGYI Lingma to Qoder CN."; readonly supersededBy: "qoder-cn"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".lingma"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.lingma"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Qoder CN (formerly Lingma) documentation"; readonly url: "https://help.aliyun.com/en/lingma/introduction-of-lingma"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "The Lingma product name was replaced by Qoder CN."; readonly supersededByType: null; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/en/lingma/qoder-cn/user-guide/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".lingma/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "The Lingma product name was replaced by Qoder CN."; readonly supersededByType: null; }; readonly notes: "The IDE reads MCP services from its settings file; AXM has no verified writer for the legacy Lingma surface."; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/en/lingma/qoder-cn/user-guide/guide-for-using-mcp"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented the legacy Lingma IDE settings dialect."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "The Lingma product name was replaced by Qoder CN."; readonly supersededByType: null; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "The Lingma product name was replaced by Qoder CN."; readonly supersededByType: null; }; readonly notes: "Lingma/Qoder CN IDE command hooks are documented in ~/.lingma/settings.json."; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/zh/lingma/qoder-cn/user-guide/hooks"]; readonly scopes: readonly ["user"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented the Lingma IDE hook dialect."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "The Lingma product name was replaced by Qoder CN."; readonly supersededByType: null; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "The Lingma product name was replaced by Qoder CN."; readonly supersededByType: null; }; readonly notes: "The IDE exposes Auto-Run controls in settings rather than a documented portable rule grammar."; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/zh/lingma/qoder-cn/user-guide/agent"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM cannot write UI-only Lingma Auto-Run settings."; }; }; }; readonly kilo: { readonly id: "kilo"; readonly name: "Kilo Code"; readonly vendor: "Kilo"; readonly homepage: "https://kilo.ai"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".kilo"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Kilo Code documentation"; readonly url: "https://kilo.ai/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://kilo.ai/docs/customize/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".kilo/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".agents/skills"; readonly status: "compat"; }, { readonly path: ".claude/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://kilo.ai/docs/automate/mcp/using-in-cli", "https://kilo.ai/docs/automate/mcp/using-in-kilo-code"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcp"; readonly activationField: { readonly required: { readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }; readonly accepted: readonly [{ readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: "kilo.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.config/kilo/kilo.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "local"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "local"; }]; }; readonly command: "array"; readonly envKey: "environment"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "remote"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "remote"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://kilo.ai/docs/customize/custom-subagents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".kilo/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://kilo.ai/docs/customize/custom-instructions"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://kilo.ai/docs/code-with-ai/platforms/cli", "https://kilo.ai/docs/getting-started/settings/auto-approving-actions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "ui-only"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.config/kilo/kilo.jsonc"; readonly format: "jsonc"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: "kilo.jsonc"; readonly format: "jsonc"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".kilo/kilo.jsonc"; readonly format: "jsonc"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "axm *"; readonly notes: "Permission values are \"allow\", \"ask\", or \"deny\". Object rules are wildcard matched, and the last matching rule wins."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "kilo.jsonc"; readonly patch: { readonly permission: { readonly bash: { readonly "*": "ask"; readonly "${tool} *": "allow"; }; }; }; readonly template: null; }; readonly filesystem: { readonly target: "kilo.jsonc"; readonly patch: { readonly permission: { readonly external_directory: { readonly "${workspaceRoot}/**": "allow"; }; readonly read: { readonly "${workspaceRoot}/**": "allow"; }; readonly edit: { readonly "${workspaceRoot}/**": "allow"; }; }; }; readonly template: null; }; }; }; }; }; }; readonly "kimi-cli": { readonly id: "kimi-cli"; readonly name: "Kimi Code CLI"; readonly vendor: "Moonshot AI"; readonly homepage: "https://www.kimi.com/code/docs/en/kimi-code-cli/"; readonly interfaces: readonly ["cli"]; readonly family: "moonshot"; readonly rootDir: ".kimi-code"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.kimi-code"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Kimi Code CLI documentation"; readonly url: "https://www.kimi.com/code/docs/en/kimi-code-cli/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kimi Code discovers skills from Kimi-specific and cross-tool directories; AXM writes the universal .agents/skills location."; readonly docs: readonly []; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/skills.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/mcp.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [{ readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".kimi-code/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.kimi-code/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "transport"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [null, { readonly name: "transport"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; readonly bearerTokenEnvKey: "bearerTokenEnvVar"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kimi Code recursively discovers Markdown custom agents with YAML frontmatter and can delegate to them as subagents."; readonly docs: readonly []; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/agents.html"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".kimi-code/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kimi Code hooks are TOML array entries, execute commands with JSON on standard input, and can block selected events."; readonly docs: readonly []; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.kimi-code/config.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|Read|Write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|Read|Write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "regex"; readonly example: "deploy|release"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM's grouped hook serializer cannot emit Kimi Code's flat TOML hook arrays."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kimi Code loads AGENTS.md from project and Kimi-specific or cross-tool user locations."; readonly docs: readonly []; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/agents.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kimi Code loads ordered allow, deny, and ask rules from its user configuration; invocation flags can still apply coarse session modes."; readonly docs: readonly []; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/configuration/config-files"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.kimi-code/config.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "decision = \"allow\"; pattern = \"Bash(axm *)\""; readonly notes: "Rules are ordered [[permission.rules]] tables whose first matching ToolName or ToolName(argument-pattern) rule wins."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--yolo"; readonly note: "Auto-approves all tool calls; aliased as --yes and --auto-approve."; }, { readonly flag: "--afk"; readonly note: "Auto-approves tool calls and auto-dismisses AskUserQuestion."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM does not serialize ordered TOML array-of-table permission rules."; }; }; }; readonly "kiro-cli": { readonly id: "kiro-cli"; readonly name: "Kiro CLI"; readonly vendor: "AWS"; readonly homepage: "https://kiro.dev"; readonly interfaces: readonly ["cli"]; readonly family: "amazon"; readonly rootDir: ".kiro"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Kiro CLI documentation"; readonly url: "https://kiro.dev/docs/cli/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://kiro.dev/docs/cli/skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".kiro/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://kiro.dev/docs/mcp/configuration/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".kiro/settings/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.kiro/settings/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://kiro.dev/docs/cli/custom-agents/configuration-reference/"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".kiro/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kiro CLI hooks are command hooks in agent configuration. AXM models the surface but does not serialize Kiro CLI hooks yet."; readonly docs: readonly []; readonly sources: readonly ["https://kiro.dev/docs/cli/hooks/", "https://kiro.dev/docs/cli/custom-agents/configuration-reference/"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a Kiro CLI hooks writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kiro CLI steering files live under .kiro/steering and can be always-on, conditional, or manually referenced."; readonly docs: readonly []; readonly sources: readonly ["https://kiro.dev/docs/cli/steering/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly directory: ".kiro/steering"; readonly kind: "rules-dir"; readonly files: readonly ["*.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kiro CLI custom agent configuration supports allowedTools, toolsSettings, and the hooks/MCP tools settings surfaces. The public docs do not define a single default AXM-writable permission grant target."; readonly docs: readonly []; readonly sources: readonly ["https://kiro.dev/docs/cli/custom-agents/configuration-reference/", "https://kiro.dev/docs/cli/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".kiro/agents/*.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.kiro/agents/*.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "allowedTools: [\"Read\", \"Write\", \"Bash\"]"; readonly notes: "Permission rules are embedded in custom agent configuration files."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Kiro CLI custom-agent permission grant writer."; }; }; }; readonly kode: { readonly id: "kode"; readonly name: "Kode"; readonly vendor: "shareAI-lab"; readonly homepage: "https://github.com/shareAI-lab/Kode-CLI"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".kode"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Kode CLI repository"; readonly url: "https://github.com/shareAI-lab/Kode-CLI"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/shareAI-lab/Kode-CLI"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".kode/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kode connects to MCP servers via .mcp.json (mcpServers key) and .mcprc, managed with kode mcp add/list/get/remove; server tools are exposed as mcp____. Kode also supports a ws transport that is outside AXM's transport enum."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/shareAI-lab/Kode-CLI"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Native MCP config uses .mcp.json (mcpServers key), but the exact writer dialect is not documented; leaving the AXM MCP writer unbuilt pending an AXM product decision."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/shareAI-lab/Kode-CLI"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".kode/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/shareAI-lab/Kode-CLI"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/shareAI-lab/Kode-CLI"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["cli-flag"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--safe"; readonly note: "Enables permission checks instead of Kode's default YOLO mode."; }, { readonly flag: "--dangerously-skip-permissions"; readonly note: "Explicitly bypasses permission checks."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; }; readonly mcpjam: { readonly id: "mcpjam"; readonly name: "MCPJam"; readonly vendor: "MCPJam"; readonly homepage: "https://www.mcpjam.com"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".mcpjam"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "MCPJam Inspector documentation"; readonly url: "https://docs.mcpjam.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.mcpjam.com/inspector/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".mcpjam/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "MCPJam Inspector loads MCP servers from a config file (mcpServers object) passed via `npx @mcpjam/inspector --config `, supporting stdio and remote (streamable-HTTP/SSE) transports. The config path is arbitrary with no fixed writable location."; readonly docs: readonly []; readonly sources: readonly ["https://docs.mcpjam.com/installation"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM does not manage MCPJam's inspector config file — the --config path is arbitrary with no stable writable project location."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly "minimax-code": { readonly id: "minimax-code"; readonly name: "MiniMax Code"; readonly vendor: "MiniMax"; readonly homepage: "https://agent.minimax.io/download"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "MiniMax Code"; readonly url: "https://github.com/MiniMax-AI/minimax-code"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "MiniMax advertises generated skills, but its vendor materials do not publish a stable SKILL.md directory or install contract AXM can target."; readonly docs: readonly []; readonly sources: readonly ["https://agent.minimax.io/download", "https://github.com/MiniMax-AI/minimax-code"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: "2026-08-05"; readonly writer: null; readonly reason: "No vendor-documented filesystem Skill location is available."; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "MiniMax publishes MCP servers and a hosted Agent product, but does not document a MiniMax Code client configuration file."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/MiniMax-AI/MiniMax-MCP"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "No vendor-documented MiniMax Code MCP client target is available."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The product describes Agent teams, but vendor materials do not define a portable custom-subagent file format."; readonly docs: readonly []; readonly sources: readonly ["https://agent.minimax.io/download"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "No vendor-documented custom-subagent filesystem surface is available."; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly "mistral-vibe": { readonly id: "mistral-vibe"; readonly name: "Mistral Vibe"; readonly vendor: "Mistral AI"; readonly homepage: "https://docs.mistral.ai/vibe/code/overview"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: "mistral"; readonly rootDir: ".vibe"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Mistral Vibe documentation"; readonly url: "https://docs.mistral.ai/vibe/code/overview"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".vibe/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/mcp-servers"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Mistral Vibe stores MCP servers as repeated [[mcp_servers]] TOML array-of-table entries. AXM's generic MCP writer currently serializes keyed server maps and cannot represent that shape without corrupting the configuration."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/agents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".vibe/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Vibe executes TOML-configured hook commands with event data on standard input; pre-tool hooks can deny or modify tool input and hook output can inject context."; readonly docs: readonly []; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".vibe/hooks.toml"; readonly format: "toml"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.vibe/hooks.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "pre_tool"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "bash|read_file|write_file"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input", "inject-context"]; }]; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_tool"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "bash|read_file|write_file"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_agent"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/agents"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Vibe supports per-tool always/ask policies and Bash allow/deny command rules in layered config files."; readonly docs: readonly []; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/safety-approvals-permissions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".vibe/config.toml"; readonly format: "toml"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.vibe/config.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "[tools.bash]\npermission = \"ask\""; readonly notes: "Per-tool policy is always or ask; Bash rules additionally allow or deny command patterns."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly mux: { readonly id: "mux"; readonly name: "Mux"; readonly vendor: "Coder"; readonly homepage: "https://mux.coder.com"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".mux"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Mux documentation"; readonly url: "https://mux.coder.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://mux.coder.com/agents/agent-skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".mux/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Mux stores stdio command strings under the servers key in ~/.mux/mcp.jsonc, .mux/mcp.jsonc, and .mux/mcp.local.jsonc."; readonly docs: readonly []; readonly sources: readonly ["https://mux.coder.com/config/mcp-servers"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://mux.coder.com/agents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".mux/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Mux executes raw tool_pre, tool_post, tool_env, and init scripts from .mux or ~/.mux. Input is provided through MUX_* environment variables; tool_pre can block with a non-zero exit."; readonly docs: readonly []; readonly sources: readonly ["https://mux.coder.com/hooks/tools.md", "https://mux.coder.com/hooks/init.md"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://mux.coder.com/agents/instruction-files"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly neovate: { readonly id: "neovate"; readonly name: "Neovate"; readonly vendor: "Ant Group"; readonly homepage: "https://github.com/neovateai/neovate-code"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".neovate"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Neovate Code documentation"; readonly url: "https://github.com/neovateai/neovate-code"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Neovate loads directory-based skills (each subdirectory contains a SKILL.md with name+description frontmatter) from .neovate/skills (project) and ~/.neovate/skills (user)."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/neovateai/neovate-code/blob/master/src/skill.ts"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".neovate/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/neovateai/neovate-code/blob/master/src/mcp.ts", "https://github.com/neovateai/neovate-code/blob/master/src/config.ts", "https://github.com/neovateai/neovate-code/blob/master/src/commands/mcp.ts"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: { readonly name: "disable"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disable"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.neovate/config.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "project"; readonly path: ".neovate/config.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "stdio"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "stdio"; }, null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly openclaw: { readonly id: "openclaw"; readonly name: "OpenClaw"; readonly vendor: "OpenClaw"; readonly homepage: "https://openclaw.ai"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "OpenClaw documentation"; readonly url: "https://docs.openclaw.ai"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.openclaw.ai/tools/skills", "https://github.com/openclaw/openclaw/blob/main/docs/tools/skills.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: "skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly opencode: { readonly id: "opencode"; readonly name: "OpenCode"; readonly vendor: "Anomaly"; readonly homepage: "https://opencode.ai"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".opencode"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "OpenCode documentation"; readonly url: "https://opencode.ai/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://opencode.ai/docs/skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".opencode/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".claude/skills"; readonly status: "compat"; }, { readonly path: ".agents/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "OpenCode V2 stores server definitions beneath mcp.servers; the native configuration is valid but requires a nested-map writer."; readonly docs: readonly []; readonly sources: readonly ["https://opencode.ai/v2/docs/mcp-servers", "https://opencode.ai/v2/docs/config"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "OpenCode V2 nests MCP server definitions under mcp.servers. AXM's generic MCP writer currently supports only a single keyed server-map level and would write the obsolete shape."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://opencode.ai/docs/agents/"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".opencode/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "OpenCode exposes lifecycle hooks through in-process JavaScript/TypeScript plugins. AXM models the surface but does not serialize plugin hooks yet."; readonly docs: readonly []; readonly sources: readonly ["https://opencode.ai/docs/plugins/"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "OpenCode hooks are in-process JavaScript plugin exports, not declarative config; AXM's command-stdin serializer has no way to emit them."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "OpenCode reads AGENTS.md project rules, a global ~/.config/opencode/AGENTS.md, and Claude-compatible CLAUDE.md fallbacks. AXM can target the universal AGENTS.md project file."; readonly docs: readonly []; readonly sources: readonly ["https://opencode.ai/docs/rules/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://opencode.ai/docs/permissions/", "https://opencode.ai/docs/config/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.config/opencode/opencode.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: "opencode.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "axm *"; readonly notes: "Permission values are \"allow\", \"ask\", or \"deny\". Object rules are pattern matched, and the last matching rule wins."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "opencode.json"; readonly patch: { readonly permission: { readonly bash: { readonly "*": "ask"; readonly "${tool} *": "allow"; }; }; }; readonly template: null; }; readonly filesystem: { readonly target: "opencode.json"; readonly patch: { readonly permission: { readonly external_directory: { readonly "${workspaceRoot}/**": "allow"; }; readonly read: { readonly "${workspaceRoot}/**": "allow"; }; readonly edit: { readonly "${workspaceRoot}/**": "allow"; }; }; }; readonly template: null; }; }; }; }; }; }; readonly openhands: { readonly id: "openhands"; readonly name: "OpenHands"; readonly vendor: "All Hands AI"; readonly homepage: "https://www.openhands.dev"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".openhands"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "OpenHands documentation"; readonly url: "https://docs.openhands.dev"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.openhands.dev/overview/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".openhands/skills"; readonly status: "deprecated"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "OpenHands stores MCP servers under mcpServers in ~/.openhands/mcp.json and manages them through the openhands mcp CLI."; readonly docs: readonly []; readonly sources: readonly ["https://docs.openhands.dev/sdk/guides/mcp", "https://docs.openhands.dev/openhands/usage/cli/mcp-servers"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented an OpenHands MCP writer."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "OpenHands lifecycle hooks are shell commands receiving JSON event payloads on stdin. Blocking events can deny with exit code 2 or a JSON decision; several events can inject additional context."; readonly docs: readonly []; readonly sources: readonly ["https://docs.openhands.dev/openhands/usage/customization/hooks"]; readonly scopes: readonly ["project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".openhands/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "literal-list"; readonly example: "terminal"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.openhands.dev/openhands/usage/customization/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "literal-list"; readonly example: "terminal"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.openhands.dev/openhands/usage/customization/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.openhands.dev/openhands/usage/customization/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.openhands.dev/openhands/usage/customization/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.openhands.dev/openhands/usage/customization/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.openhands.dev/overview/skills"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly ona: { readonly id: "ona"; readonly name: "Ona"; readonly vendor: "Ona"; readonly homepage: "https://ona.com"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".ona"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".ona"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Ona Agent documentation"; readonly url: "https://ona.com/docs/ona/agents"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://ona.com/docs/ona/agents/skills"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".ona/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".claude/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Ona reads repository MCP definitions from .ona/mcp-config.json and also offers organization-managed HTTP integrations."; readonly docs: readonly []; readonly sources: readonly ["https://ona.com/docs/ona/mcp"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented Ona's mcp-config.json dialect or hosted integration delivery."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://ona.com/docs/ona/agents/overview"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Ona administrators configure command and executable deny lists as organization guardrails; the vendor does not document a repository permission file."; readonly docs: readonly []; readonly sources: readonly ["https://ona.com/docs/ona/agents/overview"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Ona guardrails are managed through the organization administration surface."; }; }; }; readonly pi: { readonly id: "pi"; readonly name: "Pi"; readonly vendor: "Earendil Inc"; readonly homepage: "https://github.com/earendil-works/pi"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".pi"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Pi coding agent documentation"; readonly url: "https://pi.dev/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Skills follow the Agent Skills SKILL.md standard and are invoked via /skill:name. Pi discovers them from .pi/skills and .agents/skills (project, searched up through parent directories) and ~/.pi/agent/skills and ~/.agents/skills (user).\n"; readonly docs: readonly []; readonly sources: readonly ["https://github.com/earendil-works/pi/blob/main/packages/coding-agent/README.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".pi/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Pi ships a deliberate \"no MCP\" core. Its built-in tools are read, bash, edit, write, grep, find, and ls; MCP can only be added by installing or building a TypeScript extension.\n"; readonly docs: readonly []; readonly sources: readonly ["https://github.com/earendil-works/pi/blob/main/packages/coding-agent/README.md"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "plugin"; readonly provider: "third-party"; readonly plugin: { readonly name: "pi-subagents"; readonly homepage: "https://github.com/nicobailon/pi-subagents"; readonly author: "nicobailon"; readonly distribution: { readonly mechanism: "agent-native"; readonly installHint: "pi install npm:pi-subagents"; readonly packageRef: "npm:pi-subagents"; }; readonly detection: { readonly paths: readonly [{ readonly scope: "user"; readonly path: "~/.pi/agent/agents/"; readonly kind: "dir"; }, { readonly scope: "project"; readonly path: ".pi/agents/"; readonly kind: "dir"; }, { readonly scope: "user"; readonly path: "~/.pi/agent/extensions/subagent/agents/"; readonly kind: "dir"; }]; readonly configKeys: readonly [{ readonly scope: "user"; readonly file: "~/.pi/agent/settings.json"; readonly key: "subagents"; }, { readonly scope: "project"; readonly file: ".pi/settings.json"; readonly key: "subagents"; }]; }; }; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Pi has no built-in subagent system by design, but the third-party pi-subagents plugin adds a subagent extension surface. AXM describes and may detect this plugin, but does not install, resolve, or manage it.\n"; readonly docs: readonly []; readonly sources: readonly ["https://github.com/earendil-works/pi/blob/main/packages/coding-agent/README.md", "https://github.com/nicobailon/pi-subagents"]; readonly scopes: readonly ["user", "project"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Pi extension hooks are in-process TypeScript extension points; this is the core Pi project, not the oh-my-pi fork. AXM models the surface but does not serialize Pi extension hooks yet."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/earendil-works/pi/blob/main/packages/coding-agent/README.md"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented Pi extension hook writers."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "AGENTS.md and CLAUDE.md context load at startup from the global directory (~/.pi/agent), parent directories, and the current directory; all matching files are concatenated.\n"; readonly docs: readonly []; readonly sources: readonly ["https://github.com/earendil-works/pi/blob/main/packages/coding-agent/README.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Pi has no per-tool permission-grant surface. It does provide project trust through defaultProjectTrust in settings.json, ~/.pi/agent/trust.json, /trust, and --approve/--no-approve; that gate controls loading project-local resources rather than individual tool calls.\n"; readonly docs: readonly []; readonly sources: readonly ["https://pi.dev/docs/latest/settings"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly pochi: { readonly id: "pochi"; readonly name: "Pochi"; readonly vendor: "TabbyML"; readonly homepage: "https://getpochi.com"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".pochi"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Pochi documentation"; readonly url: "https://docs.getpochi.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.getpochi.com/skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".pochi/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.getpochi.com/mcp/", "https://docs.getpochi.com/tutorials/secure-db-access-in-pochi/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcp"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".pochi/config.jsonc"; readonly format: "jsonc"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.pochi/config.jsonc"; readonly format: "jsonc"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Pochi reads custom-instruction files at the workspace root: README.pochi.md (primary) and AGENTS.md (alternative, treated identically), plus ~/.pochi/README.pochi.md at user scope. AXM manages the universal AGENTS.md."; readonly docs: readonly []; readonly sources: readonly ["https://docs.getpochi.com/rules/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly qoder: { readonly id: "qoder"; readonly name: "Qoder"; readonly vendor: "Alibaba Cloud"; readonly homepage: "https://qoder.com"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: "alibaba"; readonly rootDir: ".qoder"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Qoder documentation"; readonly url: "https://docs.qoder.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.qoder.com/en/cli/Skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".qoder/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.qoder.com/user-guide/chat/model-context-protocol", "https://docs.qoder.com/cli/mcp-servers"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.qoder/settings.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "project"; readonly path: ".mcp.json"; readonly format: "json"; readonly attribution: "shared"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null, { readonly name: "type"; readonly value: "stdio"; }]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://docs.qoder.com/en/cli/subagent"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".qoder/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qoder CLI hooks run command hooks from settings files and use JSON on stdin/stdout. Native Qoder exposes additional events such as SessionEnd, PostToolUseFailure, SubagentStart, Notification, and PermissionRequest; this catalog maps the subset covered by AXM's canonical hook event registry."; readonly docs: readonly []; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.qoder/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".qoder/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".qoder/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "regex"; readonly example: "startup|resume|compact"; readonly notes: "Qoder matcher values can be exact strings, pipe-separated values, or regex."; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Write|Edit|Bash"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Write|Edit|Bash"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "regex"; readonly example: "task"; readonly notes: "Matcher targets the agent type name."; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "manual|auto"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "Read"; readonly canonical: "file.read"; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Write"; readonly canonical: "file.write"; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Bash"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".qoder/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "seconds"; readonly commandNameSerialization: "omit"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.qoder.com/en/cli/command"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qoder permissions use allow/ask/deny rules in settings. User settings live under ~/.qoder/settings.json; project rules can live in .qoder/settings.json or .qoder/settings.local.json."; readonly docs: readonly []; readonly sources: readonly ["https://docs.qoder.com/en/cli/permissions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.qoder/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".qoder/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(axm:*)"; readonly notes: null; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--permission-mode"; readonly note: "Chooses the session permission mode."; }, { readonly flag: "--allowed-tools"; readonly note: "Allows specific tools or tool rules for a run."; }, { readonly flag: "--dangerously-skip-permissions"; readonly note: "Alias for --permission-mode bypass_permissions."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: ".qoder/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Bash(${tool}:*)"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: ".qoder/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Read(${workspaceRoot}/**)", "Edit(${workspaceRoot}/**)", "Write(${workspaceRoot}/**)"]; }; }; readonly template: null; }; }; }; }; }; }; readonly "qoder-cn": { readonly id: "qoder-cn"; readonly name: "Qoder CN CLI"; readonly vendor: "Alibaba Cloud"; readonly homepage: "https://help.aliyun.com/zh/lingma/qoder-cn-cli"; readonly interfaces: readonly ["cli"]; readonly family: "alibaba"; readonly rootDir: ".qoder"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".qoder"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "executable"; readonly name: "qoderclicn"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "dir"; readonly path: "~/.qoder-cn"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Qoder CN CLI documentation"; readonly url: "https://help.aliyun.com/zh/lingma/qoder-cn-cli"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/en/lingma/skills-3033419", "https://help.aliyun.com/zh/lingma/qoder-cn-cli"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".qoder/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qoder CN CLI stores user, local-project, and shared-project MCP definitions in distinct settings files."; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/zh/lingma/mcp-servers"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not verified the Qoder CN CLI dialect independently from global Qoder."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/en/lingma/subagent"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".qoder/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qoder CN CLI exposes command hooks, but AXM has not independently verified its complete event and serialization contract."; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/zh/lingma/qoder-cn-cli"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "The regional CLI hook dialect requires a separate vendor-doc verification before AXM writes it."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/zh/lingma/using-the-cli"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qoder CN CLI supports allow, ask, and deny rules plus session flags."; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/zh/lingma/tools-3044418"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.qoder-cn/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".qoder/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "Bash(git status)"; readonly notes: null; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--allowed-tools"; readonly note: "Pre-allow named tools or tool patterns for the session."; }, { readonly flag: "--disallowed-tools"; readonly note: "Deny named tools or tool patterns for the session."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented regional Qoder permission settings."; }; }; }; readonly "qwen-code": { readonly id: "qwen-code"; readonly name: "Qwen Code"; readonly vendor: "Alibaba Cloud"; readonly homepage: "https://qwenlm.github.io/qwen-code-docs/"; readonly interfaces: readonly ["cli"]; readonly family: "alibaba"; readonly rootDir: ".qwen"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Qwen Code documentation"; readonly url: "https://qwenlm.github.io/qwen-code-docs/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".qwen/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/mcp/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.qwen/settings.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "project"; readonly path: ".qwen/settings.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "httpUrl"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/sub-agents/"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".qwen/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qwen Code hooks run command hooks from settings files and use JSON on stdin/stdout. Native Qwen Code also exposes HTTP hooks and additional events such as SessionEnd, PostToolUseFailure, SubagentStart, PostCompact, Notification, and PermissionRequest; this catalog maps the subset covered by AXM's canonical hook event registry."; readonly docs: readonly []; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.qwen/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".qwen/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "regex"; readonly example: "startup|resume|clear"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "WriteFile|Edit|Bash"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "WriteFile|Edit|Bash"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|Explorer"; readonly notes: "Matcher targets the subagent type."; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "manual|auto"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "ReadFile"; readonly canonical: "file.read"; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/developers/tools/file-system/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "WriteFile"; readonly canonical: "file.write"; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/developers/tools/file-system/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/developers/tools/file-system/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Bash"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/developers/tools/shell/"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".qwen/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "milliseconds"; readonly commandNameSerialization: "manifest"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qwen Code loads QWEN.md from the project root and ~/.qwen/QWEN.md, and also reads AGENTS.md when present. AXM targets the universal AGENTS.md convention for project rules."; readonly docs: readonly []; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/memory/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qwen Code grades tool access through a Claude Code-style permissions block with allow/ask/deny rule arrays. The legacy tools.allowed and tools.exclude keys are deprecated and migrate into permissions on first load; tools.approvalMode still sets the coarse default mode."; readonly docs: readonly []; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/configuration/settings/", "https://qwenlm.github.io/qwen-code-docs/en/users/features/approval-mode/", "https://qwenlm.github.io/qwen-code-docs/en/developers/tools/shell/", "https://qwenlm.github.io/qwen-code-docs/en/users/features/mcp/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.qwen/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".qwen/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(axm *)"; readonly notes: "Tool(pattern) rules sorted into permissions.allow, permissions.ask, and permissions.deny; deny wins over ask over allow. Approval modes are plan/default/auto-edit/auto/yolo set by tools.approvalMode (Default is surfaced as 'Ask Permissions'; the value stays 'default').\n"; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.qwen/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Bash(${tool} *)"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: "~/.qwen/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Read(${workspaceRoot}/**)", "Edit(${workspaceRoot}/**)"]; }; }; readonly template: null; }; }; }; }; }; }; readonly replit: { readonly id: "replit"; readonly name: "Replit"; readonly vendor: "Replit"; readonly homepage: "https://replit.com"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Replit Agent documentation"; readonly url: "https://docs.replit.com/replitai/agent"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.replit.com/core-concepts/agent/skills"]; readonly scopes: readonly ["project", "user"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Replit Agent MCP is UI-driven via the Integrations pane and 'Add to Replit' install-links, connecting only to remote HTTP servers (baseUrl + headers/OAuth). There is no AXM-writable MCP config file, so no writer dialect is modeled."; readonly docs: readonly []; readonly sources: readonly ["https://docs.replit.com/replitai/mcp/overview"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Replit Agent MCP is UI-managed (Integrations pane / install-links) with no AXM-writable config file."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly roo: { readonly id: "roo"; readonly name: "Roo Code"; readonly vendor: "Roo Code"; readonly homepage: "https://roocode.com"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".roo"; readonly lifecycle: { readonly state: "retired"; readonly since: "2026-05-15"; readonly note: "Roo Code shut down its VS Code extension, Cloud, and Router on 2026-05-15 (final release v3.54.0); the RooCodeInc/Roo-Code repo is archived and read-only. The former team pivoted to a separate cloud-agent product, Roomote."; readonly supersededBy: null; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Roo Code documentation"; readonly url: "https://docs.roocode.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "removed"; readonly since: "2026-05-15"; readonly note: "Roo Code was archived on 2026-05-15; the surface is frozen and read-only."; readonly supersededByType: null; }; readonly notes: "Roo Code supports Roo-specific .roo/skills and cross-agent .agents/skills locations, including mode-specific skill directories."; readonly docs: readonly []; readonly sources: readonly ["https://docs.roocode.com/features/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".roo/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "removed"; readonly since: "2026-05-15"; readonly note: "Roo Code was archived on 2026-05-15; the surface is frozen and read-only."; readonly supersededByType: null; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://roocodeinc.github.io/Roo-Code/features/mcp/using-mcp-in-roo"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "The current AXM Roo Code service returns MCP add/remove as unsupported."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "removed"; readonly since: "2026-05-15"; readonly note: "Roo Code was archived on 2026-05-15; the surface is frozen and read-only."; readonly supersededByType: null; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://docs.roocode.com/features/custom-modes"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".roomodes"; readonly layout: "file"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "removed"; readonly since: "2026-05-15"; readonly note: "Roo Code was archived on 2026-05-15; the surface is frozen and read-only."; readonly supersededByType: null; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "removed"; readonly since: "2026-05-15"; readonly note: "Roo Code was archived on 2026-05-15; the surface is frozen and read-only."; readonly supersededByType: null; }; readonly notes: "Uses a vendor rule directory under the AGENTS.md-governed rule umbrella; Roo also loads AGENTS.md when agent rules are enabled."; readonly docs: readonly []; readonly sources: readonly ["https://roocodeinc.github.io/Roo-Code/features/custom-instructions"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly files: readonly ["*.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; readonly directory: ".roo/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "removed"; readonly since: "2026-05-15"; readonly note: "Roo Code was archived on 2026-05-15; the surface is frozen and read-only."; readonly supersededByType: null; }; readonly notes: "Roo Code exposes auto-approval controls through the extension settings UI, including read, write, command, MCP, browser, and mode-switch approvals. The docs do not describe a stable AXM-writable permission config file for these controls."; readonly docs: readonly []; readonly sources: readonly ["https://docs.roocode.com/features/auto-approving-actions"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly [{ readonly key: "Auto-Approve Settings"; readonly value: "enabled per operation"; readonly scope: "user"; readonly note: "Configure in Roo Code's Auto-Approve Settings panel."; }]; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented Roo Code permission grant writing."; }; }; }; readonly rovodev: { readonly id: "rovodev"; readonly name: "Rovo Dev"; readonly vendor: "Atlassian"; readonly homepage: "https://www.atlassian.com/software/rovo-dev"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".rovodev"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".rovodev"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.rovodev"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Rovo Dev CLI skills"; readonly url: "https://support.atlassian.com/rovo/docs/extend-rovo-dev-cli-with-agent-skills/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Rovo Dev also reads universal .agents/skills in both project and user scopes.\n"; readonly docs: readonly []; readonly sources: readonly ["https://support.atlassian.com/rovo/docs/extend-rovo-dev-cli-with-agent-skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".rovodev/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Rovo Dev supports local and remote MCP server configuration."; readonly docs: readonly []; readonly sources: readonly ["https://support.atlassian.com/rovo/docs/connect-to-an-mcp-server-in-rovo-dev-cli/", "https://support.atlassian.com/bitbucket-cloud/docs/rovo-dev-advanced-agentic-configuration/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: true; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://support.atlassian.com/rovo/docs/use-subagents-in-rovo-dev-cli/"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".rovodev/subagents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Rovo Dev exposes event hooks including tool-permission, response-finished, and error events; the public surface is recorded without an AXM serializer model."; readonly docs: readonly []; readonly sources: readonly ["https://www.atlassian.com/blog/developer/streamline-rovo-dev-cli-with-event-hooks"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Rovo Dev reads hierarchical AGENTS.md memory files."; readonly docs: readonly []; readonly sources: readonly ["https://support.atlassian.com/rovo/docs/use-memory-in-rovo-dev-cli/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Rovo Dev toolPermissions rules select allow, ask, or deny behavior by tool call."; readonly docs: readonly []; readonly sources: readonly ["https://support.atlassian.com/rovo/docs/manage-rovo-dev-cli-settings/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.rovodev/config.yml"; readonly format: "yaml"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".rovodev/config.yml"; readonly format: "yaml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(git status)"; readonly notes: "Rules choose allow, ask, or deny, with a configurable default."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly "tabnine-cli": { readonly id: "tabnine-cli"; readonly name: "Tabnine CLI"; readonly vendor: "Tabnine"; readonly homepage: "https://www.tabnine.com/platform-cli/"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".tabnine"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".tabnine"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.tabnine"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Tabnine CLI"; readonly url: "https://www.tabnine.com/platform-cli/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/agent-skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".tabnine/agent/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Tabnine MCP servers are configured in .tabnine/mcp_servers.json and ~/.tabnine/mcp_servers.json."; readonly docs: readonly []; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-agent/mcp-intro-and-setup"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Tabnine hooks execute synchronously from layered agent settings and can observe, block, or modify selected lifecycle operations."; readonly docs: readonly []; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".tabnine/agent/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.tabnine/agent/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "BeforeAgent"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "AfterAgent"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "BeforeTool"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "literal-list"; readonly example: "shell,read,write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "AfterTool"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "literal-list"; readonly example: "shell,read,write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompress"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Tabnine reads guidelines.md files under .tabnine/guidelines and can override the context filename through settings."; readonly docs: readonly []; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-agent/guidelines"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly kind: "own-file"; readonly directory: ".tabnine/guidelines"; readonly files: readonly ["guidelines.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Tabnine settings define allowed and excluded tools plus persistent-approval and policy-path controls."; readonly docs: readonly []; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/settings/settings-reference"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".tabnine/agent/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.tabnine/agent/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "tools.allowed: [\"shell\"]"; readonly notes: "Allowed and excluded tool lists combine with security and policy-path settings."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly "trae-cn": { readonly id: "trae-cn"; readonly name: "Trae CN"; readonly vendor: "ByteDance"; readonly homepage: "https://www.trae.cn"; readonly interfaces: readonly ["ide-extension"]; readonly family: "bytedance"; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Trae CN documentation"; readonly url: "https://docs.trae.cn"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.trae.cn/ide/skills"]; readonly scopes: readonly ["project", "user"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".trae/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.trae.cn/ide_add-mcp-servers"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".trae/mcp.json"; readonly format: "json"; readonly attribution: "shared"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Uses a vendor rule directory under the AGENTS.md-governed rule umbrella."; readonly docs: readonly []; readonly sources: readonly ["https://docs.trae.cn/ide/rules"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly files: readonly ["*.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; readonly directory: ".trae/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly trae: { readonly id: "trae"; readonly name: "Trae"; readonly vendor: "ByteDance"; readonly homepage: "https://www.trae.ai"; readonly interfaces: readonly ["ide-extension"]; readonly family: "bytedance"; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Trae documentation"; readonly url: "https://docs.trae.ai"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://www.trae.ai/blog/trae_tutorial_0115"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".trae/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.trae.ai/ide/model-context-protocol"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".trae/mcp.json"; readonly format: "json"; readonly attribution: "shared"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Trae combines global user rules with project and nested .trae/rules directories for module-specific instructions."; readonly docs: readonly []; readonly sources: readonly ["https://docs.trae.ai/ide/rules"]; readonly scopes: readonly ["project", "user"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly files: readonly ["*.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; readonly directory: ".trae/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly warp: { readonly id: "warp"; readonly name: "Warp"; readonly vendor: "Warp"; readonly homepage: "https://www.warp.dev"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.warp"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Warp documentation"; readonly url: "https://docs.warp.dev"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.warp.dev/agent-platform/capabilities/skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Warp stores project MCP servers in .warp/.mcp.json and user servers in ~/.warp/.mcp.json under mcpServers."; readonly docs: readonly []; readonly sources: readonly ["https://docs.warp.dev/agent-platform/capabilities/mcp/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "sse", "http"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Warp discovers hierarchical AGENTS.md project rules and exposes user-level rules through Warp Drive."; readonly docs: readonly []; readonly sources: readonly ["https://docs.warp.dev/agent-platform/capabilities/rules/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Warp Agent Profiles configure autonomy per action and regular-expression command allowlists and denylists; deny rules take precedence."; readonly docs: readonly []; readonly sources: readonly ["https://docs.warp.dev/agent-platform/capabilities/agent-profiles-permissions/"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: { readonly style: "regex"; readonly example: "ls(\\s.*)?"; readonly notes: "Command allowlist and denylist entries are regular expressions configured in Settings."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly windsurf: { readonly id: "windsurf"; readonly name: "Devin Desktop (Windsurf)"; readonly vendor: "Cognition"; readonly homepage: "https://devin.ai/desktop"; readonly interfaces: readonly ["ide-extension"]; readonly family: "cognition"; readonly rootDir: ".windsurf"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Devin Desktop documentation"; readonly url: "https://docs.devin.ai/desktop"; }, { readonly label: "Windsurf is now Devin Desktop"; readonly url: "https://devin.ai/blog/windsurf-is-now-devin-desktop"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Devin Desktop reads SKILL.md skills from .windsurf/skills (project) and ~/.codeium/windsurf/skills (user) with progressive disclosure. It also discovers universal .agents/skills paths. The built-in Cascade agent reached end-of-life 2026-07-01 and is being replaced by Devin Local; the .windsurf/* and ~/.codeium/windsurf/* config surfaces persist under Devin Local.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".windsurf/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/mcp"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.codeium/windsurf/mcp_config.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "serverUrl"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cascade exposes only built-in and internal subagents plus multi-agent sessions; no user-authorable custom subagent extension type is documented.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/agents-md"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Devin Desktop/Cascade hooks are direct per-event command arrays in hooks.json. AXM's generic hook writer emits grouped command-stdin hooks and cannot serialize this shape yet."; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.codeium/windsurf/hooks.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".windsurf/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "pre_read_code"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_read_code"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "pre_write_code"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_write_code"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "pre_run_command"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_run_command"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "pre_mcp_tool_use"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_mcp_tool_use"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "pre_user_prompt"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_cascade_response"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_cascade_response_with_transcript"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "read_code"; readonly canonical: "file.read"; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "write_code"; readonly canonical: "file.write"; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "run_command"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "mcp_tool_use"; readonly canonical: "mcp.call"; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a Devin Desktop/Cascade hooks writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/agents-md"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".devin/rules"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/desktop/terminal", "https://docs.devin.ai/desktop/cascade"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file", "ui-only"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "VS Code settings (Settings UI)"; readonly format: "vscode-settings"; readonly gitignored: false; }]; readonly grammar: { readonly style: "prefix"; readonly example: "axm"; readonly notes: "windsurf.cascadeCommandsAllowList is prefix-matched. Workspace-scoped override for these keys is not documented; configure at user scope. Teams/Enterprise can merge in lists via the Admin Portal.\n"; }; readonly prerequisites: readonly [{ readonly key: "Cascade auto-execution level"; readonly value: "allowlist_only | turbo"; readonly scope: "user"; readonly note: "Disabled and Auto modes ignore allowlist entries; set via the Windsurf Settings panel."; }]; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "VS Code settings"; readonly patch: { readonly "windsurf.cascadeCommandsAllowList": readonly ["${tool}"]; }; readonly template: null; }; }; }; }; }; }; readonly zencoder: { readonly id: "zencoder"; readonly name: "Zencoder"; readonly vendor: "Zencoder"; readonly homepage: "https://zencoder.ai"; readonly interfaces: readonly ["ide-extension", "cli"]; readonly family: null; readonly rootDir: ".zencoder"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Zencoder documentation"; readonly url: "https://docs.zencoder.ai"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/llms-full.txt"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".zencoder/skills"; readonly status: "deprecated"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/llms-full.txt"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM cannot yet model the dotted zencoder.mcpServers VS Code settings key, and the previous standalone .zencoder/mcp.json target was not vendor-documented."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zencoder custom agents are created, selected, and shared through its UI; the current catalog schema cannot represent that native UI-only surface as a subagent install target."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/llms-full.txt"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has no delivery path for Zencoder's UI-managed custom agents."; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Uses a vendor rule directory under the AGENTS.md-governed rule umbrella."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/llms-full.txt"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly files: readonly ["*.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; readonly directory: ".zencoder/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zencoder added MCP tool permission prompts in April 2026. The docs describe user-visible MCP permission control, not a stable AXM-writable permission file."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/llms-full.txt"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Zencoder permission grant writer."; }; }; }; readonly zed: { readonly id: "zed"; readonly name: "Zed"; readonly vendor: "Zed Industries"; readonly homepage: "https://zed.dev"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".zed"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".zed"; readonly signal: "supporting"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.config/zed"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Zed Agent documentation"; readonly url: "https://zed.dev/docs/ai/zed-agent"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Because Zed's project Skill directory is .agents/skills, --agent universal already wrote to the correct location; this entry adds Zed-specific detection and naming."; readonly docs: readonly []; readonly sources: readonly ["https://zed.dev/docs/ai/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zed configures context servers in settings; AXM has not modeled the Zed settings dialect."; readonly docs: readonly []; readonly sources: readonly ["https://zed.dev/docs/ai/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Zed settings writer for context servers."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://zed.dev/docs/ai/instructions"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zed exposes tool permissions through agent settings and prompts; AXM does not model that settings surface."; readonly docs: readonly []; readonly sources: readonly ["https://zed.dev/docs/ai/tool-permissions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented Zed tool-permission settings."; }; }; }; readonly zenflow: { readonly id: "zenflow"; readonly name: "Zenflow"; readonly vendor: "Zencoder"; readonly homepage: "https://zencoder.ai/zenflow"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".zenflow"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".zenflow"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Zenflow documentation"; readonly url: "https://docs.zencoder.ai/zenflow/task-types"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Because Zenflow's project Skill directory is .agents/skills, --agent universal already wrote to the correct location; this entry adds Zenflow-specific detection and naming."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/features/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".claude/skills"; readonly status: "compat"; }, { readonly path: ".zencoder/skills"; readonly status: "deprecated"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zenflow exposes hosted MCP integrations and a built-in MCP server, but vendor docs do not publish a repository MCP client file AXM can write."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/zenflow/integrations"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Zenflow MCP integrations are managed through the product UI."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zenflow can orchestrate subagents, but presets and workflow comments are not a portable custom-subagent directory."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/zenflow/multi-agent-orchestration"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "No vendor-documented custom-subagent filesystem target is available."; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zenflow runs supported underlying agents in worktrees; instruction-file behavior belongs to the selected agent rather than a Zenflow-specific rule format."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/clis/overview"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Execution mode, approval policy, and tool permissions are configured on Zenflow agent presets rather than a documented repository file."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/zenflow/multi-agent-orchestration"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; }; /** @experimental This API is unstable and may change without notice. */ export declare const AGENT_IDS: readonly ["adal", "aider-desk", "amp", "antigravity", "antigravity-cli", "augment", "claude-code", "cline", "codearts-agent", "codebuddy", "codemaker", "codestudio", "codex", "command-code", "continue", "cortex", "crush", "cursor", "deepagents", "devin", "dexto", "droid", "firebender", "forgecode", "gemini-cli", "github-copilot-cli", "goose", "grok-cli", "hermes", "ibm-bob", "iflow-cli", "junie", "lingma", "kilo", "kimi-cli", "kiro-cli", "kode", "mcpjam", "minimax-code", "mistral-vibe", "mux", "neovate", "openclaw", "opencode", "openhands", "ona", "pi", "pochi", "qoder", "qoder-cn", "qwen-code", "replit", "roo", "rovodev", "tabnine-cli", "trae-cn", "trae", "warp", "windsurf", "zencoder", "zed", "zenflow", "chatgpt", "claude-ai", "cowork", "gemini-app"]; /** @experimental This API is unstable and may change without notice. */ export type AgentId = (typeof AGENT_IDS)[number]; /** @experimental This API is unstable and may change without notice. */ export declare const AgentIdSchema: Schema.Literals; /** @experimental This API is unstable and may change without notice. */ export declare const AGENTS: ({ readonly id: "adal"; readonly name: "AdaL"; readonly vendor: "SylphAI"; readonly homepage: "https://adalagent.ai"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".adal"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "AdaL documentation"; readonly url: "https://docs.sylph.ai"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.sylph.ai/features/plugins-and-skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".adal/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "AdaL manages MCP servers through the /mcp CLI flow and stores OAuth tokens under ~/.adal/mcp-auth; the docs describe add/remove/test actions rather than a stable editable config file."; readonly docs: readonly []; readonly sources: readonly ["https://docs.sylph.ai/features/mcp-support-proposed"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented an AdaL MCP writer for the CLI-managed MCP store."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.sylph.ai/getting-started/workflows-and-examples"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "AdaL exposes /permissions to configure approval behavior, but the public docs do not document a stable settings file shape for AXM to patch."; readonly docs: readonly []; readonly sources: readonly ["https://docs.sylph.ai/features/slash-commands"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented an AdaL permission writer for the interactive /permissions surface."; }; }; } | { readonly id: "aider-desk"; readonly name: "AiderDesk"; readonly vendor: "HOTOVO"; readonly homepage: "https://github.com/hotovo/aider-desk"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".aider-desk"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".aider-desk"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.aider-desk"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "AiderDesk repository"; readonly url: "https://github.com/hotovo/aider-desk"; }, { readonly label: "AiderDesk documentation"; readonly url: "https://aiderdesk.hotovo.com/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://aiderdesk.hotovo.com/docs/features/skills", "https://github.com/hotovo/aider-desk/issues/568"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".aider-desk/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "AiderDesk is a native MCP client: it connects to external standard MCP servers and exposes their tools to the agent, registering only the servers listed in a profile's enabledServers. MCP client configuration lives under the .aider-desk config, but the exact config file path, servers key, and per-transport dialect are not documented, so no AXM writer is modeled. AiderDesk can additionally act as an MCP server via @aiderdesk/mcp-server (the inverse direction)."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/hotovo/aider-desk"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AiderDesk's MCP client config dialect (exact file path, servers key, and transport-specific shape under .aider-desk) is not documented, so AXM has no MCP writer."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "AiderDesk has a native lifecycle hook / Extension System with 30+ events (onTaskCreated, onPromptFinished, onToolCalled, onFileAdded, ...) that can observe, modify, or block operations. Hooks are in-process JS/TS callbacks under .aider-desk/hooks/ (project) and ~/.aider-desk/hooks/ (user), with a newer Extension System under .aider-desk/extensions/. The native event names are not canonically mappable and there is no command-stdin dialect for AXM to serialize."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/hotovo/aider-desk"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AiderDesk hooks are in-process JS/TS callbacks with no command-stdin serialization dialect, and its 30+ native events are not canonically mapped, so AXM has no hook writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "AiderDesk gates tool execution with a three-state per-tool approval (Always / Ask / Never) configured per agent profile, plus pattern-based allow/deny regex for bash commands. Approvals are persisted in the per-profile JSON, but the exact config file location and grammar are not documented, so AXM has no grant writer."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/hotovo/aider-desk"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AiderDesk tool-approval settings live in per-profile JSON without a documented, stable writable path or grammar, so AXM cannot safely write permission grants."; }; }; } | { readonly id: "amp"; readonly name: "Amp"; readonly vendor: "Sourcegraph"; readonly homepage: "https://ampcode.com"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: "sourcegraph"; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Amp Owner's Manual"; readonly url: "https://ampcode.com/manual"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://ampcode.com/manual#agent-skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Amp declares always-available MCP servers under the flat amp.mcpServers settings key in ~/.config/amp/settings.json (user) or .amp/settings.json (workspace, which requires explicit approval), and skill-scoped MCP servers through mcp.json inside a skill directory."; readonly docs: readonly []; readonly sources: readonly ["https://ampcode.com/manual#MCP", "https://ampcode.com/manual#configuration"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Amp nests its servers under the flat amp.mcpServers settings key, which McpServersKey cannot express; a writer needs a schema change rather than catalog data."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "plugin"; readonly provider: "first-party"; readonly plugin: { readonly name: "Amp plugin API"; readonly homepage: "https://ampcode.com/manual"; readonly author: "Amp"; readonly distribution: { readonly mechanism: "agent-native"; readonly installHint: "Save a plugin under .amp/plugins and reload plugins."; readonly packageRef: null; }; readonly detection: { readonly paths: readonly [{ readonly scope: "project"; readonly path: ".amp/plugins"; readonly kind: "dir"; }, { readonly scope: "user"; readonly path: "~/.config/amp/plugins"; readonly kind: "dir"; }]; readonly configKeys: readonly []; }; }; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Amp has built-in automatic subagents and first-party plugin APIs for custom subagent-like tools, but no documented Markdown subagent directory that AXM can materialize."; readonly docs: readonly []; readonly sources: readonly ["https://ampcode.com/manual#subagents", "https://ampcode.com/manual#plugins"]; readonly scopes: readonly ["user", "project"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented Amp plugin/subagent materialization."; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Amp plugins can handle tool-call, tool-result, and agent lifecycle events. AXM models the in-process plugin surface but does not serialize Amp plugins or amp.hooks actions yet."; readonly docs: readonly []; readonly sources: readonly ["https://ampcode.com/manual", "https://ampcode.com/manual/plugin-api"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented Amp plugin or declarative-action hook writers."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://ampcode.com/manual#agentsmd"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: "at-path"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Amp permission rules use the amp.permissions and amp.mcpPermissions settings. Enterprise administrators can enforce the same schema through platform-specific managed-settings.json files."; readonly docs: readonly []; readonly sources: readonly ["https://ampcode.com/news/tool-level-permissions", "https://ampcode.com/news/mcp-permissions", "https://ampcode.com/news/enterprise-managed-settings"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.config/amp/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".amp/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "{\"tool\":\"Bash\",\"matches\":{\"cmd\":\"*git commit*\"},\"action\":\"ask\"}"; readonly notes: "amp.permissions rules select a tool, optionally glob-match tool arguments, and apply allow, reject, ask, or delegate."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "antigravity"; readonly name: "Antigravity"; readonly vendor: "Google"; readonly homepage: "https://antigravity.google"; readonly interfaces: readonly ["ide-extension"]; readonly family: "google"; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".agents"; readonly signal: "supporting"; readonly note: null; }, { readonly kind: "dir"; readonly path: ".agent"; readonly signal: "supporting"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.gemini/antigravity-cli"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Antigravity documentation"; readonly url: "https://antigravity.google/docs"; }, { readonly label: "Antigravity CLI overview"; readonly url: "https://antigravity.google/docs/cli-overview"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Antigravity 2.0 defaults to .agents/skills (project) and ~/.gemini/config/skills (user); .agent/skills remains supported for backward compatibility.\n"; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".agent/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Antigravity stores global MCP servers in ~/.gemini/config/mcp_config.json and workspace MCP servers in .agents/mcp_config.json. Remote MCP definitions use serverUrl, and disabled is an optional per-server switch."; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/mcp", "https://antigravity.google/docs/cli/plugins"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.gemini/config/mcp_config.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "project"; readonly path: ".agents/mcp_config.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "serverUrl"; readonly sse: "serverUrl"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Antigravity documents command hooks in hooks.json for the current Antigravity execution loop. This supersedes earlier research that found hooks only in SDK/plugin surfaces. Each hooks.json entry is namespaced by a hook name that carries its own enabled flag, and event groups nest under that name rather than under a single top-level hooks key."; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/hooks", "https://antigravity.google/docs/cli/plugins"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.gemini/config/hooks.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".agents/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "browser_.*"; readonly notes: "Matches on tool name; * selects every tool."; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }]; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "run_command"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreInvocation"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostInvocation"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "run_command"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "Antigravity namespaces each hook bundle under its own top-level name in hooks.json; AXM's writer targets a single settings key and cannot express that nesting."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/rules-workflows"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/rules"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Antigravity CLI exposes fine-grained allow/ask/deny permissions in settings, with resources such as command(...), read_file(...), write_file(...), read_url(...), execute_url(...), and mcp(...)."; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/cli-permissions", "https://antigravity.google/docs/cli-reference"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file", "ui-only"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.gemini/antigravity-cli/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "regex"; readonly example: "command(axm)"; readonly notes: "Conflicting rules are evaluated Deny > Ask > Allow."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.gemini/antigravity-cli/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["command(${tool})"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: "~/.gemini/antigravity-cli/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["read_file(${workspaceRoot})", "write_file(${workspaceRoot})"]; }; }; readonly template: null; }; }; }; }; }; } | { readonly id: "antigravity-cli"; readonly name: "Antigravity CLI"; readonly vendor: "Google"; readonly homepage: "https://antigravity.google/product/antigravity-cli"; readonly interfaces: readonly ["cli"]; readonly family: "google"; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".agents"; readonly signal: "supporting"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.gemini/antigravity-cli"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Antigravity CLI documentation"; readonly url: "https://antigravity.google/docs/cli-overview"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Because the CLI's project Skill directory is .agents/skills, --agent universal already wrote to the correct location; this entry adds CLI-specific detection and naming."; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".agent/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "The Antigravity CLI shares product configuration with the desktop surface; AXM avoids a second writer until shared-target ownership is explicit."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The CLI manages background subagents in its Agent Manager, but the vendor docs do not define a custom-subagent file directory."; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/product/antigravity-cli"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "No vendor-documented custom-subagent file target is available."; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The CLI reads command hooks from the workspace or global customization directory."; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/hooks"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "Antigravity's named hook bundles require a serializer AXM does not implement."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/rules-workflows"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; readonly directory: ".agents/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://antigravity.google/docs/cli-permissions"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.gemini/antigravity-cli/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "regex"; readonly example: "command(axm)"; readonly notes: "Conflicting rules are evaluated Deny > Ask > Allow."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM does not yet implement Antigravity CLI permission-rule patches."; }; }; } | { readonly id: "augment"; readonly name: "Augment"; readonly vendor: "Augment Code"; readonly homepage: "https://www.augmentcode.com"; readonly interfaces: readonly ["ide-extension", "cli"]; readonly family: null; readonly rootDir: ".augment"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Augment documentation"; readonly url: "https://docs.augmentcode.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Auggie loads skills from .augment/skills, .claude/skills, and .agents/skills at both user and workspace scope. AXM writes the native Augment project directory."; readonly docs: readonly []; readonly sources: readonly ["https://docs.augmentcode.com/cli/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".augment/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Auggie persists MCP server configuration in ~/.augment/settings.json. The CLI also supports per-run --mcp-config overrides that are not represented by AXM writers."; readonly docs: readonly []; readonly sources: readonly ["https://docs.augmentcode.com/cli/integrations"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.augment/settings.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://docs.augmentcode.com/cli/subagents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".augment/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Auggie hooks run command hooks from settings files and use JSON on stdin/stdout. Native Auggie also exposes SessionEnd and Notification, plus metadata options not represented in AXM's portable hook manifest."; readonly docs: readonly []; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.augment/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".augment/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".augment/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "terminal|write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "terminal|write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "read"; readonly canonical: "file.read"; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "write"; readonly canonical: "file.write"; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "terminal"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "web-fetch"; readonly canonical: "web.fetch"; readonly sources: readonly ["https://docs.augmentcode.com/cli/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".augment/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "milliseconds"; readonly commandNameSerialization: "omit"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.augmentcode.com/cli/rules"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Auggie CLI evaluates toolPermissions top-to-bottom with first match winning. Tool permissions are CLI-only and live in ~/.augment/settings.json (user scope) or a repo-committed .augment/settings.json (project scope)."; readonly docs: readonly []; readonly sources: readonly ["https://docs.augmentcode.com/cli/permissions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.augment/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".augment/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "regex"; readonly example: "^axm(\\s|$)"; readonly notes: "Rules contain toolName plus permission.type allow/deny/ask-user; shell commands can be constrained with shellInputRegex."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.augment/settings.json"; readonly patch: { readonly toolPermissions: readonly [{ readonly toolName: "terminal"; readonly shellInputRegex: "^${tool}(\\s|$)"; readonly permission: { readonly type: "allow"; }; }]; }; readonly template: null; }; readonly filesystem: { readonly target: "~/.augment/settings.json"; readonly patch: { readonly toolPermissions: readonly [{ readonly toolName: "read"; readonly permission: { readonly type: "allow"; }; }, { readonly toolName: "edit"; readonly permission: { readonly type: "allow"; }; }, { readonly toolName: "write"; readonly permission: { readonly type: "allow"; }; }]; }; readonly template: null; }; }; }; }; }; } | { readonly id: "claude-code"; readonly name: "Claude Code"; readonly vendor: "Anthropic"; readonly homepage: "https://claude.com/product/claude-code"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: "anthropic"; readonly rootDir: ".claude"; readonly targeting: { readonly extends: null; readonly capabilities: { readonly "structured-input": { readonly grades: readonly ["native"]; readonly nouns: { readonly "tool:structured-input": "AskUserQuestion"; }; readonly affordances: { readonly "do:ask-structured": "Use the AskUserQuestion tool to collect structured input, then STOP and wait for the response."; }; }; }; }; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.claude"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "executable"; readonly name: "claude"; readonly signal: "definitive"; readonly note: "CLI on PATH."; }]; }; }; readonly docs: readonly [{ readonly label: "Claude Code documentation"; readonly url: "https://code.claude.com/docs/en/overview"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://code.claude.com/docs/en/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".claude/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://code.claude.com/docs/en/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: true; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".mcp.json"; readonly format: "json"; readonly attribution: "shared"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "stdio"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "stdio"; }, null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://code.claude.com/docs/en/sub-agents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".claude/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Managed hooks merge into the Claude Code settings hooks block and execute materialized AXM package entrypoints. Claude Code exposes additional native events such as Notification, SessionEnd, CwdChanged, FileChanged, and WorktreeCreate; this catalog maps the subset covered by AXM's canonical hook event registry."; readonly docs: readonly []; readonly sources: readonly ["https://code.claude.com/docs/en/hooks", "https://code.claude.com/docs/en/settings"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.claude/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".claude/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".claude/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Write|Edit"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Write|Edit"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "manual|auto"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "Read"; readonly canonical: "file.read"; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Write"; readonly canonical: "file.write"; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Bash"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "WebFetch"; readonly canonical: "web.fetch"; readonly sources: readonly ["https://code.claude.com/docs/en/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".claude/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".claude/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "seconds"; readonly commandNameSerialization: "omit"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Reads CLAUDE.md, not the AGENTS.md spec filename."; readonly docs: readonly []; readonly sources: readonly ["https://code.claude.com/docs/en/memory"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly kind: "own-file"; readonly files: readonly ["CLAUDE.md"]; readonly nestedDiscovery: true; readonly importSyntax: "at-path"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://code.claude.com/docs/en/permissions", "https://code.claude.com/docs/en/settings"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.claude/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".claude/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".claude/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(axm:*)"; readonly notes: "Tool(specifier) with * wildcards. Evaluated deny > ask > allow (first match wins). Settings merge across scopes rather than override.\n"; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.claude/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Bash(${tool}:*)"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: "~/.claude/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Read(${workspaceRoot}/**)", "Write(${workspaceRoot}/**)", "Edit(${workspaceRoot}/**)"]; }; }; readonly template: null; }; }; }; }; }; } | { readonly id: "cline"; readonly name: "Cline"; readonly vendor: "Cline"; readonly homepage: "https://cline.bot"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".cline"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Cline documentation"; readonly url: "https://docs.cline.bot"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.cline.bot/customization/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".cline/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".clinerules/skills"; readonly status: "compat"; }, { readonly path: ".claude/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cline supports MCP in both the extension and CLI. The CLI MCP config is ~/.cline/mcp.json; extension config is exposed through the MCP settings UI. Entries use the community-standard mcpServers shape with a streamableHttp remote discriminator plus Cline-specific disabled and autoApprove fields."; readonly docs: readonly []; readonly sources: readonly ["https://docs.cline.bot/mcp/mcp-overview"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.cline/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "streamableHttp"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "streamableHttp"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cline stores executable hooks under ~/Documents/Cline/Hooks and .clinerules/hooks. The native script-directory shape is not compatible with AXM's grouped JSON command-hook writer."; readonly docs: readonly []; readonly sources: readonly ["https://docs.cline.bot/customization/hooks"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a Cline hook script directory writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Uses a vendor rule directory under the AGENTS.md-governed rule umbrella."; readonly docs: readonly []; readonly sources: readonly ["https://docs.cline.bot/customization/cline-rules"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly files: readonly ["*.md", "*.txt"]; readonly nestedDiscovery: false; readonly importSyntax: null; readonly directory: ".clinerules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cline exposes auto-approve controls in the extension/CLI UI and toolPolicies in the SDK. The public docs do not define a stable AXM-writable project permission grant file."; readonly docs: readonly []; readonly sources: readonly ["https://docs.cline.bot/cline-cli/interactive-mode", "https://docs.cline.bot/sdk/guides/permission-handling"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Cline permission grant writer."; }; }; } | { readonly id: "codearts-agent"; readonly name: "CodeArts Agent"; readonly vendor: "Huawei Cloud"; readonly homepage: "https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0001.html"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".codeartsdoer"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".codeartsdoer"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.codeartsdoer"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "CodeArts Agent CLI documentation"; readonly url: "https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0001.html"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0019.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".codeartsdoer/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeArts Agent stores local and remote MCP servers under the mcp key in its shared JSON or JSONC configuration."; readonly docs: readonly []; readonly sources: readonly ["https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0017.html", "https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0028.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcp"; readonly activationField: { readonly required: null; readonly accepted: readonly [{ readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".codeartsdoer/codearts_cli.jsonc"; readonly format: "jsonc"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.codeartsdoer/codearts_cli.jsonc"; readonly format: "jsonc"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "local"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "local"; }]; }; readonly command: "array"; readonly envKey: "environment"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "remote"; readonly sse: "remote"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "remote"; readonly sse: "remote"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeArts Agent discovers Markdown agent definitions with YAML frontmatter and supports primary and subagent modes."; readonly docs: readonly []; readonly sources: readonly ["https://support.huaweicloud.com/usermanual-codeartssnap/codeartsagent_ug_0051.html"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".codeartsdoer/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeArts Agent hooks are JavaScript or TypeScript plugin callbacks rather than declarative command hooks that AXM can serialize."; readonly docs: readonly []; readonly sources: readonly ["https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0018.html"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM does not serialize CodeArts Agent JavaScript or TypeScript plugins."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeArts Agent uses AGENTS.md for project instructions and can generate it with /init."; readonly docs: readonly []; readonly sources: readonly ["https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0014.html"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeArts Agent stores ordered allow, ask, and deny-style rules in a user-level JSON permission file."; readonly docs: readonly []; readonly sources: readonly ["https://support.huaweicloud.com/usermanual-cli/codeartsagent_cli_0006.html"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.codeartsdoer/cli-data/storage/permission/global.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "{\"permission\":\"bash\",\"pattern\":\"axm *\",\"action\":\"allow\"}"; readonly notes: "Each array entry selects a permission name and wildcard pattern, then applies an allow, ask, or deny action."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a CodeArts Agent permission-list writer."; }; }; } | { readonly id: "codebuddy"; readonly name: "CodeBuddy"; readonly vendor: "Tencent Cloud"; readonly homepage: "https://www.codebuddy.ai/docs"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".codebuddy"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "CodeBuddy documentation"; readonly url: "https://www.codebuddy.ai/docs/ide/Introduction"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://www.codebuddy.ai/docs/ide/Introduction"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".codebuddy/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeBuddy MCP configs are JSONC and use first-existing-file precedence within each scope; AXM writes the recommended project/user files."; readonly docs: readonly []; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: true; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".mcp.json"; readonly format: "jsonc"; readonly attribution: "shared"; }, { readonly scope: "user"; readonly path: "~/.codebuddy/.mcp.json"; readonly format: "jsonc"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "stdio"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "stdio"; }, null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/sub-agents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".codebuddy/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeBuddy hooks are configured under the hooks key in settings.json and use grouped event/matcher command hooks compatible with AXM's command-stdin serializer."; readonly docs: readonly []; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".codebuddy/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.codebuddy/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "literal-list"; readonly example: "startup|resume"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|Edit|Write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Edit|Write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "literal-list"; readonly example: "manual|auto"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "Read"; readonly canonical: "file.read"; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/settings"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Write"; readonly canonical: "file.write"; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Bash"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/settings"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "WebFetch"; readonly canonical: "web.fetch"; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/settings"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".codebuddy/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "seconds"; readonly commandNameSerialization: "omit"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeBuddy loads CODEBUDDY.md plus nested .codebuddy/rules instruction files and supports @path imports."; readonly docs: readonly []; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/memory"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "none"; readonly convention: "vendor"; readonly kind: "own-file"; readonly files: readonly ["CODEBUDDY.md"]; readonly nestedDiscovery: true; readonly importSyntax: "at-path"; readonly directory: ".codebuddy/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "CodeBuddy permissions support allow/ask/deny rules in settings.json plus CLI permission flags. Bash rules are prefix-style and can include :* suffixes."; readonly docs: readonly []; readonly sources: readonly ["https://www.codebuddy.ai/docs/cli/settings", "https://www.codebuddy.ai/docs/cli/cli-reference"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".codebuddy/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".codebuddy/settings.local.json"; readonly format: "json"; readonly gitignored: true; }, { readonly scope: "user"; readonly path: "~/.codebuddy/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(axm:*)"; readonly notes: "Rules live in permissions.allow/ask/deny arrays; Bash patterns use prefix matching."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--dangerously-skip-permissions"; readonly note: "Bypasses CodeBuddy Code permission prompts."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: ".codebuddy/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Bash(${tool}:*)"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: ".codebuddy/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Read(**)", "Write(**)", "Edit"]; }; }; readonly template: null; }; }; }; }; }; } | { readonly id: "codemaker"; readonly name: "Codemaker"; readonly vendor: "CodeMaker AI"; readonly homepage: "https://github.com/codemakerai/codemaker-cli"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "retired"; readonly since: null; readonly note: "CodeMaker AI's vendor domains no longer resolve, and its vendor-owned CLI repository has not shipped an agent-extension surface."; readonly supersededBy: null; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.codemaker"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "CodeMaker CLI repository"; readonly url: "https://github.com/codemakerai/codemaker-cli"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The vendor CLI source and documentation do not implement skills or read .codemaker/skills; the prior claim came only from a third-party installer path table."; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "codestudio"; readonly name: "Code Studio"; readonly vendor: "Syncfusion"; readonly homepage: "https://www.syncfusion.com/code-studio/"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".codestudio"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".codestudio"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.codestudio"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Code Studio documentation"; readonly url: "https://help.syncfusion.com/code-studio/welcome-to-code-studio"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://www.syncfusion.com/code-studio/features/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".codestudio/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Code Studio supports custom stdio and remote HTTP MCP servers."; readonly docs: readonly []; readonly sources: readonly ["https://www.syncfusion.com/code-studio/features/", "https://help.syncfusion.com/code-studio/reference/configure-properties/mcp/customservers"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Code Studio custom agents are stored under .codestudio/agents."; readonly docs: readonly []; readonly sources: readonly ["https://www.syncfusion.com/code-studio/features/", "https://github.com/syncfusion/code-studio-library"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".codestudio/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Code Studio exposes command-based lifecycle hooks, but its public documentation does not enumerate a stable event and matcher grammar."; readonly docs: readonly []; readonly sources: readonly ["https://www.syncfusion.com/code-studio/features/"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Code Studio supports AGENTS.md and its own instruction/rule surfaces; this entry models the universal AGENTS.md surface."; readonly docs: readonly []; readonly sources: readonly ["https://help.syncfusion.com/code-studio/features/globalagent", "https://www.syncfusion.com/code-studio/features/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "codex"; readonly name: "Codex"; readonly vendor: "OpenAI"; readonly homepage: "https://learn.chatgpt.com/docs"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: "openai"; readonly rootDir: ".codex"; readonly targeting: { readonly extends: null; readonly capabilities: { readonly "structured-input": { readonly grades: readonly ["native"]; readonly nouns: { readonly "tool:structured-input": "request_user_input"; }; readonly affordances: { readonly "do:ask-structured": "Use request_user_input to collect structured input, then STOP and wait for the response."; }; }; }; }; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "file"; readonly path: "AGENTS.md"; readonly signal: "ambiguous"; readonly note: "Shared instruction filename used by multiple agents."; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.codex"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "executable"; readonly name: "codex"; readonly signal: "definitive"; readonly note: "CLI on PATH."; }]; }; }; readonly docs: readonly [{ readonly label: "Codex documentation"; readonly url: "https://learn.chatgpt.com/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Reads SKILL.md skills from repository (.agents/skills) and user (~/.agents/skills) locations with progressive disclosure, using the cross-tool Agent Skills convention rather than a .codex/ path.\n"; readonly docs: readonly []; readonly sources: readonly ["https://developers.openai.com/codex/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://developers.openai.com/codex/mcp/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcp_servers"; readonly activationField: { readonly required: { readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }; readonly accepted: readonly [{ readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".codex/config.toml"; readonly format: "toml"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.codex/config.toml"; readonly format: "toml"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; }; readonly headersKey: "http_headers"; readonly bearerTokenEnvKey: "bearer_token_env_var"; readonly envHeadersKey: "env_http_headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Custom agents are standalone TOML files under .codex/agents (project) or ~/.codex/agents (user); a custom agent overrides a built-in of the same name.\n"; readonly docs: readonly []; readonly sources: readonly ["https://learn.chatgpt.com/docs/agent-configuration/subagents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".codex/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Codex lifecycle hooks are command hooks loaded from hooks.json or inline [hooks] tables next to active config layers."; readonly docs: readonly []; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.codex/hooks.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".codex/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|apply_patch"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "block"; readonly outcomes: readonly ["deny"]; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PermissionRequest"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|apply_patch"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "block"; readonly outcomes: readonly ["deny"]; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|apply_patch"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "block"; readonly outcomes: readonly ["deny"]; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "regex"; readonly example: "startup|resume|clear|compact"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "regex"; readonly example: null; readonly notes: "Matcher filters subagent type."; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "manual|auto"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "apply_patch"; readonly canonical: "file.edit"; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Write"; readonly canonical: "file.write"; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Bash"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://learn.chatgpt.com/docs/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".codex/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "seconds"; readonly commandNameSerialization: "omit"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/openai/codex/blob/main/docs/agents_md.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://learn.chatgpt.com/docs/config-file/config-reference", "https://learn.chatgpt.com/docs/permissions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.codex/config.toml"; readonly format: "toml"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.codex/axm.config.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "[permissions.agentxm.filesystem.\":workspace_roots\"] \".\" = \"write\""; readonly notes: "Permission profiles combine filesystem, network, and workspace-root rules. Narrower deny rules remain in force over broader readable or writable paths.\n"; }; readonly prerequisites: readonly [{ readonly key: "default_permissions"; readonly value: "agentxm"; readonly scope: "user"; readonly note: "Selects the named permission profile."; }]; readonly cliFlags: readonly [{ readonly flag: "--yolo"; readonly note: "Alias for danger-full-access; use only when broad local access is intentional."; }, { readonly flag: "--dangerously-bypass-approvals-and-sandbox"; readonly note: "Runs without local sandbox restrictions."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.codex/axm.config.toml"; readonly patch: { readonly default_permissions: "agentxm"; readonly permissions: { readonly agentxm: { readonly extends: ":workspace"; }; }; }; readonly template: null; }; readonly filesystem: { readonly target: "~/.codex/axm.config.toml"; readonly patch: { readonly default_permissions: "agentxm"; readonly permissions: { readonly agentxm: { readonly extends: ":workspace"; readonly workspace_roots: { readonly "${workspaceRoot}": true; }; readonly filesystem: { readonly ":workspace_roots": { readonly ".": "write"; }; }; readonly network: { readonly enabled: true; }; }; }; }; readonly template: null; }; }; }; }; }; } | { readonly id: "command-code"; readonly name: "Command Code"; readonly vendor: "Command Code"; readonly homepage: "https://commandcode.ai"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".commandcode"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Command Code documentation"; readonly url: "https://commandcode.ai/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://commandcode.ai/docs/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".commandcode/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The shared/project-scoped MCP config is .mcp.json at the repo root; the user-scoped config is ~/.commandcode/mcp.json. A private local scope (~/.commandcode/projects//mcp.json) also exists but is not managed here."; readonly docs: readonly []; readonly sources: readonly ["https://commandcode.ai/docs/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null, { readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".mcp.json"; readonly format: "json"; readonly attribution: "shared"; }, { readonly scope: "user"; readonly path: "~/.commandcode/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null, { readonly name: "transport"; readonly value: "stdio"; }, { readonly name: "type"; readonly value: "stdio"; }]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "transport"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "transport"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }, { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Command Code Custom Agents / Sub-Agents are single Markdown files with frontmatter under .commandcode/agents (project) and ~/.commandcode/agents (user)."; readonly docs: readonly []; readonly sources: readonly ["https://commandcode.ai/docs/core-concepts/custom-agents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".commandcode/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Command Code documents a lifecycle hook system configured in settings.json. AXM has not modeled its native event dialect."; readonly docs: readonly []; readonly sources: readonly ["https://commandcode.ai/docs/hooks"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a Command Code hook writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Command Code reads AGENTS.md memory/instruction files."; readonly docs: readonly []; readonly sources: readonly ["https://commandcode.ai/docs/core-concepts/memory"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Command Code exposes permission allow/deny lists and an autoApprove system in settings.json. AXM does not yet write these grants."; readonly docs: readonly []; readonly sources: readonly ["https://commandcode.ai/docs/core-concepts/settings"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.commandcode/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".commandcode/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(axm:*)"; readonly notes: null; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Command Code permission grant writer."; }; }; } | { readonly id: "continue"; readonly name: "Continue"; readonly vendor: "Continue"; readonly homepage: "https://www.continue.dev"; readonly interfaces: readonly ["ide-extension", "cli"]; readonly family: null; readonly rootDir: ".continue"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Continue documentation"; readonly url: "https://docs.continue.dev"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.continue.dev"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".continue/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Continue agent-mode tools include MCP servers configured as tools in Continue config. AXM does not currently write Continue's YAML/config package format."; readonly docs: readonly []; readonly sources: readonly ["https://docs.continue.dev/guides/configuring-models-rules-tools", "https://docs.continue.dev/reference/config"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Continue MCP config writer."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The Continue CLI ships a Claude Code-compatible hooks system keyed under settings.json hooks, merged across ~/.continue, .continue, and the matching .claude locations. Beyond the events mapped here it also fires PostToolUseFailure, PermissionRequest, SessionEnd, Notification, SubagentStart, ConfigChange, TeammateIdle, TaskCompleted, WorktreeCreate, and WorktreeRemove, which have no canonical AXM event. Command handlers sit beside http, prompt, and agent handler types, and the surface is not yet covered by the published Continue docs."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.continue/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".continue/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".continue/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Write|Edit"; readonly notes: "Matchers select tools by name; an optional per-handler if condition narrows by argument, such as Edit(src/**)."; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "Read"; readonly canonical: "file.read"; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Write"; readonly canonical: "file.write"; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Bash"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://github.com/continuedev/continue/issues/11678"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "Continue's hook surface is only described in tracking issues, not published reference docs, so the settings key and handler shape are not stable enough to write."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Uses a vendor rule directory under the AGENTS.md-governed rule umbrella."; readonly docs: readonly []; readonly sources: readonly ["https://docs.continue.dev/guides/configuring-models-rules-tools"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly files: readonly ["*.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; readonly directory: ".continue/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The Continue CLI sorts tool patterns into allow, ask, and exclude lists in a user-scoped permissions.yaml that the TUI writes as approvals are granted; there is no project-scoped permission file."; readonly docs: readonly []; readonly sources: readonly ["https://docs.continue.dev/cli/tool-permissions"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.continue/permissions.yaml"; readonly format: "yaml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "Bash(axm *)"; readonly notes: "Tool(pattern) entries under allow, ask, or exclude; the argument pattern is a glob, as in Write(**/*.ts)."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--auto"; readonly note: "Allows every tool for the session; not tool-scoped."; }, { readonly flag: "--readonly"; readonly note: "Restricts the session to read-only tools."; }, { readonly flag: "--allow"; readonly note: "Adds a session allow rule for one tool pattern."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "permissions.yaml is owned by the Continue TUI and AXM has no writer for its YAML permission grammar."; }; }; } | { readonly id: "cortex"; readonly name: "Cortex Code"; readonly vendor: "Snowflake"; readonly homepage: "https://www.snowflake.com/en/product/features/cortex-code"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".cortex"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".cortex"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.snowflake/cortex"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Cortex Code CLI extensibility"; readonly url: "https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility", "https://github.com/Snowflake-Labs/coco-skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".cortex/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cortex Code configures MCP servers under the mcpServers key."; readonly docs: readonly []; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cortex Code subagents are Markdown definitions under .cortex/agents."; readonly docs: readonly []; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".cortex/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cortex Code hooks execute commands with event data on standard input."; readonly docs: readonly []; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.snowflake/cortex/hooks.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".cortex/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".cortex/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|Write|Edit"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|Write|Edit"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cortex Code loads AGENTS.md instruction files."; readonly docs: readonly []; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cortex Code permission rules are stored in permissions.json and layered settings files."; readonly docs: readonly []; readonly sources: readonly ["https://docs.snowflake.com/en/user-guide/cortex-code/extensibility"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.snowflake/cortex/permissions.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.snowflake/cortex/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".cortex/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(git status)"; readonly notes: "Permission allow and deny entries match tool calls and command prefixes."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "crush"; readonly name: "Crush"; readonly vendor: "Charm"; readonly homepage: "https://charm.land/crush"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".crush"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Crush repository"; readonly url: "https://github.com/charmbracelet/crush"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/charmbracelet/crush"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".crush/skills"; readonly status: "compat"; }, { readonly path: ".claude/skills"; readonly status: "compat"; }, { readonly path: ".cursor/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Crush now prefers executable crushrc configuration. AXM targets the deprecated-but-still-supported JSON configuration because the generic writer cannot safely author shell configuration."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/charmbracelet/crush", "https://github.com/charmbracelet/crush/blob/main/schema.json"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcp"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: "crush.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.config/crush/crush.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Crush currently supports PreToolUse hooks in crush.json/.crush.json with direct event arrays. The native shape is Claude Code-compatible conceptually but not AXM's grouped command-hook JSON writer shape."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/charmbracelet/crush/tree/main/docs/hooks"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a Crush hook writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/charmbracelet/crush"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Crush can allow broad built-in tools through permissions.allowed_tools and can bypass prompts with --yolo. This does not provide a narrow shell-command grant for AXM."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/charmbracelet/crush"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: "crush.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.config/crush/crush.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "prefix"; readonly example: "\"permissions\": { \"allowed_tools\": [\"view\", \"edit\", \"bash\"] }"; readonly notes: "allowed_tools grants whole tools such as bash; it cannot narrowly grant only the axm command."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--yolo"; readonly note: "Skips all permission prompts for the workspace."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a narrow Crush permission grant writer."; }; }; } | { readonly id: "cursor"; readonly name: "Cursor"; readonly vendor: "Anysphere"; readonly homepage: "https://cursor.com"; readonly interfaces: readonly ["ide-extension", "cli"]; readonly family: "cursor"; readonly rootDir: ".cursor"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "file"; readonly path: "AGENTS.md"; readonly signal: "ambiguous"; readonly note: "Shared instruction filename used by multiple agents."; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.cursor"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "executable"; readonly name: "cursor-agent"; readonly signal: "definitive"; readonly note: "CLI on PATH."; }]; }; }; readonly docs: readonly [{ readonly label: "Cursor documentation"; readonly url: "https://docs.cursor.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cursor 2.4 added Agent Skills (SKILL.md) across the editor and the cursor-agent CLI."; readonly docs: readonly []; readonly sources: readonly ["https://cursor.com/docs/skills.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".cursor/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".claude/skills"; readonly status: "compat"; }, { readonly path: ".codex/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://cursor.com/docs/mcp.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".cursor/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.cursor/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "stdio"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "stdio"; }, null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Custom subagents are Markdown files with YAML frontmatter under .cursor/agents (project) or ~/.cursor/agents (user); added in Cursor 2.4.\n"; readonly docs: readonly []; readonly sources: readonly ["https://cursor.com/docs/subagents.md"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".cursor/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cursor hooks run custom scripts around agent-loop stages. The native hooks.json shape is a direct event-to-command array, not AXM's current grouped command-stdin serializer shape."; readonly docs: readonly []; readonly sources: readonly ["https://cursor.com/docs/hooks.md"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "Cursor's hooks.json maps each event to a flat command array; AXM's only hook serializer emits grouped command-stdin entries, so a writer needs a new serializer rather than catalog data."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://cursor.com/docs/rules.md"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".cursor/rules"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://cursor.com/docs/cli/reference/permissions.md", "https://cursor.com/docs/cli/reference/parameters.md", "https://cursor.com/docs/agent/tools/terminal"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "ui-only", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.cursor/permissions.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.cursor/sandbox.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".cursor/sandbox.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.cursor/cli-config.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".cursor/cli.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "prefix"; readonly example: "axm"; readonly notes: "IDE: case-sensitive command prefix in terminalAllowlist. CLI: Tool-call syntax Shell()/Read()/Write() with glob patterns. Deny always beats allow.\n"; }; readonly prerequisites: readonly [{ readonly key: "Settings > Cursor Settings > Agents > Auto-Run"; readonly value: "Run in Sandbox | Run Everything"; readonly scope: "user"; readonly note: "IDE Auto-Run must be enabled before terminalAllowlist takes effect."; }]; readonly cliFlags: readonly [{ readonly flag: "--force"; readonly note: "Force allow commands unless explicitly denied."; }, { readonly flag: "--yolo"; readonly note: "Alias for --force."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.cursor/permissions.json"; readonly patch: { readonly terminalAllowlist: readonly ["${tool}"]; }; readonly template: null; }; readonly cliShell: { readonly target: ".cursor/cli.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Shell(${tool})", "Shell(${tool}:*)"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: ".cursor/sandbox.json"; readonly patch: { readonly type: "workspace_readwrite"; readonly additionalReadwritePaths: readonly []; }; readonly template: null; }; }; }; }; }; } | { readonly id: "deepagents"; readonly name: "Deep Agents"; readonly vendor: "LangChain"; readonly homepage: "https://docs.langchain.com/oss/python/deepagents/overview"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.deepagents"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Deep Agents skills documentation"; readonly url: "https://docs.langchain.com/oss/python/deepagents/skills"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Skill sources are layered built-in, then plugin, then user ~/.deepagents//skills and ~/.agents/skills, then project .deepagents/skills and .agents/skills.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.langchain.com/oss/python/deepagents/skills", "https://github.com/langchain-ai/deepagents/blob/main/libs/code/deepagents_code/project_utils.py"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The deepagents CLI natively supports MCP servers via 'mcp-servers add|list|tools|update|delete|connect' commands, project-level MCP config discovery/merge, per-server trust/approval, and MCP OAuth session management.\n"; readonly docs: readonly []; readonly sources: readonly ["https://reference.langchain.com/python/deepagents-cli", "https://pypi.org/project/deepagents-cli/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Deep Agents natively supports MCP servers, but the exact config file path, servers key, and serialization dialect are unverified; no AXM writer is defined to avoid fabricating an install path."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Each subagent is a folder holding an AGENTS.md with YAML frontmatter: .deepagents/agents//AGENTS.md for the project and ~/.deepagents//agents//AGENTS.md for the user. The name field is optional and defaults to the folder name."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/langchain-ai/deepagents/blob/main/libs/code/deepagents_code/subagents.py"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".deepagents/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Project instructions are auto-discovered from .deepagents/AGENTS.md first and the repository-root AGENTS.md second; both are loaded as memory. User-level instructions live at ~/.deepagents/AGENTS.md."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/langchain-ai/deepagents/blob/main/libs/code/deepagents_code/project_utils.py", "https://docs.langchain.com/oss/python/deepagents/overview"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "devin"; readonly name: "Devin CLI"; readonly vendor: "Cognition"; readonly homepage: "https://devin.ai"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".devin"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".devin"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "$XDG_CONFIG_HOME/devin"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Devin CLI documentation"; readonly url: "https://docs.devin.ai/cli"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Devin also reads universal .agents/skills locations; AXM targets the native .devin/skills project path and XDG user path.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/skills/overview"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".devin/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Devin CLI stores MCP servers under mcpServers in layered config files. Remote URL servers default to Streamable HTTP and can fall back to SSE."; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/mcp/configuration"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".devin/mcp_config.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.config/devin/mcp_config.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "transport"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "transport"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Custom Devin CLI subagents are AGENT.md files under .devin/agents, .agents/agents, or the global Devin agents directory. Claude Code .claude/agents/*.md files are also imported."; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/cli/subagents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".devin/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Devin CLI hooks are compatible with Claude Code hooks. AXM writes to the hooks key in .devin/config.json rather than the standalone hooks.v1.json file."; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/hooks/overview"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".devin/hooks.v1.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".devin/config.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".devin/config.local.json"; readonly format: "json"; readonly gitignored: true; }, { readonly scope: "user"; readonly path: "~/.config/devin/config.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/hooks/overview"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/hooks/overview"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "exec|edit|write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/hooks/overview"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "exec|edit|write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/hooks/overview"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/hooks/overview"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "read"; readonly canonical: "file.read"; readonly sources: readonly ["https://docs.devin.ai/cli/reference/permissions"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "write"; readonly canonical: "file.write"; readonly sources: readonly ["https://docs.devin.ai/cli/reference/permissions"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://docs.devin.ai/cli/reference/permissions"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "exec"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://docs.devin.ai/cli/reference/permissions"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".devin/config.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "seconds"; readonly commandNameSerialization: "omit"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/cli/extensibility/rules"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Devin CLI permissions use allow/ask/deny arrays in layered config files. Rules cover scope matchers such as Read/Write/Exec/Fetch and tool names such as read/edit/grep/glob/exec."; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/cli/reference/permissions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".devin/config.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".devin/config.local.json"; readonly format: "json"; readonly gitignored: true; }, { readonly scope: "user"; readonly path: "~/.config/devin/config.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Exec(axm)"; readonly notes: "Exec rules match shell command prefixes as complete words; Read/Write rules use glob-style path scopes."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--permission-mode"; readonly note: "Selects modes such as normal, accept edits, bypass, or autonomous with sandboxing."; }, { readonly flag: "--sandbox"; readonly note: "Enables OS-level sandboxing and autonomous permission behavior."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: ".devin/config.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Exec(${tool})"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: ".devin/config.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Read(**)", "Write(**)", "edit"]; }; }; readonly template: null; }; }; }; }; }; } | { readonly id: "dexto"; readonly name: "Dexto"; readonly vendor: "Truffle AI"; readonly homepage: "https://www.dexto.ai"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.dexto"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Dexto documentation"; readonly url: "https://docs.dexto.ai"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/truffle-ai/dexto/blob/main/packages/core/src/skills/workspace-skill-source.ts"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Dexto declares MCP servers under mcpServers in a project agent.yml. The vendor schema adds connectionMode and type fields around the standard server definitions."; readonly docs: readonly []; readonly sources: readonly ["https://docs.dexto.ai/mcp/"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Dexto permissions use manual or auto-approve mode plus alwaysAllow and alwaysDeny tool policies in agent.yml."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/truffle-ai/dexto/blob/main/docs/docs/guides/configuring-dexto/permissions.md"]; readonly scopes: readonly ["project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: "agent.yml"; readonly format: "yaml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "mcp--filesystem--write_file"; readonly notes: "toolPolicies.alwaysAllow and toolPolicies.alwaysDeny contain tool identifiers such as read_file, bash_exec, and mcp--server--tool."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--auto-approve"; readonly note: "Enables auto-approve mode for the session."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "droid"; readonly name: "Droid"; readonly vendor: "Factory"; readonly homepage: "https://www.factory.ai"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".factory"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Factory documentation"; readonly url: "https://docs.factory.ai"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".factory/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Factory MCP configuration supports local and remote servers."; readonly docs: readonly []; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: true; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Factory custom droids are Markdown files under .factory/droids."; readonly docs: readonly []; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/custom-droids"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".factory/droids"; readonly layout: "directory"; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Factory hooks execute commands with event payloads on standard input."; readonly docs: readonly []; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.factory/hooks.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".factory/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Execute|Create|Edit|ApplyPatch"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["deny"]; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Execute|Create|Edit|ApplyPatch"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "Execute"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Create"; readonly canonical: "file.write"; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "ApplyPatch"; readonly canonical: "file.edit"; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/hooks-guide"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/agents-md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Factory layers command allow, deny, and block lists; blocklist rules take precedence over denylist and allowlist rules."; readonly docs: readonly []; readonly sources: readonly ["https://docs.factory.ai/cli/configuration/settings", "https://docs.factory.ai/cli/droid-exec/overview"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.factory/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".factory/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "prefix"; readonly example: "commandAllowlist: [\"git status\", \"ls\"]"; readonly notes: "Command-prefix allow, deny, and block lists are matched after program resolution to prevent path-based bypasses."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--auto "; readonly note: "Selects the automation level."; }, { readonly flag: "--skip-permissions-unsafe"; readonly note: "Bypasses permission checks."; }, { readonly flag: "--enabled-tools "; readonly note: "Restricts the enabled tool set."; }, { readonly flag: "--disabled-tools "; readonly note: "Disables selected tools."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "firebender"; readonly name: "Firebender"; readonly vendor: "Firebender"; readonly homepage: "https://firebender.com"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".firebender"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".firebender"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "file"; readonly path: "firebender.json"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.firebender"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Firebender documentation"; readonly url: "https://docs.firebender.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.firebender.com/multi-agent/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".firebender/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".goose/skills"; readonly status: "compat"; }, { readonly path: ".claude/skills"; readonly status: "compat"; }, { readonly path: ".codex/skills"; readonly status: "compat"; }, { readonly path: ".cursor/skills"; readonly status: "compat"; }, { readonly path: ".agents/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Firebender stores MCP servers under mcpServers in firebender.json and ~/.firebender/firebender.json."; readonly docs: readonly []; readonly sources: readonly ["https://docs.firebender.com/context/mcp/overview", "https://firebendercorp.mintlify.app/api-reference/syntax"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Firebender subagents are Markdown definitions under .firebender/agents."; readonly docs: readonly []; readonly sources: readonly ["https://docs.firebender.com/api-reference/agents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".firebender/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Firebender hooks execute commands with JSON event payloads on standard input and can observe, block, or modify selected operations."; readonly docs: readonly []; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".firebender/hooks.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.firebender/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "sessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "preToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "literal-list"; readonly example: "Shell,Read,Write,MCP"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "postToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "literal-list"; readonly example: "Shell,Read,Write,MCP"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "subagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "preCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "Shell"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Read"; readonly canonical: "file.read"; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Write"; readonly canonical: "file.write"; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "MCP"; readonly canonical: "mcp.call"; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "afterFileEdit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://docs.firebender.com/multi-agent/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Firebender reads .firebender/rules/*.mdc and also supports AGENTS.md; this entry models its primary vendor rule directory."; readonly docs: readonly []; readonly sources: readonly ["https://docs.firebender.com/multi-agent/global-rules"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly directory: ".firebender/rules"; readonly files: readonly ["*.mdc"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "forgecode"; readonly name: "ForgeCode"; readonly vendor: "Tailcall"; readonly homepage: "https://forgecode.dev"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".forge"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".forge"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.forge"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "dir"; readonly path: "~/forge"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "ForgeCode skills documentation"; readonly url: "https://forgecode.dev/docs/skills/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "ForgeCode also reads shared ~/.agents/skills and documents ~/forge/skills as its global skills path."; readonly docs: readonly []; readonly sources: readonly ["https://forgecode.dev/docs/skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".forge/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "ForgeCode supports local and remote MCP servers."; readonly docs: readonly []; readonly sources: readonly ["https://forgecode.dev/docs/mcp-integration/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "ForgeCode custom agents are files under .forge/agents."; readonly docs: readonly []; readonly sources: readonly ["https://forgecode.dev/docs/creating-agents/"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".forge/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://forgecode.dev/docs/custom-rules/"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "ForgeCode permissions.yaml policies combine read, write, command, and URL glob rules with all, any, and not operators; decisions are allow, deny, or confirm."; readonly docs: readonly []; readonly sources: readonly ["https://forgecode.dev/docs/permissions/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.forge/permissions.yaml"; readonly format: "yaml"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".forge.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "command: \"git *\""; readonly notes: "Rules support all, any, and not composition with allow, deny, and confirm decisions."; }; readonly prerequisites: readonly [{ readonly key: "restricted"; readonly value: "true"; readonly scope: "project"; readonly note: "Enables restricted permission policy enforcement from .forge.toml."; }]; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "gemini-cli"; readonly name: "Gemini CLI"; readonly vendor: "Google"; readonly homepage: "https://github.com/google-gemini/gemini-cli"; readonly interfaces: readonly ["cli"]; readonly family: "google"; readonly rootDir: ".gemini"; readonly lifecycle: { readonly state: "retired"; readonly since: "2026-06-18"; readonly note: "On 2026-06-18 Gemini CLI stopped serving requests for individual/free/AI Pro/Ultra tiers, superseded by Antigravity CLI; enterprise and paid API-key access remains available."; readonly supersededBy: "antigravity"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.gemini"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "executable"; readonly name: "gemini"; readonly signal: "definitive"; readonly note: "CLI on PATH."; }]; }; }; readonly docs: readonly [{ readonly label: "Gemini CLI documentation"; readonly url: "https://github.com/google-gemini/gemini-cli/tree/main/docs"; }, { readonly label: "Transitioning Gemini CLI to Antigravity CLI"; readonly url: "https://developers.googleblog.com/an-important-update-transitioning-gemini-cli-to-antigravity-cli/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/skills.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/configuration.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: true; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".gemini/settings.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.gemini/settings.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "httpUrl"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Subagents are Markdown files with YAML frontmatter under .gemini/agents (project) or ~/.gemini/agents (user); shipped in Gemini CLI v0.38.1.\n"; readonly docs: readonly []; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/core/subagents.md"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".gemini/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Gemini CLI hooks run command hooks from settings files and use JSON on stdin/stdout. Native Gemini CLI exposes additional events such as SessionEnd, BeforeModel, AfterModel, BeforeToolSelection, and Notification; this catalog maps the subset covered by AXM's canonical hook event registry."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/index.md", "https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/reference.md", "https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/configuration.md"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.gemini/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".gemini/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "regex"; readonly example: "startup|resume|clear"; readonly notes: "Gemini CLI lifecycle matchers are exact strings; AXM serializes raw matcher text."; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/reference.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "BeforeAgent"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/reference.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "AfterAgent"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/reference.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "BeforeTool"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "write_file|replace"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/reference.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "AfterTool"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "write_file|replace"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/reference.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompress"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/hooks/index.md"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "read_file"; readonly canonical: "file.read"; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "read_many_files"; readonly canonical: "file.read"; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "write_file"; readonly canonical: "file.write"; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "replace"; readonly canonical: "file.edit"; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "run_shell_command"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "web_fetch"; readonly canonical: "web.fetch"; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/tools.md"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".gemini/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "milliseconds"; readonly commandNameSerialization: "manifest"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Consumer access (free, AI Pro, AI Ultra) ended 2026-06-18; Antigravity CLI succeeded Gemini CLI for those tiers. Enterprise customers on paid API keys retain access. The contextFileName setting can also point Gemini CLI at AGENTS.md.\n"; readonly docs: readonly []; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/configuration.md", "https://developers.googleblog.com/an-important-update-transitioning-gemini-cli-to-antigravity-cli/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly kind: "own-file"; readonly files: readonly ["GEMINI.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/configuration.md", "https://github.com/google-gemini/gemini-cli/blob/main/docs/reference/policy-engine.md", "https://github.com/google-gemini/gemini-cli/blob/main/docs/tools/shell.md", "https://github.com/google-gemini/gemini-cli/blob/main/docs/cli/trusted-folders.md"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.gemini/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".gemini/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "prefix"; readonly example: "run_shell_command(axm)"; readonly notes: "The current configuration reference exposes tools.allowed / tools.core / tools.exclude (formerly coreTools/excludeTools) and the policy engine; command-specific run_shell_command rules are simple string matches and should not be treated as a strong security boundary.\n"; }; readonly prerequisites: readonly [{ readonly key: "security.folderTrust.enabled"; readonly value: "true"; readonly scope: "user"; readonly note: "Untrusted folders disable all auto-acceptance regardless of other settings."; }]; readonly cliFlags: readonly [{ readonly flag: "--approval-mode=yolo"; readonly note: "Broad bypass; not tool-scoped. Blocked when security.disableYoloMode=true."; }, { readonly flag: "--yolo"; readonly note: "Alias for --approval-mode=yolo."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.gemini/settings.json"; readonly patch: { readonly security: { readonly folderTrust: { readonly enabled: true; }; readonly enablePermanentToolApproval: true; }; readonly tools: { readonly allowed: readonly ["run_shell_command(${tool})"]; }; }; readonly template: null; }; }; }; }; }; } | { readonly id: "github-copilot-cli"; readonly name: "GitHub Copilot CLI"; readonly vendor: "GitHub"; readonly homepage: "https://docs.github.com/en/copilot/concepts/agents/about-copilot-cli"; readonly interfaces: readonly ["cli"]; readonly family: "github"; readonly rootDir: ".copilot"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".github/copilot"; readonly signal: "supporting"; readonly note: "Repository and local Copilot CLI settings live under .github/copilot."; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.copilot"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "executable"; readonly name: "copilot"; readonly signal: "definitive"; readonly note: "CLI on PATH."; }]; }; }; readonly docs: readonly [{ readonly label: "GitHub Copilot CLI documentation"; readonly url: "https://docs.github.com/en/copilot/how-tos/copilot-cli"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-skills", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".github/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".agents/skills"; readonly status: "compat"; }, { readonly path: ".claude/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-mcp-servers", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-command-reference"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.copilot/mcp-config.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "project"; readonly path: ".mcp.json"; readonly format: "json"; readonly attribution: "shared"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "stdio"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "stdio"; }, { readonly name: "type"; readonly value: "local"; }]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; GitHub Copilot CLI custom agents are Markdown agent profiles under .github/agents or ~/.copilot/agents.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.github.com/en/copilot/concepts/agents/copilot-cli/about-custom-agents", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".github/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "GitHub Copilot CLI supports shell-command hooks at session, prompt, task, permission, tool-use, notification, and error lifecycle points. AXM models the surface but does not serialize GitHub hook configs yet.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/overview", "https://docs.github.com/en/copilot/reference/hooks-reference"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a GitHub Copilot CLI hook writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "GitHub Copilot CLI supports AGENTS.md plus Copilot-specific instruction files; AXM syncs the cross-agent AGENTS.md convention.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.github.com/en/copilot/how-tos/copilot-cli/customize-copilot/add-custom-instructions"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.github.com/en/copilot/how-tos/copilot-cli/use-copilot-cli/allowing-tools", "https://docs.github.com/en/copilot/how-tos/copilot-cli/set-up-copilot-cli/configure-copilot-cli", "https://docs.github.com/en/copilot/reference/copilot-cli-reference/cli-config-dir-reference"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["cli-flag", "config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.copilot/permissions-config.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.copilot/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".github/copilot/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "prefix"; readonly example: "--allow-tool='shell(axm:*)'"; readonly notes: "Copilot CLI permission flags use tool-kind patterns such as shell(git:*), write(path), url(domain), or MCP_SERVER(tool). Deny rules take precedence over allow rules.\n"; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--allow-tool='shell(${tool}:*)'"; readonly note: "Allow a command family without prompting."; }, { readonly flag: "--allow-all-tools"; readonly note: "Allow all available tools without prompting."; }, { readonly flag: "--allow-all"; readonly note: "Allow all tools, paths, and URLs."; }, { readonly flag: "--deny-tool"; readonly note: "Deny a tool pattern; deny rules take precedence over allow rules."; }, { readonly flag: "--available-tools"; readonly note: "Restrict the tools available to the session."; }, { readonly flag: "--excluded-tools"; readonly note: "Remove tools from the session."; }, { readonly flag: "--yolo"; readonly note: "Alias for allowing all tools, paths, and URLs."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "CLI invocation"; readonly patch: null; readonly template: "--allow-tool='shell(${tool}:*)'"; }; readonly filesystem: { readonly target: "CLI invocation"; readonly patch: null; readonly template: "--allow-tool='write(${workspaceRoot}/**)'"; }; }; }; }; }; } | { readonly id: "goose"; readonly name: "Goose"; readonly vendor: "Agentic AI Foundation (AAIF)"; readonly homepage: "https://goose-docs.ai"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".goose"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Goose documentation"; readonly url: "https://goose-docs.ai/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://goose-docs.ai/docs/mcp/skills-mcp/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".goose/skills"; readonly status: "deprecated"; }, { readonly path: ".claude/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://goose-docs.ai/docs/getting-started/using-extensions/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Goose YAML extension config writer."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Goose exposes permission mode, tool permissions, and .gooseignore controls. AXM has not modeled a narrow permission grant writer for Goose."; readonly docs: readonly []; readonly sources: readonly ["https://goose-docs.ai/docs/guides/managing-tools/tool-permissions/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Goose permission grant writer."; }; }; } | { readonly id: "grok-cli"; readonly name: "Grok Build"; readonly vendor: "xAI"; readonly homepage: "https://x.ai/cli"; readonly interfaces: readonly ["cli"]; readonly family: "xai"; readonly rootDir: ".grok"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Grok CLI documentation"; readonly url: "https://docs.x.ai/build/overview"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Reads SKILL.md Agent Skills from project (.grok/skills) and user (~/.grok/skills, ~/.agents/skills) locations, plus additional paths configured via [skills] in ~/.grok/config.toml.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.x.ai/build/features/skills-plugins-marketplaces"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".grok/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "MCP servers are managed with grok mcp commands or [mcp_servers] tables in ~/.grok/config.toml and project .grok/config.toml. Grok also reads ~/.claude.json, .cursor/mcp.json, and .mcp.json compatibility files."; readonly docs: readonly []; readonly sources: readonly ["https://docs.x.ai/build/features/mcp-servers"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: true; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Grok CLI MCP config writer."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Agent definitions are Markdown files in .grok/agents or ~/.grok/agents and may add new subagent types or shadow the built-in general-purpose, explore, and plan types. Personas are a separate TOML overlay under .grok/personas and are not modeled as subagents."; readonly docs: readonly []; readonly sources: readonly ["https://docs.x.ai/build/features/subagents", "https://github.com/xai-org/grok-build/blob/main/crates/codegen/xai-grok-pager/docs/user-guide/16-subagents.md"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".grok/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "xAI Grok CLI discovers hook scripts from .grok hooks paths and also advertises Claude Code hook compatibility. Exact in-app hook event details should be reverified before adding a writer."; readonly docs: readonly []; readonly sources: readonly ["https://docs.x.ai/build/features/skills-plugins-marketplaces"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a Grok CLI hooks writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Project rules are merged by directory depth from the repository root. Grok also reads documented AGENTS.md filename variants and Markdown files in .grok/rules, with compatibility for .claude/rules and .cursor/rules; AXM writes the universal AGENTS.md surface."; readonly docs: readonly []; readonly sources: readonly ["https://docs.x.ai/build/features/project-rules"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Grok [permission] settings define allow, deny, and ask lists using Tool(pattern) rules. UI permission modes and CLI flags provide coarse approval behavior in addition to the per-tool grammar."; readonly docs: readonly []; readonly sources: readonly ["https://docs.x.ai/build/settings", "https://docs.x.ai/build/settings/reference"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.grok/config.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(git *)"; readonly notes: "Patterns can target tools and their arguments, including Read(src/**) and MCPTool(server__*)."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--always-approve"; readonly note: "Skip permission prompts for tool calls."; }, { readonly flag: "--permission-mode "; readonly note: "Selects default, dontAsk, acceptEdits, bypassPermissions, or plan mode."; }, { readonly flag: "--deny "; readonly note: "Adds a deny rule for the session."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented Grok CLI permission grant writing."; }; }; } | { readonly id: "hermes"; readonly name: "Hermes Agent"; readonly vendor: "Nous Research"; readonly homepage: "https://hermes-agent.nousresearch.com"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".hermes"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Hermes Agent documentation"; readonly url: "https://hermes-agent.nousresearch.com/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Hermes reads SKILL.md skills from ~/.hermes/skills as the source of truth. Additional external skill directories can be configured in ~/.hermes/config.yaml for shared team use.\n"; readonly docs: readonly []; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/skills"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".hermes/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Hermes declares MCP servers under mcp_servers in ~/.hermes/config.yaml. AXM writes that YAML file directly with per-entry x-axm metadata, preserving user-authored servers and coexisting with hermes mcp commands.\n"; readonly docs: readonly []; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/mcp"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcp_servers"; readonly activationField: { readonly required: { readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }; readonly accepted: readonly [{ readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.hermes/config.yaml"; readonly format: "yaml"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Hermes supports config-declared shell hooks and Python plugin callbacks. Shell hooks are command-based, accept event data, and are gated by a local allowlist."; readonly docs: readonly []; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.hermes/config.yaml"; readonly format: "yaml"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.hermes/shell-hooks-allowlist.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "pre_tool_call"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "terminal|read_file|write_file"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["deny"]; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_tool_call"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "terminal|read_file|write_file"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "pre_llm_call"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_llm_call"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "on_session_start"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "subagent_stop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "transform_llm_output"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "modify"; readonly operations: readonly ["modify-output"]; }]; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/features/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Hermes reads AGENTS.md as a recursive project instruction source. .hermes.md and SOUL.md are higher-priority native alternatives at the git root, but AGENTS.md is the cross-tool standard AXM writes.\n"; readonly docs: readonly []; readonly sources: readonly ["https://hermes-agent.nousresearch.com/docs/user-guide/configuration"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "ibm-bob"; readonly name: "IBM Bob"; readonly vendor: "IBM"; readonly homepage: "https://bob.ibm.com"; readonly interfaces: readonly ["ide-extension", "cli"]; readonly family: null; readonly rootDir: ".bob"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "IBM Bob documentation"; readonly url: "https://bob.ibm.com/docs/ide"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://bob.ibm.com/docs/ide/features/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".bob/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Project servers live in .bob/mcp.json; user servers in ~/.bob/mcp.json. Both files key entries under mcpServers. Streamable HTTP entries use \"type\": \"streamable-http\"; legacy SSE entries remain URL-only.\n"; readonly docs: readonly []; readonly sources: readonly ["https://bob.ibm.com/docs/ide/configuration/mcp/mcp-in-bob"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.bob/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "project"; readonly path: ".bob/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "streamable-http"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "streamable-http"; }; }, null]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Bob custom modes are YAML entries in .bob/custom_modes.yaml (project) or ~/.bob/settings/custom_modes.yaml (user). Entries support slug, name, description, whenToUse, roleDefinition, customInstructions, and read/edit/execute/mcp/skill/workflow/todo/subtask/subagent/mode tool-access groups; edit groups can carry fileRegex restrictions. Subagent-style extensions have no industry spec yet.\n"; readonly docs: readonly []; readonly sources: readonly ["https://bob.ibm.com/docs/ide/configuration/custom-modes"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".bob/custom_modes.yaml"; readonly layout: "file"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Bob automatically loads AGENTS.md from the workspace root.\n"; readonly docs: readonly []; readonly sources: readonly ["https://bob.ibm.com/docs/ide/configuration/rules"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".bob/rules"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "IBM Bob custom modes define tool access groups and file permissions, including read, edit, command, and mcp groups. AXM has not implemented a custom_modes permission writer."; readonly docs: readonly []; readonly sources: readonly ["https://bob.ibm.com/docs/ide/features/modes", "https://bob.ibm.com/docs/ide/configuration/custom-modes"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "ui-only"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".bob/custom_modes.yaml"; readonly format: "yaml"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.bob/settings/custom_modes.yaml"; readonly format: "yaml"; readonly gitignored: false; }]; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented an IBM Bob custom-modes permission writer."; }; }; } | { readonly id: "iflow-cli"; readonly name: "iFlow CLI"; readonly vendor: "XinLiu AI"; readonly homepage: "https://platform.iflow.cn/cli"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".iflow"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".iflow"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "executable"; readonly name: "iflow"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "dir"; readonly path: "~/.iflow"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "iFlow CLI documentation"; readonly url: "https://platform.iflow.cn/en/cli/quickstart"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://platform.iflow.cn/en/cli/examples/skill"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".iflow/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "iFlow CLI supports CLI-managed and JSON-configured MCP servers at user and project scopes."; readonly docs: readonly []; readonly sources: readonly ["https://platform.iflow.cn/en/cli/examples/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "The vendor docs name both settings and legacy MCP files; AXM has not verified one lossless writer dialect across them."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://platform.iflow.cn/en/cli/examples/subagent"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".iflow/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "iFlow documents command hooks at user and project scopes, but AXM has not modeled the event and serialization contract."; readonly docs: readonly []; readonly sources: readonly ["https://platform.iflow.cn/en/cli/examples/hooks"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented the iFlow hook dialect."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://platform.iflow.cn/en/cli/configuration/iflow"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "own-file"; readonly files: readonly ["IFLOW.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "iFlow exposes confirmation and YOLO execution modes, but vendor docs do not define stable granular permission files for AXM."; readonly docs: readonly []; readonly sources: readonly ["https://platform.iflow.cn/en/cli/quickstart"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["cli-flag", "ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--yolo"; readonly note: "Allow tool execution without per-operation confirmation."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM does not emit broad bypass flags as permission grants."; }; }; } | { readonly id: "junie"; readonly name: "Junie"; readonly vendor: "JetBrains"; readonly homepage: "https://www.jetbrains.com/junie"; readonly interfaces: readonly ["ide-extension"]; readonly family: "jetbrains"; readonly rootDir: ".junie"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Junie documentation"; readonly url: "https://junie.jetbrains.com/docs/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://junie.jetbrains.com/docs/agent-skills.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".junie/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://junie.jetbrains.com/docs/junie-cli-mcp-configuration.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".junie/mcp/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.junie/mcp/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://junie.jetbrains.com/docs/junie-cli-subagents.html"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".junie/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Junie CLI hooks support seven command (type:command) event types: SessionStart, UserPromptSubmit, PreToolUse, Stop, StopFailure, PermissionRequest, and SessionEnd, configured from user config or explicit --config-location files. Default project hooks are still ignored for safety, so AXM does not write Junie hooks yet."; readonly docs: readonly []; readonly sources: readonly ["https://junie.jetbrains.com/docs/junie-cli-hooks.html", "https://junie.jetbrains.com/docs/junie-cli-configuration.html"]; readonly scopes: readonly ["user"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has no trusted project hook writer target for Junie CLI hooks."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Junie CLI reads persistent project guidance from .junie/AGENTS.md and suggests importing AGENTS.md-style files from other agents into that location."; readonly docs: readonly []; readonly sources: readonly ["https://junie.jetbrains.com/docs/guidelines-and-memory.html", "https://junie.jetbrains.com/docs/junie-cli-usage.html"]; readonly scopes: readonly ["project", "user"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly kind: "own-file"; readonly files: readonly [".junie/AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Junie CLI uses the Action Allowlist for terminal commands, MCP tools, and other sensitive actions; brave mode allows all sensitive actions for a session."; readonly docs: readonly []; readonly sources: readonly ["https://junie.jetbrains.com/docs/junie-cli-usage.html", "https://junie.jetbrains.com/docs/action-allowlist.html"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file", "ui-only"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.junie/allowlist.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.junie/config.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "regex"; readonly example: "^\\Qaxm \\E[^\\s;&|<>@$]+.*$"; readonly notes: "Terminal rules can be exact commands, Java regular expressions, or standard regular expressions."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Junie Action Allowlist writer."; }; }; } | { readonly id: "lingma"; readonly name: "Lingma"; readonly vendor: "Alibaba Cloud"; readonly homepage: "https://help.aliyun.com/zh/lingma"; readonly interfaces: readonly ["ide-extension"]; readonly family: "alibaba"; readonly rootDir: ".lingma"; readonly lifecycle: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "Alibaba renamed TONGYI Lingma to Qoder CN."; readonly supersededBy: "qoder-cn"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".lingma"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.lingma"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Qoder CN (formerly Lingma) documentation"; readonly url: "https://help.aliyun.com/en/lingma/introduction-of-lingma"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "The Lingma product name was replaced by Qoder CN."; readonly supersededByType: null; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/en/lingma/qoder-cn/user-guide/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".lingma/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "The Lingma product name was replaced by Qoder CN."; readonly supersededByType: null; }; readonly notes: "The IDE reads MCP services from its settings file; AXM has no verified writer for the legacy Lingma surface."; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/en/lingma/qoder-cn/user-guide/guide-for-using-mcp"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented the legacy Lingma IDE settings dialect."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "The Lingma product name was replaced by Qoder CN."; readonly supersededByType: null; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "The Lingma product name was replaced by Qoder CN."; readonly supersededByType: null; }; readonly notes: "Lingma/Qoder CN IDE command hooks are documented in ~/.lingma/settings.json."; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/zh/lingma/qoder-cn/user-guide/hooks"]; readonly scopes: readonly ["user"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented the Lingma IDE hook dialect."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "The Lingma product name was replaced by Qoder CN."; readonly supersededByType: null; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "deprecated"; readonly since: "2026-05-20"; readonly note: "The Lingma product name was replaced by Qoder CN."; readonly supersededByType: null; }; readonly notes: "The IDE exposes Auto-Run controls in settings rather than a documented portable rule grammar."; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/zh/lingma/qoder-cn/user-guide/agent"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM cannot write UI-only Lingma Auto-Run settings."; }; }; } | { readonly id: "kilo"; readonly name: "Kilo Code"; readonly vendor: "Kilo"; readonly homepage: "https://kilo.ai"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".kilo"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Kilo Code documentation"; readonly url: "https://kilo.ai/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://kilo.ai/docs/customize/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".kilo/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".agents/skills"; readonly status: "compat"; }, { readonly path: ".claude/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://kilo.ai/docs/automate/mcp/using-in-cli", "https://kilo.ai/docs/automate/mcp/using-in-kilo-code"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcp"; readonly activationField: { readonly required: { readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }; readonly accepted: readonly [{ readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: "kilo.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.config/kilo/kilo.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "local"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "local"; }]; }; readonly command: "array"; readonly envKey: "environment"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "remote"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "remote"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://kilo.ai/docs/customize/custom-subagents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".kilo/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://kilo.ai/docs/customize/custom-instructions"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://kilo.ai/docs/code-with-ai/platforms/cli", "https://kilo.ai/docs/getting-started/settings/auto-approving-actions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "ui-only"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.config/kilo/kilo.jsonc"; readonly format: "jsonc"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: "kilo.jsonc"; readonly format: "jsonc"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".kilo/kilo.jsonc"; readonly format: "jsonc"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "axm *"; readonly notes: "Permission values are \"allow\", \"ask\", or \"deny\". Object rules are wildcard matched, and the last matching rule wins."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "kilo.jsonc"; readonly patch: { readonly permission: { readonly bash: { readonly "*": "ask"; readonly "${tool} *": "allow"; }; }; }; readonly template: null; }; readonly filesystem: { readonly target: "kilo.jsonc"; readonly patch: { readonly permission: { readonly external_directory: { readonly "${workspaceRoot}/**": "allow"; }; readonly read: { readonly "${workspaceRoot}/**": "allow"; }; readonly edit: { readonly "${workspaceRoot}/**": "allow"; }; }; }; readonly template: null; }; }; }; }; }; } | { readonly id: "kimi-cli"; readonly name: "Kimi Code CLI"; readonly vendor: "Moonshot AI"; readonly homepage: "https://www.kimi.com/code/docs/en/kimi-code-cli/"; readonly interfaces: readonly ["cli"]; readonly family: "moonshot"; readonly rootDir: ".kimi-code"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.kimi-code"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Kimi Code CLI documentation"; readonly url: "https://www.kimi.com/code/docs/en/kimi-code-cli/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kimi Code discovers skills from Kimi-specific and cross-tool directories; AXM writes the universal .agents/skills location."; readonly docs: readonly []; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/skills.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/mcp.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [{ readonly name: "enabled"; readonly enabled: true; readonly disabled: false; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".kimi-code/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.kimi-code/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "transport"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [null, { readonly name: "transport"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; readonly bearerTokenEnvKey: "bearerTokenEnvVar"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kimi Code recursively discovers Markdown custom agents with YAML frontmatter and can delegate to them as subagents."; readonly docs: readonly []; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/agents.html"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".kimi-code/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kimi Code hooks are TOML array entries, execute commands with JSON on standard input, and can block selected events."; readonly docs: readonly []; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.kimi-code/config.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|Read|Write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|Read|Write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "regex"; readonly example: "deploy|release"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/hooks.html"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM's grouped hook serializer cannot emit Kimi Code's flat TOML hook arrays."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kimi Code loads AGENTS.md from project and Kimi-specific or cross-tool user locations."; readonly docs: readonly []; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/customization/agents.html"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kimi Code loads ordered allow, deny, and ask rules from its user configuration; invocation flags can still apply coarse session modes."; readonly docs: readonly []; readonly sources: readonly ["https://www.kimi.com/code/docs/en/kimi-code-cli/configuration/config-files"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.kimi-code/config.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "decision = \"allow\"; pattern = \"Bash(axm *)\""; readonly notes: "Rules are ordered [[permission.rules]] tables whose first matching ToolName or ToolName(argument-pattern) rule wins."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--yolo"; readonly note: "Auto-approves all tool calls; aliased as --yes and --auto-approve."; }, { readonly flag: "--afk"; readonly note: "Auto-approves tool calls and auto-dismisses AskUserQuestion."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM does not serialize ordered TOML array-of-table permission rules."; }; }; } | { readonly id: "kiro-cli"; readonly name: "Kiro CLI"; readonly vendor: "AWS"; readonly homepage: "https://kiro.dev"; readonly interfaces: readonly ["cli"]; readonly family: "amazon"; readonly rootDir: ".kiro"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Kiro CLI documentation"; readonly url: "https://kiro.dev/docs/cli/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://kiro.dev/docs/cli/skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".kiro/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://kiro.dev/docs/mcp/configuration/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".kiro/settings/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.kiro/settings/mcp.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://kiro.dev/docs/cli/custom-agents/configuration-reference/"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".kiro/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kiro CLI hooks are command hooks in agent configuration. AXM models the surface but does not serialize Kiro CLI hooks yet."; readonly docs: readonly []; readonly sources: readonly ["https://kiro.dev/docs/cli/hooks/", "https://kiro.dev/docs/cli/custom-agents/configuration-reference/"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a Kiro CLI hooks writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kiro CLI steering files live under .kiro/steering and can be always-on, conditional, or manually referenced."; readonly docs: readonly []; readonly sources: readonly ["https://kiro.dev/docs/cli/steering/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly directory: ".kiro/steering"; readonly kind: "rules-dir"; readonly files: readonly ["*.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kiro CLI custom agent configuration supports allowedTools, toolsSettings, and the hooks/MCP tools settings surfaces. The public docs do not define a single default AXM-writable permission grant target."; readonly docs: readonly []; readonly sources: readonly ["https://kiro.dev/docs/cli/custom-agents/configuration-reference/", "https://kiro.dev/docs/cli/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".kiro/agents/*.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.kiro/agents/*.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "allowedTools: [\"Read\", \"Write\", \"Bash\"]"; readonly notes: "Permission rules are embedded in custom agent configuration files."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Kiro CLI custom-agent permission grant writer."; }; }; } | { readonly id: "kode"; readonly name: "Kode"; readonly vendor: "shareAI-lab"; readonly homepage: "https://github.com/shareAI-lab/Kode-CLI"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".kode"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Kode CLI repository"; readonly url: "https://github.com/shareAI-lab/Kode-CLI"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/shareAI-lab/Kode-CLI"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".kode/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Kode connects to MCP servers via .mcp.json (mcpServers key) and .mcprc, managed with kode mcp add/list/get/remove; server tools are exposed as mcp____. Kode also supports a ws transport that is outside AXM's transport enum."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/shareAI-lab/Kode-CLI"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Native MCP config uses .mcp.json (mcpServers key), but the exact writer dialect is not documented; leaving the AXM MCP writer unbuilt pending an AXM product decision."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/shareAI-lab/Kode-CLI"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".kode/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/shareAI-lab/Kode-CLI"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/shareAI-lab/Kode-CLI"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["cli-flag"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--safe"; readonly note: "Enables permission checks instead of Kode's default YOLO mode."; }, { readonly flag: "--dangerously-skip-permissions"; readonly note: "Explicitly bypasses permission checks."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; } | { readonly id: "mcpjam"; readonly name: "MCPJam"; readonly vendor: "MCPJam"; readonly homepage: "https://www.mcpjam.com"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".mcpjam"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "MCPJam Inspector documentation"; readonly url: "https://docs.mcpjam.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.mcpjam.com/inspector/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".mcpjam/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "MCPJam Inspector loads MCP servers from a config file (mcpServers object) passed via `npx @mcpjam/inspector --config `, supporting stdio and remote (streamable-HTTP/SSE) transports. The config path is arbitrary with no fixed writable location."; readonly docs: readonly []; readonly sources: readonly ["https://docs.mcpjam.com/installation"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM does not manage MCPJam's inspector config file — the --config path is arbitrary with no stable writable project location."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "minimax-code"; readonly name: "MiniMax Code"; readonly vendor: "MiniMax"; readonly homepage: "https://agent.minimax.io/download"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "MiniMax Code"; readonly url: "https://github.com/MiniMax-AI/minimax-code"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "MiniMax advertises generated skills, but its vendor materials do not publish a stable SKILL.md directory or install contract AXM can target."; readonly docs: readonly []; readonly sources: readonly ["https://agent.minimax.io/download", "https://github.com/MiniMax-AI/minimax-code"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: "2026-08-05"; readonly writer: null; readonly reason: "No vendor-documented filesystem Skill location is available."; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "MiniMax publishes MCP servers and a hosted Agent product, but does not document a MiniMax Code client configuration file."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/MiniMax-AI/MiniMax-MCP"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "No vendor-documented MiniMax Code MCP client target is available."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "The product describes Agent teams, but vendor materials do not define a portable custom-subagent file format."; readonly docs: readonly []; readonly sources: readonly ["https://agent.minimax.io/download"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "No vendor-documented custom-subagent filesystem surface is available."; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "mistral-vibe"; readonly name: "Mistral Vibe"; readonly vendor: "Mistral AI"; readonly homepage: "https://docs.mistral.ai/vibe/code/overview"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: "mistral"; readonly rootDir: ".vibe"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Mistral Vibe documentation"; readonly url: "https://docs.mistral.ai/vibe/code/overview"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".vibe/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/mcp-servers"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Mistral Vibe stores MCP servers as repeated [[mcp_servers]] TOML array-of-table entries. AXM's generic MCP writer currently serializes keyed server maps and cannot represent that shape without corrupting the configuration."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/agents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".vibe/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Vibe executes TOML-configured hook commands with event data on standard input; pre-tool hooks can deny or modify tool input and hook output can inject context."; readonly docs: readonly []; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".vibe/hooks.toml"; readonly format: "toml"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.vibe/hooks.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "pre_tool"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "bash|read_file|write_file"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input", "inject-context"]; }]; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_tool"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "bash|read_file|write_file"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_agent"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/cli/agents"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Vibe supports per-tool always/ask policies and Bash allow/deny command rules in layered config files."; readonly docs: readonly []; readonly sources: readonly ["https://docs.mistral.ai/vibe/code/safety-approvals-permissions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".vibe/config.toml"; readonly format: "toml"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.vibe/config.toml"; readonly format: "toml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "[tools.bash]\npermission = \"ask\""; readonly notes: "Per-tool policy is always or ask; Bash rules additionally allow or deny command patterns."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "mux"; readonly name: "Mux"; readonly vendor: "Coder"; readonly homepage: "https://mux.coder.com"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".mux"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Mux documentation"; readonly url: "https://mux.coder.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://mux.coder.com/agents/agent-skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".mux/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Mux stores stdio command strings under the servers key in ~/.mux/mcp.jsonc, .mux/mcp.jsonc, and .mux/mcp.local.jsonc."; readonly docs: readonly []; readonly sources: readonly ["https://mux.coder.com/config/mcp-servers"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["stdio"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://mux.coder.com/agents"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".mux/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Mux executes raw tool_pre, tool_post, tool_env, and init scripts from .mux or ~/.mux. Input is provided through MUX_* environment variables; tool_pre can block with a non-zero exit."; readonly docs: readonly []; readonly sources: readonly ["https://mux.coder.com/hooks/tools.md", "https://mux.coder.com/hooks/init.md"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://mux.coder.com/agents/instruction-files"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "neovate"; readonly name: "Neovate"; readonly vendor: "Ant Group"; readonly homepage: "https://github.com/neovateai/neovate-code"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".neovate"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Neovate Code documentation"; readonly url: "https://github.com/neovateai/neovate-code"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Neovate loads directory-based skills (each subdirectory contains a SKILL.md with name+description frontmatter) from .neovate/skills (project) and ~/.neovate/skills (user)."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/neovateai/neovate-code/blob/master/src/skill.ts"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".neovate/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://github.com/neovateai/neovate-code/blob/master/src/mcp.ts", "https://github.com/neovateai/neovate-code/blob/master/src/config.ts", "https://github.com/neovateai/neovate-code/blob/master/src/commands/mcp.ts"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: { readonly name: "disable"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disable"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.neovate/config.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "project"; readonly path: ".neovate/config.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: "stdio"; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: "stdio"; }, null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "openclaw"; readonly name: "OpenClaw"; readonly vendor: "OpenClaw"; readonly homepage: "https://openclaw.ai"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "OpenClaw documentation"; readonly url: "https://docs.openclaw.ai"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.openclaw.ai/tools/skills", "https://github.com/openclaw/openclaw/blob/main/docs/tools/skills.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: "skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "opencode"; readonly name: "OpenCode"; readonly vendor: "Anomaly"; readonly homepage: "https://opencode.ai"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: null; readonly rootDir: ".opencode"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "OpenCode documentation"; readonly url: "https://opencode.ai/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://opencode.ai/docs/skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".opencode/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".claude/skills"; readonly status: "compat"; }, { readonly path: ".agents/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "OpenCode V2 stores server definitions beneath mcp.servers; the native configuration is valid but requires a nested-map writer."; readonly docs: readonly []; readonly sources: readonly ["https://opencode.ai/v2/docs/mcp-servers", "https://opencode.ai/v2/docs/config"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "OpenCode V2 nests MCP server definitions under mcp.servers. AXM's generic MCP writer currently supports only a single keyed server-map level and would write the obsolete shape."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://opencode.ai/docs/agents/"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".opencode/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "OpenCode exposes lifecycle hooks through in-process JavaScript/TypeScript plugins. AXM models the surface but does not serialize plugin hooks yet."; readonly docs: readonly []; readonly sources: readonly ["https://opencode.ai/docs/plugins/"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "OpenCode hooks are in-process JavaScript plugin exports, not declarative config; AXM's command-stdin serializer has no way to emit them."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "OpenCode reads AGENTS.md project rules, a global ~/.config/opencode/AGENTS.md, and Claude-compatible CLAUDE.md fallbacks. AXM can target the universal AGENTS.md project file."; readonly docs: readonly []; readonly sources: readonly ["https://opencode.ai/docs/rules/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://opencode.ai/docs/permissions/", "https://opencode.ai/docs/config/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.config/opencode/opencode.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: "opencode.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "axm *"; readonly notes: "Permission values are \"allow\", \"ask\", or \"deny\". Object rules are pattern matched, and the last matching rule wins."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "opencode.json"; readonly patch: { readonly permission: { readonly bash: { readonly "*": "ask"; readonly "${tool} *": "allow"; }; }; }; readonly template: null; }; readonly filesystem: { readonly target: "opencode.json"; readonly patch: { readonly permission: { readonly external_directory: { readonly "${workspaceRoot}/**": "allow"; }; readonly read: { readonly "${workspaceRoot}/**": "allow"; }; readonly edit: { readonly "${workspaceRoot}/**": "allow"; }; }; }; readonly template: null; }; }; }; }; }; } | { readonly id: "openhands"; readonly name: "OpenHands"; readonly vendor: "All Hands AI"; readonly homepage: "https://www.openhands.dev"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".openhands"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "OpenHands documentation"; readonly url: "https://docs.openhands.dev"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.openhands.dev/overview/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".openhands/skills"; readonly status: "deprecated"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "OpenHands stores MCP servers under mcpServers in ~/.openhands/mcp.json and manages them through the openhands mcp CLI."; readonly docs: readonly []; readonly sources: readonly ["https://docs.openhands.dev/sdk/guides/mcp", "https://docs.openhands.dev/openhands/usage/cli/mcp-servers"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented an OpenHands MCP writer."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "OpenHands lifecycle hooks are shell commands receiving JSON event payloads on stdin. Blocking events can deny with exit code 2 or a JSON decision; several events can inject additional context."; readonly docs: readonly []; readonly sources: readonly ["https://docs.openhands.dev/openhands/usage/customization/hooks"]; readonly scopes: readonly ["project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".openhands/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "literal-list"; readonly example: "terminal"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.openhands.dev/openhands/usage/customization/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "literal-list"; readonly example: "terminal"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.openhands.dev/openhands/usage/customization/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.openhands.dev/openhands/usage/customization/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.openhands.dev/openhands/usage/customization/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://docs.openhands.dev/openhands/usage/customization/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.openhands.dev/overview/skills"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "ona"; readonly name: "Ona"; readonly vendor: "Ona"; readonly homepage: "https://ona.com"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".ona"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".ona"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Ona Agent documentation"; readonly url: "https://ona.com/docs/ona/agents"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://ona.com/docs/ona/agents/skills"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".ona/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".claude/skills"; readonly status: "compat"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Ona reads repository MCP definitions from .ona/mcp-config.json and also offers organization-managed HTTP integrations."; readonly docs: readonly []; readonly sources: readonly ["https://ona.com/docs/ona/mcp"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented Ona's mcp-config.json dialect or hosted integration delivery."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://ona.com/docs/ona/agents/overview"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Ona administrators configure command and executable deny lists as organization guardrails; the vendor does not document a repository permission file."; readonly docs: readonly []; readonly sources: readonly ["https://ona.com/docs/ona/agents/overview"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Ona guardrails are managed through the organization administration surface."; }; }; } | { readonly id: "pi"; readonly name: "Pi"; readonly vendor: "Earendil Inc"; readonly homepage: "https://github.com/earendil-works/pi"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".pi"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Pi coding agent documentation"; readonly url: "https://pi.dev/docs"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Skills follow the Agent Skills SKILL.md standard and are invoked via /skill:name. Pi discovers them from .pi/skills and .agents/skills (project, searched up through parent directories) and ~/.pi/agent/skills and ~/.agents/skills (user).\n"; readonly docs: readonly []; readonly sources: readonly ["https://github.com/earendil-works/pi/blob/main/packages/coding-agent/README.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".pi/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Pi ships a deliberate \"no MCP\" core. Its built-in tools are read, bash, edit, write, grep, find, and ls; MCP can only be added by installing or building a TypeScript extension.\n"; readonly docs: readonly []; readonly sources: readonly ["https://github.com/earendil-works/pi/blob/main/packages/coding-agent/README.md"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "plugin"; readonly provider: "third-party"; readonly plugin: { readonly name: "pi-subagents"; readonly homepage: "https://github.com/nicobailon/pi-subagents"; readonly author: "nicobailon"; readonly distribution: { readonly mechanism: "agent-native"; readonly installHint: "pi install npm:pi-subagents"; readonly packageRef: "npm:pi-subagents"; }; readonly detection: { readonly paths: readonly [{ readonly scope: "user"; readonly path: "~/.pi/agent/agents/"; readonly kind: "dir"; }, { readonly scope: "project"; readonly path: ".pi/agents/"; readonly kind: "dir"; }, { readonly scope: "user"; readonly path: "~/.pi/agent/extensions/subagent/agents/"; readonly kind: "dir"; }]; readonly configKeys: readonly [{ readonly scope: "user"; readonly file: "~/.pi/agent/settings.json"; readonly key: "subagents"; }, { readonly scope: "project"; readonly file: ".pi/settings.json"; readonly key: "subagents"; }]; }; }; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Pi has no built-in subagent system by design, but the third-party pi-subagents plugin adds a subagent extension surface. AXM describes and may detect this plugin, but does not install, resolve, or manage it.\n"; readonly docs: readonly []; readonly sources: readonly ["https://github.com/earendil-works/pi/blob/main/packages/coding-agent/README.md", "https://github.com/nicobailon/pi-subagents"]; readonly scopes: readonly ["user", "project"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Pi extension hooks are in-process TypeScript extension points; this is the core Pi project, not the oh-my-pi fork. AXM models the surface but does not serialize Pi extension hooks yet."; readonly docs: readonly []; readonly sources: readonly ["https://github.com/earendil-works/pi/blob/main/packages/coding-agent/README.md"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented Pi extension hook writers."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "AGENTS.md and CLAUDE.md context load at startup from the global directory (~/.pi/agent), parent directories, and the current directory; all matching files are concatenated.\n"; readonly docs: readonly []; readonly sources: readonly ["https://github.com/earendil-works/pi/blob/main/packages/coding-agent/README.md"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Pi has no per-tool permission-grant surface. It does provide project trust through defaultProjectTrust in settings.json, ~/.pi/agent/trust.json, /trust, and --approve/--no-approve; that gate controls loading project-local resources rather than individual tool calls.\n"; readonly docs: readonly []; readonly sources: readonly ["https://pi.dev/docs/latest/settings"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "pochi"; readonly name: "Pochi"; readonly vendor: "TabbyML"; readonly homepage: "https://getpochi.com"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".pochi"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Pochi documentation"; readonly url: "https://docs.getpochi.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.getpochi.com/skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".pochi/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.getpochi.com/mcp/", "https://docs.getpochi.com/tutorials/secure-db-access-in-pochi/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcp"; readonly activationField: { readonly required: { readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }; readonly accepted: readonly [{ readonly name: "disabled"; readonly enabled: false; readonly disabled: true; }, null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".pochi/config.jsonc"; readonly format: "jsonc"; readonly attribution: "agent"; }, { readonly scope: "user"; readonly path: "~/.pochi/config.jsonc"; readonly format: "jsonc"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Pochi reads custom-instruction files at the workspace root: README.pochi.md (primary) and AGENTS.md (alternative, treated identically), plus ~/.pochi/README.pochi.md at user scope. AXM manages the universal AGENTS.md."; readonly docs: readonly []; readonly sources: readonly ["https://docs.getpochi.com/rules/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "qoder"; readonly name: "Qoder"; readonly vendor: "Alibaba Cloud"; readonly homepage: "https://qoder.com"; readonly interfaces: readonly ["cli", "ide-extension"]; readonly family: "alibaba"; readonly rootDir: ".qoder"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Qoder documentation"; readonly url: "https://docs.qoder.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.qoder.com/en/cli/Skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".qoder/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.qoder.com/user-guide/chat/model-context-protocol", "https://docs.qoder.com/cli/mcp-servers"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.qoder/settings.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "project"; readonly path: ".mcp.json"; readonly format: "json"; readonly attribution: "shared"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null, { readonly name: "type"; readonly value: "stdio"; }]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: { readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }; readonly accepted: readonly [{ readonly name: "type"; readonly value: { readonly "streamable-http": "http"; readonly sse: "sse"; }; }]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://docs.qoder.com/en/cli/subagent"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".qoder/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qoder CLI hooks run command hooks from settings files and use JSON on stdin/stdout. Native Qoder exposes additional events such as SessionEnd, PostToolUseFailure, SubagentStart, Notification, and PermissionRequest; this catalog maps the subset covered by AXM's canonical hook event registry."; readonly docs: readonly []; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.qoder/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".qoder/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".qoder/settings.local.json"; readonly format: "json"; readonly gitignored: true; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "regex"; readonly example: "startup|resume|compact"; readonly notes: "Qoder matcher values can be exact strings, pipe-separated values, or regex."; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "Write|Edit|Bash"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "Write|Edit|Bash"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "regex"; readonly example: "task"; readonly notes: "Matcher targets the agent type name."; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "manual|auto"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "Read"; readonly canonical: "file.read"; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Write"; readonly canonical: "file.write"; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Bash"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://docs.qoder.com/en/cli/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".qoder/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "seconds"; readonly commandNameSerialization: "omit"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.qoder.com/en/cli/command"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qoder permissions use allow/ask/deny rules in settings. User settings live under ~/.qoder/settings.json; project rules can live in .qoder/settings.json or .qoder/settings.local.json."; readonly docs: readonly []; readonly sources: readonly ["https://docs.qoder.com/en/cli/permissions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.qoder/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".qoder/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(axm:*)"; readonly notes: null; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--permission-mode"; readonly note: "Chooses the session permission mode."; }, { readonly flag: "--allowed-tools"; readonly note: "Allows specific tools or tool rules for a run."; }, { readonly flag: "--dangerously-skip-permissions"; readonly note: "Alias for --permission-mode bypass_permissions."; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: ".qoder/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Bash(${tool}:*)"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: ".qoder/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Read(${workspaceRoot}/**)", "Edit(${workspaceRoot}/**)", "Write(${workspaceRoot}/**)"]; }; }; readonly template: null; }; }; }; }; }; } | { readonly id: "qoder-cn"; readonly name: "Qoder CN CLI"; readonly vendor: "Alibaba Cloud"; readonly homepage: "https://help.aliyun.com/zh/lingma/qoder-cn-cli"; readonly interfaces: readonly ["cli"]; readonly family: "alibaba"; readonly rootDir: ".qoder"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".qoder"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "executable"; readonly name: "qoderclicn"; readonly signal: "definitive"; readonly note: null; }, { readonly kind: "dir"; readonly path: "~/.qoder-cn"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Qoder CN CLI documentation"; readonly url: "https://help.aliyun.com/zh/lingma/qoder-cn-cli"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/en/lingma/skills-3033419", "https://help.aliyun.com/zh/lingma/qoder-cn-cli"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".qoder/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qoder CN CLI stores user, local-project, and shared-project MCP definitions in distinct settings files."; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/zh/lingma/mcp-servers"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not verified the Qoder CN CLI dialect independently from global Qoder."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/en/lingma/subagent"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".qoder/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qoder CN CLI exposes command hooks, but AXM has not independently verified its complete event and serialization contract."; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/zh/lingma/qoder-cn-cli"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "The regional CLI hook dialect requires a separate vendor-doc verification before AXM writes it."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/zh/lingma/using-the-cli"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qoder CN CLI supports allow, ask, and deny rules plus session flags."; readonly docs: readonly []; readonly sources: readonly ["https://help.aliyun.com/zh/lingma/tools-3044418"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.qoder-cn/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".qoder/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "Bash(git status)"; readonly notes: null; }; readonly prerequisites: readonly []; readonly cliFlags: readonly [{ readonly flag: "--allowed-tools"; readonly note: "Pre-allow named tools or tool patterns for the session."; }, { readonly flag: "--disallowed-tools"; readonly note: "Deny named tools or tool patterns for the session."; }]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented regional Qoder permission settings."; }; }; } | { readonly id: "qwen-code"; readonly name: "Qwen Code"; readonly vendor: "Alibaba Cloud"; readonly homepage: "https://qwenlm.github.io/qwen-code-docs/"; readonly interfaces: readonly ["cli"]; readonly family: "alibaba"; readonly rootDir: ".qwen"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Qwen Code documentation"; readonly url: "https://qwenlm.github.io/qwen-code-docs/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".qwen/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/mcp/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.qwen/settings.json"; readonly format: "json"; readonly attribution: "agent"; }, { readonly scope: "project"; readonly path: ".qwen/settings.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "httpUrl"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/sub-agents/"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".qwen/agents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qwen Code hooks run command hooks from settings files and use JSON on stdin/stdout. Native Qwen Code also exposes HTTP hooks and additional events such as SessionEnd, PostToolUseFailure, SubagentStart, PostCompact, Notification, and PermissionRequest; this catalog maps the subset covered by AXM's canonical hook event registry."; readonly docs: readonly []; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.qwen/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".qwen/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "regex"; readonly example: "startup|resume|clear"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "UserPromptSubmit"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreToolUse"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "WriteFile|Edit|Bash"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny", "ask"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PostToolUse"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "regex"; readonly example: "WriteFile|Edit|Bash"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Stop"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "SubagentStop"; readonly canonical: "subagent.stop"; readonly matcher: { readonly kind: "regex"; readonly example: "Bash|Explorer"; readonly notes: "Matcher targets the subagent type."; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompact"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "regex"; readonly example: "manual|auto"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "modify"; readonly operations: readonly ["inject-context"]; }]; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/hooks/"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "ReadFile"; readonly canonical: "file.read"; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/developers/tools/file-system/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "WriteFile"; readonly canonical: "file.write"; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/developers/tools/file-system/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Edit"; readonly canonical: "file.edit"; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/developers/tools/file-system/"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "Bash"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/developers/tools/shell/"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "supported"; readonly writer: { readonly serializer: "command-stdin"; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".qwen/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly settingsKey: "hooks"; readonly eventMap: "native.events"; readonly matcherKind: "regex"; readonly matcherSerialization: "bare"; readonly timeoutSerialization: "milliseconds"; readonly commandNameSerialization: "manifest"; }; readonly lastVerified: "2026-08-05"; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qwen Code loads QWEN.md from the project root and ~/.qwen/QWEN.md, and also reads AGENTS.md when present. AXM targets the universal AGENTS.md convention for project rules."; readonly docs: readonly []; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/features/memory/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Qwen Code grades tool access through a Claude Code-style permissions block with allow/ask/deny rule arrays. The legacy tools.allowed and tools.exclude keys are deprecated and migrate into permissions on first load; tools.approvalMode still sets the coarse default mode."; readonly docs: readonly []; readonly sources: readonly ["https://qwenlm.github.io/qwen-code-docs/en/users/configuration/settings/", "https://qwenlm.github.io/qwen-code-docs/en/users/features/approval-mode/", "https://qwenlm.github.io/qwen-code-docs/en/developers/tools/shell/", "https://qwenlm.github.io/qwen-code-docs/en/users/features/mcp/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.qwen/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".qwen/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(axm *)"; readonly notes: "Tool(pattern) rules sorted into permissions.allow, permissions.ask, and permissions.deny; deny wins over ask over allow. Approval modes are plan/default/auto-edit/auto/yolo set by tools.approvalMode (Default is surfaced as 'Ask Permissions'; the value stays 'default').\n"; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "~/.qwen/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Bash(${tool} *)"]; }; }; readonly template: null; }; readonly filesystem: { readonly target: "~/.qwen/settings.json"; readonly patch: { readonly permissions: { readonly allow: readonly ["Read(${workspaceRoot}/**)", "Edit(${workspaceRoot}/**)"]; }; }; readonly template: null; }; }; }; }; }; } | { readonly id: "replit"; readonly name: "Replit"; readonly vendor: "Replit"; readonly homepage: "https://replit.com"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Replit Agent documentation"; readonly url: "https://docs.replit.com/replitai/agent"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.replit.com/core-concepts/agent/skills"]; readonly scopes: readonly ["project", "user"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Replit Agent MCP is UI-driven via the Integrations pane and 'Add to Replit' install-links, connecting only to remote HTTP servers (baseUrl + headers/OAuth). There is no AXM-writable MCP config file, so no writer dialect is modeled."; readonly docs: readonly []; readonly sources: readonly ["https://docs.replit.com/replitai/mcp/overview"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly transports: readonly ["http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Replit Agent MCP is UI-managed (Integrations pane / install-links) with no AXM-writable config file."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "roo"; readonly name: "Roo Code"; readonly vendor: "Roo Code"; readonly homepage: "https://roocode.com"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".roo"; readonly lifecycle: { readonly state: "retired"; readonly since: "2026-05-15"; readonly note: "Roo Code shut down its VS Code extension, Cloud, and Router on 2026-05-15 (final release v3.54.0); the RooCodeInc/Roo-Code repo is archived and read-only. The former team pivoted to a separate cloud-agent product, Roomote."; readonly supersededBy: null; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Roo Code documentation"; readonly url: "https://docs.roocode.com"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "removed"; readonly since: "2026-05-15"; readonly note: "Roo Code was archived on 2026-05-15; the surface is frozen and read-only."; readonly supersededByType: null; }; readonly notes: "Roo Code supports Roo-specific .roo/skills and cross-agent .agents/skills locations, including mode-specific skill directories."; readonly docs: readonly []; readonly sources: readonly ["https://docs.roocode.com/features/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".roo/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "removed"; readonly since: "2026-05-15"; readonly note: "Roo Code was archived on 2026-05-15; the surface is frozen and read-only."; readonly supersededByType: null; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://roocodeinc.github.io/Roo-Code/features/mcp/using-mcp-in-roo"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "The current AXM Roo Code service returns MCP add/remove as unsupported."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "removed"; readonly since: "2026-05-15"; readonly note: "Roo Code was archived on 2026-05-15; the surface is frozen and read-only."; readonly supersededByType: null; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://docs.roocode.com/features/custom-modes"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".roomodes"; readonly layout: "file"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "removed"; readonly since: "2026-05-15"; readonly note: "Roo Code was archived on 2026-05-15; the surface is frozen and read-only."; readonly supersededByType: null; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "removed"; readonly since: "2026-05-15"; readonly note: "Roo Code was archived on 2026-05-15; the surface is frozen and read-only."; readonly supersededByType: null; }; readonly notes: "Uses a vendor rule directory under the AGENTS.md-governed rule umbrella; Roo also loads AGENTS.md when agent rules are enabled."; readonly docs: readonly []; readonly sources: readonly ["https://roocodeinc.github.io/Roo-Code/features/custom-instructions"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly files: readonly ["*.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; readonly directory: ".roo/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "removed"; readonly since: "2026-05-15"; readonly note: "Roo Code was archived on 2026-05-15; the surface is frozen and read-only."; readonly supersededByType: null; }; readonly notes: "Roo Code exposes auto-approval controls through the extension settings UI, including read, write, command, MCP, browser, and mode-switch approvals. The docs do not describe a stable AXM-writable permission config file for these controls."; readonly docs: readonly []; readonly sources: readonly ["https://docs.roocode.com/features/auto-approving-actions"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly [{ readonly key: "Auto-Approve Settings"; readonly value: "enabled per operation"; readonly scope: "user"; readonly note: "Configure in Roo Code's Auto-Approve Settings panel."; }]; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented Roo Code permission grant writing."; }; }; } | { readonly id: "rovodev"; readonly name: "Rovo Dev"; readonly vendor: "Atlassian"; readonly homepage: "https://www.atlassian.com/software/rovo-dev"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".rovodev"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".rovodev"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.rovodev"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Rovo Dev CLI skills"; readonly url: "https://support.atlassian.com/rovo/docs/extend-rovo-dev-cli-with-agent-skills/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Rovo Dev also reads universal .agents/skills in both project and user scopes.\n"; readonly docs: readonly []; readonly sources: readonly ["https://support.atlassian.com/rovo/docs/extend-rovo-dev-cli-with-agent-skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".rovodev/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Rovo Dev supports local and remote MCP server configuration."; readonly docs: readonly []; readonly sources: readonly ["https://support.atlassian.com/rovo/docs/connect-to-an-mcp-server-in-rovo-dev-cli/", "https://support.atlassian.com/bitbucket-cloud/docs/rovo-dev-advanced-agentic-configuration/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: true; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "No industry spec for subagents yet; AXM bridges to the agent's native layout."; readonly docs: readonly []; readonly sources: readonly ["https://support.atlassian.com/rovo/docs/use-subagents-in-rovo-dev-cli/"]; readonly scopes: readonly ["user", "project"]; readonly directory: ".rovodev/subagents"; readonly layout: "directory"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Rovo Dev exposes event hooks including tool-permission, response-finished, and error events; the public surface is recorded without an AXM serializer model."; readonly docs: readonly []; readonly sources: readonly ["https://www.atlassian.com/blog/developer/streamline-rovo-dev-cli-with-event-hooks"]; readonly scopes: readonly ["user", "project"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Rovo Dev reads hierarchical AGENTS.md memory files."; readonly docs: readonly []; readonly sources: readonly ["https://support.atlassian.com/rovo/docs/use-memory-in-rovo-dev-cli/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Rovo Dev toolPermissions rules select allow, ask, or deny behavior by tool call."; readonly docs: readonly []; readonly sources: readonly ["https://support.atlassian.com/rovo/docs/manage-rovo-dev-cli-settings/"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file", "cli-flag"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.rovodev/config.yml"; readonly format: "yaml"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".rovodev/config.yml"; readonly format: "yaml"; readonly gitignored: false; }]; readonly grammar: { readonly style: "tool-call"; readonly example: "Bash(git status)"; readonly notes: "Rules choose allow, ask, or deny, with a configurable default."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "tabnine-cli"; readonly name: "Tabnine CLI"; readonly vendor: "Tabnine"; readonly homepage: "https://www.tabnine.com/platform-cli/"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: ".tabnine"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".tabnine"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.tabnine"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Tabnine CLI"; readonly url: "https://www.tabnine.com/platform-cli/"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/agent-skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".tabnine/agent/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Tabnine MCP servers are configured in .tabnine/mcp_servers.json and ~/.tabnine/mcp_servers.json."; readonly docs: readonly []; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-agent/mcp-intro-and-setup"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Tabnine hooks execute synchronously from layered agent settings and can observe, block, or modify selected lifecycle operations."; readonly docs: readonly []; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".tabnine/agent/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.tabnine/agent/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "SessionStart"; readonly canonical: "session.start"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "BeforeAgent"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "AfterAgent"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "BeforeTool"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "literal-list"; readonly example: "shell,read,write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }, { readonly kind: "modify"; readonly operations: readonly ["modify-input"]; }]; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "AfterTool"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "literal-list"; readonly example: "shell,read,write"; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "PreCompress"; readonly canonical: "compaction.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Tabnine reads guidelines.md files under .tabnine/guidelines and can override the context filename through settings."; readonly docs: readonly []; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-agent/guidelines"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "parity"; readonly convention: "vendor"; readonly kind: "own-file"; readonly directory: ".tabnine/guidelines"; readonly files: readonly ["guidelines.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Tabnine settings define allowed and excluded tools plus persistent-approval and policy-path controls."; readonly docs: readonly []; readonly sources: readonly ["https://docs.tabnine.com/main/getting-started/tabnine-cli/features/settings/settings-reference"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["config-file"]; readonly configFiles: readonly [{ readonly scope: "project"; readonly path: ".tabnine/agent/settings.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "user"; readonly path: "~/.tabnine/agent/settings.json"; readonly format: "json"; readonly gitignored: false; }]; readonly grammar: { readonly style: "glob"; readonly example: "tools.allowed: [\"shell\"]"; readonly notes: "Allowed and excluded tool lists combine with security and policy-path settings."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "trae-cn"; readonly name: "Trae CN"; readonly vendor: "ByteDance"; readonly homepage: "https://www.trae.cn"; readonly interfaces: readonly ["ide-extension"]; readonly family: "bytedance"; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Trae CN documentation"; readonly url: "https://docs.trae.cn"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.trae.cn/ide/skills"]; readonly scopes: readonly ["project", "user"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".trae/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.trae.cn/ide_add-mcp-servers"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".trae/mcp.json"; readonly format: "json"; readonly attribution: "shared"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Uses a vendor rule directory under the AGENTS.md-governed rule umbrella."; readonly docs: readonly []; readonly sources: readonly ["https://docs.trae.cn/ide/rules"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly files: readonly ["*.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; readonly directory: ".trae/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "trae"; readonly name: "Trae"; readonly vendor: "ByteDance"; readonly homepage: "https://www.trae.ai"; readonly interfaces: readonly ["ide-extension"]; readonly family: "bytedance"; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Trae documentation"; readonly url: "https://docs.trae.ai"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://www.trae.ai/blog/trae_tutorial_0115"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".trae/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.trae.ai/ide/model-context-protocol"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "project"; readonly path: ".trae/mcp.json"; readonly format: "json"; readonly attribution: "shared"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "url"; readonly sse: "url"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Trae combines global user rules with project and nested .trae/rules directories for module-specific instructions."; readonly docs: readonly []; readonly sources: readonly ["https://docs.trae.ai/ide/rules"]; readonly scopes: readonly ["project", "user"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly files: readonly ["*.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; readonly directory: ".trae/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "warp"; readonly name: "Warp"; readonly vendor: "Warp"; readonly homepage: "https://www.warp.dev"; readonly interfaces: readonly ["cli"]; readonly family: null; readonly rootDir: null; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.warp"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Warp documentation"; readonly url: "https://docs.warp.dev"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.warp.dev/agent-platform/capabilities/skills/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Warp stores project MCP servers in .warp/.mcp.json and user servers in ~/.warp/.mcp.json under mcpServers."; readonly docs: readonly []; readonly sources: readonly ["https://docs.warp.dev/agent-platform/capabilities/mcp/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "sse", "http"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Warp discovers hierarchical AGENTS.md project rules and exposes user-level rules through Warp Drive."; readonly docs: readonly []; readonly sources: readonly ["https://docs.warp.dev/agent-platform/capabilities/rules/"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Warp Agent Profiles configure autonomy per action and regular-expression command allowlists and denylists; deny rules take precedence."; readonly docs: readonly []; readonly sources: readonly ["https://docs.warp.dev/agent-platform/capabilities/agent-profiles-permissions/"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: { readonly style: "regex"; readonly example: "ls(\\s.*)?"; readonly notes: "Command allowlist and denylist entries are regular expressions configured in Settings."; }; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "windsurf"; readonly name: "Devin Desktop (Windsurf)"; readonly vendor: "Cognition"; readonly homepage: "https://devin.ai/desktop"; readonly interfaces: readonly ["ide-extension"]; readonly family: "cognition"; readonly rootDir: ".windsurf"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Devin Desktop documentation"; readonly url: "https://docs.devin.ai/desktop"; }, { readonly label: "Windsurf is now Devin Desktop"; readonly url: "https://devin.ai/blog/windsurf-is-now-devin-desktop"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Devin Desktop reads SKILL.md skills from .windsurf/skills (project) and ~/.codeium/windsurf/skills (user) with progressive disclosure. It also discovers universal .agents/skills paths. The built-in Cascade agent reached end-of-life 2026-07-01 and is being replaced by Devin Local; the .windsurf/* and ~/.codeium/windsurf/* config surfaces persist under Devin Local.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly directory: ".windsurf/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/mcp"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http", "sse"]; readonly mcpEnvExpansion: { readonly variables: "braced"; readonly defaults: false; }; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly config: { readonly serversKey: "mcpServers"; readonly activationField: { readonly required: null; readonly accepted: readonly [null]; }; readonly targets: readonly [{ readonly scope: "user"; readonly path: "~/.codeium/windsurf/mcp_config.json"; readonly format: "json"; readonly attribution: "agent"; }]; readonly stdio: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly command: "split"; readonly envKey: "env"; }; readonly remote: { readonly typeField: { readonly required: null; readonly accepted: readonly [null]; }; readonly urlKey: { readonly "streamable-http": "serverUrl"; }; readonly headersKey: "headers"; }; }; }; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cascade exposes only built-in and internal subagents plus multi-agent sessions; no user-authorable custom subagent extension type is documented.\n"; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/agents-md"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Devin Desktop/Cascade hooks are direct per-event command arrays in hooks.json. AXM's generic hook writer emits grouped command-stdin hooks and cannot serialize this shape yet."; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["command-stdin"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "~/.codeium/windsurf/hooks.json"; readonly format: "json"; readonly gitignored: false; }, { readonly scope: "project"; readonly path: ".windsurf/hooks.json"; readonly format: "json"; readonly gitignored: false; }]; readonly events: readonly [{ readonly nativeName: "pre_read_code"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_read_code"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "pre_write_code"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_write_code"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "pre_run_command"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_run_command"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "pre_mcp_tool_use"; readonly canonical: "tool.pre"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_mcp_tool_use"; readonly canonical: "tool.post"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "pre_user_prompt"; readonly canonical: "prompt.submit"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }, { readonly kind: "block"; readonly outcomes: readonly ["allow", "deny"]; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_cascade_response"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "post_cascade_response_with_transcript"; readonly canonical: "turn.end"; readonly matcher: { readonly kind: "none-imperative"; readonly example: null; readonly notes: null; }; readonly decision: readonly [{ readonly kind: "observe"; }]; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }]; readonly tools: readonly [{ readonly nativeName: "read_code"; readonly canonical: "file.read"; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "write_code"; readonly canonical: "file.write"; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "run_command"; readonly canonical: "shell.exec"; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }, { readonly nativeName: "mcp_tool_use"; readonly canonical: "mcp.call"; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/hooks"]; readonly lastVerified: "2026-08-05"; }]; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; readonly reason: "AXM has not implemented a Devin Desktop/Cascade hooks writer."; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/desktop/cascade/agents-md"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".devin/rules"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.devin.ai/desktop/terminal", "https://docs.devin.ai/desktop/cascade"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["config-file", "ui-only"]; readonly configFiles: readonly [{ readonly scope: "user"; readonly path: "VS Code settings (Settings UI)"; readonly format: "vscode-settings"; readonly gitignored: false; }]; readonly grammar: { readonly style: "prefix"; readonly example: "axm"; readonly notes: "windsurf.cascadeCommandsAllowList is prefix-matched. Workspace-scoped override for these keys is not documented; configure at user scope. Teams/Enterprise can merge in lists via the Admin Portal.\n"; }; readonly prerequisites: readonly [{ readonly key: "Cascade auto-execution level"; readonly value: "allowlist_only | turbo"; readonly scope: "user"; readonly note: "Disabled and Auto modes ignore allowlist entries; set via the Windsurf Settings panel."; }]; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: { readonly grants: { readonly shell: { readonly target: "VS Code settings"; readonly patch: { readonly "windsurf.cascadeCommandsAllowList": readonly ["${tool}"]; }; readonly template: null; }; }; }; }; }; } | { readonly id: "zencoder"; readonly name: "Zencoder"; readonly vendor: "Zencoder"; readonly homepage: "https://zencoder.ai"; readonly interfaces: readonly ["ide-extension", "cli"]; readonly family: null; readonly rootDir: ".zencoder"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Zencoder documentation"; readonly url: "https://docs.zencoder.ai"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/llms-full.txt"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".zencoder/skills"; readonly status: "deprecated"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/llms-full.txt"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly transports: readonly ["stdio", "http"]; readonly mcpEnvExpansion: { readonly variables: "none"; readonly defaults: false; }; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM cannot yet model the dotted zencoder.mcpServers VS Code settings key, and the previous standalone .zencoder/mcp.json target was not vendor-documented."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zencoder custom agents are created, selected, and shared through its UI; the current catalog schema cannot represent that native UI-only surface as a subagent install target."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/llms-full.txt"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has no delivery path for Zencoder's UI-managed custom agents."; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Uses a vendor rule directory under the AGENTS.md-governed rule umbrella."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/llms-full.txt"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "partial"; readonly convention: "vendor"; readonly kind: "rules-dir"; readonly files: readonly ["*.md"]; readonly nestedDiscovery: false; readonly importSyntax: null; readonly directory: ".zencoder/rules"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zencoder added MCP tool permission prompts in April 2026. The docs describe user-visible MCP permission control, not a stable AXM-writable permission file."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/llms-full.txt"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Zencoder permission grant writer."; }; }; } | { readonly id: "zed"; readonly name: "Zed"; readonly vendor: "Zed Industries"; readonly homepage: "https://zed.dev"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".zed"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".zed"; readonly signal: "supporting"; readonly note: null; }]; }; readonly user: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: "~/.config/zed"; readonly signal: "definitive"; readonly note: null; }]; }; }; readonly docs: readonly [{ readonly label: "Zed Agent documentation"; readonly url: "https://zed.dev/docs/ai/zed-agent"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Because Zed's project Skill directory is .agents/skills, --agent universal already wrote to the correct location; this entry adds Zed-specific detection and naming."; readonly docs: readonly []; readonly sources: readonly ["https://zed.dev/docs/ai/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zed configures context servers in settings; AXM has not modeled the Zed settings dialect."; readonly docs: readonly []; readonly sources: readonly ["https://zed.dev/docs/ai/mcp"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "vendor"; readonly transports: readonly ["stdio", "http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented a Zed settings writer for context servers."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly ["https://zed.dev/docs/ai/instructions"]; readonly scopes: readonly ["project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly kind: "agents-md"; readonly files: readonly ["AGENTS.md"]; readonly nestedDiscovery: true; readonly importSyntax: null; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zed exposes tool permissions through agent settings and prompts; AXM does not model that settings surface."; readonly docs: readonly []; readonly sources: readonly ["https://zed.dev/docs/ai/tool-permissions"]; readonly scopes: readonly ["user", "project"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "AXM has not implemented Zed tool-permission settings."; }; }; } | { readonly id: "zenflow"; readonly name: "Zenflow"; readonly vendor: "Zencoder"; readonly homepage: "https://zencoder.ai/zenflow"; readonly interfaces: readonly ["ide-extension"]; readonly family: null; readonly rootDir: ".zenflow"; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly [{ readonly kind: "dir"; readonly path: ".zenflow"; readonly signal: "definitive"; readonly note: null; }]; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Zenflow documentation"; readonly url: "https://docs.zencoder.ai/zenflow/task-types"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Because Zenflow's project Skill directory is .agents/skills, --agent universal already wrote to the correct location; this entry adds Zenflow-specific detection and naming."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/features/skills"]; readonly scopes: readonly ["user", "project"]; readonly standardsCompliance: "full"; readonly convention: "universal"; readonly directory: ".agents/skills"; readonly additionalReadPaths: readonly [{ readonly path: ".claude/skills"; readonly status: "compat"; }, { readonly path: ".zencoder/skills"; readonly status: "deprecated"; }]; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zenflow exposes hosted MCP integrations and a built-in MCP server, but vendor docs do not publish a repository MCP client file AXM can write."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/zenflow/integrations"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "Zenflow MCP integrations are managed through the product UI."; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zenflow can orchestrate subagents, but presets and workflow comments are not a portable custom-subagent directory."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/zenflow/multi-agent-orchestration"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; readonly reason: "No vendor-documented custom-subagent filesystem target is available."; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Zenflow runs supported underlying agents in worktrees; instruction-file behavior belongs to the selected agent rather than a Zenflow-specific rule format."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/clis/overview"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Execution mode, approval policy, and tool permissions are configured on Zenflow agent presets rather than a documented repository file."; readonly docs: readonly []; readonly sources: readonly ["https://docs.zencoder.ai/zenflow/multi-agent-orchestration"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "chatgpt"; readonly name: "ChatGPT"; readonly vendor: "OpenAI"; readonly homepage: "https://chatgpt.com"; readonly interfaces: readonly ["chat", "hosted-agent"]; readonly family: "openai"; readonly rootDir: null; readonly installTarget: { readonly kind: "hosted"; readonly delivery: readonly ["upload"]; readonly artifact: "directory"; readonly instructions: "Run axm lint to validate the skill directory, then choose Plugins > Skills > Create > Upload from your computer in ChatGPT."; readonly docs: "https://help.openai.com/en/articles/20001066-skills-in-chatgpt"; }; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Skills in ChatGPT"; readonly url: "https://help.openai.com/en/articles/20001066-skills-in-chatgpt"; }, { readonly label: "Developer mode and MCP apps in ChatGPT"; readonly url: "https://help.openai.com/en/articles/12584461-developer-mode-and-full-mcp-connectors-in-chatgpt-beta"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Personal Skills use the Agent Skills open standard and are uploaded separately on desktop and web/mobile. Plan and administrator controls apply."; readonly docs: readonly []; readonly sources: readonly ["https://help.openai.com/en/articles/20001066-skills-in-chatgpt"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "ChatGPT developer mode accepts remote MCP servers for custom apps; plan, role, and administrator controls apply."; readonly docs: readonly []; readonly sources: readonly ["https://help.openai.com/en/articles/12584461-developer-mode-and-full-mcp-connectors-in-chatgpt-beta"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; readonly transports: readonly ["http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly reason: "ChatGPT connector setup is hosted and UI-mediated."; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "ChatGPT app action permissions and confirmations are managed in the hosted UI."; readonly docs: readonly []; readonly sources: readonly ["https://help.openai.com/en/articles/12584461-developer-mode-and-full-mcp-connectors-in-chatgpt-beta"]; readonly scopes: readonly ["user"]; readonly mechanism: readonly ["ui-only"]; readonly configFiles: readonly []; readonly grammar: null; readonly prerequisites: readonly []; readonly cliFlags: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "claude-ai"; readonly name: "Claude.ai"; readonly vendor: "Anthropic"; readonly homepage: "https://claude.ai"; readonly interfaces: readonly ["chat"]; readonly family: "claude"; readonly rootDir: null; readonly installTarget: { readonly kind: "hosted"; readonly delivery: readonly ["upload", "directory"]; readonly artifact: "zip"; readonly instructions: "Run axm lint to validate the skill, package its folder as a ZIP, then use Customize > Skills > Create skill > Upload a skill in Claude."; readonly docs: "https://support.claude.com/en/articles/12512180-use-skills-in-claude"; }; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Use skills in Claude"; readonly url: "https://support.claude.com/en/articles/12512180-use-skills-in-claude"; }, { readonly label: "Remote MCP custom connectors"; readonly url: "https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Claude accepts custom skill folders packaged as ZIP files. Account, organization, and code-execution controls apply; enabled skills are shared with Cowork."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/12512180-use-skills-in-claude"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Claude accepts publicly reachable remote MCP servers as custom connectors."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; readonly transports: readonly ["http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly reason: "Claude connector setup is hosted and UI-mediated."; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Plugin subagents run in Cowork, not in Claude chat."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/13837440-use-plugins-in-claude"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Plugin hooks run in Cowork, not in Claude chat."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/13837440-use-plugins-in-claude"]; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "cowork"; readonly name: "Claude Cowork"; readonly vendor: "Anthropic"; readonly homepage: "https://claude.ai"; readonly interfaces: readonly ["hosted-agent"]; readonly family: "claude"; readonly rootDir: null; readonly installTarget: { readonly kind: "hosted"; readonly delivery: readonly ["upload", "directory"]; readonly artifact: "zip"; readonly instructions: "Run axm lint to validate the skill, package its folder as a ZIP, then use Customize > Skills in Cowork to upload it or install a shared skill from the directory."; readonly docs: "https://support.claude.com/en/articles/12512180-use-skills-in-claude"; }; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Use skills in Claude"; readonly url: "https://support.claude.com/en/articles/12512180-use-skills-in-claude"; }, { readonly label: "Use plugins in Claude"; readonly url: "https://support.claude.com/en/articles/13837440-use-plugins-in-claude"; }, { readonly label: "Remote MCP custom connectors"; readonly url: "https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cowork uses the Claude account's custom and shared skills, which are uploaded as ZIP-packaged skill folders or installed from an organization directory."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/12512180-use-skills-in-claude"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Cowork uses Claude account connectors backed by publicly reachable remote MCP servers."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/11175166-get-started-with-custom-connectors-using-remote-mcp"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; readonly transports: readonly ["http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly reason: "Cowork connector setup is hosted and UI-mediated."; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "plugin"; readonly provider: "first-party"; readonly plugin: { readonly name: "Claude plugins"; readonly homepage: "https://support.claude.com/en/articles/13837440-use-plugins-in-claude"; readonly author: "Anthropic"; readonly distribution: { readonly mechanism: "agent-native"; readonly installHint: "Install or upload the plugin from Customize > Plugins in Cowork."; readonly packageRef: null; }; readonly detection: null; }; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Claude plugins can bundle subagents, which run only in Cowork."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/13837440-use-plugins-in-claude"]; readonly scopes: readonly ["user"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly reason: "Cowork plugin installation is hosted and UI-mediated."; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "plugin"; readonly provider: "first-party"; readonly plugin: { readonly name: "Claude plugins"; readonly homepage: "https://support.claude.com/en/articles/13837440-use-plugins-in-claude"; readonly author: "Anthropic"; readonly distribution: { readonly mechanism: "agent-native"; readonly installHint: "Install or upload the plugin from Customize > Plugins in Cowork."; readonly packageRef: null; }; readonly detection: null; }; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Claude plugin hooks run only in Cowork; event mechanics are not cataloged yet."; readonly docs: readonly []; readonly sources: readonly ["https://support.claude.com/en/articles/13837440-use-plugins-in-claude"]; readonly scopes: readonly ["user"]; readonly modeling: "native-unmodeled"; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly reason: "Cowork plugin hooks have no AXM writer."; readonly writer: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; } | { readonly id: "gemini-app"; readonly name: "Gemini app"; readonly vendor: "Google"; readonly homepage: "https://gemini.google.com"; readonly interfaces: readonly ["chat", "hosted-agent"]; readonly family: "gemini"; readonly rootDir: null; readonly installTarget: { readonly kind: "hosted"; readonly delivery: readonly ["upload"]; readonly artifact: "skill-file-or-zip"; readonly instructions: "Run axm lint to validate the skill, then in Gemini Spark choose Skills > Upload and select its SKILL.md file or a ZIP with SKILL.md at the root."; readonly docs: "https://support.google.com/gemini/answer/17094296?hl=en"; }; readonly lifecycle: { readonly state: "active"; }; readonly detection: { readonly project: { readonly markers: readonly []; }; readonly user: { readonly markers: readonly []; }; }; readonly docs: readonly [{ readonly label: "Create and manage skills for Gemini Apps"; readonly url: "https://support.google.com/gemini/answer/17094296?hl=en"; }, { readonly label: "Connected Apps in Gemini"; readonly url: "https://support.google.com/gemini/answer/13695044?co=GENIE.Platform%3DDesktop&hl=en"; }]; readonly capabilities: { readonly skill: { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Gemini Spark accepts a SKILL.md file or a ZIP with SKILL.md at its root. Subscription, region, language, and surface restrictions apply."; readonly docs: readonly []; readonly sources: readonly ["https://support.google.com/gemini/answer/17094296?hl=en"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; }; readonly axm: { readonly status: "supported"; readonly lastVerified: "2026-08-05"; readonly writer: null; }; }; readonly "mcp-server": { readonly native: { readonly availability: { readonly via: "native"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: "Gemini Spark accepts remote MCP server URLs as custom Connected Apps; Spark eligibility restrictions apply."; readonly docs: readonly []; readonly sources: readonly ["https://support.google.com/gemini/answer/13695044?co=GENIE.Platform%3DDesktop&hl=en"]; readonly scopes: readonly ["user"]; readonly standardsCompliance: "full"; readonly convention: "hosted"; readonly transports: readonly ["http"]; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly reason: "Gemini Connected App setup is hosted and UI-mediated."; readonly writer: null; }; }; readonly subagent: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly hook: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly writer: null; readonly lastVerified: null; }; }; }; readonly instructions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; readonly permissions: { readonly native: { readonly availability: { readonly via: "none"; }; readonly vendorStatus: { readonly state: "active"; }; readonly notes: null; readonly docs: readonly []; readonly sources: readonly []; }; readonly axm: { readonly status: "unsupported"; readonly lastVerified: null; readonly writer: null; }; }; })[]; //# sourceMappingURL=catalog.d.ts.map