{"_id":"@api-doctor/cli","_rev":"18-6df630797bff59d437422dd99fe7236e","name":"@api-doctor/cli","dist-tags":{"latest":"0.0.19"},"versions":{"0.0.1":{"name":"@api-doctor/cli","version":"0.0.1","keywords":["api","linter","oxlint","verification","ai","agent","cursor","claude-code","static-analysis"],"author":{"name":"Reuben Santoso"},"license":"MIT","_id":"@api-doctor/cli@0.0.1","maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"homepage":"https://github.com/qualtyco/api-doctor","bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"dist":{"shasum":"b9acab44400ab540eee71e0c61688ac1763be752","tarball":"https://registry.npmjs.org/@api-doctor/cli/-/cli-0.0.1.tgz","fileCount":2,"integrity":"sha512-pgQ7HVROQ7DG2rGEE9MoayXBJGnymO+krMI+dIY8nLxlrSJVjlvUUT7MgwknHb29kt1n3j94BFvbO05yjrGFow==","signatures":[{"sig":"MEQCIEmIgWSYVwuNWVVxV+wKmMILv6DI5THdVSN8C9k3mdq0AiACtcRbGAoESGG5CM+kPqXciZlDE3Cy0BD9TQA1ETYOnA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1057},"_npmUser":{"name":"reuben_santoso","email":"reuben@qualty.co"},"repository":{"url":"git+https://github.com/qualtyco/api-doctor.git","type":"git"},"_npmVersion":"11.11.0","description":"Oxlint-powered checks for AI-generated API integrations. Catch silent bugs before they ship.","directories":{},"_nodeVersion":"24.14.1","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.1_1781817149273_0.5618092790042519","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@api-doctor/cli","version":"0.0.3","keywords":["api","lint","oxlint","resend","supabase","ai","claude","cursor","codex","integration"],"license":"MIT","_id":"@api-doctor/cli@0.0.3","maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"homepage":"https://github.com/qualtyco/api-doctor","bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"bin":{"api-doctor":"dist/cli.mjs"},"dist":{"shasum":"385b43a1e1604065e17b9d0897ca741f2e372517","tarball":"https://registry.npmjs.org/@api-doctor/cli/-/cli-0.0.3.tgz","fileCount":13,"integrity":"sha512-hZWbpvTscS9nEnOfpaeJ27m8PrB+6O+W4m16OSpMLDEcQieM3oTxZmPlp0zSnxT7erWKV4vfnBO/S/egqSDvgQ==","signatures":[{"sig":"MEUCIQDx2Jv1ScFfpFE1mlvWQmMgINdRm/rta+OhmD9WKe8VzgIgRZ7HjdqDBHtPHQx75Dp32az8ruwJeUoKAEb/coAMJU8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2222472},"main":"./dist/cli.cjs","type":"module","types":"./dist/cli.d.ts","module":"./dist/cli.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.js"}},"gitHead":"8702b15b10a5369139515b0dede929f8a2cc1d6d","private":false,"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"reuben_santoso","email":"reuben@qualty.co"},"repository":{"url":"git+https://github.com/qualtyco/api-doctor.git","type":"git"},"_npmVersion":"11.11.0","description":"Deterministic verification rules for AI-generated API integrations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"commander":"^13.1.0","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","oxlint":"^1.68.0","vitest":"^3.0.9","typescript":"^5.8.2","@types/node":"^22.13.10","@types/eslint":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.3_1782336314567_0.38155248956716514","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@api-doctor/cli","version":"0.0.4","keywords":["api","lint","oxlint","resend","supabase","ai","claude","cursor","codex","integration"],"license":"MIT","_id":"@api-doctor/cli@0.0.4","maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"homepage":"https://github.com/qualtyco/api-doctor","bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"bin":{"api-doctor":"dist/cli.mjs"},"dist":{"shasum":"3aa807f328d2c86c83b47d703dab7a0ac3eacfa8","tarball":"https://registry.npmjs.org/@api-doctor/cli/-/cli-0.0.4.tgz","fileCount":13,"integrity":"sha512-SCaYVJ0AepBzJETdJqflcxpGVc123d7DnLgCyaK3TxQkvT1hehSZ5yEF2OUMY0EeQPWv33x3y7ML4gJRv5dERQ==","signatures":[{"sig":"MEUCIQCqwol2B/emlYywNpSPv7vg1R+g5medNQvc89bDMBu+3QIgLRgZd0Zy6qG6seHNZTpauEhd6hLHKUvlkNpFwxoaB6M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2756170},"main":"./dist/cli.cjs","type":"module","types":"./dist/cli.d.ts","module":"./dist/cli.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.js"}},"gitHead":"5cdc88e521564ab590d2d59d6138fedecdcd7925","private":false,"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"reuben_santoso","email":"reuben@qualty.co"},"repository":{"url":"git+https://github.com/qualtyco/api-doctor.git","type":"git"},"_npmVersion":"11.11.0","description":"Deterministic verification rules for AI-generated API integrations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"commander":"^13.1.0","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","oxlint":"^1.68.0","vitest":"^3.0.9","typescript":"^5.8.2","@types/node":"^22.13.10","@types/eslint":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.4_1782797960383_0.49258279969282137","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@api-doctor/cli","version":"0.0.5","keywords":["api","lint","oxlint","resend","supabase","ai","claude","cursor","codex","integration"],"license":"MIT","_id":"@api-doctor/cli@0.0.5","maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"homepage":"https://github.com/qualtyco/api-doctor","bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"bin":{"api-doctor":"dist/cli.mjs"},"dist":{"shasum":"f1c361a15b2aa45c606f0d4bf133afb02244b4e9","tarball":"https://registry.npmjs.org/@api-doctor/cli/-/cli-0.0.5.tgz","fileCount":13,"integrity":"sha512-iE27wdO3q7SMC93ajLGOWXaS8Gboe1Sp+Q9h8pbrAb11QxNDTdq7oykWDPZSKMLBP8zRN3nuKaEn4SVwD3Xt7w==","signatures":[{"sig":"MEUCIQCfEPTXpO8+/rNe7tA30HqW706Kxkm88d+FyVdeLUkWYwIgOv1GAED9ILkV/4Es5erHrPUc1BH8rxJEY9jce5dD9ts=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3659778},"main":"./dist/cli.cjs","type":"module","types":"./dist/cli.d.ts","module":"./dist/cli.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.js"}},"gitHead":"94e8418b83081895832d146604e85341bf13d167","private":false,"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","prepublishOnly":"npm run build"},"_npmUser":{"name":"reuben_santoso","email":"reuben@qualty.co"},"repository":{"url":"git+https://github.com/qualtyco/api-doctor.git","type":"git"},"_npmVersion":"11.11.0","description":"Deterministic verification rules for AI-generated API integrations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"commander":"^13.1.0","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","oxlint":"^1.68.0","vitest":"^3.0.9","typescript":"^5.8.2","@types/node":"^22.13.10","@types/eslint":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.5_1782864854311_0.19861763604412697","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@api-doctor/cli","version":"0.0.6","keywords":["api","lint","oxlint","resend","supabase","ai","claude","cursor","codex","integration"],"license":"MIT","_id":"@api-doctor/cli@0.0.6","maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"homepage":"https://github.com/qualtyco/api-doctor","bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"bin":{"api-doctor":"dist/cli.mjs"},"dist":{"shasum":"d25c76a1675fbb077cc01c82152f5d52b5b65f13","tarball":"https://registry.npmjs.org/@api-doctor/cli/-/cli-0.0.6.tgz","fileCount":13,"integrity":"sha512-qsYuHy8dBtcjjsgrwFuFcQMZTOpkb0ckeIAmpFR9Etodvb4INMUkKzjIuswQgAYsYsDpwwFHYPLr482cd/RpEg==","signatures":[{"sig":"MEQCIDfCqoKgvRz5YckqdTTRO9alGNnQjIS5q6qw0ivko7kDAiBpOy07+tT32KV1p37aiFUKUDRx7rMUclpR/iLuP+mHSA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":3718050},"main":"./dist/cli.cjs","type":"module","types":"./dist/cli.d.ts","module":"./dist/cli.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.js"}},"gitHead":"abfebc92c5b42ccacd4fadf021563a39f2db4bec","private":false,"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","check:links":"node scripts/check-docs-links.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"reuben_santoso","email":"reuben@qualty.co"},"repository":{"url":"git+https://github.com/qualtyco/api-doctor.git","type":"git"},"_npmVersion":"11.11.0","description":"Deterministic verification rules for AI-generated API integrations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"commander":"^13.1.0","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","oxlint":"^1.68.0","vitest":"^3.0.9","typescript":"^5.8.2","@types/node":"^22.13.10","@types/eslint":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.6_1783451988048_0.16476466441032334","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@api-doctor/cli","version":"0.0.7","keywords":["api","lint","oxlint","resend","supabase","ai","claude","cursor","codex","integration"],"license":"MIT","_id":"@api-doctor/cli@0.0.7","maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"homepage":"https://github.com/qualtyco/api-doctor","bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"bin":{"api-doctor":"dist/cli.mjs"},"dist":{"shasum":"781c4245cfaa351068bb6be548921add5bfd3854","tarball":"https://registry.npmjs.org/@api-doctor/cli/-/cli-0.0.7.tgz","fileCount":13,"integrity":"sha512-TILnnu7+eGIiSexD7KmrI9JhfDRbhGXP2+OD88CoLNQH/OE/gngsygKWwD/pcHHfNTf0trAL9o0QO/3F9NRZQA==","signatures":[{"sig":"MEUCIB2C7IjynXt1QXa3zS8NILtyRXyzYgSU0Oa5h65MH09aAiEA4duaRA66FxW0gR0v2zDpXOwAINYdUn1jgyN0C16vQG8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4285373},"main":"./dist/cli.cjs","type":"module","types":"./dist/cli.d.ts","module":"./dist/cli.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.js"}},"gitHead":"e549e58b806566c1aa798d3aaae8a8edaaba412b","private":false,"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","check:links":"node scripts/check-docs-links.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"reuben_santoso","email":"reuben@qualty.co"},"repository":{"url":"git+https://github.com/qualtyco/api-doctor.git","type":"git"},"_npmVersion":"11.11.0","description":"Deterministic verification rules for AI-generated API integrations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"commander":"^13.1.0","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","oxlint":"^1.68.0","vitest":"^3.0.9","typescript":"^5.8.2","@types/node":"^22.13.10","@types/eslint":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.7_1784010482579_0.25440317731396167","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@api-doctor/cli","version":"0.0.8","keywords":["api","lint","oxlint","resend","supabase","ai","claude","cursor","codex","integration"],"license":"MIT","_id":"@api-doctor/cli@0.0.8","maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"homepage":"https://github.com/qualtyco/api-doctor","bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"bin":{"api-doctor":"dist/cli.mjs"},"dist":{"shasum":"105e76c2852bc242a7494e7520b5e0aef23418d7","tarball":"https://registry.npmjs.org/@api-doctor/cli/-/cli-0.0.8.tgz","fileCount":13,"integrity":"sha512-twRyd8hu0XjGwmy88miNQzlg0wEEsGNYS/BiCzZzm4oT8niXXOxbxnjFS5HAOmliprB/Gz60vsaldeOHPON9HQ==","signatures":[{"sig":"MEUCIBugM95hor2gIaLr6BasT3iTk7J/snbsiMi8UHhAf21xAiEAuQPovK92Vpaz8zPr2vFL9D723z0rWNguBNJRLe1cC4M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4288437},"main":"./dist/cli.cjs","type":"module","types":"./dist/cli.d.ts","module":"./dist/cli.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.js"}},"gitHead":"4384f4bf5585a8bc559fbb774014a93374d0e1b0","private":false,"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","check:links":"node scripts/check-docs-links.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"reuben_santoso","email":"reuben@qualty.co"},"repository":{"url":"git+https://github.com/qualtyco/api-doctor.git","type":"git"},"_npmVersion":"11.11.0","description":"Deterministic verification rules for AI-generated API integrations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"commander":"^13.1.0","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","oxlint":"^1.68.0","vitest":"^3.0.9","typescript":"^5.8.2","@types/node":"^22.13.10","@types/eslint":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.8_1784014090906_0.7217767167453912","host":"s3://npm-registry-packages-npm-production"}},"0.0.9":{"name":"@api-doctor/cli","version":"0.0.9","keywords":["api","lint","oxlint","resend","supabase","ai","claude","cursor","codex","integration"],"license":"MIT","_id":"@api-doctor/cli@0.0.9","maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"homepage":"https://github.com/qualtyco/api-doctor","bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"bin":{"api-doctor":"dist/cli.mjs"},"dist":{"shasum":"0107a8c582f04c208f5a83ce4e27659b6a9a0f2e","tarball":"https://registry.npmjs.org/@api-doctor/cli/-/cli-0.0.9.tgz","fileCount":13,"integrity":"sha512-PI7HHE1aX6BRAFxUN2VASzxrhrODM3fC/FJ8t5b96yeqL+VWTG/8oaBVKsoYgrL60/bYj64ot2a3jGhnWsmL3g==","signatures":[{"sig":"MEYCIQD3iPfheCNw6MROoCo3B+8c2D30b/USgizR8VAbDwBLfgIhAMpRf2rPwYHsWd8pL/k54oRZyJ5vWvILFb6zoF0a+zqb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4703596},"main":"./dist/cli.cjs","type":"module","types":"./dist/cli.d.ts","module":"./dist/cli.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.js"}},"gitHead":"91afdf0b135ef80b771e67ff6432095b90482943","private":false,"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","check:links":"node scripts/check-docs-links.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"reuben_santoso","email":"reuben@qualty.co"},"repository":{"url":"git+https://github.com/qualtyco/api-doctor.git","type":"git"},"_npmVersion":"11.11.0","description":"Deterministic verification rules for AI-generated API integrations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"commander":"^13.1.0","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","oxlint":"^1.68.0","vitest":"^3.0.9","typescript":"^5.8.2","@types/node":"^22.13.10","@types/eslint":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.9_1784049639194_0.08412405751805041","host":"s3://npm-registry-packages-npm-production"}},"0.0.10":{"name":"@api-doctor/cli","version":"0.0.10","keywords":["api","lint","oxlint","resend","supabase","ai","claude","cursor","codex","integration"],"license":"MIT","_id":"@api-doctor/cli@0.0.10","maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"homepage":"https://github.com/qualtyco/api-doctor","bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"bin":{"api-doctor":"dist/cli.mjs"},"dist":{"shasum":"7a960d5e3790b17cb6aad22cf1ff578ed4bcffae","tarball":"https://registry.npmjs.org/@api-doctor/cli/-/cli-0.0.10.tgz","fileCount":13,"integrity":"sha512-Gcwlr3BSDaIxvlubu7OISO+tNFKzrMNOu4NRxgY7rZHP816hwk1N0trVnpb+JpgM2O1GZL8/hoEZhAfwbdyg6A==","signatures":[{"sig":"MEYCIQC4L5nXyuMgXZsNCYu/4wKE/RacTC/hlJtvAIh72IPwwgIhAOyK5SDpk3+JHkfjNSkYe1o73uB/h5ZCpXNLps2ll9dP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4736570},"main":"./dist/cli.cjs","type":"module","types":"./dist/cli.d.ts","module":"./dist/cli.mjs","engines":{"node":">=18"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.js"}},"gitHead":"968235ea06ec8b8a25ba3d44f1f5f9c57a8bc4eb","private":false,"scripts":{"dev":"tsup --watch","test":"vitest run","build":"tsup","check:links":"node scripts/check-docs-links.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"reuben_santoso","email":"reuben@qualty.co"},"repository":{"url":"git+https://github.com/qualtyco/api-doctor.git","type":"git"},"_npmVersion":"11.11.0","description":"Deterministic verification rules for AI-generated API integrations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"commander":"^13.1.0","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","oxlint":"^1.68.0","vitest":"^3.0.9","typescript":"^5.8.2","@types/node":"^22.13.10","@types/eslint":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.10_1784056911813_0.4234793119501472","host":"s3://npm-registry-packages-npm-production"}},"0.0.11":{"name":"@api-doctor/cli","version":"0.0.11","keywords":["api","lint","oxlint","resend","supabase","ai","claude","cursor","codex","integration"],"license":"MIT","_id":"@api-doctor/cli@0.0.11","maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"homepage":"https://github.com/qualtyco/api-doctor","bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"bin":{"api-doctor":"dist/cli.mjs"},"dist":{"shasum":"450ad8cc9a1b8a671bfce18b8a936bd6d49c53e4","tarball":"https://registry.npmjs.org/@api-doctor/cli/-/cli-0.0.11.tgz","fileCount":13,"integrity":"sha512-9iaJvAknO8TOgn+04QFtqoxvlwqW8wbyATCcCVy+DT6MB5NziI6xyNY3TJuU8WoA4lprF5D2AvrGY8TcmsH5Qg==","signatures":[{"sig":"MEUCIQDXz/9vDbxcPYUHVgxUIleZtO1WdPleUcc2+0B8Us5dPAIgf1s/oSX8NZWaUHsvOi2BCAST7L+HjoXvMpAZwTj4OrE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4986913},"main":"./dist/cli.cjs","type":"module","types":"./dist/cli.d.ts","module":"./dist/cli.mjs","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.js"}},"gitHead":"d981c1fe31614c9a26dbabe5a74b9775b196a768","private":false,"scripts":{"dev":"tsup --watch","test":"pnpm test:unit && pnpm check:links && pnpm check:surface","build":"tsup","prepare":"git config core.hooksPath .githooks || true","test:unit":"vitest run","check:links":"node scripts/check-docs-links.mjs","check:surface":"node scripts/check-sdk-surface.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"reuben_santoso","email":"reuben@qualty.co"},"repository":{"url":"git+https://github.com/qualtyco/api-doctor.git","type":"git"},"_npmVersion":"11.11.0","description":"Deterministic verification rules for AI-generated API integrations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"oxlint":"^1.68.0","commander":"^13.1.0","oxc-parser":"0.141.0","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.9","typescript":"^5.8.2","@types/node":"^22.13.10","@types/eslint":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.11_1784849457265_0.8826842826696708","host":"s3://npm-registry-packages-npm-production"}},"0.0.12":{"name":"@api-doctor/cli","version":"0.0.12","keywords":["api","lint","oxlint","resend","supabase","ai","claude","cursor","codex","integration"],"license":"MIT","_id":"@api-doctor/cli@0.0.12","maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"homepage":"https://github.com/qualtyco/api-doctor","bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"bin":{"api-doctor":"dist/cli.mjs"},"dist":{"shasum":"025d7b30f81f9366396707ea90e48b29238b7414","tarball":"https://registry.npmjs.org/@api-doctor/cli/-/cli-0.0.12.tgz","fileCount":13,"integrity":"sha512-PPvA/4LRkk1WpqTpLdaD8AtpFS8LbNG14pa00LKTJ9AoC5qP7lxVh3DMqn4tK8XLU0DOVC2+EIJwjxD3KpfYQQ==","signatures":[{"sig":"MEQCIHJb18Pthjyey+jo7olkj1JrQEL4CxRbQHYUooH5KYTTAiB9JsPgweNyvDerI0rNuHR9LISF9QRtezxXXtDe8L9Orw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4988987},"main":"./dist/cli.cjs","type":"module","types":"./dist/cli.d.ts","module":"./dist/cli.mjs","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.js"}},"gitHead":"3199a84ee70139c6a44ad6dd96252ed4d0109976","private":false,"scripts":{"dev":"tsup --watch","test":"pnpm test:unit && pnpm check:links && pnpm check:surface","build":"tsup","test:unit":"vitest run","check:links":"node scripts/check-docs-links.mjs","check:surface":"node scripts/check-sdk-surface.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"reuben_santoso","email":"reuben@qualty.co"},"repository":{"url":"git+https://github.com/qualtyco/api-doctor.git","type":"git"},"_npmVersion":"11.11.0","description":"Deterministic verification rules for AI-generated API integrations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"oxlint":"^1.68.0","commander":"^13.1.0","oxc-parser":"0.141.0","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.9","typescript":"^5.8.2","@types/node":"^22.13.10","@types/eslint":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.12_1784872113214_0.32497313487034396","host":"s3://npm-registry-packages-npm-production"}},"0.0.13":{"name":"@api-doctor/cli","version":"0.0.13","keywords":["api","lint","oxlint","resend","supabase","ai","claude","cursor","codex","integration"],"license":"MIT","_id":"@api-doctor/cli@0.0.13","maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"homepage":"https://github.com/qualtyco/api-doctor","bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"bin":{"api-doctor":"dist/cli.mjs"},"dist":{"shasum":"cac4329cea6a278dd588859f4cd763d42431aade","tarball":"https://registry.npmjs.org/@api-doctor/cli/-/cli-0.0.13.tgz","fileCount":13,"integrity":"sha512-Vq1j0cH8luOgxSYf3j/O5rAqHsEO/2SpJVrT8wz3fXtwqZRtP/g7paeVu0AYovvtA1EvKkR5qaUO621FfjckCg==","signatures":[{"sig":"MEYCIQDipCrk4Zu4yYTBRez5bQTKoHhx50WxIhL3R8OzQA6wpgIhAM7Q7i/AqTokPTv/o/rptHEXDTiRSDowgdjAAhhZF33X","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":4989165},"main":"./dist/cli.cjs","type":"module","types":"./dist/cli.d.ts","module":"./dist/cli.mjs","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.js"}},"gitHead":"5fe2d2abf67d10b6fe6a37ac9bbacd551444570b","private":false,"scripts":{"dev":"tsup --watch","test":"pnpm test:unit && pnpm check:links && pnpm check:surface","build":"tsup","test:unit":"vitest run","check:links":"node scripts/check-docs-links.mjs","check:surface":"node scripts/check-sdk-surface.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"reuben_santoso","email":"reuben@qualty.co"},"repository":{"url":"git+https://github.com/qualtyco/api-doctor.git","type":"git"},"_npmVersion":"11.11.0","description":"Deterministic verification rules for AI-generated API integrations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"oxlint":"^1.68.0","commander":"^13.1.0","oxc-parser":"0.141.0","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.9","typescript":"^5.8.2","@types/node":"^22.13.10","@types/eslint":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.13_1784873417162_0.5843785348677564","host":"s3://npm-registry-packages-npm-production"}},"0.0.14":{"name":"@api-doctor/cli","version":"0.0.14","keywords":["api","lint","oxlint","resend","supabase","ai","claude","cursor","codex","integration"],"license":"MIT","_id":"@api-doctor/cli@0.0.14","maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"homepage":"https://github.com/qualtyco/api-doctor","bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"bin":{"api-doctor":"dist/cli.mjs"},"dist":{"shasum":"74c66d52aa5a2637e24de2baf708dc870acd4843","tarball":"https://registry.npmjs.org/@api-doctor/cli/-/cli-0.0.14.tgz","fileCount":13,"integrity":"sha512-1oJSx28P3Ins2AaLTrLKVLNPMynCF/Re/1rbyz/7omgmTU5fZMYBP6xAGZ1G+7PLT8IK379lMB2y8U5pzfzeMw==","signatures":[{"sig":"MEUCIEXrEJxch9ozfK4+8iulEA3SNaCqMJcElK7atifARP28AiEA21aaQcMcpHN26DKQRRuf1JArPO2SwJciXBceNM5sypE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5035717},"main":"./dist/cli.cjs","type":"module","types":"./dist/cli.d.ts","module":"./dist/cli.mjs","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.js"}},"gitHead":"6e6df5182b1bb2348e7118e1364732c989e040dc","private":false,"scripts":{"dev":"tsup --watch","test":"pnpm test:unit && pnpm check:links && pnpm check:surface","build":"tsup","test:unit":"vitest run","check:links":"node scripts/check-docs-links.mjs","check:surface":"node scripts/check-sdk-surface.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"reuben_santoso","email":"reuben@qualty.co"},"repository":{"url":"git+https://github.com/qualtyco/api-doctor.git","type":"git"},"_npmVersion":"11.11.0","description":"Deterministic verification rules for AI-generated API integrations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"oxlint":"^1.68.0","commander":"^13.1.0","oxc-parser":"0.141.0","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.9","typescript":"^5.8.2","@types/node":"^22.13.10","@types/eslint":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.14_1785266353502_0.1451331322481919","host":"s3://npm-registry-packages-npm-production"}},"0.0.15":{"name":"@api-doctor/cli","version":"0.0.15","keywords":["api","lint","oxlint","resend","supabase","ai","claude","cursor","codex","integration"],"license":"MIT","_id":"@api-doctor/cli@0.0.15","maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"homepage":"https://github.com/qualtyco/api-doctor","bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"bin":{"api-doctor":"dist/cli.mjs"},"dist":{"shasum":"3f2af97e67f048f1ffa7c15162e7cc1401cdcc5b","tarball":"https://registry.npmjs.org/@api-doctor/cli/-/cli-0.0.15.tgz","fileCount":13,"integrity":"sha512-F2PoHWtxKQ+N0ideaXBJpDfNJaJVGEVKgiqfq5ZjDU/MR3cVaKOwNMmVxHogaUh2Kg6yirTyQlP9Co3Lv0qOdQ==","signatures":[{"sig":"MEUCIA4Ug1T+sFk+KUlm2PDRZnbj1Q5aiM9u15XOydvZcBgpAiEAhJ6uN54NZyNkkAyI1pov2wFp0Qoiwjyo6CiN1MoD+EU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5322233},"main":"./dist/cli.cjs","type":"module","types":"./dist/cli.d.ts","module":"./dist/cli.mjs","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.js"}},"gitHead":"4cae6c059abd7330b7d0c65b41ee65ceec2e4114","private":false,"scripts":{"dev":"tsup --watch","test":"pnpm test:unit && pnpm check:links && pnpm check:surface","build":"tsup","test:unit":"vitest run","check:links":"node scripts/check-docs-links.mjs","check:surface":"node scripts/check-sdk-surface.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"reuben_santoso","email":"reuben@qualty.co"},"repository":{"url":"git+https://github.com/qualtyco/api-doctor.git","type":"git"},"_npmVersion":"11.11.0","description":"Deterministic verification rules for AI-generated API integrations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"oxlint":"^1.68.0","commander":"^13.1.0","oxc-parser":"0.141.0","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.9","typescript":"^5.8.2","@types/node":"^22.13.10","@types/eslint":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.15_1785452336184_0.7178913083790628","host":"s3://npm-registry-packages-npm-production"}},"0.0.16":{"name":"@api-doctor/cli","version":"0.0.16","keywords":["api","lint","oxlint","resend","supabase","ai","claude","cursor","codex","integration"],"license":"MIT","_id":"@api-doctor/cli@0.0.16","maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"homepage":"https://github.com/qualtyco/api-doctor","bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"bin":{"api-doctor":"dist/cli.mjs"},"dist":{"shasum":"973ae25333b344651783c580cd6f549f86c3935d","tarball":"https://registry.npmjs.org/@api-doctor/cli/-/cli-0.0.16.tgz","fileCount":13,"integrity":"sha512-o9CIhwexLQDP8CHi6RF8xgtuYV2Gpjm1JMRKY1xRjIUjYSTLoaxI/Jpe2ZHXWOLqv6HzLDr6L14ZCKiGSlqOHQ==","signatures":[{"sig":"MEUCIA4uLPWjonwaJQ6KEyTQGYqiE/nG06WjZfEpxR4GtZnyAiEAtxVFC62RpHUov2tL6b3kFU8Zz3S4MpIH3fCluGUeFp8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5923898},"main":"./dist/cli.cjs","type":"module","types":"./dist/cli.d.ts","module":"./dist/cli.mjs","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.js"}},"gitHead":"3912a54abee225ecc22883c1bca86ac2accb9685","private":false,"scripts":{"dev":"tsup --watch","test":"pnpm test:unit && pnpm check:links && pnpm check:surface","build":"tsup","test:unit":"vitest run","check:links":"node scripts/check-docs-links.mjs","check:surface":"node scripts/check-sdk-surface.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"reuben_santoso","email":"reuben@qualty.co"},"repository":{"url":"git+https://github.com/qualtyco/api-doctor.git","type":"git"},"_npmVersion":"11.11.0","description":"Deterministic verification rules for AI-generated API integrations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"oxlint":"^1.68.0","commander":"^13.1.0","oxc-parser":"0.141.0","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.9","typescript":"^5.8.2","@types/node":"^22.13.10","@types/eslint":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.16_1785791108007_0.39061650533277703","host":"s3://npm-registry-packages-npm-production"}},"0.0.17":{"name":"@api-doctor/cli","version":"0.0.17","keywords":["api","lint","oxlint","resend","supabase","ai","claude","cursor","codex","integration"],"license":"MIT","_id":"@api-doctor/cli@0.0.17","maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"homepage":"https://github.com/qualtyco/api-doctor","bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"bin":{"api-doctor":"dist/cli.mjs"},"dist":{"shasum":"d66eb429ec9e84d162ce6ef1449a230f8bd104f2","tarball":"https://registry.npmjs.org/@api-doctor/cli/-/cli-0.0.17.tgz","fileCount":13,"integrity":"sha512-hdJ6Ydw7pv+ssHiyujGfP4c3+B/Ny4aJ8eo/EyVdlXwZ4bCmgL1eo8DfeCu92IakgvBDrDiZJheT9F/IsIchOA==","signatures":[{"sig":"MEQCIFyuURiycBm5M6dVnx1yEPMnzGsfZBjyAM8Up+21LrEsAiB4sjvW064aHsbAdKIdFeEqmGwgjbiX/Svb45XVMLqYog==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6634741},"main":"./dist/cli.cjs","type":"module","types":"./dist/cli.d.ts","module":"./dist/cli.mjs","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.js"}},"gitHead":"f43cf8b850ed66c3b8855515557e9cf5a5605116","private":false,"scripts":{"dev":"tsup --watch","test":"pnpm test:unit && pnpm check:links && pnpm check:surface","build":"tsup","sdk:watch":"node scripts/sdk-watch.mjs","test:unit":"vitest run","check:links":"node scripts/check-docs-links.mjs","check:surface":"node scripts/check-sdk-surface.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"reuben_santoso","email":"reuben@qualty.co"},"repository":{"url":"git+https://github.com/qualtyco/api-doctor.git","type":"git"},"_npmVersion":"11.11.0","description":"Deterministic verification rules for AI-generated API integrations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"oxlint":"1.79.0","commander":"^13.1.0","oxc-parser":"0.141.0","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.9","typescript":"^5.8.2","@types/node":"^22.13.10","@types/eslint":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.17_1787192699522_0.5636289473820537","host":"s3://npm-registry-packages-npm-production"}},"0.0.18":{"name":"@api-doctor/cli","version":"0.0.18","keywords":["api","lint","oxlint","resend","supabase","ai","claude","cursor","codex","integration"],"license":"MIT","_id":"@api-doctor/cli@0.0.18","maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"homepage":"https://github.com/qualtyco/api-doctor","bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"bin":{"api-doctor":"dist/cli.mjs"},"dist":{"shasum":"affb4a2e5b96a90172f5f9f5a32be23cee72d669","tarball":"https://registry.npmjs.org/@api-doctor/cli/-/cli-0.0.18.tgz","fileCount":13,"integrity":"sha512-u46vJv7iZig2e5Qszt8EoQGLYmh5+yxZ0r2h+eozhi17AO/t+zGHzOlMhEcy8s3IMlLQ9ODsHIwu7LYisXwb5w==","signatures":[{"sig":"MEYCIQC0QP11rvU5HW9KpAALCR223eNwlKIgb2ntyEL6+5ymxwIhAOBycPe3DQF7hy8gDdEFYXG2IG0k8pCVgxcKCyUpKp44","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":6803475},"main":"./dist/cli.cjs","type":"module","types":"./dist/cli.d.ts","module":"./dist/cli.mjs","engines":{"node":"^20.19.0 || >=22.12.0"},"exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.js"}},"gitHead":"610f9178382722b522dc8188c857a40e7760b8b0","private":false,"scripts":{"dev":"tsup --watch","test":"pnpm test:unit && pnpm check:links && pnpm check:surface","build":"tsup","sdk:watch":"node scripts/sdk-watch.mjs","test:unit":"vitest run","check:links":"node scripts/check-docs-links.mjs","check:surface":"node scripts/check-sdk-surface.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"reuben_santoso","email":"reuben@qualty.co"},"repository":{"url":"git+https://github.com/qualtyco/api-doctor.git","type":"git"},"_npmVersion":"11.11.0","description":"Deterministic verification rules for AI-generated API integrations","directories":{},"_nodeVersion":"24.14.1","dependencies":{"oxlint":"1.79.0","commander":"^13.1.0","oxc-parser":"0.141.0","picocolors":"^1.1.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.4.0","vitest":"^3.0.9","typescript":"^5.8.2","@types/node":"^22.13.10","@types/eslint":"^9.6.1"},"_npmOperationalInternal":{"tmp":"tmp/cli_0.0.18_1787333549256_0.7835587054070003","host":"s3://npm-registry-packages-npm-production"}},"0.0.19":{"name":"@api-doctor/cli","version":"0.0.19","description":"Deterministic verification rules for AI-generated API integrations","keywords":["api","lint","oxlint","resend","supabase","ai","claude","cursor","codex","integration"],"type":"module","private":false,"license":"MIT","bin":{"api-doctor":"dist/cli.mjs"},"main":"./dist/cli.cjs","module":"./dist/cli.mjs","exports":{".":{"types":"./dist/cli.d.ts","import":"./dist/cli.mjs","require":"./dist/cli.cjs"},"./plugin":{"types":"./dist/plugin.d.ts","import":"./dist/plugin.js","require":"./dist/plugin.js"}},"repository":{"type":"git","url":"git+https://github.com/qualtyco/api-doctor.git"},"homepage":"https://github.com/qualtyco/api-doctor","bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"engines":{"node":"^20.19.0 || >=22.12.0"},"scripts":{"build":"tsup","dev":"tsup --watch","test":"pnpm test:unit && pnpm check:links && pnpm check:surface","test:unit":"vitest run","check:links":"node scripts/check-docs-links.mjs","check:surface":"node scripts/check-sdk-surface.mjs","sdk:watch":"node scripts/sdk-watch.mjs","prepublishOnly":"npm run build"},"publishConfig":{"access":"public"},"dependencies":{"commander":"^13.1.0","oxc-parser":"0.141.0","oxlint":"1.79.0","picocolors":"^1.1.1"},"devDependencies":{"@types/eslint":"^9.6.1","@types/node":"^22.13.10","tsup":"^8.4.0","typescript":"^5.8.2","vitest":"^3.0.9"},"gitHead":"d3fc53202c63f21ab421215bbfcc40615e86f50c","types":"./dist/cli.d.ts","_id":"@api-doctor/cli@0.0.19","_nodeVersion":"24.14.1","_npmVersion":"11.11.0","dist":{"integrity":"sha512-1wxIOV3+mzF7Dz93E1xfiw4hD8n1phLP8G5Mcakf89UXDm7hrEBmLLMIA435lZtFuPPQRvP+8Ld1h/zKCw4EAA==","shasum":"1b12b156ec8dd7ecc1ebd7d1925067fe1f56d32b","tarball":"https://registry.npmjs.org/@api-doctor/cli/-/cli-0.0.19.tgz","fileCount":13,"unpackedSize":6819093,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD4QwOcnAjDUNQkeJiS7kmCucOFHUNDz2SC93TSvaHJ2AIgd8W2Z+y5qqgfH/bbFFXkxWrqQZbgMqIo/JQflDFiWBY="}]},"_npmUser":{"name":"reuben_santoso","email":"reuben@qualty.co"},"directories":{},"maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/cli_0.0.19_1787446874153_0.6667970375120669"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-18T21:12:29.153Z","modified":"2026-08-23T01:01:14.604Z","0.0.1":"2026-06-18T21:12:29.428Z","0.0.3":"2026-06-24T21:25:14.841Z","0.0.4":"2026-06-30T05:39:20.558Z","0.0.5":"2026-07-01T00:14:14.508Z","0.0.6":"2026-07-07T19:19:48.195Z","0.0.7":"2026-07-14T06:28:02.760Z","0.0.8":"2026-07-14T07:28:11.079Z","0.0.9":"2026-07-14T17:20:39.396Z","0.0.10":"2026-07-14T19:21:51.991Z","0.0.11":"2026-07-23T23:30:57.429Z","0.0.12":"2026-07-24T05:48:33.394Z","0.0.13":"2026-07-24T06:10:17.311Z","0.0.14":"2026-07-28T19:19:13.685Z","0.0.15":"2026-07-30T22:58:56.337Z","0.0.16":"2026-08-03T21:05:08.212Z","0.0.17":"2026-08-20T02:24:59.729Z","0.0.18":"2026-08-21T17:32:29.476Z","0.0.19":"2026-08-23T01:01:14.393Z"},"bugs":{"url":"https://github.com/qualtyco/api-doctor/issues"},"license":"MIT","homepage":"https://github.com/qualtyco/api-doctor","keywords":["api","lint","oxlint","resend","supabase","ai","claude","cursor","codex","integration"],"repository":{"type":"git","url":"git+https://github.com/qualtyco/api-doctor.git"},"description":"Deterministic verification rules for AI-generated API integrations","maintainers":[{"name":"reuben_santoso","email":"reuben@qualty.co"}],"readme":"# api-doctor\n\n[![node version](https://img.shields.io/npm/v/@api-doctor/cli)](https://www.npmjs.com/package/@api-doctor/cli)\n[![npm downloads](https://img.shields.io/npm/dt/@api-doctor/cli?color=007ec6)](https://www.npmjs.com/package/@api-doctor/cli)\n\napi-doctor scans AI-generated code for bad API integrations.\n\nDeterministic AST rules. Not a prompt. Same input, same output, every time.\n\n\n**<u>[Website](https://apidoctor.co) → </u>**\n\n\n[https://github.com/user-attachments/assets/53dab24f-528b-4f1b-87a9-8870002053d8](https://github.com/user-attachments/assets/53dab24f-528b-4f1b-87a9-8870002053d8)\n\n\n## Quick Start\n\n```bash\nnpx @api-doctor/cli .\n```\n\nAfter running it installs api-doctor as a skill\nat `.agents/skills/api-doctor/SKILL.md` type _\"\\api-doctor fix it\"_ to get a quick fix or integrate our [CI](https://apidoctor.co/ci) for larger and continous fixes\n\n## Install In Your Codebase (recommended)\n\n→ **[Run it in CI on every PR](https://apidoctor.co/ci)**\n\n## 📦 Upgrading API Providers\n\n```bash\n# Plan a major-version upgrade — copy the target from the \"Upgrade plan\" column\nnpx @api-doctor/cli . --migrate supabase@2\n```\n\n| Provider | Rules | SDK verified | Upgrade plan |\n| --- | --- | --- | --- |\n| [Resend](https://resend.com/docs) | [13 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/resend/README.md) | `resend@6.20.0` | — |\n| [Supabase](https://supabase.com/docs) | [10 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/supabase/README.md) | `@supabase/supabase-js@2.112.3` | `--migrate supabase@2` |\n| [Auth0](https://auth0.com/docs) | [4 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/auth0/README.md) | `auth0@6.3.0` | — |\n| [Firebase](https://firebase.google.com/docs) | [19 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/firebase/README.md) | — | — |\n| [Browserbase](https://docs.browserbase.com) | [12 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/browserbase/README.md) | `@browserbasehq/sdk@2.18.0` | `--migrate browserbase@2` |\n| [OpenAI](https://platform.openai.com/docs/api-reference) | [6 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/openai/README.md) | — | — |\n| [Tiptap](https://tiptap.dev/docs) | [10 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/tiptap/README.md) | `@tiptap/react@3.30.2` | `--migrate tiptap@3` |\n| [ElevenLabs](https://elevenlabs.io/docs) | [10 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/elevenlabs/README.md) | `@elevenlabs/elevenlabs-js@2.64.0` | — |\n| [Twilio](https://www.twilio.com/docs) | [7 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/twilio/README.md) | — | — |\n| [OpenAI Realtime](https://developers.openai.com/api/docs/guides/realtime) | [9 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/openai-realtime/README.md) | — | — |\n| [S2](https://s2.dev/docs/intro) | [18 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/s2/README.md) | `@s2-dev/streamstore@0.26.0` | `--migrate s2@0.24` |\n| [AgentMail](https://docs.agentmail.to/welcome) | [15 rules](https://github.com/qualtyco/api-doctor/blob/main/src/providers/agentmail/README.md) | `agentmail@0.5.20` | `--migrate agentmail@0.5` |\n\n**SDK verified** is the release a human last read the SDK source against — not\nthe latest published version, and never a version api-doctor tells you to be on.\n\n**Upgrade plan** is available for providers with hand-verified records of what a\nmajor version changed. `--migrate <provider>@<version>` maps every call site that\nchanges on the way, grouped by how much judgement each one needs.\n\nSee [Planning an SDK upgrade](#planning-an-sdk-upgrade). It only runs when you ask for it by name; a plain scan never mentions an upgrade.\n\nFull rule catalogs live in the [GitHub repo](https://github.com/qualtyco/api-doctor/tree/main/src/providers) under `src/providers/<name>/README.md`.\n\n---\n\n## What it catches\n\n| Category        | What it means                                                         | Examples                                                                                      |\n| --------------- | --------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- |\n| **Security**    | Are your integrations secure? Mapped to CWE and OWASP audits. | Hardcoded API keys, secrets in the client bundle, webhooks read before signature verification |\n| **Correctness** | Are you using the right endpoint or API for the job?                                    | Marketing email via batch send, missing unsubscribe links, test domain in production          |\n| **Reliability** | Is your integration production ready or following suggested best practices?                | Missing idempotency keys, batch limits not enforced, error codes not mapped                   |\n| **Compatabiltiy** | Is your SDK version updated to latest release?                | Upgrade your codebase with the latest SDK version with best practices for that version                   |\n\n---\n\n## Planning an SDK upgrade\n\nA scan tells you what is wrong against the SDK version you have **installed**.\n\n`--migrate` never upgrades anything, never fails a build, and never runs on its\nown\n\n```bash\nnpx @api-doctor/cli@latest . --migrate supabase@2\n```\n\n```\nMigration plan  @supabase/supabase-js  1.35.7 → 2.x\n\n  12 call sites across 9 changes\n\n  ● Drop-in replacements — 2 sites\n      verified identical on the wire — safe to apply in bulk\n      auth.update → auth.updateUser (1)\n      auth.verifyOTP → auth.verifyOtp (1)\n\n  ● Replacements with a behaviour change — 3 sites\n      maps one-to-one, but the behaviour differs\n      getSubscriptions → getChannels (1)\n      removeAllSubscriptions → removeAllChannels (1)\n      removeSubscription → removeChannel (1)\n\n  ● Splits — the arguments decide — 2 sites\n      successor depends on the arguments at each site\n      auth.signIn → auth.signInWithPassword | auth.signInWithOtp | ... (2)\n\n  ● Contract changes — surrounding code moves — 4 sites\n      call shape changes — surrounding code moves with it\n      auth.session → auth.getSession (1)\n      auth.user → auth.getUser (3)\n\n  ● Removed with no successor — 1 site\n      no successor; a person has to decide\n      auth.setAuth → no successor (1)\n```\n\n---\n\n## Telemetry\n\napi-doctor sends anonymous usage data to PostHog so we can see whether the tool is helping developers catch real bugs.\n\n**What we collect:**\n\n- CLI version, Node.js version, platform\n- Run context: local, CI, or agent\n- Which API SDKs were detected (e.g. `resend`, `supabase`) — provider names only\n- Which rules fired — rule names only, no code\n- Which documented SDK methods the scanned code calls (`sdk_used`, e.g. `emails.send`), plus a count of unrecognized calls on those clients (`unknown_sdk_calls`) \n- Which AI model (or agent) most likely wrote the scanned code (`ai_model`), plus which signal determined it (`ai_model_source`).\n- For fix runs: which agent was chosen (`claude`, `cursor`, or `codex`)\n- Score delta between runs on the same project (stored locally in that project's `.api-doctor/run-history.json`)\n- A hashed project identifier (`project_hash`) — SHA-256 of the scanned directory path, not the path itself\n- Sanitized error messages and stack traces on unexpected crashes (paths redacted)\n\n**What we never collect:**\n\n- Your code or file contents\n- Raw file paths or project names\n- Email, name, or any personally identifying information\n- Git commit messages, human author names, or human author emails\n- Agent session transcripts\n\nA random anonymous ID is stored at `~/.api-doctor/install-id`. Per-project run history is stored at `<project>/.api-doctor/run-history.json`. Both stay on your machine — only the event data above is sent to PostHog.\n\n**Opt out:**\n\n```bash\nnpx @api-doctor/cli . --no-telemetry\n```\n\n---\n\n## Troubleshooting\n\n**Seeing an old version?** npx sometimes caches an older resolution.\nForce a fresh pull with \n\n```bash\nnpx @api-doctor/cli@latest .\n```\n\n## Help\n\n- **New provider?** [Open an issue](https://github.com/qualtyco/api-doctor/issues)\n\nMIT © Qualty\n","readmeFilename":"README.md"}