{"_id":"@albinocrabs/feynman","_rev":"24-782b7fcce69f0a6bb6988af7211470bd","name":"@albinocrabs/feynman","dist-tags":{"latest":"2.1.1"},"versions":{"0.2.0":{"name":"@albinocrabs/feynman","version":"0.2.0","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@0.2.0","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"0ee69a47608788613118b4806a710b4d946ebe7b","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-0.2.0.tgz","fileCount":17,"integrity":"sha512-3+NCItDySBFrKrsBUPU31GMpInbQQupPyMcoPBLHr6sqMqmtlGqfvzJYSSiV0LNtpmLugNAqWf1lkiCeiIr6fA==","signatures":[{"sig":"MEYCIQDrdr1xsb4zYkwUAZ+UsLAG2lPm6hzPbY8Hp0GmI0bwagIhAMltZLfpY6cbbpVdE8D7VBaJx8aEFASxug0BJ88ZPZ1C","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":81809},"main":"lib/lint/index.js","engines":{"node":">=18"},"gitHead":"9866a13af34ac14cf6743b31358fd5b06f83a38a","scripts":{"ci":"npm run coverage","lint":"node bin/feynman-lint.js","test":"node --test tests/*.test.js","coverage":"c8 --reporter=text --reporter=lcov node --test tests/*.test.js"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code and Codex plugin that auto-injects ASCII diagram rules into every AI request via UserPromptSubmit hook","directories":{},"_nodeVersion":"25.9.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10"},"_npmOperationalInternal":{"tmp":"tmp/feynman_0.2.0_1778128353736_0.5004205631383711","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@albinocrabs/feynman","version":"0.2.1","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@0.2.1","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"d90de37aea1dc74fdc3ea57918a8f776aa0719a2","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-0.2.1.tgz","fileCount":31,"integrity":"sha512-OV4AI2ZFxXqBGzpf42j12gxacmXQDrd4u3jJe1zRUSEHCgykuKtY5powqenlaim8uiqkJe/WIUBDF7zlbrg9dA==","signatures":[{"sig":"MEQCIQD3dajcG9Hkhfk7OlcffZMgbtInoBeQ84of/Xfh4XK61QIfXWhAmltv0oBb51SJbuig+EyXOOTGgXyHIQkUg0nhcw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":128848},"main":"lib/lint/index.js","engines":{"node":">=18"},"gitHead":"fcaff3d6683e38ad0522bd124bc95fc9810cd2d4","scripts":{"ci":"npm run coverage && npm run test:docs && npm run test:release && npm run build","lint":"node bin/feynman-lint.js","test":"node --test tests/*.test.js","build":"node scripts/build-package.js","coverage":"c8 --reporter=text --reporter=lcov node --test tests/*.test.js","changelog":"node scripts/generate-changelog.js","test:docs":"node scripts/check-docs.js","test:release":"node scripts/release-smoke.js","prepublishOnly":"npm run ci"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code and Codex plugin that auto-injects ASCII diagram rules into every AI request via UserPromptSubmit hook","directories":{},"_nodeVersion":"25.9.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^10"},"_npmOperationalInternal":{"tmp":"tmp/feynman_0.2.1_1778135821869_0.3685014614548936","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@albinocrabs/feynman","version":"0.2.2","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@0.2.2","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"e30a3386e7276a89b723b2edf4ffbc7e3b10bb77","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-0.2.2.tgz","fileCount":31,"integrity":"sha512-BO0KwuB2Iy5HE7bMHUd8MRyHdrsasArz25g6MLgOBV0unNk79e6zTtz+Xiu2cFL3/DgqVXnrKg/1OI/bqBWP1g==","signatures":[{"sig":"MEQCIA9IbnDF4nhvgtYzdYAr3sBXWGM3mTvIhNtlyv6fppE3AiACUwxeBw9MXVneXPGgc0B1JAMeJrwWRwIBDHF12w7/DA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@albinocrabs%2ffeynman@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":128838},"main":"lib/lint/index.js","engines":{"node":">=18"},"gitHead":"8f4c1b13d8669752667f8a283fb6aa55412a146d","scripts":{"ci":"npm run coverage && npm run test:docs && npm run test:release && npm run build","lint":"node bin/feynman-lint.js","test":"node --test tests/*.test.js","build":"node scripts/build-package.js","coverage":"c8 --reporter=text --reporter=lcov node --test tests/*.test.js","changelog":"node scripts/generate-changelog.js","test:docs":"node scripts/check-docs.js","test:release":"node scripts/release-smoke.js","prepublishOnly":"npm run ci"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"10.8.2","description":"Claude Code and Codex plugin that auto-injects ASCII diagram rules into every AI request via UserPromptSubmit hook","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"c8":"^10"},"_npmOperationalInternal":{"tmp":"tmp/feynman_0.2.2_1778137451056_0.6017900711601365","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@albinocrabs/feynman","version":"0.2.4","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@0.2.4","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"3ed1badf4a634100511876af2d7723fa5a01f491","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-0.2.4.tgz","fileCount":41,"integrity":"sha512-1H6TQdB8LcPxDGci65SfcYtyXcWQ6KUxQKIouiJMijeUXh8Vr/wDnkSfW53rsg6ueKLTWq5aJ/Wae2Hw3oNxOg==","signatures":[{"sig":"MEYCIQDu/N1DvXdCJUQG49v9HhRvIkuBLq9p1Vwe6rpH/bwj3wIhAN+Wz09X+3DakmPPNpPlXrn/SC53FV4tBASIITNDZx3F","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@albinocrabs%2ffeynman@0.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":182287},"main":"lib/lint/index.js","engines":{"node":">=18"},"gitHead":"0f70be6f0793fd829a4338fd41b061431ca78edf","scripts":{"ci":"npm run audit && npm run coverage && npm run test:docs && npm run test:release && npm run build","lint":"node bin/feynman-lint.js","test":"node --test tests/*.test.js","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.js","coverage":"c8 --reporter=text --reporter=lcov node --test tests/*.test.js","changelog":"node scripts/generate-changelog.js","test:docs":"node scripts/check-docs.js","test:release":"node scripts/release-smoke.js","prepublishOnly":"npm run ci","test:published":"node scripts/verify-published-package.js"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"10.8.2","description":"Claude Code and Codex plugin that auto-injects ASCII diagram rules into every AI request via UserPromptSubmit hook","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/feynman_0.2.4_1778147952749_0.7400851878152985","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@albinocrabs/feynman","version":"0.2.5","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@0.2.5","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"82f3382c56fffe3aa6195196a161402c93e10ead","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-0.2.5.tgz","fileCount":42,"integrity":"sha512-bPyN7vGIApJi0AwpBhb7DgsvotDyMD4vA44dprXPYnU2EAGe31MqJVvI89T0L2WwKedURJ0rndnlYQcacOs9zw==","signatures":[{"sig":"MEYCIQC3nbHc1KjqKs1ikDnKPYwMR2QCoPnxpsoraHGU6nXv1AIhAK+En29hEPKhS56efG6P8tzn2kIygG70VL1AnlJA7kgN","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@albinocrabs%2ffeynman@0.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":189187},"main":"lib/lint/index.js","engines":{"node":">=18"},"gitHead":"2ad1e2c8e583ce32c3e4f1ce481e3c9cb4246957","scripts":{"ci":"npm run audit && npm run coverage && npm run test:docs && npm run test:release && npm run build","lint":"node bin/feynman-lint.js","test":"node --test tests/*.test.js","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.js","coverage":"c8 --reporter=text --reporter=lcov node --test tests/*.test.js","changelog":"node scripts/generate-changelog.js","test:docs":"node scripts/check-docs.js","test:release":"node scripts/release-smoke.js","prepublishOnly":"npm run ci","test:published":"node scripts/verify-published-package.js"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"10.8.2","description":"Claude Code and Codex plugin that auto-injects ASCII diagram rules into every AI request via UserPromptSubmit hook","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/feynman_0.2.5_1778219218268_0.9282334020671494","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@albinocrabs/feynman","version":"0.2.6","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@0.2.6","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"848f3665a308d274319826727123ba35a789f0e4","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-0.2.6.tgz","fileCount":42,"integrity":"sha512-cQbX5q/YgbKCYl60nTYwEPyED3VX+p7ifsApqq5vdFzS5AoMJjjflUMVY7TcCJBBeXuccA4WsAU8tmNLNMqfwg==","signatures":[{"sig":"MEUCIQCnFcsDy4/sHRN8OCqq/hR070J4VBQaNOc3J2eLYagLnwIgQM2MRCf3EA+wx5igzQMSfW0AAj3W18KOGzf7aoDfID4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@albinocrabs%2ffeynman@0.2.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":200250},"main":"lib/lint/index.js","engines":{"node":">=18"},"gitHead":"edf91cce6f11bf7cc048651362141965a426b894","scripts":{"ci":"npm run audit && npm run coverage && npm run test:docs && npm run test:release && npm run build","lint":"node bin/feynman-lint.js","test":"node --test tests/*.test.js","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.js","coverage":"c8 --reporter=text --reporter=lcov node --test tests/*.test.js","changelog":"node scripts/generate-changelog.js","test:docs":"node scripts/check-docs.js","test:release":"node scripts/release-smoke.js","prepublishOnly":"npm run ci","test:published":"node scripts/verify-published-package.js"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"10.8.2","description":"Claude Code and Codex plugin that auto-injects ASCII diagram rules into every AI request via UserPromptSubmit hook","directories":{},"_nodeVersion":"20.20.2","_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/feynman_0.2.6_1778271962362_0.09354763586368375","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@albinocrabs/feynman","version":"0.3.1","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@0.3.1","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"96096b3e98a2b13446db2607a9acda77c32347a9","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-0.3.1.tgz","fileCount":42,"integrity":"sha512-DhZircDkjn7jukkf+CPiVGquyrA/vYSevff1i98yOGvSR4+GKb33oBSLk65yK4VGB4TXQKa085qTtu9YZHC9oA==","signatures":[{"sig":"MEUCIAEAMq3v3EFQ8p/JeYwimf6BLYpZ5ZMIFI4eoS9SLtrwAiEAziVdmisZtZtwsklREM4gUxUB/vbwCkOBKFTqBbOX/co=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":203266},"main":"lib/lint/index.js","engines":{"node":">=18"},"gitHead":"ba71f62a8fdeecf66c7fe86296346577cc65bf56","scripts":{"ci":"npm run audit && npm run coverage && npm run test:docs && npm run test:release && npm run build","lint":"node bin/feynman-lint.js","test":"node --test tests/*.test.js","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.js","coverage":"c8 --reporter=text --reporter=lcov node --test tests/*.test.js","changelog":"node scripts/generate-changelog.js","test:docs":"node scripts/check-docs.js","test:release":"node scripts/release-smoke.js","prepublishOnly":"npm run ci","test:published":"node scripts/verify-published-package.js"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code and Codex plugin that auto-injects ASCII diagram rules into every AI request via UserPromptSubmit hook","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{"c8":"^11.0.0"},"_npmOperationalInternal":{"tmp":"tmp/feynman_0.3.1_1778421062082_0.33098389204756895","host":"s3://npm-registry-packages-npm-production"}},"0.3.2":{"name":"@albinocrabs/feynman","version":"0.3.2","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@0.3.2","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"d294cc9188817eaf99c9f8d256a229e7442b7d1e","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-0.3.2.tgz","fileCount":43,"integrity":"sha512-FUtyIysjO6p33RkUyxt3dXae1puvQMayBli+6DcCKMikVRjHqy7KOdrc8p0S7cKci9P+d3Rsu70LfuZN/G4jsg==","signatures":[{"sig":"MEUCIHXCgRhNMuBJ4YybHO2322A4i5bNAj+qMR+EDC2qiQAGAiEAgVsoChZO4mH+qVxV3K0OWdr/dFcfZmsfOpjvstisBVw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":214189},"main":"lib/lint/index.js","engines":{"node":">=18"},"gitHead":"d9d12c3dceb291f99ddb03f186104d503d246cad","scripts":{"ci":"npm run audit && npm run coverage && npm run test:docs && npm run test:release && npm run build","lint":"node bin/feynman-lint.js","test":"node --test tests/*.test.js","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.js","coverage":"mkdir -p coverage && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test tests/*.test.js","changelog":"node scripts/generate-changelog.js","test:docs":"node scripts/check-docs.js","test:release":"node scripts/release-smoke.js","prepublishOnly":"npm run ci","test:published":"node scripts/verify-published-package.js"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code and Codex plugin that auto-injects ASCII diagram rules into every AI request via UserPromptSubmit hook","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/feynman_0.3.2_1778432470696_0.6189608339254504","host":"s3://npm-registry-packages-npm-production"}},"0.3.3":{"name":"@albinocrabs/feynman","version":"0.3.3","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@0.3.3","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"901d3106a841ecfb3ebc42c91000337151d76419","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-0.3.3.tgz","fileCount":44,"integrity":"sha512-soawqSJZQtKccSJyjBPaET3330PNLbzhhMdGQMEkVUCwNjCYNpwBEySwG9gq1at6EvT+cEPavAs9Dvd/X8qjDg==","signatures":[{"sig":"MEUCIQCJwNgh2N/+IuXieOS8euvv7SNS8Gq6X2zpwL008gcorAIgDuwlRLn3ir7lhdidEMQTsFSQ2k7CDINyNonpIOK/vhQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":220916},"main":"lib/lint/index.js","engines":{"node":">=18"},"gitHead":"9ef6d239559aace2ad97476497daaddbfb09ba61","scripts":{"ci":"npm run audit && npm run coverage && npm run test:docs && npm run test:release && npm run build","lint":"node bin/feynman-lint.js","test":"node --test tests/*.test.js","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.js","coverage":"mkdir -p coverage && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test tests/*.test.js","changelog":"node scripts/generate-changelog.js","test:docs":"node scripts/check-docs.js","test:release":"node scripts/release-smoke.js","prepublishOnly":"npm run ci","test:published":"node scripts/verify-published-package.js"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code and Codex plugin that auto-injects ASCII diagram rules into every AI request via UserPromptSubmit hook","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/feynman_0.3.3_1778439149081_0.5379255197282078","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@albinocrabs/feynman","version":"0.4.0","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@0.4.0","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"2f7d97685d7b7e6d450a5fd535f1317f2f5f2a81","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-0.4.0.tgz","fileCount":44,"integrity":"sha512-zkF9wftuqcphjbHgsjoZ+m4GCA45BQmZqX6FKDWAhHJX07S354FvECvPqW46onIkPpVlOW1VufP7hOHIDmvSwQ==","signatures":[{"sig":"MEUCIQCE9shv0B4x0DBtNQ8EfRhkj+gXYuD17wS4UvcNJ6BxNgIgIIQ6SVJf5eXY9GiQrNI0VjkPqeiMEEN1N29XueU8iCs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255128},"main":"lib/lint/index.js","engines":{"node":">=18"},"gitHead":"fdc8a94b1056fc9bdffece8e39a87674ba4f2ce0","scripts":{"ci":"npm run audit && npm run coverage && npm run test:docs && npm run test:release && npm run build","lint":"node bin/feynman-lint.js","test":"node --test tests/*.test.js","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.js","coverage":"mkdir -p coverage && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test tests/*.test.js","changelog":"node scripts/generate-changelog.js","test:docs":"node scripts/check-docs.js","test:release":"node scripts/release-smoke.js","prepublishOnly":"npm run ci","test:published":"node scripts/verify-published-package.js"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code and Codex plugin that auto-injects ASCII diagram rules into every AI request via UserPromptSubmit hook","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/feynman_0.4.0_1778510237752_0.11847701458489879","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@albinocrabs/feynman","version":"0.5.0","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@0.5.0","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"6e762f023316a0b2fb9a1218b042555e02fd7a85","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-0.5.0.tgz","fileCount":44,"integrity":"sha512-bLzsoDeik7KsQb/W/rUQ6YZQFgf33BVZI2qozwIfNgXSG9dZYRUlJ8UBXTWHZmzDH13B0JzGEycwAEkHXIiklw==","signatures":[{"sig":"MEYCIQCqjyrjSmbDHNF3CvzCHWUqigXp4sfhmNwUUMNeMy++4gIhAJEkH7ZDXJChPDC4/JWW+Ex5AVQlsCyQvOgAJQBuszT1","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":255939},"main":"lib/lint/index.js","engines":{"node":">=18"},"gitHead":"c149e89cb675ebddd1d8dcfdd72643c4abd56450","scripts":{"ci":"npm run audit && npm run coverage && npm run test:docs && npm run test:release && npm run build","lint":"node bin/feynman-lint.js","test":"node --test tests/*.test.js","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.js","coverage":"mkdir -p coverage && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test tests/*.test.js","changelog":"node scripts/generate-changelog.js","test:docs":"node scripts/check-docs.js","test:release":"node scripts/release-smoke.js","prepublishOnly":"npm run ci","test:published":"node scripts/verify-published-package.js"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code and Codex plugin that auto-injects ASCII diagram rules into every AI request via UserPromptSubmit hook","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{},"_npmOperationalInternal":{"tmp":"tmp/feynman_0.5.0_1778526195259_0.36175100306081287","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@albinocrabs/feynman","version":"0.6.0","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@0.6.0","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.ts","feynman-lint":"bin/feynman-lint.ts"},"dist":{"shasum":"413f02db937ba17e1a5cc907a67952e8955fcd56","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-0.6.0.tgz","fileCount":46,"integrity":"sha512-iKpX6FrNlh6PyZWda/mINzN/fWFbUMe1MugSO7OpiBDoDhqK82eifZjVHm+OQl16iFgqbzh+6FEe1flNM9WRkQ==","signatures":[{"sig":"MEUCIBGD/WfkvrYEH9453eq0IGV9h4QC8S94ji1HQGp4sBmkAiEA2Ck0fuu6SeS8GBky2BzU1Fvc6lczzLEk6vVu21K/x18=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":273971},"main":"lib/lint/index.ts","type":"module","engines":{"node":">=22.6"},"gitHead":"bb73fe8c05c6d45613d72b595494ee64457822fc","scripts":{"ci":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs && npm run build && npm run test:release","lint":"node bin/feynman-lint.ts","test":"node --test tests/*.test.ts","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.ts","eslint":"eslint .","coverage":"mkdir -p coverage && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test tests/*.test.ts","changelog":"node scripts/generate-changelog.ts","test:docs":"node scripts/check-docs.ts","typecheck":"tsc --noEmit","test:release":"node scripts/release-smoke.ts","prepublishOnly":"npm run ci","test:published":"node scripts/verify-published-package.ts"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code and Codex plugin that auto-injects ASCII diagram rules into every AI request via UserPromptSubmit hook","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","typescript":"^5.7.3","@types/node":"^22.13.0","@typescript-eslint/parser":"^8.22.0","@typescript-eslint/eslint-plugin":"^8.22.0"},"_npmOperationalInternal":{"tmp":"tmp/feynman_0.6.0_1778563098876_0.6287458516698172","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@albinocrabs/feynman","version":"0.6.1","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@0.6.1","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"0fd557ebc875d89ab02e8ae395e85499bb371d94","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-0.6.1.tgz","fileCount":46,"integrity":"sha512-ezLIzRiQaYFE1O5AdPsIjq1RSGCPbXThlPmjkB6F5dpdEr5D7xZNpJEW8JwPjDFP5WLb2NGdp1Mgking8HfHOQ==","signatures":[{"sig":"MEQCIFbtJwjpMMFIHWydZaEgpVm00usx9aH4GsM6am5XZmPnAiB/l4CuHOuOh4rWLtdCrBnqHsmKj+9aKGQPmTmcxN8uZg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275907},"main":"lib/lint/index.js","type":"module","_from":"file:/Users/ap/work/feynman/dist/albinocrabs-feynman-0.6.1.tgz","engines":{"node":">=22.6"},"scripts":{"ci":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs && npm run build && npm run test:release","lint":"node bin/feynman-lint.ts","test":"node --test tests/*.test.ts","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.ts","eslint":"eslint .","release":"npm run ci && npm publish \"dist/albinocrabs-feynman-$(node -e 'process.stdout.write(require(\"./package.json\").version)').tgz\" --access public","coverage":"mkdir -p coverage && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test tests/*.test.ts","changelog":"node scripts/generate-changelog.ts","test:docs":"node scripts/check-docs.ts","typecheck":"tsc --noEmit","test:release":"node scripts/release-smoke.ts","prepublishOnly":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs","test:published":"node scripts/verify-published-package.ts"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"_resolved":"/Users/ap/work/feynman/dist/albinocrabs-feynman-0.6.1.tgz","_integrity":"sha512-ezLIzRiQaYFE1O5AdPsIjq1RSGCPbXThlPmjkB6F5dpdEr5D7xZNpJEW8JwPjDFP5WLb2NGdp1Mgking8HfHOQ==","repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code and Codex plugin that auto-injects ASCII diagram rules into every AI request via UserPromptSubmit hook","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","typescript":"^5.7.3","@types/node":"^22.13.0","@typescript-eslint/parser":"^8.22.0","@typescript-eslint/eslint-plugin":"^8.22.0"},"_npmOperationalInternal":{"tmp":"tmp/feynman_0.6.1_1778563339190_0.7790054362775105","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@albinocrabs/feynman","version":"0.7.0","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@0.7.0","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"6d6ffa6234e11fa2939a39d25c36300f52830f99","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-0.7.0.tgz","fileCount":46,"integrity":"sha512-w0XwMnILTxD80D1TP+WuTxcgzZWSmdpNKLLH01vH4ZMGXVgaLy1KOgBqTKPgCof3HCcNiGEn0pZgVRZiCOBhSQ==","signatures":[{"sig":"MEUCIGPZlpnJ77qoToy/GIO7Yz1p403yiKK/gE1lEdNgREXwAiEAnK0gJRTL8/pxFbMmWsvP0WDIvFNYTCuzNS4hjMm2zMg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":273508},"main":"lib/lint/index.js","type":"module","_from":"file:/Users/ap/work/feynman/dist/albinocrabs-feynman-0.7.0.tgz","engines":{"node":">=22.6"},"scripts":{"ci":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs && npm run build && npm run test:release","lint":"node bin/feynman-lint.ts","test":"node --test tests/*.test.ts","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.ts","eslint":"eslint .","release":"npm run ci && npm publish \"dist/albinocrabs-feynman-$(node -e 'process.stdout.write(require(\"./package.json\").version)').tgz\" --access public","coverage":"mkdir -p coverage && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test tests/*.test.ts","changelog":"node scripts/generate-changelog.ts","test:docs":"node scripts/check-docs.ts","typecheck":"tsc --noEmit","test:release":"node scripts/release-smoke.ts","prepublishOnly":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs","test:published":"node scripts/verify-published-package.ts"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"_resolved":"/Users/ap/work/feynman/dist/albinocrabs-feynman-0.7.0.tgz","_integrity":"sha512-w0XwMnILTxD80D1TP+WuTxcgzZWSmdpNKLLH01vH4ZMGXVgaLy1KOgBqTKPgCof3HCcNiGEn0pZgVRZiCOBhSQ==","repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code and Codex plugin that auto-injects ASCII diagram rules via SessionStart hook (startup, resume, compact, clear)","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.57.1","typescript":"^5.7.3","@types/node":"^22.13.0","@typescript-eslint/parser":"^8.22.0","@typescript-eslint/eslint-plugin":"^8.22.0"},"_npmOperationalInternal":{"tmp":"tmp/feynman_0.7.0_1779016337217_0.9990949001666312","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@albinocrabs/feynman","version":"1.0.0","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@1.0.0","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"781a4791f72b1fe35ceff7d2517f2612df5f592e","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-1.0.0.tgz","fileCount":46,"integrity":"sha512-HXC3vO9vKdX9DQ8xNSmiAq2sAmBLPAchfjor+z1NgN9hjb5FPfVDiB90siwzwHDDq8c19q2OCREr3FX87XT5zw==","signatures":[{"sig":"MEYCIQDjjjHEtNR0BqF7pz9lGrCKLzL6pbUA5YueTTq7IN+4hAIhAOETu9GucXt57MDPDfAnsERELFdFFqo+z0mNE9Xf6NA9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":274542},"main":"lib/lint/index.js","type":"module","_from":"file:dist/albinocrabs-feynman-1.0.0.tgz","engines":{"node":">=22.6"},"scripts":{"ci":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs && npm run build && npm run test:release","lint":"node bin/feynman-lint.ts","test":"node --test tests/*.test.ts","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.ts","eslint":"eslint .","release":"npm run ci && npm publish \"dist/albinocrabs-feynman-$(node -e 'process.stdout.write(require(\"./package.json\").version)').tgz\" --access public","coverage":"mkdir -p coverage && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test tests/*.test.ts","changelog":"node scripts/generate-changelog.ts","test:docs":"node scripts/check-docs.ts","typecheck":"tsc --noEmit","test:release":"node scripts/release-smoke.ts","prepublishOnly":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs","test:published":"node scripts/verify-published-package.ts"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"_resolved":"/Users/ap/work/feynman/dist/albinocrabs-feynman-1.0.0.tgz","_integrity":"sha512-HXC3vO9vKdX9DQ8xNSmiAq2sAmBLPAchfjor+z1NgN9hjb5FPfVDiB90siwzwHDDq8c19q2OCREr3FX87XT5zw==","repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code and Codex plugin that auto-injects ASCII diagram rules via SessionStart hook (startup, resume, compact, clear)","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.0","typescript":"^6.0.3","@types/node":"^25.9.1","@typescript-eslint/parser":"^8.22.0","@typescript-eslint/eslint-plugin":"^8.22.0"},"_npmOperationalInternal":{"tmp":"tmp/feynman_1.0.0_1779402160892_0.9245619329723556","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@albinocrabs/feynman","version":"1.0.1","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@1.0.1","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"091ea4a019bd73a779960c47fb2bfe06a75491c4","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-1.0.1.tgz","fileCount":46,"integrity":"sha512-YrnK4oWYgId7qOUrQoUoHsWuv8QIYtRuh9kF+sCqHHolRVGXHkB7i493fI/xyMRyKvuxu9eQd2PDoPw6XbRDjQ==","signatures":[{"sig":"MEQCID6uuVfgQQlhmqv/0aI95bflkIfnIfR/BU8OcaJqZ5wXAiAJ3tVp9QMpyHVjBsZhaFcLZ+UU+Ma9RdymLyCn2DRHMA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":275359},"main":"lib/lint/index.js","type":"module","_from":"file:dist/albinocrabs-feynman-1.0.1.tgz","engines":{"node":">=22.6"},"scripts":{"ci":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs && npm run build && npm run test:release","lint":"node bin/feynman-lint.ts","test":"node --test tests/*.test.ts","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.ts","eslint":"eslint .","release":"npm run ci && npm publish \"dist/albinocrabs-feynman-$(node -e 'process.stdout.write(require(\"./package.json\").version)').tgz\" --access public","coverage":"mkdir -p coverage && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test tests/*.test.ts","changelog":"node scripts/generate-changelog.ts","test:docs":"node scripts/check-docs.ts","typecheck":"tsc --noEmit","test:release":"node scripts/release-smoke.ts","prepublishOnly":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs","test:published":"node scripts/verify-published-package.ts"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"_resolved":"/Users/ap/work/feynman/dist/albinocrabs-feynman-1.0.1.tgz","_integrity":"sha512-YrnK4oWYgId7qOUrQoUoHsWuv8QIYtRuh9kF+sCqHHolRVGXHkB7i493fI/xyMRyKvuxu9eQd2PDoPw6XbRDjQ==","repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code and Codex plugin that auto-injects ASCII diagram rules via SessionStart hook (startup, resume, compact, clear)","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.0","typescript":"^6.0.3","@types/node":"^25.9.1","@typescript-eslint/parser":"^8.22.0","@typescript-eslint/eslint-plugin":"^8.22.0"},"_npmOperationalInternal":{"tmp":"tmp/feynman_1.0.1_1779403088624_0.30566528813648364","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@albinocrabs/feynman","version":"1.1.0","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@1.1.0","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"125c52642f93b59fba099bff976eade34113ec4a","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-1.1.0.tgz","fileCount":50,"integrity":"sha512-9EjOyjiWhzoxlxGW+fGJzDbWqRtFMLPC2BbRBteQt/82U7qZ+9THfjTHynVAkneobw6zDGNv8VOcxWRxex8STw==","signatures":[{"sig":"MEUCIBkGAEUfAYslNewXTryHQnflOSyxKBe+rRAlJuJIiZ6zAiEAo0xgol9Wj/Y+jsvpuvxqCQP5iYaoPccOBMf0eHGGzXA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":286518},"main":"lib/lint/index.js","type":"module","_from":"file:dist/albinocrabs-feynman-1.1.0.tgz","engines":{"node":">=22.6"},"scripts":{"ci":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs && npm run build && npm run test:release","lint":"node bin/feynman-lint.ts","test":"node --test tests/*.test.ts","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.ts","eslint":"eslint .","release":"npm run ci && npm publish \"dist/albinocrabs-feynman-$(node -e 'process.stdout.write(require(\"./package.json\").version)').tgz\" --access public","coverage":"mkdir -p coverage && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test tests/*.test.ts","changelog":"node scripts/generate-changelog.ts","test:docs":"node scripts/check-docs.ts","typecheck":"tsc --noEmit","test:release":"node scripts/release-smoke.ts","prepublishOnly":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs","test:published":"node scripts/verify-published-package.ts"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"_resolved":"/Users/ap/work/feynman/dist/albinocrabs-feynman-1.1.0.tgz","_integrity":"sha512-9EjOyjiWhzoxlxGW+fGJzDbWqRtFMLPC2BbRBteQt/82U7qZ+9THfjTHynVAkneobw6zDGNv8VOcxWRxex8STw==","repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code and Codex plugin that auto-injects ASCII diagram rules via SessionStart hook (startup, resume, compact, clear)","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.0","typescript":"^6.0.3","@types/node":"^25.9.1","@typescript-eslint/parser":"^8.22.0","@typescript-eslint/eslint-plugin":"^8.22.0"},"_npmOperationalInternal":{"tmp":"tmp/feynman_1.1.0_1779438576051_0.2679246230324439","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@albinocrabs/feynman","version":"1.1.1","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@1.1.1","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"e0658a0ec1cc46758be32b0970990eeaaa5a1988","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-1.1.1.tgz","fileCount":50,"integrity":"sha512-GYW3e4hktPIKYdowpgAk7DfPEIR3nOtYUhrj0nlcQLaYR783Drm6d+ChwE6JWCAAM+g0sKF5gE8cciuUz41VYQ==","signatures":[{"sig":"MEUCIQC6ZBq28jqGJDKmYCvdX0VzUO3zccqP42/pMTZiz46mEwIgTfPwSrR08ctMGWbEa8w81FDR8oUi5lRdNNQAuP6NAUg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288459},"main":"lib/lint/index.js","type":"module","_from":"file:dist/albinocrabs-feynman-1.1.1.tgz","engines":{"node":">=22.6"},"scripts":{"ci":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs && npm run build && npm run test:release","lint":"node bin/feynman-lint.ts","test":"node --test tests/*.test.ts","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.ts","eslint":"eslint .","release":"npm run ci && npm publish \"dist/albinocrabs-feynman-$(node -e 'process.stdout.write(require(\"./package.json\").version)').tgz\" --access public","coverage":"mkdir -p coverage && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test tests/*.test.ts","changelog":"node scripts/generate-changelog.ts","test:docs":"node scripts/check-docs.ts","typecheck":"tsc --noEmit","test:release":"node scripts/release-smoke.ts","prepublishOnly":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs","test:published":"node scripts/verify-published-package.ts"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"_resolved":"/Users/ap/work/feynman/dist/albinocrabs-feynman-1.1.1.tgz","_integrity":"sha512-GYW3e4hktPIKYdowpgAk7DfPEIR3nOtYUhrj0nlcQLaYR783Drm6d+ChwE6JWCAAM+g0sKF5gE8cciuUz41VYQ==","repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code and Codex plugin that auto-injects ASCII diagram rules via SessionStart hook (startup, resume, compact, clear)","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.0","typescript":"^6.0.3","@types/node":"^25.9.1","@typescript-eslint/parser":"^8.22.0","@typescript-eslint/eslint-plugin":"^8.22.0"},"_npmOperationalInternal":{"tmp":"tmp/feynman_1.1.1_1779439738665_0.6276170534092766","host":"s3://npm-registry-packages-npm-production"}},"1.2.1":{"name":"@albinocrabs/feynman","version":"1.2.1","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@1.2.1","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"a0bd87c3b33f48516d156531930577e91843a6aa","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-1.2.1.tgz","fileCount":52,"integrity":"sha512-/T3bZ8VLUu3BvySyFBDydSgM5zUCGivINgeO4/93Jw8P5lmSVoB6Fw+EiEaDRfuAwRxn1KR88er+oGz3DQtvGA==","signatures":[{"sig":"MEQCIC2Y7qxYVUai8+LtWfotpX3GojOukwmpdL7P6olHSpXUAiAZbleKKhVY+Zj76HL7pqyES5cbbV+TBCUutt0v5zmnpQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301565},"main":"lib/lint/index.js","type":"module","_from":"file:dist/albinocrabs-feynman-1.2.1.tgz","engines":{"node":">=22.6"},"scripts":{"ci":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs && npm run build && npm run test:release","lint":"node bin/feynman-lint.ts","test":"node --test tests/*.test.ts","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.ts","eslint":"eslint .","release":"npm run ci && npm publish \"dist/albinocrabs-feynman-$(node -e 'process.stdout.write(require(\"./package.json\").version)').tgz\" --access public","coverage":"mkdir -p coverage && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test tests/*.test.ts","changelog":"node scripts/generate-changelog.ts","test:docs":"node scripts/check-docs.ts","typecheck":"tsc --noEmit","test:release":"node scripts/release-smoke.ts","prepublishOnly":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs","test:published":"node scripts/verify-published-package.ts"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"_resolved":"/Users/ap/work/feynman/dist/albinocrabs-feynman-1.2.1.tgz","_integrity":"sha512-/T3bZ8VLUu3BvySyFBDydSgM5zUCGivINgeO4/93Jw8P5lmSVoB6Fw+EiEaDRfuAwRxn1KR88er+oGz3DQtvGA==","repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code, Codex, and OpenCode plugin that auto-injects ASCII diagram rules via SessionStart hook (startup, resume, compact, clear)","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.0","typescript":"^6.0.3","@types/node":"^25.9.1","@typescript-eslint/parser":"^8.22.0","@typescript-eslint/eslint-plugin":"^8.22.0"},"_npmOperationalInternal":{"tmp":"tmp/feynman_1.2.1_1779703339764_0.5225209646562798","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@albinocrabs/feynman","version":"1.3.0","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@1.3.0","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"9efad1a195174fbef912d4b564ec5978a333f77d","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-1.3.0.tgz","fileCount":52,"integrity":"sha512-8QMINJiaRze9E6bh2y/LDlfxkme7B8HgmCis+FDbeWUi5uls7nnVFcimvdP2rf5Ly2dKreRJUih6R0wnwqhbPg==","signatures":[{"sig":"MEUCICizA+8auunBrAQfSky541gKryZqZs+8/jhR1ha6VlEQAiEAkd17Ao8WSr5o2IdrSpyWOU/qLUo3j/gcsRZfMqHKDqg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":311254},"main":"lib/lint/index.js","type":"module","_from":"file:dist/albinocrabs-feynman-1.3.0.tgz","engines":{"node":">=22.6"},"scripts":{"ci":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs && npm run build && npm run test:release","lint":"node bin/feynman-lint.ts","test":"node --test tests/*.test.ts","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.ts","eslint":"eslint .","release":"npm run ci && npm publish \"$(cat dist/TARBALL.txt)\" --access public","coverage":"mkdir -p coverage && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test tests/*.test.ts","changelog":"node scripts/generate-changelog.ts","test:docs":"node scripts/check-docs.ts","typecheck":"tsc --noEmit","test:release":"node scripts/release-smoke.ts","prepublishOnly":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs","test:published":"node scripts/verify-published-package.ts"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"_resolved":"/Users/ap/work/feynman/dist/albinocrabs-feynman-1.3.0.tgz","_integrity":"sha512-8QMINJiaRze9E6bh2y/LDlfxkme7B8HgmCis+FDbeWUi5uls7nnVFcimvdP2rf5Ly2dKreRJUih6R0wnwqhbPg==","repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code, Codex, and OpenCode plugin that auto-injects ASCII diagram rules via SessionStart hook (startup, resume, compact, clear)","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.0","typescript":"^6.0.3","@types/node":"^25.9.1","@typescript-eslint/parser":"^8.22.0","@typescript-eslint/eslint-plugin":"^8.22.0"},"_npmOperationalInternal":{"tmp":"tmp/feynman_1.3.0_1779711623494_0.6317228014547258","host":"s3://npm-registry-packages-npm-production"}},"1.4.0":{"name":"@albinocrabs/feynman","version":"1.4.0","keywords":["claude-code","codex","ascii","diagrams","claude","openai","plugin","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@1.4.0","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"8f2cbb9c9e2413101e7c94bb656a11280828f675","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-1.4.0.tgz","fileCount":52,"integrity":"sha512-+rsgCDI5Hz7w+hLy72RLbpthC5MeTqcmt4QT+hVCrZQ9SDo/fN9JT0j9uNz67t+naune3VryQZAVRnZbRuRzRg==","signatures":[{"sig":"MEQCIEoqFP5o7kTAyke3DdPOHpPzN/EmBCCXbqteOuE1M6LdAiBcwYwEWnOT+yS7mfwCKYuvPx/fgGQGp9MmuvZvGMR/Jg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":319812},"main":"lib/lint/index.js","type":"module","_from":"file:dist/albinocrabs-feynman-1.4.0.tgz","engines":{"node":">=22.6"},"scripts":{"ci":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs && npm run build && npm run test:release","lint":"node bin/feynman-lint.ts","test":"node --test tests/*.test.ts","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.ts","eslint":"eslint .","release":"npm run ci && npm publish \"$(cat dist/TARBALL.txt)\" --access public","coverage":"mkdir -p coverage && node --experimental-test-coverage --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test tests/*.test.ts","changelog":"node scripts/generate-changelog.ts","test:docs":"node scripts/check-docs.ts","typecheck":"tsc --noEmit","test:release":"node scripts/release-smoke.ts","prepublishOnly":"npm run audit && npm run typecheck && npm run coverage && npm run test:docs","test:published":"node scripts/verify-published-package.ts"},"_npmUser":{"name":"apolenkov","email":"pol_san@mail.ru"},"_resolved":"/Users/ap/work/feynman/dist/albinocrabs-feynman-1.4.0.tgz","_integrity":"sha512-+rsgCDI5Hz7w+hLy72RLbpthC5MeTqcmt4QT+hVCrZQ9SDo/fN9JT0j9uNz67t+naune3VryQZAVRnZbRuRzRg==","repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"11.12.1","description":"Claude Code, Codex, and OpenCode plugin that auto-injects ASCII diagram rules via SessionStart hook (startup, resume, compact, clear)","directories":{},"_nodeVersion":"26.0.0","_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.4.0","typescript":"^6.0.3","@types/node":"^25.9.1","@typescript-eslint/parser":"^8.22.0","@typescript-eslint/eslint-plugin":"^8.22.0"},"_npmOperationalInternal":{"tmp":"tmp/feynman_1.4.0_1779714979640_0.10835202037443548","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@albinocrabs/feynman","version":"2.0.0","keywords":["codex","codex-plugin","openai","ascii-diagrams","visual-architecture","developer-tools","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@2.0.0","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"68fad6349547571b9f9959374a03028bc297c64c","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-2.0.0.tgz","fileCount":74,"integrity":"sha512-xQIMbRYmE+UxeSu1LGpjTYpQdstnnMK9l+VaFWKlzF6Kc0gNQ4lznoMjtMSHHmknKlWrWDd1+uLs0qevzlqtcQ==","signatures":[{"sig":"MEYCIQCvwFgFsH1CSP/kH/PzEwWZLAYwTxLDdcje3IkpzG3wXwIhAJi2ezF/ANi5HdySCPx7dw4Ly2ncUhDBmRgq4CFpLfv4","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@albinocrabs%2ffeynman@2.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":289779},"main":"lib/lint/index.js","type":"module","_from":"file:dist/albinocrabs-feynman-2.0.0.tgz","engines":{"node":">=22.18.0"},"scripts":{"ci":"npm run audit && npm run typecheck && npm run eslint && npm run coverage && npm run check:coverage && npm run test:docs && npm run build && npm run test:release","lint":"node bin/feynman-lint.ts","test":"node --test tests/*.test.ts","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.ts","eslint":"eslint .","release":"npm run ci && npm publish \"./$(cat dist/TARBALL.txt)\" --access public","coverage":"mkdir -p coverage && node --experimental-test-coverage --test-coverage-exclude=tests/** --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test tests/*.test.ts","changelog":"node scripts/generate-changelog.ts","test:docs":"node scripts/check-docs.ts","typecheck":"tsc --noEmit","test:release":"node scripts/release-smoke.ts","check:coverage":"node scripts/check-coverage.ts","prepublishOnly":"npm run audit && npm run typecheck && npm run coverage && npm run check:coverage && npm run test:docs","test:published":"node scripts/verify-published-package.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:22e34d60-9648-4e85-a571-f0948c459d85"}},"_resolved":"/home/runner/work/feynman/feynman/dist/albinocrabs-feynman-2.0.0.tgz","_integrity":"sha512-xQIMbRYmE+UxeSu1LGpjTYpQdstnnMK9l+VaFWKlzF6Kc0gNQ4lznoMjtMSHHmknKlWrWDd1+uLs0qevzlqtcQ==","repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"12.0.2","description":"Codex plugin that auto-injects readable ASCII diagram rules via the SessionStart hook","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.9.1","typescript":"^6.0.3","@types/node":"^26.4.0","@typescript-eslint/parser":"^8.69.0","@typescript-eslint/eslint-plugin":"^8.69.0"},"_npmOperationalInternal":{"tmp":"tmp/feynman_2.0.0_1788265106235_0.26082389024847585","host":"s3://npm-registry-packages-npm-production"}},"2.1.0":{"name":"@albinocrabs/feynman","version":"2.1.0","keywords":["codex","codex-plugin","openai","ascii-diagrams","visual-architecture","developer-tools","hook"],"author":{"name":"apolenkov"},"license":"MIT","_id":"@albinocrabs/feynman@2.1.0","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"dist":{"shasum":"509b3c860301cde58acf9ec1e8c6f9839dac1f46","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-2.1.0.tgz","fileCount":85,"integrity":"sha512-2La/0e9aP5vDWNH01fyyJbsIzt9YBgYr4FcVfs+2OyYhYIfP1OUoFnQCo2HpQiN+B9PkEoPzWWX3ovXVMKORSA==","signatures":[{"sig":"MEQCIFrpL5R6YkEHCMMhZDl73PxC1ETt0+J6mLujvZxRamcyAiBGY2+rU8Wff3z6TfXCJhjiCioc1+k6T5f002zCNXBq5Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@albinocrabs%2ffeynman@2.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":408436},"main":"lib/lint/index.js","type":"module","_from":"file:dist/albinocrabs-feynman-2.1.0.tgz","engines":{"node":">=22.18.0"},"scripts":{"ci":"npm run audit && npm run format:check && npm run typecheck && npm run eslint && npm run coverage && npm run check:coverage && npm run test:docs && npm run check:reproducibility && npm run test:release","lint":"node bin/feynman-lint.ts","test":"node --test tests/*.test.ts","audit":"npm audit --audit-level=moderate","build":"node scripts/build-package.ts","eslint":"eslint . --max-warnings=0","format":"prettier --write \"**/*.{ts,mjs,json,yml,yaml}\"","release":"npm run ci && npm publish \"./$(cat dist/TARBALL.txt)\" --access public","coverage":"mkdir -p coverage && node --experimental-test-coverage --test-coverage-exclude=tests/** --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test tests/*.test.ts","changelog":"node scripts/generate-changelog.ts","test:docs":"node scripts/check-docs.ts","typecheck":"tsc --noEmit","format:check":"prettier --check \"**/*.{ts,mjs,json,yml,yaml}\"","test:release":"node scripts/release-smoke.ts","check:coverage":"node scripts/check-coverage.ts","prepublishOnly":"npm run audit && npm run typecheck && npm run coverage && npm run check:coverage && npm run test:docs","test:published":"node scripts/verify-published-package.ts","check:reproducibility":"node scripts/check-reproducibility.ts"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:22e34d60-9648-4e85-a571-f0948c459d85"}},"_resolved":"/home/runner/work/feynman/feynman/dist/albinocrabs-feynman-2.1.0.tgz","_integrity":"sha512-2La/0e9aP5vDWNH01fyyJbsIzt9YBgYr4FcVfs+2OyYhYIfP1OUoFnQCo2HpQiN+B9PkEoPzWWX3ovXVMKORSA==","repository":{"url":"git+https://github.com/apolenkov/feynman.git","type":"git"},"_npmVersion":"12.0.2","description":"Visual-explanation skill for Codex with an optional session hook and ASCII diagram linter","directories":{},"_nodeVersion":"22.23.2","_hasShrinkwrap":false,"devDependencies":{"eslint":"^10.9.1","prettier":"3.9.6","typescript":"^6.0.3","@types/node":"^26.4.0","@typescript-eslint/parser":"^8.69.0","@typescript-eslint/eslint-plugin":"^8.69.0"},"_npmOperationalInternal":{"tmp":"tmp/feynman_2.1.0_1788687529234_0.046930639326704826","host":"s3://npm-registry-packages-npm-production"}},"2.1.1":{"name":"@albinocrabs/feynman","version":"2.1.1","description":"Visual-explanation skill for Codex with an optional session hook and ASCII diagram linter","license":"MIT","author":{"name":"apolenkov"},"keywords":["codex","codex-plugin","openai","ascii-diagrams","visual-architecture","developer-tools","hook"],"repository":{"type":"git","url":"git+https://github.com/apolenkov/feynman.git"},"homepage":"https://github.com/apolenkov/feynman#readme","bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"type":"module","engines":{"node":">=22.18.0"},"main":"lib/lint/index.js","bin":{"feynman":"bin/feynman.js","feynman-lint":"bin/feynman-lint.js"},"scripts":{"test":"node --test tests/*.test.ts","typecheck":"tsc --noEmit","coverage":"mkdir -p coverage && node --experimental-test-coverage --test-coverage-exclude=tests/** --test-reporter=spec --test-reporter-destination=stdout --test-reporter=lcov --test-reporter-destination=coverage/lcov.info --test tests/*.test.ts","check:coverage":"node scripts/check-coverage.ts","lint":"node bin/feynman-lint.ts","eslint":"eslint . --max-warnings=0","format":"prettier --write \"**/*.{ts,mjs,json,yml,yaml}\"","format:check":"prettier --check \"**/*.{ts,mjs,json,yml,yaml}\"","audit":"npm audit --audit-level=moderate","test:docs":"node scripts/check-docs.ts","test:release":"node scripts/release-smoke.ts","test:published":"node scripts/verify-published-package.ts","build":"node scripts/build-package.ts","changelog":"node scripts/generate-changelog.ts","ci":"npm run audit && npm run format:check && npm run typecheck && npm run eslint && npm run coverage && npm run check:coverage && npm run test:docs && npm run check:reproducibility && npm run test:release","prepublishOnly":"npm run audit && npm run typecheck && npm run coverage && npm run check:coverage && npm run test:docs","release":"npm run ci && npm publish \"./$(cat dist/TARBALL.txt)\" --access public","check:reproducibility":"node scripts/check-reproducibility.ts"},"devDependencies":{"@types/node":"^26.4.0","@typescript-eslint/eslint-plugin":"^8.69.0","@typescript-eslint/parser":"^8.69.0","eslint":"^10.9.1","prettier":"3.9.6","typescript":"^6.0.3"},"_id":"@albinocrabs/feynman@2.1.1","_integrity":"sha512-k7m21rjxHXBwz/MBFED00oggf87W6wSfLhxtwTU4wKdDoe9kvooKy17Mtvxp33kuTJvi7uKGgInaTRadqPWYJQ==","_resolved":"/home/runner/work/feynman/feynman/dist/albinocrabs-feynman-2.1.1.tgz","_from":"file:dist/albinocrabs-feynman-2.1.1.tgz","_nodeVersion":"22.23.2","_npmVersion":"12.0.2","dist":{"integrity":"sha512-k7m21rjxHXBwz/MBFED00oggf87W6wSfLhxtwTU4wKdDoe9kvooKy17Mtvxp33kuTJvi7uKGgInaTRadqPWYJQ==","shasum":"1be1c082e1bddc8b0cf105cb9077fd17935829eb","tarball":"https://registry.npmjs.org/@albinocrabs/feynman/-/feynman-2.1.1.tgz","fileCount":85,"unpackedSize":411121,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@albinocrabs%2ffeynman@2.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQDoPs9o0ls2coDGEO4jd4cJkbaNkXsltEeMBMEuAPxT2wIhANXGDT2auWHIlCNQRQdptVUxm7p4o1NbVBpoDpzjs7HY"}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:22e34d60-9648-4e85-a571-f0948c459d85"}},"directories":{},"maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/feynman_2.1.1_1788893406234_0.22182975656615334"},"_hasShrinkwrap":false}},"time":{"created":"2026-05-07T04:32:33.666Z","modified":"2026-09-08T18:50:06.793Z","0.2.0":"2026-05-07T04:32:33.896Z","0.2.1":"2026-05-07T06:37:02.010Z","0.2.2":"2026-05-07T07:04:11.231Z","0.2.4":"2026-05-07T09:59:12.883Z","0.2.5":"2026-05-08T05:46:58.423Z","0.2.6":"2026-05-08T20:26:02.523Z","0.3.1":"2026-05-10T13:51:02.263Z","0.3.2":"2026-05-10T17:01:10.850Z","0.3.3":"2026-05-10T18:52:29.242Z","0.4.0":"2026-05-11T14:37:17.904Z","0.5.0":"2026-05-11T19:03:15.416Z","0.6.0":"2026-05-12T05:18:19.088Z","0.6.1":"2026-05-12T05:22:19.327Z","0.7.0":"2026-05-17T11:12:17.390Z","1.0.0":"2026-05-21T22:22:41.045Z","1.0.1":"2026-05-21T22:38:08.777Z","1.1.0":"2026-05-22T08:29:36.274Z","1.1.1":"2026-05-22T08:48:58.799Z","1.2.1":"2026-05-25T10:02:19.941Z","1.3.0":"2026-05-25T12:20:23.635Z","1.4.0":"2026-05-25T13:16:19.804Z","2.0.0":"2026-09-01T12:18:26.363Z","2.1.0":"2026-09-06T09:38:49.371Z","2.1.1":"2026-09-08T18:50:06.410Z"},"bugs":{"url":"https://github.com/apolenkov/feynman/issues"},"author":{"name":"apolenkov"},"license":"MIT","homepage":"https://github.com/apolenkov/feynman#readme","keywords":["codex","codex-plugin","openai","ascii-diagrams","visual-architecture","developer-tools","hook"],"repository":{"type":"git","url":"git+https://github.com/apolenkov/feynman.git"},"description":"Visual-explanation skill for Codex with an optional session hook and ASCII diagram linter","maintainers":[{"name":"apolenkov","email":"pol_san@mail.ru"}],"readme":"# feynman\n\n![CI](https://github.com/apolenkov/feynman/actions/workflows/ci.yml/badge.svg?label=CI&color=2563EB)\n![npm](https://img.shields.io/npm/v/@albinocrabs/feynman?color=2563EB)\n![License](https://img.shields.io/github/license/apolenkov/feynman?color=2563EB)\n[![skills.sh](https://skills.sh/b/apolenkov/feynman)](https://skills.sh/apolenkov/feynman)\n\nfeynman adds visual-explanation instructions to Codex. The native skill guides\nCodex through extracting relationships from text, choosing a readable layout,\nand checking the finished diagram against the supplied facts. An optional\nlocal CLI installs session-wide diagram guidance and provides an ASCII linter.\n\nUse it when you want a visual explanation. The earlier controlled comparison\ndid not establish clearer answers than ordinary Codex responses and exhibited\nfactual and instruction-compliance failures. See the historical\n[evaluation report](docs/evaluation-3ab9de4.md). Technical test results do not\nestablish explanation quality.\n\n## Install\n\n### Native Codex plugin\n\n```bash\ncodex plugin marketplace add apolenkov/feynman --ref main\ncodex plugin add feynman@feynman\n```\n\nOpen `/plugins` in Codex to search for **Feynman**, install it, then start a\nnew session. The skill is discoverable for visual architecture, ASCII diagrams,\nflows, trees, comparisons, priorities, and status summaries.\nExplanation requests work directly from the packaged skill; they do not need\nthe CLI, a hook, network access, or local state setup.\n\n### skills.sh (Codex)\n\nFor teams that distribute skills through [skills.sh](https://www.skills.sh/),\ninstall the same Codex-only skill directly from this repository:\n\n```bash\nnpx skills add apolenkov/feynman --skill feynman --agent codex --global --yes\n```\n\nFor settings, the skill invokes an already installed local `feynman` executable\nfrom `PATH`, or an absolute executable path supplied by the user. It never uses\na remote package runner or installs or updates the CLI as a side effect. The\nskills.sh catalog is indexed asynchronously after installations, so a newly\nreleased source can take a short time to appear in search.\n\n### Local hook and CLI\n\n```bash\nnpm install --global --ignore-scripts @albinocrabs/feynman@2.1.1\nfeynman install\nfeynman doctor\n```\n\nThe installer targets Codex by default and writes only to `~/.codex`. It is\nidempotent. Uninstall with:\n\n```bash\nfeynman uninstall\n```\n\nThis persistent CLI setup is optional. Upgrade it only as a separate explicit\naction by installing the intended version; skill settings never trigger an\ninstall or upgrade. The GitHub project `apolenkov/feynman` and npm package\n`@albinocrabs/feynman` are the two distribution paths for the same project.\nGet the attestation URL with\n`npm view @albinocrabs/feynman@2.1.1 dist.attestations.url`. Open that URL and\ndecode the SLSA attestation's base64 `bundle.dsseEnvelope.payload`; its\n`predicate.buildDefinition` identifies the repository, release workflow and\nsource commit. Check these against the intended GitHub release. Provenance\nidentifies the source and build; it does not establish that the code is safe.\n\nThe native plugin supplies the Codex skill. The CLI installer registers the\n`SessionStart` hook that injects the selected ruleset into a session.\nAfter installing or updating the hook, open `/hooks` in Codex, review and trust\nits current definition, then start a new session. Codex skips new or changed\nhooks until they are trusted. This step applies to the optional hook; standalone\nskill explanations need no hook setup.\n\n## What it does\n\nThe instructions separate meaning from layout: preserve entities, relationship\nverbs, conditions and uncertainty, then choose a flow, graph, hierarchy, table\nor list. Whole-text transformations must retain every in-scope fact. Shared\nnodes and cycles need explicit connections; a tree is reserved for a hierarchy.\nDiagrams use the requested width, or 80 display columns by default.\n\nAn explicit diagram request takes precedence over automatic style limits;\nprose-only requests remain prose. Model compliance is not guaranteed. The\ndefault hook Intensity is `full`; `lite` and `ultra` are available through\n`feynman state`. These persistent preferences apply to the CLI-installed hook;\nstandalone skill explanations follow their packaged instructions and your request.\n\n```text\n[Build] --> [Test] --> [Deploy]\n```\n\nThe hook runs on `startup`, `resume`, `compact`, and `clear`, so the rules are\nrestored after context compaction without being repeated on every prompt.\n\n## CLI\n\n```bash\nfeynman install             # register the Codex hook\nfeynman doctor              # inspect the local Codex installation\nfeynman state lite          # set diagram intensity\nfeynman state style short   # choose an output-style preset\nfeynman status              # show current state\nfeynman uninstall           # remove feynman registration, keep state\nfeynman lint README.md      # lint ASCII visuals in a file\nfeynman lint --strict FILE  # treat warnings as errors\nfeynman examples            # list bundled examples\nfeynman bootstrap --out DIR # export an operable local bundle\nfeynman version\n```\n\nThe CLI has zero third-party runtime dependencies and requires Node.js 22.18 or\nnewer. The native explanation skill does not need Node.js until you explicitly\nrequest a CLI operation.\n\n`bootstrap --force` replaces only a previous Feynman export with ownership\nmetadata. It refuses unrelated, symlinked and protected destinations.\n\n## Repository map\n\n```text\ncore contract       rules/, lib/state/     Contract, state model, pure rules\napplication         bin/commands/          CLI use cases\nadapters            bin/adapters/, hooks/  Codex filesystem and SessionStart integration\nlint subsystem      lib/lint/              parser, rules, reporter\nquality             tests/, scripts/       tests, checks, package build\nCodex distribution  plugins/feynman/       native marketplace plugin\ndocumentation       docs/, CONTEXT.md      architecture, decisions, vocabulary\nspecifications      openspec/specs/        active testable requirements\n```\n\nThe core contract never depends on commands or adapters; commands coordinate\nthe local Codex/filesystem adapters. The linter is a separate application path\nsharing only small domain-neutral utilities. See\n[Architecture](docs/architecture.md) for the full map and boundaries.\n\n## Development\n\n```bash\ngit clone https://github.com/apolenkov/feynman.git\ncd feynman\nnpm ci\nnpm run ci\n```\n\nBefore opening a pull request, run `npm run ci` and lint each changed Markdown file\nwith `npm run lint -- <file.md>`. Use Conventional Commits. Keep changes focused and\nadd a test for changed behavior.\n\nThe quality gate checks formatting, types, typed lint, behavior, coverage scope,\ndocumentation and byte-for-byte package reproducibility. The live comparison\nof explanations is separate: the latest 96-answer experiment completed and\nfailed its acceptance criteria. See the [results](docs/evaluation-3ab9de4.md)\nand [protocol](evals/protocol-v2.md).\nThe new [ASCII transformation protocol](evals/ascii-transformation-protocol.md)\ntests complete fact preservation and readable relationships through the actual\ndelivery paths. Its [research rationale](docs/ascii-explanation-research.md)\ndistinguishes these checks from unproven claims about human reading speed.\n\nSee [CONTRIBUTING.md](CONTRIBUTING.md) for contribution workflow,\n[SECURITY.md](SECURITY.md) for private vulnerability reports, and\n[docs/release.md](docs/release.md) for publishing. See\n[docs/codex-plugin.md](docs/codex-plugin.md) for the native plugin contract.\n\n## Privacy and license\n\nfeynman is local-only: its hook reads packaged rules and Codex-local state and\nwrites no telemetry. Skill settings invoke only an already installed local CLI;\nthey do not fetch packages. The hook itself makes no network request.\nSee [PRIVACY.md](PRIVACY.md). Licensed under the MIT License.\n","readmeFilename":"README.md"}