{"_id":"@dantelabs/hermes-souls","_rev":"2-7e3d99ef216c0a70fe8f9b26d72608bd","name":"@dantelabs/hermes-souls","dist-tags":{"latest":"0.1.1"},"versions":{"0.1.0":{"name":"@dantelabs/hermes-souls","version":"0.1.0","keywords":["hermes","souls","soul.md","agent","persona"],"author":{"name":"Dante Labs","email":"dante@dante-labs.com"},"license":"Apache-2.0","_id":"@dantelabs/hermes-souls@0.1.0","maintainers":[{"name":"datapod","email":"datapod.k@gmail.com"}],"homepage":"https://hermes.dante-labs.com","bugs":{"url":"https://github.com/dandacompany/hermes-souls/issues"},"bin":{"hermes-souls":"bin/hermes-souls.js"},"dist":{"shasum":"b187266d2c56e410b735811a16b1e8a2438c6d04","tarball":"https://registry.npmjs.org/@dantelabs/hermes-souls/-/hermes-souls-0.1.0.tgz","fileCount":7,"integrity":"sha512-HeWjOoxtVJNz4YgXgJHxKhgfMgLEWYg9Buu5jVW0itFQfIlI3zVcuGqQUnjCqbrWy35ZeUSnMkBFc1/DAXm/Bg==","signatures":[{"sig":"MEYCIQDq0yEKgSHD4cXdFSpfCMilVwi0uzI7ar/u+n9oSq0NWwIhAOUgzPqEy3NT8KW/AhSQCsGz8yjllUDfY9VlkhPiAhxJ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56673},"type":"module","gitHead":"909c64cc52a5e995cae287af40d18562ef974217","scripts":{"dev":"vite --host 127.0.0.1","test":"node scripts/validate-registry.mjs && node scripts/test-cli.mjs","build":"tsc && vite build","check":"tsc --noEmit","deploy":"npm run build && wrangler pages deploy dist --project-name hermes-souls","preview":"vite preview --host 127.0.0.1","pack:dry":"npm pack --dry-run","pages:dev":"wrangler pages dev dist --compatibility-date=2026-06-02"},"_npmUser":{"name":"datapod","email":"datapod.k@gmail.com"},"repository":{"url":"git+https://github.com/dandacompany/hermes-souls.git","type":"git"},"_npmVersion":"11.7.0","description":"Hermes persona soul registry and installer CLI.","directories":{},"_nodeVersion":"25.4.0","dependencies":{},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"vite":"^7.1.0","react":"^19.1.1","wrangler":"^4.96.0","react-dom":"^19.1.1","typescript":"^5.9.3","@types/node":"^24.3.0","@types/react":"^19.1.12","lucide-react":"^0.542.0","@types/react-dom":"^19.1.9","@vitejs/plugin-react":"^4.6.0"},"_npmOperationalInternal":{"tmp":"tmp/hermes-souls_0.1.0_1780388413658_0.502188872438095","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@dantelabs/hermes-souls","version":"0.1.1","description":"Hermes persona soul registry and installer CLI.","type":"module","bin":{"hermes-souls":"bin/hermes-souls.js"},"homepage":"https://hermes.dante-labs.com","repository":{"type":"git","url":"git+https://github.com/dandacompany/hermes-souls.git"},"publishConfig":{"access":"public"},"scripts":{"dev":"vite --host 127.0.0.1","build":"tsc && vite build","preview":"vite preview --host 127.0.0.1","check":"tsc --noEmit","test":"node scripts/validate-registry.mjs && node scripts/test-cli.mjs","pages:dev":"wrangler pages dev dist --compatibility-date=2026-06-02","deploy":"npm run build && wrangler pages deploy dist --project-name hermes-souls","pack:dry":"npm pack --dry-run"},"keywords":["hermes","souls","soul.md","agent","persona"],"author":{"name":"Dante Labs","email":"dante@dante-labs.com"},"license":"Apache-2.0","dependencies":{},"devDependencies":{"@vitejs/plugin-react":"^4.6.0","@types/node":"^24.3.0","@types/react":"^19.1.12","@types/react-dom":"^19.1.9","lucide-react":"^0.542.0","react":"^19.1.1","react-dom":"^19.1.1","typescript":"^5.9.3","vite":"^7.1.0","wrangler":"^4.96.0"},"gitHead":"996712938b9daed236e78d3913164bc3f5bddf9b","_id":"@dantelabs/hermes-souls@0.1.1","bugs":{"url":"https://github.com/dandacompany/hermes-souls/issues"},"_nodeVersion":"25.4.0","_npmVersion":"11.7.0","dist":{"integrity":"sha512-llXK9XYCdVG1OtPnA+DzP9qC37pb8qdm4Y6jrO4/QQ9h7AdkvOn79/ZOPvDavybjVwOVa3zVQajitX31/AF9iA==","shasum":"79d8c6a34e10d2429ffe5a59a9b6cf94e5281e1b","tarball":"https://registry.npmjs.org/@dantelabs/hermes-souls/-/hermes-souls-0.1.1.tgz","fileCount":7,"unpackedSize":57078,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDulR1q0mKRmJ/AJN7QgUplYi+zD7CVDcL643PErdYhYAIhAPutY12w9aiI/Y0uyvFPJbunLajZSUeEU6c/mMMr6FFv"}]},"_npmUser":{"name":"datapod","email":"datapod.k@gmail.com"},"directories":{},"maintainers":[{"name":"datapod","email":"datapod.k@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/hermes-souls_0.1.1_1780388947285_0.546234837314904"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-02T08:20:13.507Z","modified":"2026-06-02T08:29:07.541Z","0.1.0":"2026-06-02T08:20:13.788Z","0.1.1":"2026-06-02T08:29:07.410Z"},"bugs":{"url":"https://github.com/dandacompany/hermes-souls/issues"},"author":{"name":"Dante Labs","email":"dante@dante-labs.com"},"license":"Apache-2.0","homepage":"https://hermes.dante-labs.com","keywords":["hermes","souls","soul.md","agent","persona"],"repository":{"type":"git","url":"git+https://github.com/dandacompany/hermes-souls.git"},"description":"Hermes persona soul registry and installer CLI.","maintainers":[{"name":"datapod","email":"datapod.k@gmail.com"}],"readme":"# Hermes Souls\n\nHermes Souls is a small registry and installer for Hermes-specific `SOUL.md`\npersona packages and convention packs.\n\nReference model:\n\n- Gallery of installable persona packages.\n- Each package ships `soul.json`, `SOUL.md`, `IDENTITY.md`, `STYLE.md`, and\n  `AGENTS.md`.\n- Convention packs ship `convention.json`, `CONVENTION.md`, and `AGENTS.md`.\n- CLI install is designed for `npx @dantelabs/hermes-souls install owner/name`.\n- Cloudflare Pages hosts the static registry. Pages Functions expose a small API.\n\n## Local Development\n\n```bash\nnpm install\nnpm run dev\n```\n\n## Build\n\n```bash\nnpm run build\n```\n\n## CLI\n\n```bash\nnpx @dantelabs/hermes-souls list\nnpx @dantelabs/hermes-souls search coding\nnpx @dantelabs/hermes-souls show hermes/surgical-engineer\nnpx @dantelabs/hermes-souls install hermes/surgical-engineer\nnpx @dantelabs/hermes-souls conventions\nnpx @dantelabs/hermes-souls install-convention hermes/secret-hygiene\nnpx @dantelabs/hermes-souls bundles\nnpx @dantelabs/hermes-souls install-bundle hermes/starter --use hermes\nnpx @dantelabs/hermes-souls doctor\nnpx @dantelabs/hermes-souls version\n```\n\nBy default the CLI writes to `~/.hermes/souls/<name>/`. Override it with:\n\n```bash\nnpx @dantelabs/hermes-souls install hermes/surgical-engineer --workspace ./souls\n```\n\nActivate a soul for Hermes:\n\n```bash\nnpx @dantelabs/hermes-souls use hermes/surgical-engineer\n```\n\nThis writes the full package to `~/.hermes/souls/<name>/`, then merges\n`IDENTITY.md`, `SOUL.md`, and `STYLE.md` into `~/.hermes/SOUL.md`. Existing\n`SOUL.md` files are backed up before overwrite.\n\nEquivalent install-and-activate form:\n\n```bash\nnpx @dantelabs/hermes-souls install hermes/ops-guardian --use hermes\n```\n\nHermes can also read project-level `AGENTS.md`, but this CLI does not overwrite\nproject instructions by default. To write the selected soul's workflow rules to\nthe current directory:\n\n```bash\nnpx @dantelabs/hermes-souls use hermes/ops-guardian --write-agents\n```\n\nUse a custom Hermes home:\n\n```bash\nHERMES_HOME=/custom/hermes npx @dantelabs/hermes-souls use hermes/doc-editor\n```\n\nUse a remote registry instead of the package-bundled data:\n\n```bash\nnpx @dantelabs/hermes-souls list --registry https://hermes.dante-labs.com\nnpx @dantelabs/hermes-souls install surgical-engineer --registry https://hermes.dante-labs.com\nnpx @dantelabs/hermes-souls doctor --registry https://hermes.dante-labs.com\n```\n\nYou can also set `HERMES_SOULS_REGISTRY=https://hermes.dante-labs.com`.\n\nInstall a convention pack:\n\n```bash\nnpx @dantelabs/hermes-souls show-convention hermes/cli-baseline\nnpx @dantelabs/hermes-souls install-convention hermes/cli-baseline\nnpx @dantelabs/hermes-souls install-convention hermes/request-routing\n```\n\nBy default convention packs write to `~/.hermes/conventions/<name>/`. Passing\n`--write-agents` writes the convention's project-level `AGENTS.md` into the\ncurrent directory after backing up any existing file.\n\nInstall a curated bundle:\n\n```bash\nnpx @dantelabs/hermes-souls show-bundle hermes/starter\nnpx @dantelabs/hermes-souls install-bundle hermes/starter --use hermes\n```\n\nBundles install one soul under `~/.hermes/souls/<name>/` and the selected\nconventions under `~/.hermes/conventions/<name>/`.\n\n## Registry API\n\nCloudflare Pages Functions expose:\n\n```bash\nGET /api\nGET /api/health\nGET /api/schema\nGET /api/souls\nGET /api/souls/:owner/:name\nGET /api/souls/:owner/:name/SOUL.md\nGET /api/souls/:owner/:name/IDENTITY.md\nGET /api/souls/:owner/:name/STYLE.md\nGET /api/souls/:owner/:name/AGENTS.md\nGET /api/conventions\nGET /api/conventions/:owner/:name\nGET /api/conventions/:owner/:name/CONVENTION.md\nGET /api/conventions/:owner/:name/AGENTS.md\nGET /api/bundles\nGET /api/bundles/:owner/:name\n```\n\nThe list endpoint returns compact metadata. The detail endpoint returns the\nfull package, including `SOUL.md`, `IDENTITY.md`, `STYLE.md`, and `AGENTS.md`\nbody text.\n\n## Cloudflare Pages\n\nThe project is prepared for Cloudflare Pages:\n\n- Build command: `npm run build`\n- Output directory: `dist`\n- Functions directory: `functions`\n- Suggested custom domain: `hermes.dante-labs.com`\n\nIf the Cloudflare token lacks Pages permissions, connect the Git repository in\nthe Cloudflare dashboard, then use this project configuration.\n\nLocal Pages runtime:\n\n```bash\nnpm run build\nnpm run pages:dev\n```\n\nDirect deploy when the token has Pages permission:\n\n```bash\nnpm run deploy\n```\n\n## Reference Research\n\nMigration notes are in `docs/research/clawsouls-reference.md`.\n\nThe current implementation follows these reference ideas:\n\n- Soul packages are portable markdown plus `soul.json` metadata.\n- `SOUL.md`, `IDENTITY.md`, `STYLE.md`, and `AGENTS.md` have distinct jobs.\n- Hermes activation maps the merged persona into `~/.hermes/SOUL.md`.\n- `AGENTS.md` is project-level and therefore opt-in for overwrites.\n\n## Verification\n\n```bash\nnpm run check\nnpm run test\nnpm run build\nnpm run pack:dry\n```\n","readmeFilename":"README.md"}