{"_id":"@alien_intelligence/eslint-plugin-nitpicker","_rev":"25-a48f9ecad6483fab5c3794bdeb9c0218","name":"@alien_intelligence/eslint-plugin-nitpicker","dist-tags":{"latest":"0.10.1"},"versions":{"0.1.0":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.1.0","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.1.0","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/the-alien-club/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/the-alien-club/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"c7ecb3b0d09ef9781986352b45f1b4fc03cc9efa","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.1.0.tgz","fileCount":6,"integrity":"sha512-WHXOoTsSR+RYUUh71zGk+BiFQ1FfoRpBm8RT6+y01CvXWGqw1L16Tw5KM8iyGdipa3/Ai3SucM2wFJzdhq+7+w==","signatures":[{"sig":"MEUCIA644UEOLoiMkmNxgZOymCCUUUG7brWckNpu8lKS+6i4AiEA1RnVZ/SNFBKcKvvgOyIuSyX++H7pDymuW+w/1eCWC6g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":109458},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"c8fd4211d07d51343d1117bc569d96a581f8a5ba","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"yoratoni_alien","email":"adrien@alien.club"},"repository":{"url":"git+https://github.com/the-alien-club/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"11.12.1","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"24.15.0","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.1.0_1785139627758_0.013264389577489766","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.2.0","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.2.0","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/the-alien-club/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/the-alien-club/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"afe513228c7c1132b5420ed7265ac5c283e4edb6","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.2.0.tgz","fileCount":6,"integrity":"sha512-d8kwa0JvSf3Fqiw22F+Ggffo7V90Z3zh8ezB89ANvAO95pJBEEs67HS8yz7ea2DCVonOr4748VqXIXIrOWt5Dg==","signatures":[{"sig":"MEUCIAyBqRvqrqnSsHfCmjf/Ot/QDhOC2ZSWhCex5mpb7gV7AiEA5LSs0eNKxCglQg+FcWI5fqSkq2m9UDdsMFxciT5DUjM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":149798},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"681ef6bc26ab1d7c75db3b79d7f7eaf0b8b7cec9","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/the-alien-club/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.1","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.1","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.2.0_1785332828270_0.8713461630483701","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.3.0","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.3.0","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/the-alien-club/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/the-alien-club/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"11287de746b148c1bdc5eaeb3d823663949edef4","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.3.0.tgz","fileCount":6,"integrity":"sha512-KJgaRj3VC9XP5gUyLPRQGlueuT/DE9jdkYKJcFhu2PAMsjXcde+u974xT5JuprncXHX8+Vje/mDjHvDYLaRIZg==","signatures":[{"sig":"MEYCIQCK45NTKJGMQ5hZVbiuZOkggHAF2v/NUkOLSGmEMbC9pwIhAKD5ymbnps7GxrousC9hL8k62yfYJP8A4s1Qu6Dp4g1J","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":188622},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"1d0262ab08917eefc27095bc1afb725335e93357","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/the-alien-club/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.3.0_1785624036008_0.1961593759029232","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.4.0","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.4.0","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/the-alien-club/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/the-alien-club/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"97b6811e43cf163cdabec23166fc63b9d1dc8295","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.4.0.tgz","fileCount":6,"integrity":"sha512-nSv+Zpi8lVdi1QFBl8dzsWhMUBgP71kxCM7Sc7JGLlyioB85mwjlvfCNlosgcMWmae4D+7KrXaylxgmiEXTnuA==","signatures":[{"sig":"MEYCIQDRd3SsIAnSyZBaZ3CqBfja+tU+AIpdlGDk85E4Fb+ePwIhAOciozsQp4t+1KSInz/3LukX6Sm0ovJf/4SfdDOAXynp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":202520},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"85439c180361b7b23734a39f5fbaeb911c67a7cc","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/the-alien-club/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.4.0_1787007917289_0.5644946805048621","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.5.0","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.5.0","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/the-alien-club/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/the-alien-club/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"72765fce8ac7d2ae7b89d894c4b70f1a60793de4","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.5.0.tgz","fileCount":6,"integrity":"sha512-bSRbPVjGlWSfFwDM41TfQH439b9QJe3L5L/STbSW2j/pVfqYukFA3BQEU+yYINyAA50Fb4kHCPiqfamNdXg6ZQ==","signatures":[{"sig":"MEUCIExUMomxl+cMZr5TpigFUOTH4Lsv0wyWqpBj8JYgRPSmAiEAkDx3FI45bel2E552jVELH8Oe3wVmb1ScEMDMGft9VAU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237251},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"8fd73b9506f1800aa0d269018d51894ecf682e44","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/the-alien-club/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.5.0_1787045042959_0.9337426202051486","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.5.1","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.5.1","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"9b4316f5729e35f8f6090ffc2efd31239759ecf4","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.5.1.tgz","fileCount":6,"integrity":"sha512-LO3KNmcytnBFYQa55BE7TAsQWsDEk6UvBWyVQXFagKW1g2rr+S1Nq4LLDYw9zRr4EGz8dp7PBK9uagGyv0nOOw==","signatures":[{"sig":"MEUCIQD1jtSG/wt/nG2LhXoL7b6z45lY276iV7Bo85iGB/15iwIgeeR/8BrGsmG2psq43sUPvBzRXVGbPe5tw4Gr9h9fdc4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237752},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"aca66d71debdd68bb87b2222b4d97004b426204c","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"yoratoni_alien","email":"adrien@alien.club"},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"11.12.1","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"24.15.0","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.5.1_1787047427482_0.1487999511792124","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.5.2","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.5.2","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"3c6c5bb707e0849f7b821ae27dc3f83772f5056e","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.5.2.tgz","fileCount":6,"integrity":"sha512-hMK9N7g96woG9+lcOh9NkPiOS1rcI3K8KWxOqW3W+WYpQp5BNzOCp+AoO8v1UAgGLrojoYHoRxGQkpPPcqoDUQ==","signatures":[{"sig":"MEQCIDVUK9RCCdSm54czGq5D8yQiouvHx+vb/hMGSqj+5EMvAiBpceWmlmu2hdvF5e9K+3CKRbCqj/97O0vegK85L2kefw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":238227},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"44f366cd33a0abfebe82b7aa91a67f88823297e3","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.5.2_1787139451626_0.5447150239105365","host":"s3://npm-registry-packages-npm-production"}},"0.5.3":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.5.3","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.5.3","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"0e31e6c7a388574898e5d3a8cfbd47a89993bcc1","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.5.3.tgz","fileCount":6,"integrity":"sha512-ia5Bh+XS/l1RICDI/bxK1SgojCamK5H8lA7kcv1dHkrbmfieCwNIoWzDIi39r3T3CmVf5+RTcHw9Y9iqf619Sg==","signatures":[{"sig":"MEQCIAXDno5ymfrjqCN8va4PhAviR1KHmrA4q75ROKfKLUPFAiBqpW08fpmgXY1mfXF6Q5GPUfeFnxmj7SUh2MbwK3E/Bg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242549},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"5ae65caab9380aa3b1ceae60fed69171d5331de6","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.5.3_1787232801978_0.3838255611064454","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.6.0","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.6.0","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"c575778a0dbffe1faefc6787737e1d0042cbc6ed","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.6.0.tgz","fileCount":6,"integrity":"sha512-KqoGxbVb5c00XN+8DYMhWBtzprHz52Nn6mEJQkvd6XbBwBGo5wD+eUUaxEIa7drGV0pkuIjtKcDDdqDP1pOc+Q==","signatures":[{"sig":"MEQCIEhnymcM3PDSYe1l4jBE6yt3sHyTU9OKZWfFP1l1pWEgAiBRmawiphyFMeyX7Ty7yUs+ORbvJ8TkjdSqy/3aXzrnqA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263068},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"e6c942910c082d7f33c3ca3a19f53206fdb4683b","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.6.0_1787232935089_0.0016697450591158791","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.6.1","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.6.1","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"817b8b983416e4dfc599aa0d47e90508fc372f0d","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.6.1.tgz","fileCount":6,"integrity":"sha512-ymUzS4cy4dqawxDOIJYiLoGvKYCBHhfOlAOHnR11yZCeotSKo5NGdaYib0/v6Jf03zeWYPAxrcUP/0EJNXJQHQ==","signatures":[{"sig":"MEYCIQCwixllc38qAGNn1qmqOQMFocQYzR63Qv0IShwufmSpsQIhAO/aRg5B3K9/Zt0ShjQQ4xQzlfrxsBhyeT5cljRoi1nr","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":263068},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"84a3dd4d0448a851021c607223d850fa0f26ef7f","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.6.1_1787233612976_0.5788397573472741","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.6.2","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.6.2","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"4c98822d8a8bd253b1f8574f9d087d0e8c9c0775","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.6.2.tgz","fileCount":6,"integrity":"sha512-1s23EHFyXxv0Klr8LfV8e4rh2HojW5CY5HkJf6DOCA28gbvtE8GePobRD9sRb9+Y1Hsufks6bI11VGQrOJyVvA==","signatures":[{"sig":"MEQCIE1VUzC7N8y/arl48XRezaY2ylllacQlapOppNnviZrqAiAZKD0a6bDKSK3dPlpgDu8I1pV6TNgETX+RpaKFefkhUw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":274431},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"a5e293ad8f749413a2ea0a07821e437858a8d6f3","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.6.2_1787834580370_0.15099090192529996","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.7.0","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.7.0","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"b6918ef3cd9bddc8df35ccd1d76855658b93f61a","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.7.0.tgz","fileCount":6,"integrity":"sha512-ptbDgJe6uHtkiU8MLwMS8zQpQjOlxY1M3+UnMEIhVpDdAK05CdzjMkWW9Twu+mf2RdxGiwAJ/L1uEBd7thVCSA==","signatures":[{"sig":"MEUCIQDTSFcVN2+5kgzmFGpaMe61wYE5E0b0R8glmv7w6TRuvgIgE4pQoEC8VVZFpM9dLEVmhBCf2bHcdNqvVuWOp6vQb4U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292553},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"c965f4d01a2066cb4fc4f47819b87aaffb7f70e0","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.7.0_1787834636144_0.0811392055980582","host":"s3://npm-registry-packages-npm-production"}},"0.7.1":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.7.1","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.7.1","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"130a1440562d301c911f02c567ad98728ec20d20","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.7.1.tgz","fileCount":6,"integrity":"sha512-C8aB/xGOQ8kHB4SmbpvqDGCowb+rZLb8f5Si3ZYgP0CuDczD7NMF7sBCiqEHWKdoEvfUL/GCDAwwYThu9GAxOw==","signatures":[{"sig":"MEQCIDd0VABnvAm6tBHcSUBqiZrKS8h7gjbMV8obhiOfaON3AiBrsLzy0HOa+gesBT0+UlQjkcBfiYyIj2X8Cfcla8J8dA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292720},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"de28be7a7ad930bacf03d6a7f6ab5d2a2c5a7892","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.7.1_1787835442994_0.39717681251013803","host":"s3://npm-registry-packages-npm-production"}},"0.7.2":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.7.2","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.7.2","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"82013e00d6249f43ccad08c4acda484644e5e45e","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.7.2.tgz","fileCount":6,"integrity":"sha512-8h49WXLoXGSKGIXSftMptSDTXrWfpfNyA6Sj3DJhG/bdl552ZKJcoCuUOYuhGfv2LCZsr4CIV4ft54gyhJbT/w==","signatures":[{"sig":"MEYCIQC4ZAvJFUA13K9j4CwnxUCy8qDFHc/V+GG9lOIWJ/Z5JwIhAPH4yR76uAH2TtlzfJmemY9xdjn+dA/bVkWASD38SoPZ","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":300242},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"b3739c6282b01b4f8971b8bf5c309214855d6fd2","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.7.2_1787951758018_0.8996019962035562","host":"s3://npm-registry-packages-npm-production"}},"0.7.3":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.7.3","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.7.3","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"2767fd72220ae055d9a31b6394b0caa41aaf4780","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.7.3.tgz","fileCount":6,"integrity":"sha512-PowCkuFPZknuR3RuY29WloDdM0vh51W6wxfLJ97NEiqdFwjH3nYZjjG78ihZubH9XSooJqliqcD66Jv19uR8Wg==","signatures":[{"sig":"MEUCIQCYxjqUwXT+7Y2/H02qvNe1DS3VxDCvNUd+7m9aZkwYrwIgWUo0f3vr9AA910sYQ5iWClA6JfzoOW5nx7ZxRF3H8T0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":300347},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"453cd4603cd789b7ca55913c0643f37c7c1c1220","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.7.3_1787953294648_0.44038614403069776","host":"s3://npm-registry-packages-npm-production"}},"0.7.4":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.7.4","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.7.4","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"1395ea6426848053d9c62060cb863eb3a44f7af1","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.7.4.tgz","fileCount":6,"integrity":"sha512-dMjTF9IxxHbl2vjdvSr80Zy0shw1Q4p7l3fFkUXDqZRLeuNEW6wRntKLSsSwI4f4v5y/QrGu24tFOYKMngPFGw==","signatures":[{"sig":"MEUCIBtbnianJbVizpMVNYrw0VQT22lEbGXGCee/JvKCACAkAiEAmjkQGvQQTtICOBXJSr/xuBd4PDpxavmLp8S4Am2YuJw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301768},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"c30fd3cd7f337b23502c5dda61df56e1d719975f","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.7.4_1788081323558_0.3954664946578226","host":"s3://npm-registry-packages-npm-production"}},"0.7.5":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.7.5","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.7.5","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"d6edcfed3ce49f41e0dc531f63682e3214205eeb","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.7.5.tgz","fileCount":6,"integrity":"sha512-NlJZsWfmYmvd83awxe2nckqXcvehk5h4IopZ7/iCyCIgVLuH3gBPqeZy5DM4ZLuBzdp4jdsaTdJf60vWz59V3w==","signatures":[{"sig":"MEUCIQCRwpdkukeWWl/NeY83UKtsjIrkMF1Le46hZ6arD13DDAIge4mphMtZrL95IfA2CdKXfXXixCHNhaeL4mAaIISgObg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303111},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"191f5a91bce00f81a8dbba6d966377d075645fa8","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.7.5_1788116774773_0.17513098818362716","host":"s3://npm-registry-packages-npm-production"}},"0.7.6":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.7.6","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.7.6","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"59c96f9f5c9abaf19c83ad874225c47a4379562d","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.7.6.tgz","fileCount":6,"integrity":"sha512-xGgbzGfP6kfzO7vXMcoVkfv/6IX5l/8sywHAZ9NN0P/B4TdrTEYLSZtxEHcNQHXMwWYgysf3nBL+4FnKAmkuIA==","signatures":[{"sig":"MEUCICdytdvfVvW13f0N8uwt2NOKlWFo45VcQiirtIehvdjKAiEAs50u/u2RmU/AkhV9iY8Wqf5Zu6/pA843/wM76npZ8UM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":320587},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"957cf565e777c37f48384750ba1aae917d7fa58b","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.7.6_1788356185226_0.7506658408404037","host":"s3://npm-registry-packages-npm-production"}},"0.7.7":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.7.7","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.7.7","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"e8abb1eccda499906fc378aa2fb146035e9b2e37","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.7.7.tgz","fileCount":6,"integrity":"sha512-qcK8rnoD06qpKJCB/Ita9KdcScyF7p5MvY44SKsitTz5MWnzSBz+8PIT09cRy3A0FP2L27tTtCwnux2A40wy3w==","signatures":[{"sig":"MEYCIQDehYeAklsAyunA9Jw8vaJZucJtO56cjrjMYibC+NYp/wIhALJdmxnQnqAT1RWdw+UX6GEbqkAxqRsavmZ5e/ttYmZp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":345142},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"5a2f55b14d6cc2566d658a9d7c9c863702475783","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.7.7_1788527307257_0.9669332695028321","host":"s3://npm-registry-packages-npm-production"}},"0.7.8":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.7.8","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.7.8","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"e1abcc4d3f2b5a81e0566de017a400cfff4959a1","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.7.8.tgz","fileCount":6,"integrity":"sha512-KpExMxwXZLcpRNaVx5R3UwxhUPkzzU/kYiAjvWn/Xg1G0ron8/Y28qNI7Ba7sabPoBpbSjcZo7dGH5h4Uzvn7w==","signatures":[{"sig":"MEYCIQDGZoQaQwdGp9vcL/JHG8IXOWh4W4cTVN6aow5Vv1+0qgIhAIA59qzDqZSvBGMA6LyOP4L3QpM6ewzSQDjpLIvA7zG+","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":356127},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"86168ed7d9fdce6230765bec813c202b4b9cd359","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.7.8_1788529483939_0.7059855583412538","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.8.0","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.8.0","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"15b3c5d27a52dfdf920001bb42cccab97cf385b7","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.8.0.tgz","fileCount":6,"integrity":"sha512-VnXKp+xkVODxFaWAgcF21G4dkIti16+SP0cYumcjYYo6z0Ukj9Yjj3qw4oCiPH4D+H7VhbadVxKGcAKf2ikqoA==","signatures":[{"sig":"MEUCIB56YCKGy08C0WTdlK4b8wLuli55u3xSGaBh3vqohnTkAiEAoeXbsb0NgaDthjB36hOSNkA0E6q+DMuiACptXYZevH8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":404761},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"09ed9aaf081e5e84e5e15c0ec6a2e98d1827ca2e","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.8.0_1788789059605_0.299832154539623","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.9.0","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.9.0","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"13a978d953f3d4d3ee399a73d5be6930fe70d098","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.9.0.tgz","fileCount":6,"integrity":"sha512-FVhktMIMDMZpd1+J41Wf+nOEDa5MDNym1lbNcTwSwV/TVXWw9yMnQnRWyaE1jGq9jc16GZ4ZPt25aytWea6UTg==","signatures":[{"sig":"MEUCIE2+p2ky8i1xV21KOwCz+i2r3JqQ9sqR9tHdnupCtcSLAiEAjIgOBDSpkkCIC6VFO2C48yOyX3UGBPgYiSHGpVUt2MU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":470861},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"879ec0f2ecd8c09ac4fe8bf5ef79bdcc274e4e2a","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.9.0_1788941458087_0.6508360018446071","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.9.1","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.9.1","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"410cabc087acdb2f136d063006a6cd8a11ee5888","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.9.1.tgz","fileCount":6,"integrity":"sha512-0smMZKc/CTjep0gdnZp64NIW55X62dlZihmVYmItrwy5nzYWLx2OIOz44f5Dr5B/2W9JE5poedZnCvTAPqbP4Q==","signatures":[{"sig":"MEQCIFYtv45G2QV/uHyLDGMU0pNtxTzdAiq+CrVCAyzEZ3uFAiBaXSoMA5TTkqtjw6EDy+QmaIOHgR/lUOeEfVc8m3JkPA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":474927},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"ad2c53e83ed28edba550bee857ad60d681a4420b","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.9.1_1789024384145_0.18870617093794984","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@alien_intelligence/eslint-plugin-nitpicker","version":"0.10.0","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"author":{"url":"https://www.alien.club/","name":"Alien","email":"contact@alien.club"},"license":"MIT","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.10.0","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"dist":{"shasum":"2de7a5f995999f120773047fd9896e5d5eabc6e3","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.10.0.tgz","fileCount":6,"integrity":"sha512-tUQsdymheJsh2KOmu7IhntTJc8yhQcrWQgOu4IJbQ3WyYolxb19eDJiVS6aFk7uQgG/g8D0I/C3VO7Sv0Tmx0w==","signatures":[{"sig":"MEQCIHL/aQLeIyrQoUAMOe1fr2yd72pJg/UiQYP/Uf2svSvbAiA5d9nsbKCDgmAs13TR3kMVdmSG0g0GphiM/QSSX0tyQg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":483482},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20.0.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"gitHead":"7505f4807da5dc37a038ea56e7595a0b470887b3","private":false,"scripts":{"lint":"biome check","test":"vitest run","build":"tsup","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","lint:fix":"biome check --fix && biome format --write","typecheck":"tsc --noEmit","test:watch":"vitest","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\""},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"repository":{"url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git","type":"git"},"_npmVersion":"12.0.2","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","directories":{},"productName":"Nitpicker","_nodeVersion":"22.23.2","dependencies":{"@typescript-eslint/utils":"^8.18.0"},"publishConfig":{"tag":"latest","access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"packageManager":"npm@11.4.2","devDependencies":{"tsup":"^8.5.1","eslint":"^9.17.0","vitest":"^4.1.5","typescript":"^5.8.3","@types/node":"^24.12.2","@biomejs/biome":"^2.5.2","@typescript-eslint/parser":"^8.64.0"},"peerDependencies":{"eslint":">=9.0.0"},"_npmOperationalInternal":{"tmp":"tmp/eslint-plugin-nitpicker_0.10.0_1789026161415_0.8920645448452411","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"@alien_intelligence/eslint-plugin-nitpicker","productName":"Nitpicker","version":"0.10.1","description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","author":{"name":"Alien","email":"contact@alien.club","url":"https://www.alien.club/"},"license":"MIT","private":false,"packageManager":"npm@11.4.2","type":"module","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","repository":{"type":"git","url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git"},"bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"publishConfig":{"registry":"https://registry.npmjs.org/","access":"public","tag":"latest"},"engines":{"node":">=20.0.0"},"main":"./dist/index.js","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","default":"./dist/index.js"}},"scripts":{"build":"tsup","lint":"biome check","lint:fix":"biome check --fix && biome format --write","lint:nitpicker":"eslint \"src/**/*.ts\" \"tests/**/*.ts\"","typecheck":"tsc --noEmit","pretest":"node -e \"require('node:fs').rmSync('node_modules/.vite', { recursive: true, force: true })\"","test":"vitest run","test:watch":"vitest"},"peerDependencies":{"eslint":">=9.0.0"},"dependencies":{"@typescript-eslint/utils":"^8.18.0"},"devDependencies":{"@biomejs/biome":"^2.5.2","@types/node":"^24.12.2","@typescript-eslint/parser":"^8.64.0","eslint":"^9.17.0","tsup":"^8.5.1","typescript":"^5.8.3","vitest":"^4.1.5"},"gitHead":"3d751c7132f7514eafaacd29f388713b6339d88a","_id":"@alien_intelligence/eslint-plugin-nitpicker@0.10.1","_nodeVersion":"22.23.2","_npmVersion":"12.0.2","dist":{"integrity":"sha512-8S+8p7xdVVM22ZL49HSn8YQXq94ytsEyoEY/eQ8tDJkbBfb+xPHnlBBi1VHQUKonDnuFASWScpjVUtSzPbfFTA==","shasum":"e60d9bada450eec1b7e658ceec081bb81b5c3ba8","tarball":"https://registry.npmjs.org/@alien_intelligence/eslint-plugin-nitpicker/-/eslint-plugin-nitpicker-0.10.1.tgz","fileCount":6,"unpackedSize":494795,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQC3A/TeOn3uMSa3iXap6T1pIUAqlHEfoRW5FSUYIyV4DAIgNIHfltrnmiyMKUBjGfFXeGrLXXoEVasdftGJB3elqzU="}]},"_npmUser":{"name":"GitLab CI/CD","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"gitlab","oidcConfigId":"oidc:1197f512-fdc3-4bb6-8ae3-d301c6133355"}},"directories":{},"maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/eslint-plugin-nitpicker_0.10.1_1789473564840_0.7433278586715542"},"_hasShrinkwrap":false}},"time":{"created":"2026-07-27T08:07:07.599Z","modified":"2026-09-15T11:59:25.164Z","0.1.0":"2026-07-27T08:07:07.913Z","0.2.0":"2026-07-29T13:47:08.407Z","0.3.0":"2026-08-01T22:40:36.163Z","0.4.0":"2026-08-17T23:05:17.444Z","0.5.0":"2026-08-18T09:24:03.115Z","0.5.1":"2026-08-18T10:03:47.615Z","0.5.2":"2026-08-19T11:37:31.780Z","0.5.3":"2026-08-20T13:33:22.131Z","0.6.0":"2026-08-20T13:35:35.253Z","0.6.1":"2026-08-20T13:46:53.179Z","0.6.2":"2026-08-27T12:43:00.519Z","0.7.0":"2026-08-27T12:43:56.280Z","0.7.1":"2026-08-27T12:57:23.133Z","0.7.2":"2026-08-28T21:15:58.163Z","0.7.3":"2026-08-28T21:41:34.803Z","0.7.4":"2026-08-30T09:15:23.700Z","0.7.5":"2026-08-30T19:06:14.913Z","0.7.6":"2026-09-02T13:36:25.350Z","0.7.7":"2026-09-04T13:08:27.402Z","0.7.8":"2026-09-04T13:44:44.064Z","0.8.0":"2026-09-07T13:50:59.753Z","0.9.0":"2026-09-09T08:10:58.230Z","0.9.1":"2026-09-10T07:13:04.333Z","0.10.0":"2026-09-10T07:42:41.601Z","0.10.1":"2026-09-15T11:59:25.010Z"},"bugs":{"url":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker/issues"},"author":{"name":"Alien","email":"contact@alien.club","url":"https://www.alien.club/"},"license":"MIT","homepage":"https://github.com/Alien-Intelligence/eslint-plugin-nitpicker","keywords":["alien","eslint","eslintplugin","eslint-plugin","nitpicker","linting","code-style","ai"],"repository":{"type":"git","url":"git+https://github.com/Alien-Intelligence/eslint-plugin-nitpicker.git"},"description":"A hyper-pedantic ESLint plugin that flags every stylistic and semantic nit, with AI-friendly fix context.","maintainers":[{"name":"leo_alien","email":"leo@alien.club"},{"name":"yoratoni_alien","email":"adrien@alien.club"}],"readme":"<p align=\"center\">\n  <br />\n  <a href=\"https://www.alien.club\" target=\"_blank\"><img width=\"64px\" src=\"https://alien-website.cdn.prismic.io/alien-website/Zrn2b0aF0TcGI3Bu_alien-logo.svg\" /></a>\n  <h2 align=\"center\">@Alien-Intelligence/eslint-plugin-nitpicker</h2>\n  <p align=\"center\">A hyper-pedantic ESLint plugin that flags every stylistic<br />and semantic nit, specifically for AI.</p>\n</p>\n\n## What it is\nNitpicker is an ESLint plugin that enforces the small, opinionated conventions a linter usually leaves alone: comment style, JSDoc shape, spelling, decorative noise, and a few semantic anti-patterns. It is built for codebases where humans and AI agents write side by side, so every message is written to make the fix obvious without opening any docs.\n\nEach finding is reported as a problem, a reason, and a concrete fix:\n```text\nThis JSDoc description is 312 characters, over the 250-character limit.\n  - why: A JSDoc description should summarize what something is; an oversized\n    one usually restates the code or explains how it is used.\n  - fix: Trim it to a concise summary of what it does, and drop any note about\n    how or where it is used.\n```\n\nThat reason and fix context is what lets an AI agent (or `eslint --fix`, where the rule supports it) resolve the nit correctly on the first pass.\n\n## Requirements\n- **ESLint 9+**, flat config (`eslint.config.js`) only. There is no legacy `.eslintrc` support.\n- A parser matching your source. For TypeScript, install [`@typescript-eslint/parser`](https://www.npmjs.com/package/@typescript-eslint/parser). Plain JavaScript uses ESLint's built-in parser.\n\n## Installation\n```bash\nnpm install --save-dev @alien_intelligence/eslint-plugin-nitpicker\n```\n\n## Usage\nThe shared configs are self-contained (they register the plugin under the `nitpicker` key for you), so the simplest setup is to drop one straight into the array:\n```js\nimport nitpicker from \"@alien_intelligence/eslint-plugin-nitpicker\"\n\nexport default [\n    nitpicker.configs.recommended,\n]\n```\n\nFor a TypeScript project, add a parser and scope the rules to your source files. Spreading `.rules` into a `files`-scoped block keeps the config from touching everything:\n```js\nimport nitpicker from \"@alien_intelligence/eslint-plugin-nitpicker\"\nimport tsParser from \"@typescript-eslint/parser\"\n\nexport default [\n    {\n        files: [\"src/**/*.ts\"],\n        languageOptions: {\n            parser: tsParser,\n            ecmaVersion: \"latest\",\n            sourceType: \"module\",\n        },\n        plugins: { nitpicker },\n        rules: nitpicker.configs.recommended.rules,\n    },\n]\n```\n\nAll rules ship as warnings. Promote any of them to errors by overriding the rule level yourself, the same way as any ESLint rule.\n\n## Shared configs\nNitpicker ships seven shared flat configs:\n| Config        | What it enables                                                                            |\n|---------------|--------------------------------------------------------------------------------------------|\n| `recommended` | The universal `base` ruleset, every rule enabled as a warning. The sensible default.       |\n| `base`        | The same universal rules, with no framework assumptions.                                   |\n| `all`         | Every rule, plus both framework rulesets opted in. The maximally pedantic setup.           |\n| `react`       | Opts into the React ruleset for the files you scope it to.                                 |\n| `adonisjs`    | Opts into the AdonisJS ruleset, and relaxes decorative separators in `start/routes` files. |\n| `breathing`   | Opts into the code-spacing ruleset, which is deliberately out of `recommended`.            |\n| `design`      | Opts into the design-system ruleset, also deliberately out of `recommended`.               |\n\n## Rules\nThe **base** rules are the universal ruleset shipped by `recommended`; the **React**, **AdonisJS**, **breathing**, and **design** rules ship only in their own configs. Every rule is enabled as a warning. The Fixable column marks rules that `eslint --fix` can resolve automatically.\n\n### Base rules\n| Rule                                         | Fixable | Description                                                                                         |\n|----------------------------------------------|---------|-----------------------------------------------------------------------------------------------------|\n| `nitpicker/max-jsdoc-description-length`     |         | Enforce a maximum character length for a JSDoc description (default 250).                           |\n| `nitpicker/max-line-comment-length`          |         | Enforce a maximum prose length for a run of consecutive `//` comments (default 200).                |\n| `nitpicker/catch-error-name`                 |         | Require a `catch` clause to bind its error as `error` (`_error` for an unused binding).             |\n| `nitpicker/no-alias-variables`               |         | Disallow a `const` whose whole value is another variable; use the source directly.                  |\n| `nitpicker/no-british-english`               | yes     | Disallow British spellings in identifiers and comments, reporting the American equivalent.          |\n| `nitpicker/no-comment-above-jsdoc`           |         | Disallow a comment stacked directly above a JSDoc, splitting one description in two.                |\n| `nitpicker/no-decorative-comment-separators` |         | Disallow decorative separators (banners, box-drawing, repeated dashes) inside comments.             |\n| `nitpicker/no-em-dash`                       |         | Disallow the em dash (—) character anywhere in the source (`allow` option for copy).                |\n| `nitpicker/no-emojis`                        |         | Disallow emoji anywhere in the source (`allow` option for copy). Reported, never auto-removed.      |\n| `nitpicker/no-jsdoc-blank-before-tags`       | yes     | Disallow blank lines before JSDoc tags such as `@param` or `@returns`.                              |\n| `nitpicker/no-jsdoc-returns-on-void`         | yes     | Disallow a JSDoc `@returns` tag on a function that returns nothing.                                 |\n| `nitpicker/no-line-comment-backticks`        | yes     | Disallow backticks in `//` line comments; use double quotes for code references.                    |\n| `nitpicker/no-line-comment-period`           | yes¹    | Disallow prose periods in `//` line comments (code dots, quoted spans, ellipses, `e.g.` are OK).    |\n| `nitpicker/no-property-access-alias`         |         | Disallow a `const` whose whole value is a single property access; inline the expression instead.    |\n| `nitpicker/no-property-destructuring`        |         | Disallow shorthand destructuring off a plain object reference; access the property directly.        |\n| `nitpicker/no-relative-imports`              |         | Disallow relative (`./`, `../`) import/re-export paths; use the package alias (`allowIn` option).   |\n| `nitpicker/no-single-line-jsdoc`             | yes     | Require JSDoc comments to span multiple lines rather than a single line.                            |\n| `nitpicker/require-capitalized-comments`     | yes     | Require a comment to start with an uppercase letter.                                                |\n| `nitpicker/require-complete-jsdoc`           |         | Require a function's JSDoc to document every parameter and its return value.                        |\n| `nitpicker/require-consistent-member-jsdoc`  |         | Require every interface/type member to be documented once any member is.                            |\n| `nitpicker/require-framework-config`         |         | Warn when a file uses a framework whose Nitpicker config is not enabled.                            |\n| `nitpicker/require-function-jsdoc`           |         | Require a JSDoc on functions, including class methods and nested ones (`include`/`ignore` options). |\n| `nitpicker/require-jsdoc-delimiter-lines`    | yes     | Require a JSDoc's `/**` and `*/` to sit on their own lines, not share one with prose.               |\n| `nitpicker/require-member-jsdoc-blank-line`  | yes     | Require a blank line before a documented interface/type member (the first needs none).              |\n| `nitpicker/require-multiline-object`         | yes²    | Require an object literal with more than a few properties (default 2) to span multiple lines.       |\n\n### React rules\nShipped by the `react` config (and `all`).\n| Rule                                         | Fixable | Description                                                                                         |\n|----------------------------------------------|---------|-----------------------------------------------------------------------------------------------------|\n| `nitpicker/max-classname-length`             |         | Flag a `className` class string over a max length (default 120); break it up, e.g. via `cn()`.      |\n| `nitpicker/no-jsx-comments`                  |         | Disallow inline `{/* ... */}` comments inside JSX; extract a named sub-component.                   |\n| `nitpicker/require-context-hook-destructure` |         | Require the result of a `use*Context` consumer hook to be destructured.                             |\n| `nitpicker/require-derived-usememo`          |         | Require a derived value (built via a non-hook call) in a client component or hook to use `useMemo`. |\n| `nitpicker/require-hook-object-return`       | yes     | Require a custom hook to return an object rather than a bare function.                              |\n| `nitpicker/require-memo-callback-jsdoc`      |         | Require a JSDoc on a `useMemo`/`useCallback` (with an `@param` per `useCallback` parameter).        |\n\n### AdonisJS rules\nShipped by the `adonisjs` config (and `all`).\n| Rule                                  | Fixable | Description                                                                                                     |\n|---------------------------------------|---------|-----------------------------------------------------------------------------------------------------------------|\n| `nitpicker/migration-table-order`     |         | Group migration table statements as columns, then timestamps, then indexes.                                     |\n| `nitpicker/no-ctx-httpcontext-param`  |         | Disallow binding the whole `HttpContext`, destructure the properties used (`allowIn` option).                   |\n| `nitpicker/require-controller-jsdoc`  |         | Require a JSDoc comment describing an AdonisJS controller (`*Controller` class).                                |\n| `nitpicker/require-migration-jsdoc`   |         | Require a JSDoc comment describing an AdonisJS migration.                                                       |\n| `nitpicker/require-validated-request` |         | Require request data through `request.validateUsing()`, not raw `request.input/body/qs/all` (`allowIn` option). |\n\n### Breathing rules\nShipped by the `breathing` config (and `all`), never by `recommended`. See [Code breathing](#code-breathing).\n| Rule                                    | Fixable | Description                                                                                         |\n|-----------------------------------------|---------|-----------------------------------------------------------------------------------------------------|\n| `nitpicker/max-consecutive-statements`  |         | Enforce a maximum run of sibling statements with no blank line between them (default 4).            |\n| `nitpicker/require-blank-before-block`  | yes     | Require a blank line before a multi-line control-flow block that follows another statement.         |\n| `nitpicker/require-blank-before-return` | yes     | Require a blank line before the `return`/`throw` a block of several statements (default 4) ends on. |\n\n### Design rules\nShipped by the `design` config (and `all`), never by `recommended`. See [Design system](#design-system).\n| Rule                                      | Fixable | Description                                                                                       |\n|-------------------------------------------|---------|---------------------------------------------------------------------------------------------------|\n| `nitpicker/no-arbitrary-dimension`        |         | Disallow Tailwind arbitrary px values (`text-[10px]`, `w-[774px]`), which bypass the scales.      |\n| `nitpicker/no-centered-table-column`      |         | Disallow centring a `TableHead`/`TableCell`; text goes left, numbers right.                       |\n| `nitpicker/no-hand-rolled-surface`        |         | Disallow drawing a card surface by hand in a file that never imports `Card`.                      |\n| `nitpicker/no-palette-bypass`             |         | Disallow a semantic `cva` variant using the raw color palette instead of a status token.          |\n| `nitpicker/no-raw-color`                  |         | Disallow hex color literals; use a design token (`allowIn` for third-party brand marks).          |\n| `nitpicker/no-raw-control-element`        |         | Disallow bare `<button>`/`<input>`/`<select>`/`<textarea>`; use the primitive (`allowIn` option). |\n| `nitpicker/no-unwrapped-primitive-import` |         | Disallow importing a symbol from a library when the design system wraps it (`wrapped` option).    |\n| `nitpicker/require-dialog-footer`         |         | Require a dialog's action buttons to live in a `DialogFooter` (`allowIn` option).                 |\n\n¹ Only the terminal-period case is auto-fixed; a mid-comment sentence break is reported without a fix so wrapped prose is never mangled.\n² Auto-fixed only when the object holds no comments; an object with an inline comment is reported without a fix so the comment is never dropped.\n\n### Rule options\nA few rules accept options. Pass them by overriding the rule with a `[\"warn\", { ... }]` tuple.\n\n`max-jsdoc-description-length` takes `{ max: number }`, defaulting to `250`:\n```js\n\"nitpicker/max-jsdoc-description-length\": [\"warn\", { max: 200 }],\n```\n\n`max-line-comment-length` takes `{ max: number }`, the cap on the joined prose of a run of consecutive `//` comments, defaulting to `200`. It is tighter than the JSDoc cap because a stacked wall of `//` lines reads worse than a block:\n```js\n\"nitpicker/max-line-comment-length\": [\"warn\", { max: 160 }],\n```\n\n`require-function-jsdoc` takes `{ include, ignore }`. `include` picks which function kinds are required on top of top-level ones, out of `\"class-methods\"`, `\"object-methods\"` and `\"nested\"`, defaulting to `[\"class-methods\", \"nested\"]`. `object-methods` is off by default because callback and visitor objects share the shape of a genuine method bag. `ignore` lists names to skip, for an inherited or framework member whose purpose is fixed by the interface it implements:\n```js\n\"nitpicker/require-function-jsdoc\": [\"warn\", {\n    include: [\"class-methods\", \"object-methods\", \"nested\"],\n    ignore: [\"create\", \"render\"],\n}],\n```\n\n`max-classname-length` takes `{ max: number }`, the maximum length of a `className` class string, defaulting to `120`:\n```js\n\"nitpicker/max-classname-length\": [\"warn\", { max: 100 }],\n```\n\n`no-british-english` takes `{ extra?: Record<string, string>; ignore?: string[] }` to extend the built-in dictionary or exempt words you want to keep:\n```js\n\"nitpicker/no-british-english\": [\"warn\", {\n    extra: { behaviour: \"behavior\" },\n    ignore: [\"colour\"],\n}],\n```\n\n`no-decorative-comment-separators` takes `{ allowIn: string[] }`, a list of globs where decorative separators are tolerated:\n```js\n\"nitpicker/no-decorative-comment-separators\": [\"warn\", {\n    allowIn: [\"**/start/routes.ts\"],\n}],\n```\n\n`no-relative-imports`, `require-validated-request`, and `no-ctx-httpcontext-param` each take the same `{ allowIn: string[] }`, a list of globs exempt from the rule, for the few files where the pattern is unavoidable (an entrypoint that reaches outside the alias roots, a passthrough proxy controller that reads the raw request, or a handler that forwards the context onwards whole):\n```js\n\"nitpicker/no-relative-imports\": [\"warn\", { allowIn: [\"**/bin/*.ts\"] }],\n\"nitpicker/require-validated-request\": [\"warn\", { allowIn: [\"**/*_proxy_controller.ts\"] }],\n\"nitpicker/no-ctx-httpcontext-param\": [\"warn\", { allowIn: [\"**/exceptions/handler.ts\"] }],\n```\n\n`no-unwrapped-primitive-import` takes `{ wrapped, allowIn }`. `wrapped` maps a package to the symbols your design system re-exports under the same name, and where to import each from. It defaults to `{}`, so the rule does nothing until you describe your own wrapper layer. Key it on the **symbol**, never the package: a wrapper rarely re-exports everything its library does, and a package-level ban buries the one real finding under the correct imports of everything else:\n```js\n\"nitpicker/no-unwrapped-primitive-import\": [\"warn\", {\n    wrapped: {\n        sonner: { Toaster: \"@frontend/components/ui/sonner\" },\n        \"@radix-ui/react-dialog\": { DialogTitle: \"@frontend/components/ui/dialog\" },\n    },\n}],\n```\n\n`require-dialog-footer` and `no-raw-color` each take `{ allowIn: string[] }`, for a dialog family mid-migration and for a third-party brand mark whose color is not yours to tokenize:\n```js\n\"nitpicker/require-dialog-footer\": [\"warn\", { allowIn: [\"**/dialogs/admin/**\"] }],\n\"nitpicker/no-raw-color\": [\"warn\", { allowIn: [\"**/creditCard.tsx\"] }],\n```\n\n`no-raw-control-element` takes `{ elements, allowIn }`. `elements` is the tag list, defaulting to `[\"button\", \"input\", \"select\", \"textarea\"]`, and the suggested primitive is the tag capitalized. Prefer exact paths in `allowIn` over directory globs, so a new raw control in the same directory still trips the rule:\n```js\n\"nitpicker/no-raw-control-element\": [\"warn\", {\n    allowIn: [\"components/grids/datasets.tsx\"],\n}],\n```\n\n`no-arbitrary-dimension` takes `{ properties: string[] }`, the Tailwind prefixes to police, defaulting to `[\"w\", \"h\", \"p\", \"px\", \"py\", \"m\", \"mx\", \"my\", \"gap\", \"text\", \"size\"]`:\n```js\n\"nitpicker/no-arbitrary-dimension\": [\"warn\", { properties: [\"text\", \"gap\"] }],\n```\n\n`no-palette-bypass` takes `{ tokens: Record<string, string> }`, mapping a semantic variant name to the token it should use. Your override is merged over the defaults (`success`, `warning`, `error`, `destructive`, `info`) rather than replacing them, so naming one variant does not silently stop policing the rest:\n```js\n\"nitpicker/no-palette-bypass\": [\"warn\", { tokens: { success: \"--info\" } }],\n```\n\n`require-framework-config` takes `{ ignore: (\"adonisjs\" | \"react\")[] }`, the frameworks to skip the nudge for:\n```js\n\"nitpicker/require-framework-config\": [\"warn\", { ignore: [\"react\"] }],\n```\n\n`no-em-dash` takes `{ allow: (\"strings\" | \"templates\" | \"jsx\" | \"comments\")[] }`, the places an em dash is deliberate rather than AI residue, such as user-facing copy, prompt text, or a glyph standing in for an empty value. It defaults to `[]`, i.e. an em dash is reported anywhere. Scope it to the files that hold copy rather than enabling it globally:\n```js\n{\n    files: [\"app/legal/**/*.tsx\", \"app/prompts/**/*.ts\"],\n    rules: {\n        \"nitpicker/no-em-dash\": [\"warn\", { allow: [\"strings\", \"templates\", \"jsx\"] }],\n    },\n}\n```\n\n`no-emojis` takes the same `{ allow: (\"strings\" | \"templates\" | \"jsx\" | \"comments\")[] }` option, for the same reason: an emoji is often deliberate copy or a meaningful marker (a `⚠️` above a risky call). It defaults to `[]`, and it is report-only, never auto-removing a glyph, so an emoji is only ever flagged, not silently deleted:\n```js\n{\n    files: [\"app/**/*.tsx\"],\n    rules: {\n        \"nitpicker/no-emojis\": [\"warn\", { allow: [\"strings\", \"templates\", \"jsx\"] }],\n    },\n}\n```\n\n### Line comment code references\nA backtick renders as code inside a JSDoc block, but in a `//` comment it is just a literal character, so `no-line-comment-backticks` rewrites those references with double quotes:\n```js\n// Reads `auth.user` from the context  ->  // Reads \"auth.user\" from the context\n```\nBackticks are left alone in JSDoc and block comments, in tooling directives, when unpaired, in a run (a ```` ``` ```` fence), and when the span already holds a double quote, since `` `split(\".\")` `` cannot be requoted without nesting.\n\n### Interface member documentation\nTwo rules keep a documented interface (or type literal) readable. `require-consistent-member-jsdoc` makes documentation all-or-nothing per block, since a lone JSDoc among bare properties reads as an oversight:\n```ts\ninterface StoredTurn {\n    sessionId: string\n    /**\n     * Reasoning text, display only.\n     */\n    thinking?: string\n}\n```\nDocumenting **none** of the members stays perfectly fine, so this only fires once you start. `require-member-jsdoc-blank-line` then keeps them apart, so each JSDoc reads as belonging to the member below it rather than trailing the one above:\n```ts\ninterface P {\n    allow_fallbacks?: boolean\n\n    /**\n     * Only route to providers that support every parameter.\n     */\n    require_parameters?: boolean\n}\n```\nThe first member of a block needs no blank line above it.\n\n### One description per declaration\n`no-comment-above-jsdoc` flags a comment stacked directly on top of a JSDoc:\n```ts\n// Keyed on the symbol, not the package: a wrapper rarely re-exports everything\n// its library does, so a package-level ban would drown the real finding\n/**\n * Flags a symbol imported straight from a third-party package when the design\n * system ships a wrapper exporting that same name.\n */\nclass NoUnwrappedPrimitiveImport { }\n```\nA reader now has to merge two blocks written in different registers, with nothing saying which belongs where. It is also how a description escapes `max-jsdoc-description-length`, since prose moved above the `/**` is measured as a line-comment run instead, raising the effective ceiling from 250 to 450.\n\nThe fix is rarely to merge the two, which would just blow the limit. Implementation rationale belongs **on the code it explains**, leaving the JSDoc to say what the thing is:\n```ts\nfor (const specifier of node.specifiers) {\n    // Keyed on the symbol rather than the package, since a wrapper rarely\n    // re-exports everything its library does, and a package-level ban would\n    // drown the real finding\n    const replacement = symbols[specifier.imported.name]\n```\nGuidance on how to respond to a warning belongs in the rule's own `fix:` message, and guidance on how to wire a config belongs in its docs. A directive (`// biome-ignore`, `// @ts-expect-error`, `// #region`) is exempt, as is a banner on the first line of a file, and a comment separated from the JSDoc by a blank line is left alone.\n\n### JSDoc completeness\n`require-complete-jsdoc` only inspects a function that already has a JSDoc (requiring the JSDoc itself is `require-function-jsdoc`'s job). It then checks the doc against the signature:\n```js\n// Missing @param url, and missing @returns\n/**\n * Sends it.\n * @param user The user.\n */\nfunction send(user, url) { return 1 }\n```\nA **void** or **`Promise<void>`** function needs no `@returns`, and neither does a component returning JSX. A **destructured** parameter may be documented either way, so both of these pass:\n```js\n/** @param user The user. @param url The link. */   // property by property\nasync function send({ user, url }) {}\n\n/** @param options The options. */                   // one name for the whole object\nasync function send({ user, url }) {}\n```\nIt also covers class methods and object-literal methods, not just top-level functions.\n\nAn AdonisJS **route handler** is the one signature documented route-first, describing the endpoint rather than the values the framework hands it. So a parameter destructured off `HttpContext` needs no `@param`, and any function receiving the context needs no `@returns`:\n```ts\n/**\n * POST /users\n */\nasync store({ auth, request }: HttpContext) {\n    return this.successResponse(...)\n}\n```\nThe exemption is keyed on the `HttpContext` annotation, so a destructured parameter of any other type is documented as usual, and a handler's own non-context parameters still need their `@param`. Binding the context whole (`ctx: HttpContext`) is **not** exempt, since it still owes an `@param ctx`, and it is a violation in its own right that `no-ctx-httpcontext-param` reports.\n\n### Line comment periods\n`no-line-comment-period` only treats a dot as prose when whitespace or the end of the comment follows it, so dots inside code (`foo.bar`, `subagent.*`, `split(\".\")`), inside a quoted or back-ticked span, in an ellipsis, or closing an abbreviation (`e.g.`, `i.e.`, `etc.`) are left alone.\n\nThe two prose cases are handled differently, since removing a period is only safe at the end of a comment:\n```js\n// Reads the token.                     ->  // Reads the token\n// Reads the token. It is cached        ->  reported, not fixed\nconst a = 1 // Reads the token. Cached  ->  reported, not fixed\n```\nOnly a terminal period is auto-fixed. A mid-comment period runs two fragments together, and auto-splitting it onto a new line mangles wrapped prose paragraphs, so that case is reported for a human or agent to reword rather than fixed.\n\n## Code breathing\nThe `breathing` config encodes what a style guide usually calls \"code must breathe\": blank lines between logical steps, so a function reads as paragraphs rather than as one block of text. Three rules cover it.\n\n`require-blank-before-block` separates a multi-line block from whatever precedes it, and `require-blank-before-return` sets a block's conclusion apart once the block has a few statements in it:\n```ts\nconst rows = await fetchRows()\ndoSomething(rows)\nif (rows.length === 0) {        // ->  blank line here\n    return null\n}\nlog(rows)\nreturn rows                     // ->  and here\n```\n`max-consecutive-statements` then flags a run of statements with no blank line anywhere in it (default 4), which is the case no autofix can resolve, so it is reported without one.\n\nThese rules read a statement's leading comments as part of it, so a required blank line goes **above** the comment block rather than between the comment and the code it describes. A comment never counts as separation on its own.\n\nThey are deliberately quiet about code that is packed on purpose:\n- A declaration immediately consumed by the statement below it (`const user = await find(id)` then `if (!user) return`), which is one thought, not two. Turn this off per rule with `{ allowAfterDeclaration: false }`.\n- Single-line guard clauses, however many are stacked.\n- A guard the formatter merely wrapped onto two lines, since it has no braced body.\n- A run of statements built the same way, such as a schema builder, a block of assertions, or a stack of `useState` calls, which reads as a table rather than as prose.\n- Anything an `else if`, `else`, `catch`, or `finally` introduces, and the space between `switch` cases.\n\nNothing here ever asks for a blank line next to a brace.\n\n### Opting in\nThese rules rewrite the whitespace of an existing codebase, so they are **not** in `recommended`, and upgrading Nitpicker never turns them on. Enable them when you are ready:\n```js\nexport default [\n    nitpicker.configs.recommended,\n    nitpicker.configs.breathing,\n]\n```\nTwo of the three are auto-fixable, so `eslint --fix` clears most of the initial pass. If you already run `@stylistic/padding-line-between-statements` or the legacy `newline-before-return`, disable those first, since their fixers will fight these.\n\n## Design system\nThe `design` config encodes the rules a design system states but cannot enforce: that a primitive is reached through its wrapper, that color and size come from tokens, and that a surface is built from the primitive rather than redrawn by hand. Eight rules cover it.\n\nThey assume a shadcn-style layout: a `components/ui` wrapper layer, Tailwind utilities, `cva` variant maps, and CSS-variable tokens. Outside that shape most of them will not fire at all.\n\n### Scoping\nEvery rule here except `no-palette-bypass` is about **feature** code. The wrapper layer is exactly where importing the library directly, drawing a surface by hand, and rendering a bare `<button>` are the correct thing to do, so exclude it:\n```js\n{\n    files: [\"components/**/*.tsx\", \"app/**/*.tsx\"],\n    ignores: [\"components/ui/**\"],\n    ...nitpicker.configs.design,\n}\n```\n`no-palette-bypass` is the inverse. It only fires inside a `cva(...)` variant map, which in practice lives in the primitives, so give it its own entry:\n```js\n{\n    files: [\"components/ui/**/*.tsx\"],\n    plugins: { nitpicker },\n    rules: { \"nitpicker/no-palette-bypass\": [\"warn\", { tokens: { success: \"--info\" } }] },\n}\n```\n\n### What is a heuristic and what is not\n`no-unwrapped-primitive-import`, `no-centered-table-column`, `no-palette-bypass` and `no-raw-control-element` are exact: they match a symbol, an element name, or a class you either wrote or did not.\n\n`no-hand-rolled-surface` is a heuristic and is meant to stay a warning. It reads the static classes of one `className`, joining the arms of a `cn(...)` call, and asks whether they add up to a rounded bordered card background in a file that never imports `Card`. A bordered region that is legitimately not a card looks identical from there. Its value is prompting the question, not settling it. A single-side border (`border-t` and friends) is excluded, since a divider is not a surface.\n\n`no-raw-color` matches `Literal` and `TemplateElement` nodes only, so a hash in JSX prose (a street address, an anchor) is never a finding. It accepts the four hex lengths CSS allows (3, 4, 6, 8) and ignores the five- and seven-digit strings that cannot be colors.\n\n### Opting in\nLike `breathing`, these are **not** in `recommended`, and upgrading Nitpicker never turns them on. None of them is auto-fixable: every finding is a judgement about what a piece of UI is, which no fixer can make. Expect to land them one at a time, cheapest first, rather than all at once.\n\n### Server Components\n`require-derived-usememo` is the one React rule that asks you to *add* a hook, so it stays quiet wherever no hook can run. It skips:\n- Any `async` component or hook, since React supports no async client component, so an async one always renders on the server.\n- A Next.js App Router entry file (`page`, `layout`, `template`, `default`, `loading`, `not-found`) under an `app/` directory that has no top-level `\"use client\"` directive.\n\nAdd the directive and the rule applies again, since the file is then a Client Component. The `error` boundaries are never treated as server files, as React requires those to be client ones. No configuration is needed for either case.\n\n## Framework configs\nSome conventions only make sense for a given framework. Nitpicker detects when a file uses React or AdonisJS and, through `require-framework-config`, nudges you to opt into the matching config for those files. Opting in silences that nudge and applies any framework-specific tweaks.\n\nScope each framework config to the files it applies to:\n```js\nimport nitpicker from \"@alien_intelligence/eslint-plugin-nitpicker\"\nimport tsParser from \"@typescript-eslint/parser\"\n\nexport default [\n    {\n        files: [\"src/**/*.ts\", \"src/**/*.tsx\"],\n        languageOptions: { parser: tsParser, ecmaVersion: \"latest\", sourceType: \"module\" },\n        plugins: { nitpicker },\n        rules: nitpicker.configs.recommended.rules,\n    },\n    { files: [\"src/**/*.tsx\"], ...nitpicker.configs.react },\n    { files: [\"app/**/*.ts\", \"start/**/*.ts\"], ...nitpicker.configs.adonisjs },\n]\n```\n\n## Configuring individual rules\nTurn a rule off, promote it to an error, or exempt specific files, the same way as any ESLint rule. This repo dog-foods Nitpicker on itself, and its `eslint.config.js` is a working reference for per-file exemptions:\n```js\nexport default [\n    nitpicker.configs.recommended,\n    {\n        files: [\"src/lib/constants.ts\"],\n        rules: { \"nitpicker/no-em-dash\": \"off\" },\n    },\n]\n```\n","readmeFilename":"README.md"}