{"_id":"@auron-labs/harness-detect","_rev":"2-beac733d7e01a8f2b1c781c2497bbccf","name":"@auron-labs/harness-detect","dist-tags":{"latest":"0.2.1"},"versions":{"0.2.0":{"name":"@auron-labs/harness-detect","version":"0.2.0","keywords":["llm","agent","harness","codex","claude","gemini"],"license":"MIT","_id":"@auron-labs/harness-detect@0.2.0","maintainers":[{"name":"aflorey","email":"aaron@buckhamduffy.com"}],"bugs":{"url":"https://github.com/auron/harness-detect/issues"},"dist":{"shasum":"7b1667b6fcdb455f5b14a4327c16a6f0ab43db04","tarball":"https://registry.npmjs.org/@auron-labs/harness-detect/-/harness-detect-0.2.0.tgz","fileCount":6,"integrity":"sha512-IrHfw8a25jpcEuDN1qyuklZfi+R6QfDkpcjHNivhkN1TpeE+mXhmmRIv3fbkLG4U0Ny4ExEFI28b0GIEFirBHg==","signatures":[{"sig":"MEUCICUsNSjO3GO7L3dglCpHbHrJRaJfd3Db4xHPJjUphq1hAiEAyhDoBA5DB8LL1JSRbanxylO5QKC0PylzYgdyOLFqIPA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":431650},"main":"./src/index.js","type":"module","types":"./index.d.ts","shasum":"7b1667b6fcdb455f5b14a4327c16a6f0ab43db04","engines":{"node":">=18"},"exports":{".":{"types":"./index.d.ts","default":"./src/index.js"},"./data":"./data/harnesses.json"},"scripts":{"perf":"node scripts/perf-smoke.js","test":"bun test","prepack":"bun run registry:sync","preinstall":"bunx only-allow bun","types:check":"tsc --noEmit -p tsconfig.types.json","parity:check":"node ../../scripts/check-package-parity.mjs","registry:sync":"node ../../scripts/sync-registry.mjs","registry:check":"node ../../scripts/sync-registry.mjs --check","smoke:fixtures":"docker run --rm -v \"$PWD:/repo\" -w /repo oven/bun:1.3 bun run smoke:fixtures:local","smoke:fixtures:local":"bun scripts/smoke-fixtures.js"},"_npmUser":{"name":"aflorey","email":"aaron@buckhamduffy.com"},"_integrity":"sha512-IrHfw8a25jpcEuDN1qyuklZfi+R6QfDkpcjHNivhkN1TpeE+mXhmmRIv3fbkLG4U0Ny4ExEFI28b0GIEFirBHg==","repository":{"url":"https://github.com/auron/harness-detect.git","type":"git"},"_npmVersion":"10.8.3","description":"Detect installed LLM harnesses and their config/state locations.","directories":{},"_nodeVersion":"24.3.0","_hasShrinkwrap":false,"packageManager":"bun@1.3.14","devDependencies":{"automd":"0.4.3","typescript":"^5.9.2"},"_npmOperationalInternal":{"tmp":"tmp/harness-detect_0.2.0_1784164662815_0.8693934764946638","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@auron-labs/harness-detect","version":"0.2.1","description":"Detect installed LLM harnesses and their config/state locations.","repository":{"type":"git","url":"https://github.com/auron-labs/harness-detect.git"},"bugs":{"url":"https://github.com/auron-labs/harness-detect/issues"},"type":"module","main":"./src/index.js","types":"./index.d.ts","packageManager":"bun@1.3.14","exports":{".":{"types":"./index.d.ts","default":"./src/index.js"},"./data":"./data/harnesses.json"},"engines":{"node":">=18"},"scripts":{"parity:check":"node ../../scripts/check-package-parity.mjs","perf":"node scripts/perf-smoke.js","registry:check":"node ../../scripts/sync-registry.mjs --check","registry:sync":"node ../../scripts/sync-registry.mjs","preinstall":"bunx only-allow bun","prepack":"bun run registry:sync","test":"bun test","types:check":"tsc --noEmit -p tsconfig.types.json","smoke:fixtures":"docker run --rm -v \"$PWD:/repo\" -w /repo oven/bun:1.3 bun run smoke:fixtures:local","smoke:fixtures:local":"bun scripts/smoke-fixtures.js"},"keywords":["llm","agent","harness","codex","claude","gemini"],"devDependencies":{"automd":"0.4.3","typescript":"^5.9.2"},"license":"MIT","_id":"@auron-labs/harness-detect@0.2.1","_integrity":"sha512-5Dzisfhs6Aw6QpTUizYBaB6q0QEDYBqc67Ty5HaU14O4yFEnUG+ifzyhrGvIDjHZxxZBPDZApE4jZaFVHGrNhA==","_nodeVersion":"24.3.0","_npmVersion":"10.8.3","shasum":"795d9462002c71aa42eb37b9a3dced8dde55d7a7","dist":{"integrity":"sha512-5Dzisfhs6Aw6QpTUizYBaB6q0QEDYBqc67Ty5HaU14O4yFEnUG+ifzyhrGvIDjHZxxZBPDZApE4jZaFVHGrNhA==","shasum":"795d9462002c71aa42eb37b9a3dced8dde55d7a7","tarball":"https://registry.npmjs.org/@auron-labs/harness-detect/-/harness-detect-0.2.1.tgz","fileCount":6,"unpackedSize":431665,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDj3QBjaLKLHE7cOFUhf1bPUQhpwdv8ZV5RXCUOsLe4uAiAbPAXwnmIYqeryPYd5Tvp7tFswKbYTs9AEVWFBcj1miA=="}]},"_npmUser":{"name":"aflorey","email":"aaron@buckhamduffy.com"},"directories":{},"maintainers":[{"name":"aflorey","email":"aaron@buckhamduffy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/harness-detect_0.2.1_1784362434634_0.647158255017189"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-16T01:17:42.601Z","modified":"2026-07-18T08:13:54.928Z","0.2.0":"2026-07-16T01:17:43.002Z","0.2.1":"2026-07-18T08:13:54.753Z"},"bugs":{"url":"https://github.com/auron-labs/harness-detect/issues"},"license":"MIT","keywords":["llm","agent","harness","codex","claude","gemini"],"repository":{"type":"git","url":"https://github.com/auron-labs/harness-detect.git"},"description":"Detect installed LLM harnesses and their config/state locations.","maintainers":[{"name":"aflorey","email":"aaron@buckhamduffy.com"}],"readme":"# @auron-labs/harness-detect\n\nDetect installed LLM harnesses and resolve their config/state paths from a curated JSON registry. The package is dependency-free and targets Node.js 18+.\n\nThis is the TypeScript package in a multi-language monorepo that also includes Go, Rust, and Python ports.\n\n## Installation\n\n```sh\nbun add @auron-labs/harness-detect\n```\n\nSupported distribution targets are npm (`@auron-labs/harness-detect`), Go modules (`github.com/auron-labs/harness-detect/packages/golang/harnessdetect`, released by `packages/golang/vX.Y.Z` tags), crates.io (`harness-detect`), and PyPI (`harness-detect`). Before the first public release for an ecosystem, these install commands are the intended consumer coordinates and may not resolve yet.\n\n## Quick usage\n\n```js\nimport { checkHarness, detectHarnesses } from \"@auron-labs/harness-detect\";\n\nconst installed = detectHarnesses().filter((result) => result.installed);\nconst claude = checkHarness(\"claude-code\");\n\nconsole.log(installed.map((result) => result.key));\nconsole.log(claude.installed, claude.reasons, claude.matchedPaths);\n```\n\n## Detection semantics\n\nA harness counts as installed when either of these is true:\n\n- a matching executable is found on `PATH`\n- one or more known config, state, cache, install, or project paths exist\n\n## Exported APIs\n\n- `getRawHarnessData()` returns the full registry object and is the preferred raw-registry API.\n- `getHarnessMatrix()` is a backwards-compatible alias for `getRawHarnessData()`.\n- `listHarnesses()` returns the registry's `harnesses` array.\n- `getHarnessSupport` returns support metadata for one harness key or alias.\n- `listHarnessSupport()` returns support metadata for every harness.\n- `checkHarness(input, options?)` checks one harness key or alias and returns resolved paths, matches, and reasons.\n- `detectHarnesses(options?)` checks every registry entry and returns all results.\n- `detectInstalledHarnesses(options?)` returns only installed results.\n\nBoth `checkHarness()`, `detectHarnesses()`, and `detectInstalledHarnesses()` accept optional `{ env, cwd }` overrides for path resolution.\n\n## Exported data registry\n\nThe preferred programmatic raw-registry API is `getRawHarnessData()`. The package also keeps the `@auron-labs/harness-detect/data` JSON export for direct registry access.\n\n```js\nimport { createRequire } from \"node:module\";\n\nconst require = createRequire(import.meta.url);\nconst harnesses = require(\"@auron-labs/harness-detect/data\");\n\nconsole.log(harnesses.version);\nconsole.log(harnesses.harnesses.length);\n```\n\nThe package exports its local copy at `data/harnesses.json`, and the canonical monorepo source of truth lives at `packages/data/harnesses.json`. Each entry includes executables, path templates, environment variable notes, and source URLs used to curate the metadata.\n\n## Development commands\n\nSee [../../docs/maintainers.md](../../docs/maintainers.md) for the full\ncommand reference, smoke test details, and the registry editing procedure.\n\nRelated guides:\n\n- Harness registry workflow: [../../docs/harness-guide.md](../../docs/harness-guide.md)\n- Package parity/API contract: [../../docs/package-guide.md](../../docs/package-guide.md)\n\nWhen editing registry data, update `packages/data/harnesses.json`, run `mise run registry:sync`, then `mise run registry:check`. CI uses the read-only `registry:check` step; the `./data` export remains supported for existing consumers.\n\n## Support and contribution docs\n\n- Security reporting: [../../SECURITY.md](../../SECURITY.md)\n- Support expectations: [../../SUPPORT.md](../../SUPPORT.md)\n- Contribution and registry evidence requirements: [../../CONTRIBUTING.md](../../CONTRIBUTING.md)\n","readmeFilename":"README.md"}