refactor(#2012): docs in own derivation, ship via claude --add-dir (no ~/.claude clobber)

This commit is contained in:
damocles 2026-06-28 23:53:26 +02:00 committed by mara
commit 362d392993
7 changed files with 123 additions and 67 deletions

View file

@ -12,28 +12,25 @@
# Output layout:
# $out/share/hyperhive/branding/{hyperhive,agent-configs}.{svg,png}
# $out/share/hyperhive/prompts/{system.md, claude-settings.json}
# $out/share/hyperhive/docs/ — the repo docs/ tree
#
# The repo docs/ tree is a SEPARATE derivation (nix/reference-docs.nix)
# so agents can consume the docs without the branding+prompt assets and
# the website repo can reuse it — see that file.
stdenv.mkDerivation {
pname = "hyperhive-assets";
version = "0.1.0";
# Narrow `srcs` (branding/ + hive-ag3nt/prompts/ + docs/) is what
# decouples this derivation's input hash from the rest of the tree.
# Including docs/ surfaces the reference docs in-container at
# `$HIVE_ASSETS_DIR/docs/` (no host mount, pulled from the nix store);
# a docs/ edit re-hashes this asset, the accepted tradeoff for shipping
# the docs declaratively.
# Narrow `srcs` (branding/ + hive-ag3nt/prompts/) is what decouples
# this derivation's input hash from the rest of the tree.
srcs = [
../branding
../hive-ag3nt/prompts
../docs
];
unpackPhase = ''
runHook preUnpack
cp -r ${../branding} branding
cp -r ${../hive-ag3nt/prompts} prompts
cp -r ${../docs} docs
chmod -R u+w branding prompts docs
chmod -R u+w branding prompts
runHook postUnpack
'';
@ -54,7 +51,6 @@ stdenv.mkDerivation {
mkdir -p $out/share/hyperhive
cp -r branding $out/share/hyperhive/branding
cp -r prompts $out/share/hyperhive/prompts
cp -r docs $out/share/hyperhive/docs
runHook postInstall
'';
@ -62,7 +58,7 @@ stdenv.mkDerivation {
dontFixup = true;
meta = {
description = "hyperhive static assets (branding + claude prompts + docs)";
description = "hyperhive static assets (branding + claude prompts)";
homepage = "https://forge.darkest.space/hyperhive/hyperhive";
license = lib.licenses.mit;
};