Summary
npm run lint reports success while linting only apps/web. The three published/shipped packages are never linted.
Root package.json:
"lint": "npm run lint --workspaces --if-present"
Only apps/web/package.json declares a lint script. packages/core, packages/cli, and packages/action declare build, test, and typecheck — no lint, and no ESLint config file exists under packages/.
Reproduction
> fixmap-workspace@0.5.0 lint
> npm run lint --workspaces --if-present
> @fixmap/web@0.0.0 lint
> eslint .
That is the entire output — --if-present silently skips the three packages.
Impact
npm run ci chains lint and the README states it "runs the complete test suite, typechecking, ESLint, production builds...". In reality ESLint never sees the scanner, ranker, CLI, MCP server, or the GitHub Action — i.e. all the code that actually ships to npm and the Actions marketplace. A green CI badge overstates the coverage.
Suggested fix
Add a shared flat ESLint config at the repo root (typescript-eslint) and a lint script to packages/core, packages/cli, and packages/action. Expect an initial cleanup pass; rules like no-floating-promises, no-unnecessary-condition, and consistent-type-imports are the useful ones for this codebase.
If linting the packages is intentionally out of scope for now, the README sentence should be corrected instead so npm run ci is not described as covering ESLint across the repo.
Summary
npm run lintreports success while linting onlyapps/web. The three published/shipped packages are never linted.Root
package.json:Only
apps/web/package.jsondeclares alintscript.packages/core,packages/cli, andpackages/actiondeclarebuild,test, andtypecheck— nolint, and no ESLint config file exists underpackages/.Reproduction
That is the entire output —
--if-presentsilently skips the three packages.Impact
npm run cichainslintand the README states it "runs the complete test suite, typechecking, ESLint, production builds...". In reality ESLint never sees the scanner, ranker, CLI, MCP server, or the GitHub Action — i.e. all the code that actually ships to npm and the Actions marketplace. A green CI badge overstates the coverage.Suggested fix
Add a shared flat ESLint config at the repo root (typescript-eslint) and a
lintscript topackages/core,packages/cli, andpackages/action. Expect an initial cleanup pass; rules likeno-floating-promises,no-unnecessary-condition, andconsistent-type-importsare the useful ones for this codebase.If linting the packages is intentionally out of scope for now, the README sentence should be corrected instead so
npm run ciis not described as covering ESLint across the repo.