diff --git a/AGENTS.md b/AGENTS.md index e8686fd..560c640 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -215,17 +215,21 @@ specialisation = { > cd azos-core && git add suites/// > ``` -## Claude Integration +## Agent Memory/Skills Integration -Claude Code is integrated with this environment via several azos-core features: +Memory (org-roam) and skills (slash commands/CLAUDE.md) are backend-pluggable, not +Claude-specific, even though Claude is currently the only skills backend and one of two +memory backends: | Feature | Option | What it does | |---------|--------|--------------| -| `azos-core/suites/base/claude-memory` | `azos.claude-memory.enable` | Registers org-roam-mcp as a global MCP server in `~/.claude.json` | -| `azos-core/suites/base/claude-skills` | `azos.claude-skills.enable` | Deploys skills to `~/.claude/commands/` and content to `~/.claude/CLAUDE.md` | -| `azos/features/claude` | `azos.claude.enable` | Installs claude-code, auto-enables the above two | +| `azos-core/suites/base/agent-memory` | `azos.agent-memory.backends.claude.enable` | Registers org-roam-mcp as a global MCP server in `~/.claude.json`; hooks resync org-roam's index on edit and inject project context at session start | +| `azos-core/suites/base/agent-memory` | `azos.agent-memory.backends.agent-shell.enable` | Registers org-roam-mcp via `agent-shell-mcp-servers` and resyncs on `file-write` events — applies regardless of which ACP backend (Claude, Gemini CLI, Codex, ...) a given agent-shell session runs. Also marks Claude sessions agent-shell launches (`AZOS_AGENT_SHELL_SESSION=1`) so the claude backend's own hooks no-op for those sessions instead of double-acting | +| `azos-core/suites/base/agent-skills` | `azos.agent-skills.backends.claude.enable` | Deploys skills to `~/.claude/commands/` and content to `~/.claude/CLAUDE.md` | +| `azos/features/claude` | `azos.claude.enable` | Installs claude-code, auto-enables the claude backend for both of the above | +| `azos-core/suites/editor/emacs` | (bundled, not a separate option) | Installs agent-shell, auto-enables `azos.agent-memory.backends.agent-shell.enable` | -Both claude-memory and claude-skills register `config.flake.modules.homeManager.base` +Both agent-memory and agent-skills register `config.flake.modules.homeManager.base` (they live inside the `base` suite, since that's where agent-shell is introduced) — not standalone module names, so no separate `suiteModules.homeManager.*` import is needed for them in `home-manager/home.nix`. @@ -239,7 +243,9 @@ azos.claude.globalMdSections.my-rule = '' Always do X when Y. ''; ``` -See `azos-core/suites/base/claude-skills/README.md` for full documentation. +`globalSkills`/`globalMdSections` stay Claude-specific (`~/.claude/commands/`, +`~/.claude/CLAUDE.md`) deliberately — no other backend has a uniform equivalent yet. See +`azos-core/suites/base/agent-skills/README.md` for full documentation. ## Key Files diff --git a/azos-core b/azos-core index 2a011bb..b821f58 160000 --- a/azos-core +++ b/azos-core @@ -1 +1 @@ -Subproject commit 2a011bbb35d07d36afdbc2813f856e252a794f9a +Subproject commit b821f588e882aeea82f3e92318ca8c56dfbf2f2e diff --git a/features/claude/default.nix b/features/claude/default.nix index a0c74fa..3d861e0 100644 --- a/features/claude/default.nix +++ b/features/claude/default.nix @@ -11,8 +11,8 @@ }; config = lib.mkIf config.azos.claude.enable { home.packages = with pkgs; [claude-code claude-agent-acp]; - azos.claude-memory.enable = lib.mkDefault true; - azos.claude-skills.enable = lib.mkDefault true; + azos.agent-memory.backends.claude.enable = lib.mkDefault true; + azos.agent-skills.backends.claude.enable = lib.mkDefault true; }; }; }