{"_id":"@contino/tally-freebsd-x64","_rev":"12-8c1115d55f6a99b91c7666ca4a6f5833","name":"@contino/tally-freebsd-x64","dist-tags":{"latest":"0.8.0"},"versions":{"0.1.0":{"name":"@contino/tally-freebsd-x64","version":"0.1.0","license":"Apache-2.0","_id":"@contino/tally-freebsd-x64@0.1.0","maintainers":[{"name":"tinovyatkin","email":"tino@vtkn.io"}],"homepage":"https://github.com/tinovyatkin/tally#readme","bugs":{"url":"https://github.com/tinovyatkin/tally/issues"},"os":["freebsd"],"cpu":["x64"],"dist":{"shasum":"68b55fa0c394139ff0a8327694fedd149e895350","tarball":"https://registry.npmjs.org/@contino/tally-freebsd-x64/-/tally-freebsd-x64-0.1.0.tgz","fileCount":5,"integrity":"sha512-bAr44P4FoSYQQD8ggmYinAh7nxMKP+TQAbBs16jCo3oXrnbGGctr9lk/P8iU9WYYVg5E7tDAEczM7TogBWIQKg==","signatures":[{"sig":"MEQCICiCbnSXa47tJLBZs8CfWo7gsCCF3Hoec0yKxaeO+oJXAiAHHWmGIUgjT2fvJBN5vtndNS8EVzK2a6Nm7+6E1RB11A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":22590292},"gitHead":"ed8d88e37023d52cba86ed10dac04c766066cd48","_npmUser":{"name":"tinovyatkin","email":"tino@vtkn.io"},"repository":{"url":"git+https://github.com/tinovyatkin/tally.git","type":"git"},"_npmVersion":"11.7.0","description":"The FreeBSD 64-bit binary for tally","directories":{},"_nodeVersion":"25.3.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tally-freebsd-x64_0.1.0_1769777415342_0.713434659800114","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@contino/tally-freebsd-x64","version":"0.1.3","license":"Apache-2.0","_id":"@contino/tally-freebsd-x64@0.1.3","maintainers":[{"name":"tinovyatkin","email":"tino@vtkn.io"}],"homepage":"https://github.com/tinovyatkin/tally#readme","bugs":{"url":"https://github.com/tinovyatkin/tally/issues"},"os":["freebsd"],"cpu":["x64"],"dist":{"shasum":"dc7171243966b9b7a639cd3536d595742700eb1f","tarball":"https://registry.npmjs.org/@contino/tally-freebsd-x64/-/tally-freebsd-x64-0.1.3.tgz","fileCount":5,"integrity":"sha512-GqO1PWHgfrEJJyr/qZYyw9PkyQX/11Sh+UFVpjmNzdFG6trjZqmo/l6Sf/HDiKw8GnA7Am8mEygAaLmZ++xwCQ==","signatures":[{"sig":"MEQCIA1Ylqa0jF4tb7lf3s9OjSNhJk24GprX5T6FiHeaZYklAiB9EbBRfz3sCxW1LwJJvpSza2b34n37FY8sA5NYDwzkkA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contino%2ftally-freebsd-x64@0.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22582100},"gitHead":"3671a4fd5ce39b307c6229ff6b0f65f584d7f75d","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:79727920-4abe-43c9-aa5c-dbbecf2798cb"}},"repository":{"url":"git+https://github.com/tinovyatkin/tally.git","type":"git"},"_npmVersion":"11.8.0","description":"The FreeBSD 64-bit binary for tally","directories":{},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tally-freebsd-x64_0.1.3_1769795800875_0.4748045921961419","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@contino/tally-freebsd-x64","version":"0.1.5","license":"Apache-2.0","_id":"@contino/tally-freebsd-x64@0.1.5","maintainers":[{"name":"tinovyatkin","email":"tino@vtkn.io"}],"homepage":"https://github.com/tinovyatkin/tally#readme","bugs":{"url":"https://github.com/tinovyatkin/tally/issues"},"os":["freebsd"],"cpu":["x64"],"dist":{"shasum":"9f39fc7abf30760454a376dbdece94e91bc954e1","tarball":"https://registry.npmjs.org/@contino/tally-freebsd-x64/-/tally-freebsd-x64-0.1.5.tgz","fileCount":5,"integrity":"sha512-7+hrTKDhTinKyr448RvMx6SY3i7KPCC51lHtHV+wqluzMUn6QKojFiOhgWhnHLlWXJtnG8n+2D45DRx0ctjxlQ==","signatures":[{"sig":"MEQCIAGht4snsXmlVAzUTivY1b1akeDnbUJRFjCmsaM07mUXAiAYPsU5/zbQXeOi/Wsgy3baUz4/xueQdP+fRWCleRMHLA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contino%2ftally-freebsd-x64@0.1.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22582176},"gitHead":"aa8a6e9d85f096073671faa45d9151753e00c435","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:79727920-4abe-43c9-aa5c-dbbecf2798cb"}},"repository":{"url":"git+https://github.com/tinovyatkin/tally.git","type":"git"},"_npmVersion":"11.8.0","description":"The FreeBSD 64-bit binary for tally","directories":{},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tally-freebsd-x64_0.1.5_1769812781329_0.81731566447322","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@contino/tally-freebsd-x64","version":"0.2.0","license":"Apache-2.0","_id":"@contino/tally-freebsd-x64@0.2.0","maintainers":[{"name":"tinovyatkin","email":"tino@vtkn.io"}],"homepage":"https://github.com/tinovyatkin/tally#readme","bugs":{"url":"https://github.com/tinovyatkin/tally/issues"},"os":["freebsd"],"cpu":["x64"],"dist":{"shasum":"d15824b5804a1450dd77504b24cbc879d342018b","tarball":"https://registry.npmjs.org/@contino/tally-freebsd-x64/-/tally-freebsd-x64-0.2.0.tgz","fileCount":5,"integrity":"sha512-f5OrKES6JQdmwnjKoQxZO89QUYKXuNpVyS4bCd9mh9H8xcZMUfIaafmBJjxspxKPfEep5V5EhZg2soxe0LOf3w==","signatures":[{"sig":"MEUCIQDV8K2e5vw/MYqe7NayqnuyMXV+JGzWkxoTLhQz/saLBgIgL+LiiU9578OjWsAaXuawLkOAfckxhIbFk9tRQqC+1jk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contino%2ftally-freebsd-x64@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":22905786},"gitHead":"aa1641b9b6312e7418c7f7efabb844404c76d9a5","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:79727920-4abe-43c9-aa5c-dbbecf2798cb"}},"repository":{"url":"git+https://github.com/tinovyatkin/tally.git","type":"git"},"_npmVersion":"11.8.0","description":"The FreeBSD 64-bit binary for tally","directories":{},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tally-freebsd-x64_0.2.0_1769862646866_0.3406943747515061","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@contino/tally-freebsd-x64","version":"0.3.0","license":"Apache-2.0","_id":"@contino/tally-freebsd-x64@0.3.0","maintainers":[{"name":"tinovyatkin","email":"tino@vtkn.io"}],"homepage":"https://github.com/tinovyatkin/tally#readme","bugs":{"url":"https://github.com/tinovyatkin/tally/issues"},"os":["freebsd"],"cpu":["x64"],"dist":{"shasum":"d1c221f5047033e9e8cac3f52911ac41d647dcc6","tarball":"https://registry.npmjs.org/@contino/tally-freebsd-x64/-/tally-freebsd-x64-0.3.0.tgz","fileCount":5,"integrity":"sha512-s1c45isTf0YmXMdD9nRvsC1lMEXawzz4GSD5W6reB5o6jA/Yz5YpLwWvx/3rNGJZurvnN2EnAe7e4NbVorp0tw==","signatures":[{"sig":"MEUCIQCTt2aGTYM5m/pKhD4kJj/047G3VB3PQhqMVhUFGna97gIgSHl9h88IN5fk5WlyNAFK9vLDh6EW7/gn6ve7QGuVL5I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contino%2ftally-freebsd-x64@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23035508},"gitHead":"247d6cdc65763423a8c7077decb9869fa9fa88a5","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:79727920-4abe-43c9-aa5c-dbbecf2798cb"}},"repository":{"url":"git+https://github.com/tinovyatkin/tally.git","type":"git"},"_npmVersion":"11.8.0","description":"The FreeBSD 64-bit binary for tally","directories":{},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tally-freebsd-x64_0.3.0_1769988019370_0.05999620875966838","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@contino/tally-freebsd-x64","version":"0.4.0","license":"Apache-2.0","_id":"@contino/tally-freebsd-x64@0.4.0","maintainers":[{"name":"tinovyatkin","email":"tino@vtkn.io"}],"homepage":"https://github.com/tinovyatkin/tally#readme","bugs":{"url":"https://github.com/tinovyatkin/tally/issues"},"os":["freebsd"],"cpu":["x64"],"dist":{"shasum":"9d7d975b8d585b86ee9616cb5d6e4206f8117003","tarball":"https://registry.npmjs.org/@contino/tally-freebsd-x64/-/tally-freebsd-x64-0.4.0.tgz","fileCount":4,"integrity":"sha512-qSXjdlG2BdrU1Z16Tfef8yHIDsGHQk4OAZ7k+3pH5IgPut0TVFhVChkqrtr/0/AVxeRaUH6VCP9R6O2f0oSIMQ==","signatures":[{"sig":"MEUCIE1UYezP0u5umM8JbSiUAy+Hyu1hJ5p07o0QafKOTjqxAiEAxWTC6LSdGxCb/maCenWEAyPI6m52VPVjvdsAjjXARVo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contino%2ftally-freebsd-x64@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23047827},"gitHead":"cb6bccd5ba4606b96b208b50507c8d29b9f51fdf","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:79727920-4abe-43c9-aa5c-dbbecf2798cb"}},"repository":{"url":"git+https://github.com/tinovyatkin/tally.git","type":"git"},"_npmVersion":"11.8.0","description":"tally binary for freebsd-x64","directories":{},"_nodeVersion":"24.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tally-freebsd-x64_0.4.0_1769998272390_0.25285510195578964","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@contino/tally-freebsd-x64","version":"0.4.1","license":"Apache-2.0","_id":"@contino/tally-freebsd-x64@0.4.1","maintainers":[{"name":"tinovyatkin","email":"tino@vtkn.io"}],"homepage":"https://github.com/tinovyatkin/tally#readme","bugs":{"url":"https://github.com/tinovyatkin/tally/issues"},"os":["freebsd"],"cpu":["x64"],"dist":{"shasum":"23557200e710d1740bcdcd8a79733a8dd1c1cbcd","tarball":"https://registry.npmjs.org/@contino/tally-freebsd-x64/-/tally-freebsd-x64-0.4.1.tgz","fileCount":4,"integrity":"sha512-a9C3OKgQrWTagIczDqVHmQV9ETX8s3rwxmo50UQ9tTiApzMnR1Sylh1ciORBRmiEatkXjDfMssCOdoRXao7k/Q==","signatures":[{"sig":"MEYCIQCDjltT2ViKPjvktLB1rFsE2K0qXh3FTUR+Gwx8lK74VgIhAK+nRLsFWNK2gmw4K6KKJ/+pLWiAK5cK/aiHx1RRjBWF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contino%2ftally-freebsd-x64@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":23068307},"gitHead":"d8f65de65db29cf7e98da2b457af019b6ad137f1","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:79727920-4abe-43c9-aa5c-dbbecf2798cb"}},"repository":{"url":"git+https://github.com/tinovyatkin/tally.git","type":"git"},"_npmVersion":"11.8.0","description":"tally binary for freebsd-x64","directories":{},"_nodeVersion":"24.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tally-freebsd-x64_0.4.1_1770030100616_0.2708616023812014","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@contino/tally-freebsd-x64","version":"0.5.0","license":"Apache-2.0","_id":"@contino/tally-freebsd-x64@0.5.0","maintainers":[{"name":"tinovyatkin","email":"tino@vtkn.io"}],"homepage":"https://github.com/tinovyatkin/tally#readme","bugs":{"url":"https://github.com/tinovyatkin/tally/issues"},"os":["freebsd"],"cpu":["x64"],"dist":{"shasum":"3e4dc4fdd188bdda452d020b6afc956ae9a1c35e","tarball":"https://registry.npmjs.org/@contino/tally-freebsd-x64/-/tally-freebsd-x64-0.5.0.tgz","fileCount":4,"integrity":"sha512-8WPF8errfX5kepTjRJJTJZIgltu1iNI8sGGJufT0IHSbIQjlEBLz99zyQ8VoPhArJCyxOzASc38PexwuHc8tXQ==","signatures":[{"sig":"MEUCIDk2T77pES2B9mFPvJ1Er+Fw+uj+wf6Miz8gv9ahErbcAiEAzmi9h4CEwxDBR2aBRNST6fvgOlWbQDKRhFsZzOF2nU0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contino%2ftally-freebsd-x64@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24902885},"gitHead":"d7bf29ce1b40cf66421fcd69fecf66baa658eb2e","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:79727920-4abe-43c9-aa5c-dbbecf2798cb"}},"repository":{"url":"git+https://github.com/tinovyatkin/tally.git","type":"git"},"_npmVersion":"11.8.0","description":"tally binary for freebsd-x64","directories":{},"_nodeVersion":"24.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tally-freebsd-x64_0.5.0_1770142631354_0.5521939175183048","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@contino/tally-freebsd-x64","version":"0.6.0","license":"Apache-2.0","_id":"@contino/tally-freebsd-x64@0.6.0","maintainers":[{"name":"tinovyatkin","email":"tino@vtkn.io"}],"homepage":"https://github.com/tinovyatkin/tally#readme","bugs":{"url":"https://github.com/tinovyatkin/tally/issues"},"os":["freebsd"],"cpu":["x64"],"dist":{"shasum":"e89fca1de325215bfd6837aae425b5cd41faed33","tarball":"https://registry.npmjs.org/@contino/tally-freebsd-x64/-/tally-freebsd-x64-0.6.0.tgz","fileCount":4,"integrity":"sha512-JCnR5ZTqLT1uV+5ELPIKKbCRKgmeQB8uEYOr+LJgrccojccqY+d8QQwTypun/y1W+TaTd8QG2oZ6plqGJy0wdA==","signatures":[{"sig":"MEQCIEgRVJg/UeWUxoQOYdsYZRniMfBHXNxoCrRiXLw5lvN5AiA77+4cExSO9d0U/zasEP3kl06gAFKj8nYXq1QWrT0eQw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contino%2ftally-freebsd-x64@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":24993002},"gitHead":"1f63586cae1a7c478f5f88758d56fc18c36903a2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:79727920-4abe-43c9-aa5c-dbbecf2798cb"}},"repository":{"url":"git+https://github.com/tinovyatkin/tally.git","type":"git"},"_npmVersion":"11.9.0","description":"tally binary for freebsd-x64","directories":{},"_nodeVersion":"24.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tally-freebsd-x64_0.6.0_1770242402998_0.6987706280198713","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@contino/tally-freebsd-x64","version":"0.6.1","license":"Apache-2.0","_id":"@contino/tally-freebsd-x64@0.6.1","maintainers":[{"name":"tinovyatkin","email":"tino@vtkn.io"}],"homepage":"https://github.com/tinovyatkin/tally#readme","bugs":{"url":"https://github.com/tinovyatkin/tally/issues"},"os":["freebsd"],"cpu":["x64"],"dist":{"shasum":"011a05cc5370d9ee56da2d2814e73d6d451c2476","tarball":"https://registry.npmjs.org/@contino/tally-freebsd-x64/-/tally-freebsd-x64-0.6.1.tgz","fileCount":4,"integrity":"sha512-XUgdRaHqWO6kZe022surignoVGwzNsIx049pl8ijzr7UL4bLpmWGprWimL4ygPcGDNx4KVr7lIXHe/JoOnk8uw==","signatures":[{"sig":"MEUCIQDPljuOBkii8eL7Uc2QerCgyHDE7+Tr8TZnYXV75C4TvAIgbLDznQPrXkGTEUXUz6Jc3FkvEK3PPksgHyDgFh8ZfMY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contino%2ftally-freebsd-x64@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25827317},"gitHead":"e2266606ff1f6e74874568be494e529c52c66d1b","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:79727920-4abe-43c9-aa5c-dbbecf2798cb"}},"repository":{"url":"git+https://github.com/tinovyatkin/tally.git","type":"git"},"_npmVersion":"11.9.0","description":"tally binary for freebsd-x64","directories":{},"_nodeVersion":"24.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tally-freebsd-x64_0.6.1_1770580279349_0.4669464216716739","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@contino/tally-freebsd-x64","version":"0.7.0","license":"Apache-2.0","_id":"@contino/tally-freebsd-x64@0.7.0","maintainers":[{"name":"tinovyatkin","email":"tino@vtkn.io"}],"homepage":"https://github.com/tinovyatkin/tally#readme","bugs":{"url":"https://github.com/tinovyatkin/tally/issues"},"os":["freebsd"],"cpu":["x64"],"dist":{"shasum":"9fd4275b1806cf24d2295e75f30c2bd99d63bcae","tarball":"https://registry.npmjs.org/@contino/tally-freebsd-x64/-/tally-freebsd-x64-0.7.0.tgz","fileCount":4,"integrity":"sha512-PAODqQlE+C8+4WQ1840/T05Br2sPC/XMcaErffoTCIHQhHyWxc3AQz2lP8yduwfq5JHB0jXGD1pybUFit2MzDQ==","signatures":[{"sig":"MEQCIF40Ir8A8AL4ZnbarUg96hZ5hg7PYMeRnLllwjdxrJW/AiBMR/cmHwTomPZ00Ib6fReDL9g2sspD8HjedznqfN/tNQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contino%2ftally-freebsd-x64@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":25909237},"gitHead":"002cd875e400bcecd3fa9aa2f308043f47cdcafc","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:79727920-4abe-43c9-aa5c-dbbecf2798cb"}},"repository":{"url":"git+https://github.com/tinovyatkin/tally.git","type":"git"},"_npmVersion":"11.9.0","description":"tally binary for freebsd-x64","directories":{},"_nodeVersion":"24.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/tally-freebsd-x64_0.7.0_1770753413256_0.7203947398789394","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@contino/tally-freebsd-x64","version":"0.8.0","description":"tally binary for freebsd-x64","repository":{"type":"git","url":"git+https://github.com/tinovyatkin/tally.git"},"license":"Apache-2.0","bugs":{"url":"https://github.com/tinovyatkin/tally/issues"},"homepage":"https://github.com/tinovyatkin/tally#readme","os":["freebsd"],"cpu":["x64"],"publishConfig":{"access":"public"},"gitHead":"239484375bb6c887312c6f3d9bad58727b2d9f8f","_id":"@contino/tally-freebsd-x64@0.8.0","_nodeVersion":"24.13.1","_npmVersion":"11.10.0","dist":{"integrity":"sha512-1a7l4ZsoMDWIMj7d/2PRhNLfgHUwAIVH4IIxBkGFE7CDyCYC9iU42TYoBqcx+vPWHbPJ/+ghDocgZMnIA4Yrxg==","shasum":"517a542363fa55c87e306aa92cddf0a42d3912e9","tarball":"https://registry.npmjs.org/@contino/tally-freebsd-x64/-/tally-freebsd-x64-0.8.0.tgz","fileCount":4,"unpackedSize":28903391,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@contino%2ftally-freebsd-x64@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDYDO/HscCz+IAKEPC/8q/e762eIrBmYPp89zaMNg+f5wIgLPb49vOg1kU+WE/lngHAMfUmNGLqK3hTKSVIlneNquk="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:79727920-4abe-43c9-aa5c-dbbecf2798cb"}},"directories":{},"maintainers":[{"name":"tinovyatkin","email":"tino@vtkn.io"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/tally-freebsd-x64_0.8.0_1770910280953_0.5721952454338184"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-30T12:50:15.227Z","modified":"2026-02-12T15:31:21.783Z","0.1.0":"2026-01-30T12:50:15.708Z","0.1.3":"2026-01-30T17:56:41.303Z","0.1.5":"2026-01-30T22:39:41.767Z","0.2.0":"2026-01-31T12:30:47.276Z","0.3.0":"2026-02-01T23:20:19.798Z","0.4.0":"2026-02-02T02:11:12.765Z","0.4.1":"2026-02-02T11:01:41.006Z","0.5.0":"2026-02-03T18:17:11.832Z","0.6.0":"2026-02-04T22:00:03.422Z","0.6.1":"2026-02-08T19:51:19.756Z","0.7.0":"2026-02-10T19:56:53.645Z","0.8.0":"2026-02-12T15:31:21.442Z"},"bugs":{"url":"https://github.com/tinovyatkin/tally/issues"},"license":"Apache-2.0","homepage":"https://github.com/tinovyatkin/tally#readme","repository":{"type":"git","url":"git+https://github.com/tinovyatkin/tally.git"},"description":"tally binary for freebsd-x64","maintainers":[{"name":"tinovyatkin","email":"tino@vtkn.io"}],"readme":"# tally\n\n[![codecov](https://codecov.io/gh/tinovyatkin/tally/graph/badge.svg?token=J3vK0hyLkf)](https://codecov.io/gh/tinovyatkin/tally)\n\ntally keeps Dockerfiles and Containerfiles clean, modern, and consistent — using BuildKit's own parser and checks (the same foundation behind\n`docker buildx`) plus safe auto-fixes. It runs fast, doesn't require Docker Desktop or a daemon, and fits neatly into CI. If that sounds like your\nworkflow, try `tally check .`.\n\n```bash\n# Lint everything in the repo (recursive)\ntally check .\n\n# Apply all safe fixes automatically\ntally check --fix Dockerfile\n```\n\n## Why tally?\n\nDockerfile linting usually means picking a compromise:\n\n- **Hadolint** is popular and battle-tested, but it uses its own Dockerfile parser, so support for newer BuildKit features can lag behind. It also\n  is commonly consumed as a prebuilt binary, and it focuses on reporting — not fixing.\n- **`docker buildx --check`** runs Docker's official BuildKit checks, but it requires the Docker/buildx toolchain and can be heavier than a pure\n  static linter (and not always available if you're using Podman/Finch/other runtimes).\n\ntally exists to bring modern linter ergonomics to container builds:\n\n- **BuildKit-native parsing**: understands modern syntax like heredocs, `RUN --mount=...`, and `ADD --checksum=...`.\n- **Fixes, not just findings**: applies safe, mechanical fixes automatically (`--fix`), with per-rule control when you need it.\n- **Easy to install anywhere**: available via Homebrew, Go, npm, pip, and RubyGems — so it can flow through your existing artifact mirrors.\n- **Container ecosystem friendly**: supports Dockerfile/Containerfile conventions and `.dockerignore`/`.containerignore`.\n- **A growing ruleset**: combines official BuildKit checks, Hadolint-compatible rules, and tally-specific rules.\n\nRoadmap: editor integrations (VS Code, Zed), more auto-fixes, and higher-level rules (cache & tmpfs mount recommendations, tooling-aware checks for\nuv/bun, line-length and layer optimizations).\n\n## Supported Rules\n\ntally integrates rules from multiple sources:\n\n<!-- BEGIN RULES_TABLE -->\n| Source | Rules | Description |\n|--------|-------|-------------|\n| **[BuildKit](https://docs.docker.com/reference/build-checks/)** | 22/22 rules | Docker's official Dockerfile checks (captured + reimplemented) |\n| **tally** | 8 rules | Custom rules including secret detection with [gitleaks](https://github.com/gitleaks/gitleaks) |\n| **[Hadolint](https://github.com/hadolint/hadolint)** | 32 rules | Hadolint-compatible Dockerfile rules (expanding) |\n<!-- END RULES_TABLE -->\n\n**See [RULES.md](RULES.md) for the complete rules reference.**\n\n## Installation\n\n### Homebrew (macOS/Linux)\n\n```bash\nbrew install tinovyatkin/tap/tally\n```\n\n### NPM\n\n```bash\nnpm install -g tally-cli\n```\n\n### PyPI\n\n```bash\npip install tally-cli\n```\n\n### RubyGems\n\n```bash\ngem install tally-cli\n```\n\n### Go\n\n```bash\ngo install github.com/tinovyatkin/tally@latest\n```\n\n### From Source\n\n```bash\ngit clone https://github.com/tinovyatkin/tally.git\ncd tally\ngo build .\n```\n\n## Usage\n\n```bash\n# Check a Dockerfile\ntally check Dockerfile\n\n# Check all Dockerfiles in current directory (recursive)\ntally check .\n\n# Check with glob patterns\ntally check \"**/*.Dockerfile\"\n\n# Exclude patterns\ntally check --exclude \"vendor/*\" --exclude \"test/*\" .\n\n# Check with max lines limit\ntally check --max-lines 100 Dockerfile\n\n# Output as JSON\ntally check --format json Dockerfile\n\n# Check multiple files\ntally check Dockerfile.dev Dockerfile.prod\n\n# Enable context-aware rules (e.g., copy-ignored-file)\ntally check --context . Dockerfile\n```\n\n### File Discovery\n\nWhen given a directory, tally recursively searches for Dockerfiles using these default patterns:\n\n- `Dockerfile`\n- `Dockerfile.*` (e.g., `Dockerfile.dev`, `Dockerfile.prod`)\n- `*.Dockerfile` (e.g., `api.Dockerfile`, `frontend.Dockerfile`)\n- `Containerfile` (Podman convention)\n- `Containerfile.*`\n- `*.Containerfile`\n\nUse `--exclude` to filter out unwanted files:\n\n```bash\n# Exclude vendor and test directories\ntally check --exclude \"vendor/*\" --exclude \"test/*\" .\n\n# Exclude all .bak files\ntally check --exclude \"*.bak\" .\n```\n\n## Rules Overview\n\nFor the complete list of all supported rules, see **[RULES.md](RULES.md)**.\n\n### Context-Aware Rules\n\nSome rules require build context awareness. Enable them with the `--context` flag:\n\n```bash\n# Enable context-aware rules\ntally check --context . Dockerfile\n```\n\n**copy-ignored-file**: Detects when `COPY` or `ADD` commands reference files that would be excluded by `.dockerignore`. This helps catch mistakes\nwhere files are copied but won't actually be included in the build.\n\n```dockerfile\n# .dockerignore contains: *.log\n\n# This will trigger a warning:\nCOPY app.log /app/  # File matches .dockerignore pattern\n\n# Heredoc sources are exempt (they're inline, not from context):\nCOPY <<EOF /app/config.txt\ninline content\nEOF\n```\n\n## Ignoring Violations\n\nSuppress specific violations using inline comment directives:\n\n```dockerfile\n# tally ignore=StageNameCasing\nFROM alpine AS Build\n\n# tally global ignore=max-lines;reason=Generated file\nFROM alpine\n```\n\ntally also supports `hadolint` and `check=skip` directive formats for easy migration.\n\n**See [Configuration Guide](docs/guide/configuration.md#inline-directives) for full directive syntax.**\n\n## Configuration\n\nCreate a `.tally.toml` in your project:\n\n```toml\n[output]\nformat = \"text\"\nfail-level = \"warning\"\n\n[rules]\ninclude = [\"buildkit/*\", \"tally/*\"]\nexclude = [\"buildkit/MaintainerDeprecated\"]\n\n[rules.tally.max-lines]\nmax = 100\n```\n\nConfiguration priority: CLI flags > environment variables > config file > defaults.\n\n**See [Configuration Guide](docs/guide/configuration.md) for full reference.**\n\n## Output Formats\n\ntally supports multiple output formats for different use cases.\n\n### Text (default)\n\nHuman-readable output with colors and source code snippets:\n\n```bash\ntally check Dockerfile\n```\n\n```text\nWARNING: StageNameCasing - https://docs.docker.com/go/dockerfile/rule/stage-name-casing/\nStage name 'Builder' should be lowercase\n\nDockerfile:2\n────────────────────\n   1 │ FROM alpine\n>>>2 │ FROM ubuntu AS Builder\n   3 │ RUN echo \"hello\"\n────────────────────\n```\n\n### JSON\n\nMachine-readable format with summary statistics and scan metadata:\n\n```bash\ntally check --format json Dockerfile\n```\n\nThe JSON output includes:\n\n- `files`: Array of files with their violations\n- `summary`: Aggregate statistics (total, errors, warnings, etc.)\n- `files_scanned`: Total number of files scanned\n- `rules_enabled`: Number of active rules (with `DefaultSeverity != \"off\"`)\n\n```json\n{\n  \"files\": [\n    {\n      \"file\": \"Dockerfile\",\n      \"violations\": [\n        {\n          \"location\": {\n            \"file\": \"Dockerfile\",\n            \"start\": { \"line\": 2, \"column\": 0 }\n          },\n          \"rule\": \"buildkit/StageNameCasing\",\n          \"message\": \"Stage name 'Builder' should be lowercase\",\n          \"severity\": \"warning\",\n          \"docUrl\": \"https://docs.docker.com/go/dockerfile/rule/stage-name-casing/\"\n        }\n      ]\n    }\n  ],\n  \"summary\": {\n    \"total\": 1,\n    \"errors\": 0,\n    \"warnings\": 1,\n    \"info\": 0,\n    \"style\": 0,\n    \"files\": 1\n  },\n  \"files_scanned\": 1,\n  \"rules_enabled\": 41\n}\n```\n\n### SARIF\n\n[Static Analysis Results Interchange Format](https://docs.oasis-open.org/sarif/sarif/v2.1.0/) for CI/CD integration with GitHub Code Scanning, Azure DevOps, and other tools:\n\n```bash\ntally check --format sarif Dockerfile > results.sarif\n```\n\n### GitHub Actions\n\nNative GitHub Actions workflow command format for inline annotations:\n\n```bash\ntally check --format github-actions Dockerfile\n```\n\n```text\n::warning file=Dockerfile,line=2,title=StageNameCasing::Stage name 'Builder' should be lowercase\n```\n\n### Markdown\n\nConcise Markdown tables optimized for AI agents and token efficiency:\n\n```bash\ntally check --format markdown Dockerfile\n```\n\n```markdown\n**2 issues** in `Dockerfile`\n\n| Line | Issue                                       |\n| ---- | ------------------------------------------- |\n| 10   | ❌ Use absolute WORKDIR                     |\n| 2    | ⚠️ Stage name 'Builder' should be lowercase |\n```\n\nFeatures:\n\n- Summary upfront with issue counts\n- Sorted by severity (errors first)\n- Emoji indicators: ❌ error, ⚠️ warning, ℹ️ info, 💅 style\n- No rule codes or doc URLs (token-efficient)\n- Multi-file support with File column when needed\n\n### Output Options\n\n| Flag            | Description                                                          |\n| --------------- | -------------------------------------------------------------------- |\n| `--format, -f`  | Output format: `text`, `json`, `sarif`, `github-actions`, `markdown` |\n| `--output, -o`  | Output destination: `stdout`, `stderr`, or file path                 |\n| `--no-color`    | Disable colored output (also respects `NO_COLOR` env var)            |\n| `--show-source` | Show source code snippets (default: true)                            |\n| `--hide-source` | Hide source code snippets                                            |\n\n### Exit Codes\n\n| Code | Meaning                                           |\n| ---- | ------------------------------------------------- |\n| `0`  | No violations (or below `--fail-level` threshold) |\n| `1`  | Violations found at or above `--fail-level`       |\n| `2`  | Parse or configuration error                      |\n\n### Fail Level\n\nControl which severity levels cause a non-zero exit code:\n\n```bash\n# Fail only on errors (ignore warnings)\ntally check --fail-level error Dockerfile\n\n# Never fail (useful for CI reporting without blocking)\ntally check --fail-level none --format sarif Dockerfile > results.sarif\n\n# Fail on any violation including style issues (default behavior)\ntally check --fail-level style Dockerfile\n```\n\nAvailable levels (from most to least severe): `error`, `warning`, `info`, `style` (default), `none`\n\n## Development\n\n### Running Tests\n\n```bash\n# Run all tests\nmake test\n\n# Run linting\nmake lint\n\n# Run copy/paste detection (CPD)\nmake cpd\n```\n\n### Code Quality\n\nThis project uses:\n\n- **golangci-lint** for Go linting\n- **PMD CPD** for copy/paste detection (minimum 100 tokens)\n\nCopy/paste detection runs automatically in CI and helps identify duplicate code patterns.\n\n## Contributing\n\nSee [CLAUDE.md](CLAUDE.md) for development guidelines.\n\n## License\n\nApache-2.0\n","readmeFilename":"README.md"}