From 78bcf451374111657f8accfdba9f8d62147a4e9f Mon Sep 17 00:00:00 2001 From: Aner Zakobar Date: Sun, 7 Jun 2026 23:00:47 +0300 Subject: [PATCH] backup: 2026-06-07 23:00 --- azos.org | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/azos.org b/azos.org index 26afe19..4d679f6 100644 --- a/azos.org +++ b/azos.org @@ -51,6 +51,13 @@ azos.claude-skills.enable = lib.mkDefault true; - Generated text: =home.file."path".text = "...";= - Runtime scripts (e.g. merging JSON): =home.activation. = lib.hm.dag.entryAfter ["writeBoundary"] ''...'';= +** Claude Code integration + +Three azos-core features wire up Claude Code: +- =claude-memory= — registers org-roam-mcp as a global MCP server in =~/.claude.json= +- =claude-skills= — deploys skills to =~/.claude/commands/= and content to =~/.claude/CLAUDE.md= +- =claude= (=azos/features=) — installs claude-code, auto-enables the above two + * Conventions - azos-core features belong to the submodule; machine-specific features live in the outer repo @@ -58,6 +65,10 @@ azos.claude-skills.enable = lib.mkDefault true; - Emacs config is literate org: =azos-core/features/editor/emacs/config.org= - Emacs base config: =azos-core/features/base/emacs/config.org= - agent-shell defaults to Claude Code on lauretta via =(setq agent-shell-preferred-agent-config 'claude-code)= in =features/lauretta/emacs/config.org=; this symbol skips agent selection entirely (no prompt) +- Rebuild command: =azos-lauretta-update= +- Format: =nix fmt= +- Packages in overlay: =pkgs.= via =config.flake.overlayPkgs.= +- Unstable packages: =pkgs.unstable.= * Gotchas @@ -65,6 +76,10 @@ azos.claude-skills.enable = lib.mkDefault true; - Nix flakes only evaluate git-tracked files; new files must be staged (=git add=) before =nix build= will see them - =import-tree= auto-discovers features but only sees tracked files — same constraint - The machine name is =lauretta=; machine config is at =_machines/lauretta.nix= +- org-roam-mcp is forked at =anerisgreat/org-roam-mcp= (not upstream =aserranoni/org-roam-mcp=); fork fixes: =create_node= writes directly to SQLite so new nodes are immediately searchable (no emacsclient needed), and =cli_main= is defined natively (no postPatch needed) +- emacsql stores all Emacs strings in SQLite with surrounding ="..."= — the Python DB layer strips these with =_clean_path=/_clean_string= +- org-roam timestamps in SQLite are Emacs =(HIGH LOW USEC PSEC)= tuples: =HIGH = secs >> 16=, =LOW = secs & 0xFFFF= +- =postPatch= in Nix derivations: alejandra reformats the indentation of multiline strings, which can change the effective shell script content * Key Files @@ -74,6 +89,7 @@ azos.claude-skills.enable = lib.mkDefault true; | =azos-core/features/claude-skills/default.nix= | global skills + CLAUDE.md deployment | | =azos-core/features/claude-skills/skills/todo.md= | per-project TODO management skill | | =azos-core/features/claude-skills/skills/project-brain.md= | org-roam second brain skill | +| =azos-core/features/claude-skills/README.md= | skills extensibility docs | | =azos/features/claude/default.nix= | installs claude-code, enables claude-memory + claude-skills | | =azos/home-manager/home.nix= | home-manager entry point, imports all modules | | =azos-core/features/editor/emacs/config.org= | literate Emacs config (org-roam at line ~452) | @@ -87,3 +103,7 @@ azos.claude-skills.enable = lib.mkDefault true; - Database: =~/.emacs.d/org-roam.db= (sqlite-builtin connector) - MCP server: =org-roam-mcp= registered in =~/.claude.json= via home-manager activation - org-agenda now includes =~/roam/= so TODOs in roam files appear in agenda + +* Subnodes + +(none yet)