npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@mikuexe/lint

v0.1.0

Published

One AI-strict lint CLI for Benjamin's JavaScript, TypeScript, React, CLI, and package projects.

Downloads

63

Readme

miku-lint

One universal AI-strict lint CLI for all projects in dev-in-an-ai-age.

It is intentionally one command, not project-specific configs.

miku-lint check
miku-lint check --mode fast
miku-lint check --mode full
miku-lint check --all --mode standard
miku-lint check --ci

What it runs

| Mode | Checks | |---|---| | fast | ESLint universal config + TypeScript typecheck | | standard | fast + Fallow production unused-code/dependency check | | full | standard + Fallow full codebase intelligence + React Doctor when React is detected + publint/attw for publishable packages | | ci | strict CI variant: ESLint max warnings 0, Fallow audit, React Doctor for React, publish checks |

Universal ESLint policy

The bundled config includes:

  • typescript-eslint strict typed rules when tsconfig.json exists.
  • Perfectionist recommended-natural preset — all Perfectionist rules under one preset.
  • React Hooks + React Refresh.
  • JSX accessibility rules.
  • Testing Library, Jest-DOM, Vitest rules.
  • TanStack Query rules.
  • Node/security rules.
  • no-unsanitized DOM/XSS rules.
  • regexp safety rules.
  • no-secrets warning.
  • SonarJS/unicorn complexity/readability rules.
  • JSON/YAML parser support.

Why Perfectionist preset

Perfectionist covers sorting/ordering for imports, named imports, exports, objects, types, enums, JSX props, classes, maps, sets, union/intersection types, and more.

This CLI uses:

perfectionist.configs['recommended-natural']

Policy: do not also enable import/order, sort-imports, or Prettier import sorting. Perfectionist owns ordering.

Fallow / React Doctor policy

Fallow is the primary codebase-shape gate:

Fallow       = unused deps/files/exports + duplication + cycles + complexity + health
React Doctor = React-specific agent-friendly diagnosis/score

Knip was removed because Fallow covers the same unused deps/files/exports gate and more.

Default Fallow usage by mode:

| Mode | Fallow invocation | |---|---| | standard | fallow --production | | full | fallow | | ci | fallow audit when a git repository is available |

Use --fallow ...args or repeated --fallow-arg to access any Fallow CLI option directly.

All-project usage

From ~/Documents/sites.nosync/dev-in-an-ai-age:

node miku-lint/src/cli.mjs check --all --mode standard

After publishing/installing:

miku-lint check --all --mode standard

Skipping checks

miku-lint check --mode full --skip react-doctor
miku-lint check --mode ci --skip fallow,attw

Passing Fallow options

miku-lint forwards any trailing arguments after --fallow to the Fallow step, so Fallow's full CLI surface stays available without wrapping every flag one by one.

miku-lint check --mode full --fallow --format json --score --trend
miku-lint check --mode ci --fallow --changed-since origin/main --fail-on-issues

For scripts where trailing args are awkward, repeat --fallow-arg:

miku-lint check --mode full --fallow-arg --format --fallow-arg json

Valid skips:

eslint,typecheck,fallow,react-doctor,publint,attw

Notes

  • --all scans child directories for package.json and skips node_modules, dist, opensrc, worktrees, etc.
  • React Doctor only runs when React is detected in dependencies.
  • Publish checks only run when package metadata suggests a publishable package (exports, files, bin, publishConfig, or private: false).
  • The universal ESLint config is intentionally strict; ratchet warnings to errors after the first cleanup pass.

Local verification

npm install
npm run check:syntax
node src/cli.mjs check . --mode fast
node src/cli.mjs check . --mode standard
node src/cli.mjs check . --mode full
node src/cli.mjs check . --mode ci
npm run verify:modes