{"_id":"readfirst","_rev":"21-41c94600c1442c574d80c053b4c5e730","name":"readfirst","dist-tags":{"latest":"0.16.0"},"versions":{"0.0.0-stage":{"name":"readfirst","version":"0.0.0-stage","_id":"readfirst@0.0.0-stage","stub":true,"maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"dist":{"shasum":"575312139a4e84acb2fec430084350835a1aa61d","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.0.0-stage.tgz","fileCount":2,"integrity":"sha512-tVZb1BHjNosG/te/M49DFWViH7pdL5Q4YmX5t6Dlcg9Y8ZdzZ4Y9FpILFki8QKHEFptC6BwjAk3kGglN8RE0cw==","signatures":[{"sig":"MEQCICv5Qt5eusBr7z7Xs8d0oCOAjZKuZvD4ESHXfQ7RTg7yAiB2X3P/DwmVKBjR4EssDHCiuTebjtERrx7/HL+lw5cdMw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":331},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"description":"Temporary package placeholder for staged publishing","directories":{}},"0.1.0":{"name":"readfirst","version":"0.1.0","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.1.0","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"7414628770ae3739cc2bfb14a7cd975574a7e5a0","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.1.0.tgz","fileCount":10,"integrity":"sha512-WvZvZKTd60rQR8SZ17dL29MM1vXjbUv/ssgQ/2+aJOi8usaPam1sx2bv6BQ8//MyJC8kvPnqntFlDlqeBrTwpw==","signatures":[{"sig":"MEQCIGAWx3Qejr7eM5JUHdAUqxo/zIHzahTsj0WNlJykplNLAiAoWqDNtRJd+CIYsSuy218Ix/nFJXXwzB8SQF+hY9qK3Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEcAz9/zrnoHBLud308E/UyVWaGxZSN5npzNiONoBk9cAiEAqZAJSsl7uNVTShKKtOxGtock1Zi4+TXoXVyzdrob7c8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":38244},"type":"module","engines":{"node":">=20"},"gitHead":"75adfe505a28d83201619a0fa9ff40e1ca669ebe","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.1.0_1793497410634_0.2864827576649305","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"readfirst","version":"0.1.1","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.1.1","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"1da7a0e368979e1daaf519eca04fa7e08f7f80f1","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.1.1.tgz","fileCount":10,"integrity":"sha512-O4xADQWa5YyvxGmbYyEudhojbRpnjHGcygLqojeRxCEAvEnvBZyuSxGfucBmDPscN2YA+kXgFyQxOc9KyEoYHg==","signatures":[{"sig":"MEYCIQDUy8mOLTnnf7k7T+734w+Bz7OCwb52pbw+iBlkgJN+3QIhAMiCZPCSmFRCzZ+m2qvknoljFMKgXldEo0w2Q7SF7qWr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDxr1SLpWwJ5WpEjAOcmEYOcuKaDsxvoDMhzr2layUKBAiAKYBiPGPBsYdoeeMudFwFQz5lGAiyzQigg7qAQidjmjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":38244},"type":"module","engines":{"node":">=20"},"gitHead":"4c4af3878b7f9aa0eb971bfaf66c7387aaaa44a5","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.1.1_1793498795285_0.7154313052156831","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"readfirst","version":"0.2.0","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.2.0","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"32c1630808f17d2238f4b046cc16146c9d10b9a0","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.2.0.tgz","fileCount":10,"integrity":"sha512-o8dNXvdtA4YRUpkjbxyug8H7X2OXhewYK9o/S1pW5WcSHjhDtuH7GUGbPaOBU03+vr0ZVX6Ul1Xm9hibSUAIYw==","signatures":[{"sig":"MEUCIA+DtYd+0JhBD8l8P2K1rjr9v6SmpnIuQ+21jQXJYQDGAiEApBlpq1mwn/rLs8KHZYarUIovX6xu6bIL1J36/Aav5mk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQC28SmQgpmDLWJ+kqTN8hi4To/JFDMgaV9YFnASE1RAWAIgOsFAKAiSlELUTlvY9txycsI8BgnhEslQKHiy2uRfJAs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.2.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":42206},"type":"module","engines":{"node":">=20"},"gitHead":"6abe92315286c8e5a8bce9934f2891cd1b1ca8e9","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.2.0_1793507541700_0.13470899391942415","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"readfirst","version":"0.3.0","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.3.0","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"213178232df0f3069ef81b7185d9ab5da80b36aa","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.3.0.tgz","fileCount":10,"integrity":"sha512-p7WYHBJzhpIr9pSp8LcNDuM9+IUorvP9G+iRRX76mscerCtaTJ90gqzqw0xgOhdQcuiKl5bdlerNAByq0nJx0A==","signatures":[{"sig":"MEYCIQCxvkNkXsxDt0ybgj2LZbw+QWg3jcx7tHZqYSasKwUuZgIhAMKlJWomfnSSbXJGqC/cusmAmlzEJucsuAGtK0LFDVox","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICVBXglrX/lISx+ZpJjHmT1hgO8f/1Pa2Gw1Ak/yBTixAiEAke9X8GPFbfCWAt0D45Hxm304kPtv12EV7rnasfamjsc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":51875},"type":"module","engines":{"node":">=20"},"gitHead":"84ec1bef6228b2f4d4bc09e35469bf538c5821f4","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.3.0_1793508971156_0.8083612232624913","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"readfirst","version":"0.4.0","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.4.0","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"fa5f0e3c33e265d5322cbda121f10820dc9ad8ec","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.4.0.tgz","fileCount":13,"integrity":"sha512-TGb5ExRMk+hOZeBFzGS3UVvPZESf9LNdDHFY1fBdx/tvIK3Aa7RzcBfrjVoIwBxTmfxo1f+tW1TDiL+RnYxUBw==","signatures":[{"sig":"MEQCIDvcB0G0q6T9nI6eBNja3EkiV1LaJ21/MgxNW3FJz0JXAiBKzKeCtEcCSwoNA1VgPsI5RIG38bS+mS7pYt0JGlDbZw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCVLIlfxnJR2qydsB37luwBqKk1tUaKrH6vNuujl2k+PwIgRBFNvqhgm6+phYBnI8c5BtquLcvcn2mZCwXNS148gX0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":99775},"type":"module","engines":{"node":">=20"},"gitHead":"03b5c6b315c5449b06c4e31b7f4bb1e4d742f25a","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.4.0_1793513721866_0.35192701409627236","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"readfirst","version":"0.5.0","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.5.0","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"4d154efbf7838e45812d598a82c8f5c579d203fd","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.5.0.tgz","fileCount":13,"integrity":"sha512-U+1SNvj+7Sb1aP/dus+s0nvbRtVwOV1wl+Q19fGon53WoAo7T7EskkxJLZLS7SI+3zboIVndZJnfR1/Jgb7+rw==","signatures":[{"sig":"MEYCIQCq821W5sWIXkzZNJFZh5Zb/gZa4zGDQm2UgedIsqprywIhAOk5zWQlxFwV/aIDfiA+HF10KbU1QG4CUAqMZg0r6Io2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIB9YyP3nIoBYwL/0Yq734DioVjdYHoDHEQWy/gRSkKrAAiEA2IJLDIdKYHSZwTRdmmjo7HLCkTkWX2l02k4cEsn0JoA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":103570},"type":"module","engines":{"node":">=20"},"gitHead":"b7f527d68addf728a96de7163d3d61ba32e4a731","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.5.0_1793516095927_0.7976219180156798","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"readfirst","version":"0.6.0","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.6.0","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"9b70f9d5070b09e04472c4a0159e707910852d86","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.6.0.tgz","fileCount":14,"integrity":"sha512-TKu1F1u2Lzw7XQoT3+l/pW+6uuVcp50HJrAG8/1wNseS3/+Zjm8bvT00um6Awwahgcr4uMSTPVOZBfaNv56R8g==","signatures":[{"sig":"MEYCIQD3iR0JEYrhpNFGRQhgryA9al+7PshXU08XRh3IwqAG/QIhAPZw2SE0diTd2giWQDnw6/pUIb7hS0wlkh0XPhmNCZhM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHuHWWwL+dfJMD4G7uWNXF5j8PPlmp1YoKqJRiOI6TfUAiEA2eOhTopLKaPXHmfgsRnkdKV27JdgqE56guswo79DAbg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":109663},"type":"module","engines":{"node":">=20"},"gitHead":"4ea26d63a67250dcca62a66f5afb1ab016e3974b","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.6.0_1793516678874_0.10159026838256591","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"readfirst","version":"0.6.1","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.6.1","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"22dcdcb2366d0a30d0764382661a11dff52506f8","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.6.1.tgz","fileCount":14,"integrity":"sha512-bs8+k4cMdXxVmCputcU+6Hc5DjVflWDwnbT24Qsz+J7p1NgN0hQuZlO1P7QguDCtLxreB67+NWOWW8hXvVDCbg==","signatures":[{"sig":"MEUCIQCgpkiA76rzgXcdIQy7GLnU3PkOk+XyOpZXVb2KWijp5wIgbT8X+ntM41wdlRAkB+ZRqO6mL2QFqDXsWhlprBzxM00=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDPmj9XjSQpIEXMx8xZZwDRaEsCxjfolS4PaexnnC5n7QIhAIQ3Yr1MWa73qjKHSfM6ByIM1s6zld8bYE6NgW/KvmQF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":109711},"type":"module","engines":{"node":">=20"},"gitHead":"251b6f451a15339344132d19cd2901a5563da060","mcpName":"io.github.jeonghun917/readfirst","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.6.1_1793517939148_0.5824227939513021","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"readfirst","version":"0.6.2","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.6.2","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"570c2c1be7db2ff3ebfb9c70529eef56cd11dabd","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.6.2.tgz","fileCount":14,"integrity":"sha512-wmCFZSncs2cqS9b4nxequ2+zxp4/NQOV7Fw21p5RCVj3cn6PaBclF5sqnHwOUMCFQ8OHTowg2ZumdaYT4AGsoQ==","signatures":[{"sig":"MEUCIQDTmQ+pE6RNUh4bYKvDa85ILZUsUHHNpPR2CCE2RvtVxgIgL80XEZfkjZQjTdg+cPY58MSxAsYRRatglPq3DYH46mg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIF70TfcJHmYs6YQUbB0IdmdOCIcqyRyc7lkSsUx73uRlAiAjHc/m4Wq7auibafJ/n6muNqH1Mf5GENsHYdiqLbQscw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":110217},"type":"module","engines":{"node":">=20"},"gitHead":"a1137c748ffea452c2ef1b2b46295372bf8d9630","mcpName":"io.github.jeonghun917/readfirst","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.6.2_1793519447863_0.37162633029481007","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"readfirst","version":"0.7.0","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.7.0","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"4b972c48b75fb5455e9c92339b06b3506a876752","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.7.0.tgz","fileCount":15,"integrity":"sha512-ZasBdn2mkQt2ngv2Hy5fmH+FZFOoDLsN84z5MtR3owl6/nqyUUr6EiSeV72HENwJugzy7JpiTD1tyMNLycFaqQ==","signatures":[{"sig":"MEQCICqw6YXC4gHJErB7TuaQekB6ph/KT4uZ+9FR40qqTQGhAiBhsIWDpaNz0cVqqpKoo00xu7cSga6Su7IjaRYkgOqc2w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDmj+3BCQBd1LgCZL+n3tUEXRjJA9PzlkNjSHhTqvmILAIgMewqpMRqYvDDUVz+mb+VaQP4yYR1O2Isk1Cv3jlcs4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":128319},"type":"module","engines":{"node":">=20"},"gitHead":"9f866e781107d10e70e0ef8ed609158d417979f8","mcpName":"io.github.jeonghun917/readfirst","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.7.0_1793554103599_0.7775780906597509","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"readfirst","version":"0.8.0","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.8.0","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"82ef69a64711f1492d2b29efb01894c401e4d61d","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.8.0.tgz","fileCount":15,"integrity":"sha512-HcHVDc/rwlCjzepNJXTRMWsQm7la8QPnjp+4vO+8mgLQciBH6rQ65Mvgw578SnyT4Esb7cKS1vodyP+EwVNfhg==","signatures":[{"sig":"MEQCICbyIJz5AWP1OL/SG3ErX29iqWPZulW5OZe0wafDLqJpAiBa03hUJhGnKX2c4iFj033GGYptxOJaQxhU6I0uPbhNaQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAR5vt4s2p9QfB1j2ocRyJ0aShi6frk50CfauJX6Y7yiAiA1qUyTPbLxeoEu9JmxISxBsH3yp2L6XMirUg2ah2v8eQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.8.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":142932},"type":"module","engines":{"node":">=20"},"gitHead":"bfd0c2987dc96c72256670a6e8164dade1775e37","mcpName":"io.github.jeonghun917/readfirst","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.8.0_1793588179816_0.9739380908313171","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"readfirst","version":"0.9.0","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.9.0","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"5ff47e664ccaf95f18051f907f68abd407fb21a8","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.9.0.tgz","fileCount":15,"integrity":"sha512-O8DmwhOoDG+a7y6cu0SmofzlYAfcVvRoqpfVvE/HGq149JTzI4gfVzKaMFueGP/UR0jWdhHsCxXVyWMs0kKyMQ==","signatures":[{"sig":"MEYCIQCVTDqQ3uJZJy9+IYMfZ5t8SChl9fPdsML0IkEofidoOwIhALmdF2vsEQEVj/ohUEmlfnattauEb75n3OR1WrZqyhZb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDmZoRX6E7rTZScujq7n2qVf4hRUIKQTIa8CHAL+r7F+QIgbCwWkvJMqRUj0MW1O0+pmEK3s+O/5V/DLQ3S3MbPhE4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.9.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":147391},"type":"module","engines":{"node":">=20"},"gitHead":"506d71c8664f113720ed98e84d97f2fae1cf35e9","mcpName":"io.github.jeonghun917/readfirst","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.9.0_1793589221026_0.7452545140392012","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"readfirst","version":"0.10.0","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.10.0","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"a8cd39fe0e9df688f57b3a041a6c906181a75857","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.10.0.tgz","fileCount":15,"integrity":"sha512-yKV4l6CrGwUXIEkudZgrcmUtYBkOxTW4zsyfOHIIr5/DooYfaJjnPAP+9lMjpPnMIk+liuKNzGuDKVaVl0xxXw==","signatures":[{"sig":"MEYCIQDtr3NRNWBh3zxVg3U2PkofqLGtxKMYI9L8SB2N6+rTZgIhAKz/Ka+80L0X1LhKdYJ2p3E/CjRb3Dj0UoCns9lnrKmP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBpgSJaGlasEjL3FU+bHfPZq2N2XwCziFB4f6vdzZqnIAiEAsO0SXXS/rhmizxSBqblAsbPn+dWU5dputjbrkKJcfqY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.10.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":151938},"type":"module","engines":{"node":">=20"},"gitHead":"8a0522b1b7304a24a9c0277bf57073abee394f1b","mcpName":"io.github.jeonghun917/readfirst","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.10.0_1793611011666_0.43503093276232496","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"readfirst","version":"0.11.0","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.11.0","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"a44d65ee4d2485c2439ef980fc07a6b3feb686bd","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.11.0.tgz","fileCount":17,"integrity":"sha512-mBb3NwH0p7RldhE2lqixsJqSUUpAcJBcgYUNKntpCwDRCIsKrmsLAN9HYwzVyEn1hiPW3ni5Fhqun+kor5f60w==","signatures":[{"sig":"MEUCID3PiiI94ZV3u+2posjeFL8lKUPvVnswoYO16Iuve+ELAiEA0aMCWs9OpysjtYN8NRYxMmAxFPO7K7fUFeS1WHq+KE4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDLzSR4eie5shfiWmh6X8syXdtheT2tWu+TubafGV6KIwIhAJzIEVwErtDU1ApLd0pX5ikyYePh5kYm0gkyqGDUlMwE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.11.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":186392},"type":"module","engines":{"node":">=20"},"gitHead":"883cc09d8bf894aabcf2964c35219d071fd1c7cc","mcpName":"io.github.jeonghun917/readfirst","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.11.0_1793677462337_0.6351187542927248","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"readfirst","version":"0.12.0","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.12.0","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"fbf7c23db3c5778ca76f7c875e6b5bd476818bb2","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.12.0.tgz","fileCount":18,"integrity":"sha512-qk2lHsGZKC5gwM2L4Mb4MbSGGbxtcax8ENAVynW4UNpAVcSEH+E3Vy/EfgLt0LI3aecDRAwi0Tb4hCIyRA0tcQ==","signatures":[{"sig":"MEYCIQCxuXtpCftQnGBOURizubSuq2j52ZccgpFVt2BB/OdNpAIhAM9vaL6vdzTCfMV/7aP+AlBUYHqFq1uwTXjmmYBnnp1Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAqBI9KeqBI7K2Bowf9YyZ3Yw+RPAtqJSgYae9+Eq8YMAiAtsGCeQsHn57P5uX9MxiS1JvmA3km+aq/sFmqLz0rypA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.12.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":195698},"type":"module","engines":{"node":">=20"},"gitHead":"86f49392be29d1ce34257a0a7c52feb68fc5a3a6","mcpName":"io.github.jeonghun917/readfirst","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.12.0_1793680768104_0.37602159764127163","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"readfirst","version":"0.13.0","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.13.0","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"1d53d8b51df9722db5977be63ca40e27c5fc46f0","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.13.0.tgz","fileCount":19,"integrity":"sha512-occS4SBtdK0myRXNLUTPDRcOmKl8qCaKO+pcwnQA0ScW1pAY/8RR+yYhrpnF1l/s4NBb9zB4vrwEM0uOIvhzLw==","signatures":[{"sig":"MEUCIFExmEqJFQGPM5onEFNrJZq0ajDI8RPQdxWMPHgZ4zsKAiEAm1emCoGBholMIG/rKeYzDUBjhleJk8G02cIfUGlQF5k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCID/jrtSRNVxujAj/66SXgEgU0CwP+h6NnqXi5yo8snBUAiEAh7ZFJ7FvsvIzMuOsU3E6XVtIVK1ZPW9nRkw33iTiHLE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.13.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":203091},"type":"module","engines":{"node":">=20"},"gitHead":"6c9d5316b1fbe1c1d8ef739eb2890abae4a2d6e6","mcpName":"io.github.jeonghun917/readfirst","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.13.0_1793683704092_0.0989960754327388","host":"s3://npm-registry-packages-npm-production"}},"0.14.0":{"name":"readfirst","version":"0.14.0","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.14.0","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"7a0d814924a0f3cf0e6c9680780625b90d8b2f19","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.14.0.tgz","fileCount":20,"integrity":"sha512-OPB1DZ07j/ostr/nYcphA2fZ/cpVJyFjsO22x0tfBf7bko9AhF+SWb3V44047jQUtiQawb/QO6PBF1V81XNN4Q==","signatures":[{"sig":"MEUCIQCrJkSN+lG5lV4JXsYUPD9z+kKE/yWVL5nRjr7cnEGjVwIgfKo8MSvqvzSGbQqPSQV1nOau3EK+g3ciq5Eo7bQIsz0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDXFhC6Wx/XqEfzzSVYhqNQjU6k0cuK8vrX8ucAr1oUcgIgOG6Z8c4mKFIBWyqIjrPjtcSE0QG5u64p7g2Fqg9uFO8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.14.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":195961},"type":"module","engines":{"node":">=20"},"gitHead":"581e55f7d3d7315abd5dcbb8239af86e74a2ace9","mcpName":"io.github.jeonghun917/readfirst","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.14.0_1793759158359_0.34531148635607856","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"readfirst","version":"0.15.0","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.15.0","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"a1523c8ba149f54a924723b72a4e2352649b6538","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.15.0.tgz","fileCount":20,"integrity":"sha512-ic/zp8GYfdrGCda4Spj6pe44KsjjFRiFE36T2WBdk1eTrVuD1iSgysoTQ2VLNTZwQ7SrAcGVBkxPHu7bo+IxNg==","signatures":[{"sig":"MEUCIQDItzdCvlR4U+ysekdF8mv6ARyiQihdxdA4EN7EQxdM7QIgHSvv2kD7rAwF8V+ao239hYpWE+ZR4zt4Dl2a0rY3Imc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAeQ0lbYQEEOtchuuD8uCVBjPsOe4ordPVuBFuD7B6TLAiB0oWHn/+iyNYvfCZBPb4s56yByUhj/Do0DQijxdYRMXQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.15.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":201930},"type":"module","engines":{"node":">=20"},"gitHead":"70e26e348b729f8e115b7b14da8e4ef9a85bffaa","mcpName":"io.github.jeonghun917/readfirst","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.15.0_1793779608071_0.22631875509143706","host":"s3://npm-registry-packages-npm-production"}},"0.15.1":{"name":"readfirst","version":"0.15.1","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"license":"MIT","_id":"readfirst@0.15.1","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"homepage":"https://github.com/jeonghun917/readfirst#readme","bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"bin":{"readfirst":"bin/readfirst.mjs"},"dist":{"shasum":"5caecd6353ae523f987e4078bd8e1e5d093ccbec","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.15.1.tgz","fileCount":20,"integrity":"sha512-YHW2XKQCgcViUwrRb6tkTXaRUUSc669sL7cWlaqa/NYczL+I8gY74vKWhjOTcA7FKZ0hzd0BwCfkrJw8j+Ujaw==","signatures":[{"sig":"MEQCIHTUaURmu1WtgXyjGV3DvjfbJklnRkTHL5M6B0VqIwE6AiBhh/9oHFCvfcMztPvjZhm+NwlpoIjrJkosoAb09sveUg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCr0h2r45g9ntiLGkBM/rdMMFy0n8XpbdMTtOoQSPC5PgIgewaA9uKagLiAo8RnUq5E4oNNo0bnS2eHltpKq1SnKkA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.15.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":202735},"type":"module","engines":{"node":">=20"},"gitHead":"0389cbaa979fe9ad8b3c0a1dca54e1aeaf8cb352","mcpName":"io.github.jeonghun917/readfirst","scripts":{"test":"node --test test/*.test.mjs"},"_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/readfirst_0.15.1_1793858810351_0.8425937038570962","host":"s3://npm-registry-packages-npm-production"}},"0.16.0":{"_id":"readfirst@0.16.0","bin":{"readfirst":"bin/readfirst.mjs"},"bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"dist":{"shasum":"20f89ed3bb17b8f8cf8d91dffd52c2df89d05100","tarball":"https://registry.npmjs.org/readfirst/-/readfirst-0.16.0.tgz","fileCount":23,"integrity":"sha512-XrBC0O71lAvT3FbF4LUJM2GMPcE/XVSBxZ8LlgeF0rDIsDF6z9U3nVRJrJwRUclujKu9hhfMMsqIZs+qP2phiQ==","signatures":[{"sig":"MEYCIQC4WOduPfD29o+V8mEJS+nTH/S7ko42KnYMn4dvGw3jVQIhAOqqIkLYcT+y/YbN8x2au0nR46+VlDh7Vbs5TbN8H1DB","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIFox70/hXTiEIzadJ1CV3kaIQK7acoHDxAkd+OUfuBdiAiAYIC2rK7N6TZQFKAv8xcbGS0kJ7bmtOaER4i92rDNOxg=="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/readfirst@0.16.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":228363},"name":"readfirst","type":"module","engines":{"node":">=20"},"gitHead":"e5635a9167f7d05951569b5123747c2d846440b6","license":"MIT","mcpName":"io.github.jeonghun917/readfirst","scripts":{"test":"node --test test/*.test.mjs"},"version":"0.16.0","_npmUser":{"name":"jeonghun-mun","email":"ashite1010@gmail.com"},"homepage":"https://github.com/jeonghun917/readfirst#readme","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"_npmVersion":"10.9.9","description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","directories":{},"maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"_nodeVersion":"22.23.4","_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/readfirst_0.16.0_1793877369404_0.5493266475622427"}}},"time":{"created":"2026-11-01T01:42:34.605Z","modified":"2026-11-05T11:16:09.889Z","0.0.0-stage":"2026-11-01T01:42:34.605Z","0.1.0":"2026-11-01T01:43:30.711Z","0.1.1":"2026-11-01T02:06:35.370Z","0.2.0":"2026-11-01T04:32:21.805Z","0.3.0":"2026-11-01T04:56:11.237Z","0.4.0":"2026-11-01T06:15:21.951Z","0.5.0":"2026-11-01T06:54:55.997Z","0.6.0":"2026-11-01T07:04:38.957Z","0.6.1":"2026-11-01T07:25:39.226Z","0.6.2":"2026-11-01T07:50:47.946Z","0.7.0":"2026-11-01T17:28:23.685Z","0.8.0":"2026-11-02T02:56:19.914Z","0.9.0":"2026-11-02T03:13:41.118Z","0.10.0":"2026-11-02T09:16:51.748Z","0.11.0":"2026-11-03T03:44:22.412Z","0.12.0":"2026-11-03T04:39:28.199Z","0.13.0":"2026-11-03T05:28:24.169Z","0.14.0":"2026-11-04T02:25:58.437Z","0.15.0":"2026-11-04T08:06:48.196Z","0.15.1":"2026-11-05T06:06:50.439Z","0.16.0":"2026-11-05T11:16:09.565Z"},"bugs":{"url":"https://github.com/jeonghun917/readfirst/issues"},"license":"MIT","homepage":"https://github.com/jeonghun917/readfirst#readme","keywords":["ai","agents","claude-code","cursor","code-review","impact-analysis","monorepo"],"repository":{"url":"git+https://github.com/jeonghun917/readfirst.git","type":"git"},"description":"What to read and check before you (or your AI agent) change a file: project rules, risks and tests tied to code.","maintainers":[{"name":"jeonghun-mun","email":"ashite1010@gmail.com"}],"readme":"# readfirst\n\n**What to read and check before you — or your AI agent — change a file.**\n\nCoding agents can follow imports. What they don't know is what your team knows: \"amounts here are in cents\",\n\"this table is read by the mobile app, keep old columns\", \"run the payment e2e after touching this\". readfirst keeps that\nknowledge in one file next to the code and hands it out, file by file, at the moment someone is about to change something.\n\n![npx readfirst read src/imports.mjs prints the rules, risks, checks, tests and callers for that file](docs/readfirst-read.gif)\n\nNo server, no account, no model calls. MIT. It reads your git checkout and `.readfirst/map.json`.\n\n## What it caught\n\n```sh\nnpx readfirst scan   # no map needed: QuerySet/string results thrown away, expect(...).resolves nobody awaits\n```\n\nThe hosted version scans for fixed bug shapes taken from real bugs: a result computed and thrown away, a range check\nwith no type check, a secret compared with `!==`, and more. Run over 44 open-source repositories and checked by hand:\n\n- **62 bugs in app code**, 28 of them low-severity secret comparisons\n- **36 tests that can never fail**, every one the same shape: `expect(promise).resolves...` with no `await` or\n  `return`, so the test ends before the assertion runs\n- the false positives are kept on record too; the counts come after tuning on the same repositories, so read them as\n  \"what is there\", not as precision\n\nFixed by the maintainers:\n\n- **saleor**: an \"only recalculate what changed\" option recalculated every discounted price\n  ([saleor/saleor#19984](https://github.com/saleor/saleor/pull/19984)).\n- **wagtail**: a superuser who submits a page for moderation got the moderation email about their own submission\n  ([wagtail/wagtail#14790](https://github.com/wagtail/wagtail/pull/14790)).\n- **mealie**: a safety filter on households never applied\n  ([mealie-recipes/mealie#8964](https://github.com/mealie-recipes/mealie/issues/8964)).\n- **django-allauth**: a provider callback returned a 500 instead of a clean failure on a non-ASCII value; fixed the\n  day it was reported.\n\nStill with their maintainers: a Tandoor filter that never applied\n([TandoorRecipes/recipes#4917](https://github.com/TandoorRecipes/recipes/pull/4917)), and findings sent privately to\nother projects, which stay unnamed until they are fixed.\n\n## Start\n\nAny language; needs Node 20+.\n\n```sh\nnpx readfirst init --agent --ci   # a first map, your agents wired to it (Claude Code, Cursor, Codex, Gemini, ...), the PR Action\nnpx readfirst read <file>         # before changing a file: its rules, risks, checks, tests and callers\nnpx readfirst verify              # before you finish: the checks pass and nothing the map ties to the change was left out\n```\n\nCommit `.readfirst/map.json`. Filled maps for real repositories (vercel/ai, cal.com, excalidraw and two more):\n[examples/](examples/).\n\nEverything else (Claude Code plugin and hook, MCP for any agent, Cursor rules, the GitHub Action, the map format,\n`audit`, `find`, monorepos, pinning a version): **[the guide](https://github.com/jeonghun917/readfirst/blob/main/docs/guide.md)**.\n\n## Hosted\n\nThe CLI, hook, MCP server and Action are free and never send your code anywhere. The\n[readfirst-app](https://readfirst-cloud.vercel.app/) GitHub App can write the first map for you (free once per\naccount) and, on Pro, keep it in step after merges and comment on pull requests. Details in\n[the guide](https://github.com/jeonghun917/readfirst/blob/main/docs/guide.md#hosted-readfirst-app).\n\n## License\n\nMIT\n","readmeFilename":"README.md"}