{"_id":"@arkaik01/journeymen","_rev":"4-6313b7f17d757114c2c8813ae203bb20","name":"@arkaik01/journeymen","dist-tags":{"latest":"0.4.0"},"versions":{"0.1.0":{"name":"@arkaik01/journeymen","version":"0.1.0","keywords":["opencode","agents","skills","project-scope","bootstrap"],"author":{"name":"Arkaik01"},"license":"UNLICENSED","_id":"@arkaik01/journeymen@0.1.0","maintainers":[{"name":"arkaik01","email":"forsotuck@gmail.com"}],"bin":{"journeymen":"bin/journeymen.mjs"},"dist":{"shasum":"762a9c97492929ac44db64957a64047905a65d9c","tarball":"https://registry.npmjs.org/@arkaik01/journeymen/-/journeymen-0.1.0.tgz","fileCount":4,"integrity":"sha512-CUUeMrv8Qye7tyXCTZpO1aieefvRNwAnABWsjqxMRUlFCchccrb2S9QspCXaXYgab9ClKxuYZ7EOKr1BZDC7HQ==","signatures":[{"sig":"MEUCIEKYQ1tuLKieE3YaRHs+xn4CN/1is5L4NpPasUjt2Yv1AiEA8W32yOMQiyqBjboAmBOSptNSggYffVTsAm6EP+L6IYg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":14417},"type":"module","engines":{"node":">=20"},"gitHead":"69fbe7498f2036c6a62fe032911be33b6cb38ff3","scripts":{"test":"node --test tests/npm-cli.test.mjs && powershell.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File tests/smoke.ps1","prepack":"npm test"},"_npmUser":{"name":"arkaik01","email":"forsotuck@gmail.com"},"_npmVersion":"11.16.0","description":"Bootstrap and operate a private, project-scoped OpenCode agent catalog.","directories":{},"_nodeVersion":"24.18.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/journeymen_0.1.0_1784896497244_0.0753876029939875","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@arkaik01/journeymen","version":"0.2.0","keywords":["opencode","agents","skills","project-scope","bootstrap"],"author":{"name":"Arkaik01"},"license":"UNLICENSED","_id":"@arkaik01/journeymen@0.2.0","maintainers":[{"name":"arkaik01","email":"forsotuck@gmail.com"}],"bin":{"journeymen":"bin/journeymen.mjs"},"dist":{"shasum":"a6a4a4f56ab1e5340fa3797aee266c914dd005c1","tarball":"https://registry.npmjs.org/@arkaik01/journeymen/-/journeymen-0.2.0.tgz","fileCount":6,"integrity":"sha512-3Fti6wMkH2lLAoPj928QiiONATDXYxKiL+s53ypYNLQt1RRe3qqZAPych5v2Sc29vdUSxFBYsB2WBxQ+FqAqow==","signatures":[{"sig":"MEQCIEV2S7GCClrptODC+VyjBib7udbvCypnO1s8Iv8EkfvAAiAwJ1ScohWVNwgo8O9FXTgBzAFEeLtHNS8rAl0ZOnE7og==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":34394},"type":"module","engines":{"node":">=20.17.0"},"gitHead":"bbb0371dbb166b3f71d59c91cd52028e1d3e9e1f","scripts":{"test":"node --test tests/npm-cli.test.mjs tests/workspace.test.mjs && powershell.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File tests/smoke.ps1","prepack":"npm test"},"_npmUser":{"name":"arkaik01","email":"forsotuck@gmail.com"},"_npmVersion":"11.16.0","description":"Bootstrap and operate a private, project-scoped OpenCode agent catalog.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@inquirer/prompts":"8.5.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/journeymen_0.2.0_1784898749908_0.17417087387024432","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@arkaik01/journeymen","version":"0.3.0","keywords":["opencode","agents","skills","project-scope","bootstrap"],"author":{"name":"Arkaik01"},"license":"UNLICENSED","_id":"@arkaik01/journeymen@0.3.0","maintainers":[{"name":"arkaik01","email":"forsotuck@gmail.com"}],"bin":{"journeymen":"bin/journeymen.mjs"},"dist":{"shasum":"b7ee92213f40b063cf660fea87581bdf66061a31","tarball":"https://registry.npmjs.org/@arkaik01/journeymen/-/journeymen-0.3.0.tgz","fileCount":6,"integrity":"sha512-U5wGT9kRA4zu5S2I9GH6JSLPIzalvq14PONPk30Rl3++W8P8frc5/IKNZrSACSThDjU5UAVurF3eyZXceAEmqw==","signatures":[{"sig":"MEQCIBVbAJoHdWLxeMh/pSP9RSLBHp3lAhSqIswvW8Ls3qmcAiBdvJs6QdFZzAcTZbzLuZrwh9x6qjLkXUBleMG7BzUBpA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":37003},"type":"module","engines":{"node":">=20.17.0"},"gitHead":"ac7a4e04d5b98ef810280dc20394acdbe7a0512a","scripts":{"test":"node --test tests/npm-cli.test.mjs tests/workspace.test.mjs && powershell.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File tests/smoke.ps1","prepack":"npm test"},"_npmUser":{"name":"arkaik01","email":"forsotuck@gmail.com"},"_npmVersion":"11.16.0","description":"Bootstrap and operate a private, project-scoped OpenCode agent catalog.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@inquirer/prompts":"8.5.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/journeymen_0.3.0_1784901810926_0.46044276276077056","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@arkaik01/journeymen","version":"0.4.0","description":"Bootstrap and operate a private, project-scoped OpenCode agent catalog.","type":"module","bin":{"journeymen":"bin/journeymen.mjs"},"dependencies":{"@inquirer/prompts":"8.5.2"},"scripts":{"test":"node --test tests/npm-cli.test.mjs tests/workspace.test.mjs && powershell.exe -NoLogo -NoProfile -ExecutionPolicy Bypass -File tests/smoke.ps1","prepack":"npm test"},"engines":{"node":">=20.17.0"},"keywords":["opencode","agents","skills","project-scope","bootstrap"],"author":{"name":"Arkaik01"},"license":"UNLICENSED","publishConfig":{"access":"public"},"gitHead":"727917f9d91bcbeb2520dd5b7581c337c2c291c2","_id":"@arkaik01/journeymen@0.4.0","_nodeVersion":"24.18.0","_npmVersion":"11.16.0","dist":{"integrity":"sha512-rjXqjMgwbk2Q1ISYoscRhffC8O4hlYFqooIxhNXbnGQ7LU3r4ymYbFJklmmkG3BKEl45p75jviiP7b9ppj6blw==","shasum":"476c52186adebac6525afc6206227f182f3e81d1","tarball":"https://registry.npmjs.org/@arkaik01/journeymen/-/journeymen-0.4.0.tgz","fileCount":6,"unpackedSize":38894,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCMkiQTvXuOR5g8CQPUBvhSt7FxDg+kLXIbp6GkrHJzcgIgZBpSsBPdspYy/8hZd0IZS8qC3WJbAejE9WheaL+rF1c="}]},"_npmUser":{"name":"arkaik01","email":"forsotuck@gmail.com"},"directories":{},"maintainers":[{"name":"arkaik01","email":"forsotuck@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/journeymen_0.4.0_1784910564543_0.27278418278575556"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-24T12:34:57.075Z","modified":"2026-07-24T16:29:24.838Z","0.1.0":"2026-07-24T12:34:57.390Z","0.2.0":"2026-07-24T13:12:30.045Z","0.3.0":"2026-07-24T14:03:31.056Z","0.4.0":"2026-07-24T16:29:24.692Z"},"author":{"name":"Arkaik01"},"license":"UNLICENSED","keywords":["opencode","agents","skills","project-scope","bootstrap"],"description":"Bootstrap and operate a private, project-scoped OpenCode agent catalog.","maintainers":[{"name":"arkaik01","email":"forsotuck@gmail.com"}],"readme":"# Journeymen\n\nJourneymen is a portable catalog of OpenCode agents and skills. It keeps the\nsource collection in Git while placing only selected specialists into a\nrepository's `.opencode` directory.\n\nThe catalog includes dependency-aware bundles. Installing `reeve`, for example,\nalso installs its implementation, verification, review, Git, and ledger support.\n\n## Fresh Installation\n\nAuthenticate GitHub CLI, then run one bootstrap command:\n\n```powershell\ngh auth login\nnpx --yes @arkaik01/journeymen@latest init\n```\n\nThe bootstrap:\n\n- installs the `journeymen` command globally;\n- clones the private `Arkaik01/journeymen` catalog under\n  `~/.local/share/journeymen`;\n- installs the management skill under OpenCode's default global skill directory;\n- leaves catalogued agents and project skills out of global scope.\n\nRestart OpenCode after initialization.\n\n## Interactive Management\n\nFrom a project, run:\n\n```powershell\njourneymen\n```\n\nJourneymen opens a checkbox picker. Checked bundles are the desired project\nstate. Check a bundle to install it, uncheck one to uninstall it, then press\nEnter to review and confirm the changes.\n\nThe picker is divided into **Primate Skills** (`ape`, `cavescribe`, `monkey`)\nand the **Guildhall**. Selectable bundles that contain another bundle appear\nfirst, with their selectable prerequisites nested beneath them, so each bundle\nand its supporting agents appear only once. Scribe includes and invokes Reeve;\nScrivener is standalone and only produces a Reeve-ready handoff. Supporting\nagents remain indented, non-selectable lines with a short role description.\n\nManaged state is recorded in:\n\n```text\n.opencode/journeymen.json\n.opencode/journeymen.lock.json\n```\n\nThe manifest records selected bundles. The lock records files and hashes owned\nby Journeymen. Uninstall keeps dependencies shared by another checked bundle and\nrefuses to delete a managed file that has been modified locally.\n\n## Automation\n\nSet the exact desired bundle state without opening the picker:\n\n```powershell\njourneymen set --workspace C:\\src\\my-project --bundle reeve,testing-audit\n```\n\nRemove all managed bundles:\n\n```powershell\njourneymen set --workspace C:\\src\\my-project --clear\n```\n\nReapply a committed manifest after cloning a project or updating the catalog:\n\n```powershell\njourneymen sync --workspace C:\\src\\my-project\n```\n\nInspect managed state:\n\n```powershell\njourneymen status --workspace C:\\src\\my-project\n```\n\n## Catalog Commands\n\nList catalog contents:\n\n```powershell\njourneymen list\njourneymen list --kind bundle\n```\n\nCapture the declared global agents and skills into this clone:\n\n```powershell\njourneymen grab\n```\n\n`grab` reads `~/.config/opencode` by default and never deletes the originals.\nUse `--source-config` for another config root and `--force` when intentionally\nrefreshing existing catalog files.\n\nThe original copy-only command remains available for explicit or legacy use:\n\n```powershell\njourneymen place --workspace C:\\src\\my-project --bundle reeve\n```\n\nPlace several bundles or explicit items:\n\n```powershell\njourneymen place --workspace C:\\src\\my-project --bundle ape,testing-audit\njourneymen place --workspace C:\\src\\my-project --agent disputant --skill testing-audit\n```\n\nExisting destination files are protected. Inspect the collision and rerun with\n`--force` only when replacement is intended. `--what-if` is supported by `grab`\nand `place`. Files installed through `place` are not owned until the interactive\nmanager selects a matching bundle; identical files are then adopted safely.\n\nUpdate the private clone and refresh the management skill:\n\n```powershell\nnpm install --global @arkaik01/journeymen@latest\njourneymen update\n```\n\nThe explicit npm command upgrades installations older than `0.3.0`. Starting\nwith `0.3.0`, `journeymen update` also refreshes the global CLI automatically.\n\n## Publishing\n\nRun `./publish-journeymen.ps1` from PowerShell with a short-lived granular npm\ntoken that can publish the package and bypass 2FA. The script prompts without\nechoing the token, uses a temporary npm configuration, and removes both the\nconfiguration and process environment variable when publishing finishes.\n\n## Previewing Versions\n\nPreview the current working tree without installing or publishing it:\n\n```powershell\n./preview-journeymen.ps1\n```\n\nUse `./preview-journeymen.ps1 -List` to see versions available in Git history,\nor pass one explicitly, such as `./preview-journeymen.ps1 -Version 0.3.0`.\nHistorical previews use a temporary source checkout and disposable workspace;\nboth are removed when the picker exits. Pass `-Workspace <path>` only when an\nexisting project's selected state should be shown.\n\n## Placement Map\n\n| Catalog kind | Project destination |\n| --- | --- |\n| Agent | `.opencode/agent/<name>.md` |\n| Skill | `.opencode/skills/<name>/` |\n| Command | `.opencode/commands/<name>.md` |\n| Tool | `.opencode/tools/<name>.ts` |\n\nRestart OpenCode after placing or changing project configuration.\n\nProject-local definitions override definitions with the same names, but unrelated\nglobal agents remain discoverable until their global files are removed or moved\noutside OpenCode's discovery directories. Journeymen deliberately does not make\nthat destructive change.\n\n## Skill\n\nThe bootstrap installs `skill/journeymen/SKILL.md` into OpenCode's default global\nskill directory. No `opencode.json` edit is required. This management skill is\nglobal, but catalogued project skills remain local to repositories that select\nthem.\n\n## Bootstrap Package Boundary\n\nThe public npm package's executable source contains only `bin/` and `lib/`, plus\nthe automatically included `README.md` and `package.json`. Agents, skills,\ncommands, tools, and the catalog manifest remain exclusively in the private\nGitHub repository. GitHub CLI supplies authentication when the bootstrap clones\nit.\n\n## Catalog Maintenance\n\n`catalog.json` is the allowlist and dependency manifest. `grab` copies only\ndeclared content. Supporting commands and tools are included where an agent or\nskill depends on them, but they are installed only through matching bundles or\nexplicit selection.\n","readmeFilename":"README.md"}