{"_id":"@alekskapera/tacit","_rev":"3-69fc96b1bb7b777b22430c85814e2dce","name":"@alekskapera/tacit","dist-tags":{"latest":"0.1.2"},"versions":{"0.1.0":{"name":"@alekskapera/tacit","version":"0.1.0","keywords":["tacit","codex","claude-code","hooks","ai-workflows"],"license":"UNLICENSED","_id":"@alekskapera/tacit@0.1.0","maintainers":[{"name":"alekskapera","email":"aleksanderkapera@gmail.com"}],"bin":{"tacit":"bin/tacit.mjs"},"dist":{"shasum":"8f1d1953e1da41918051f772bbe0b516a6a0f379","tarball":"https://registry.npmjs.org/@alekskapera/tacit/-/tacit-0.1.0.tgz","fileCount":5,"integrity":"sha512-w1AJ+rmB+/fgYEoWi8+m8vOYzlOuQCN3Q0rBXFU2EiRWM7TPtxkUaTsXXPfD+zp5edV3b6sCUjFtHb6PvWeM4w==","signatures":[{"sig":"MEYCIQCCWL4WmzSd7Th/HPy+2h99ILAm626eT+oHOFQ0f0hUzwIhAMUpE1jVUKWUHMMobTuZkTypSt6OEjRa/6kaLHBewGaj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20468},"type":"module","engines":{"node":">=18.0.0"},"scripts":{"pack:check":"npm pack --dry-run"},"_npmUser":{"name":"alekskapera","email":"aleksanderkapera@gmail.com"},"_npmVersion":"10.9.0","description":"Tacit hook installer for Codex and Claude Code.","directories":{},"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tacit_0.1.0_1782669528041_0.8565300812285674","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@alekskapera/tacit","version":"0.1.1","keywords":["tacit","codex","claude-code","hooks","ai-workflows"],"license":"UNLICENSED","_id":"@alekskapera/tacit@0.1.1","maintainers":[{"name":"alekskapera","email":"aleksanderkapera@gmail.com"}],"bin":{"tacit":"bin/tacit.mjs"},"dist":{"shasum":"b8aed06e8c94200616a771f4ff64e28d6409224b","tarball":"https://registry.npmjs.org/@alekskapera/tacit/-/tacit-0.1.1.tgz","fileCount":5,"integrity":"sha512-yqWYrCwK3oCSjnnHmDqh2U/2JSbhuZAu7blYh86n/NwQVgxBrYNTrF3cxqD9SyDdGhigmml4vChqX9iYAI1s4A==","signatures":[{"sig":"MEUCIQCa1VwEajw8oFw0dfZRvSElMqGjAmVIyQ6fc09GzMRxWgIgBOUKUQt62NuSNLlMV4guuqLbb5VP48ZCIH6O1DcqU0k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20651},"type":"module","engines":{"node":">=18.0.0"},"gitHead":"5e268570a8465b1b1c94c864b5f1c55e2dc6b0ae","scripts":{"pack:check":"npm pack --dry-run"},"_npmUser":{"name":"alekskapera","email":"aleksanderkapera@gmail.com"},"_npmVersion":"10.9.0","description":"Tacit hook installer for Codex and Claude Code.","directories":{},"_nodeVersion":"22.12.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tacit_0.1.1_1782783805580_0.7953151656195963","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@alekskapera/tacit","version":"0.1.2","description":"Tacit hook installer for Codex and Claude Code.","type":"module","bin":{"tacit":"bin/tacit.mjs"},"scripts":{"pack:check":"npm pack --dry-run"},"engines":{"node":">=18.0.0"},"keywords":["tacit","codex","claude-code","hooks","ai-workflows"],"license":"UNLICENSED","publishConfig":{"access":"public"},"_id":"@alekskapera/tacit@0.1.2","_nodeVersion":"22.14.0","_npmVersion":"11.3.0","dist":{"integrity":"sha512-LR6pEJuh9oJ6N1ScGCihYHioPqhAUkPcu12ukrLGd5ST79aGimILnVUdyoXrJr3V++7/JGfdJUdW2Y5U4SwMOA==","shasum":"39f65a27433e2e0989f59fde1756d726bd7dfca4","tarball":"https://registry.npmjs.org/@alekskapera/tacit/-/tacit-0.1.2.tgz","fileCount":5,"unpackedSize":22357,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIGFzJ0LBs99cTEPRFcp2BfSFi6pKAilOlWkRPBl5hE6DAiAi85Ey9y47paIlmuGCsrbCx2Xe4TsBXAw4qKlR3JA6HA=="}]},"_npmUser":{"name":"alekskapera","email":"aleksanderkapera@gmail.com"},"directories":{},"maintainers":[{"name":"alekskapera","email":"aleksanderkapera@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tacit_0.1.2_1783373841418_0.9239442134706721"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-28T17:58:47.853Z","modified":"2026-07-06T21:37:21.697Z","0.1.0":"2026-06-28T17:58:48.181Z","0.1.1":"2026-06-30T01:43:25.716Z","0.1.2":"2026-07-06T21:37:21.569Z"},"license":"UNLICENSED","keywords":["tacit","codex","claude-code","hooks","ai-workflows"],"description":"Tacit hook installer for Codex and Claude Code.","maintainers":[{"name":"alekskapera","email":"aleksanderkapera@gmail.com"}],"readme":"# @alekskapera/tacit\n\nInstall Tacit's local hook runtime for Codex and Claude Code.\n\n## Install\n\n```bash\nnpx @alekskapera/tacit\n```\n\nThe installer asks which providers to connect, then asks for your Tacit secret.\nTo get the secret, sign in at <https://tacitloops.com/signin>, open My Episodes,\nand copy your install token.\n\nFor non-interactive setup, load the secret from your shell, password manager, or\nCI secret store before running the installer:\n\n```bash\nread -rsp \"Tacit secret: \" TACIT_SECRET && echo\nexport TACIT_SECRET\nnpx @alekskapera/tacit --providers codex,claude\n```\n\nThe interactive prompt hides your pasted secret and writes `~/.tacit/hooks.json`\nwith user-only permissions.\n\nIf you prefer a global command, install once with `npm install -g\n@alekskapera/tacit`, then run `tacit`.\n\n## Options\n\n- `--providers codex,claude`: connect both providers. This is the default.\n- `--provider codex`: connect one provider. Can be repeated.\n- `--provider claude-code`: alias for Claude Code.\n- `--exclude /path/private`: skip uploads from a path prefix.\n- `--api-base-url https://tacitloops.com`: override the Tacit app URL for development.\n- `--home-dir /path/to/home`: write hook config for a different home directory.\n\nThe installer writes `~/.tacit/tacit-hook.mjs`, stores local hook settings in\n`~/.tacit/hooks.json`, and merges provider hook config non-destructively. Existing\nprovider hook files are backed up before they are changed.\n","readmeFilename":"README.md"}