Summary
The project has no linter or code formatter configured — no ESLint, Prettier, Biome, or any other tooling. Combined with checkJs: false in tsconfig.json, this means zero automated code-quality enforcement exists anywhere in the repo.
Current State
tsconfig.json:10: "checkJs": false — TypeScript provides zero type checking on .js and .tsx files.
tsconfig.json:16: "types": [] — disables automatic type acquisition, so even implicit @types/node are unavailable.
- No ESLint config: No
.eslintrc.*, eslint.config.*, or ESLint dependency.
- No Prettier config: No
.prettierrc, .prettierrc.*, or Prettier dependency.
- No CI lint step:
.github/workflows/ci.yml runs node --test and npm pack --dry-run but no linting or format-checking.
Impact
- Style drift. With no enforced formatting, code style diverges across contributors and files.
- Type errors hide.
checkJs: false means typos in property names, wrong argument counts, and incorrect types are never caught until runtime.
- No PR quality gate. CI doesn't block PRs that introduce style violations, unused variables, or obvious bugs that a linter would catch.
- The
.tsx adapter is completely unvalidated. plugins/tps-meter.tsx imports solid-js and @opentui/solid — no tool checks that these imports resolve, that JSX is valid, or that hook calls are correct.
Why this matters
The codebase files are well-written and follow consistent manual conventions, but this is entirely dependent on author discipline. A single PR from a new contributor could introduce:
- Mixed tabs/spaces indentation
var instead of const/let
- Unused imports and variables
== instead of === comparisons
- Missing
try/catch in async handlers
And no automated tool would flag it.
Suggestion
Minimal tier — ESLint with @eslint/js + eslint:recommended rules:
{
"devDependencies": {
"eslint": "^9.0.0",
"@eslint/js": "^9.0.0"
},
"scripts": {
"lint": "eslint plugins/ tools/ scripts/ tests/"
}
}
Better tier — Add Prettier for formatting:
{
"devDependencies": {
"prettier": "^3.0.0"
},
"scripts": {
"lint": "eslint plugins/ tools/ scripts/ tests/",
"format": "prettier --check .",
"format:fix": "prettier --write ."
}
}
Then add a CI step:
- name: Lint
run: npm run lint
- name: Format check
run: npm run format
Summary
The project has no linter or code formatter configured — no ESLint, Prettier, Biome, or any other tooling. Combined with
checkJs: falseintsconfig.json, this means zero automated code-quality enforcement exists anywhere in the repo.Current State
tsconfig.json:10:"checkJs": false— TypeScript provides zero type checking on.jsand.tsxfiles.tsconfig.json:16:"types": []— disables automatic type acquisition, so even implicit@types/nodeare unavailable..eslintrc.*,eslint.config.*, or ESLint dependency..prettierrc,.prettierrc.*, or Prettier dependency..github/workflows/ci.ymlrunsnode --testandnpm pack --dry-runbut no linting or format-checking.Impact
checkJs: falsemeans typos in property names, wrong argument counts, and incorrect types are never caught until runtime..tsxadapter is completely unvalidated.plugins/tps-meter.tsximportssolid-jsand@opentui/solid— no tool checks that these imports resolve, that JSX is valid, or that hook calls are correct.Why this matters
The codebase files are well-written and follow consistent manual conventions, but this is entirely dependent on author discipline. A single PR from a new contributor could introduce:
varinstead ofconst/let==instead of===comparisonstry/catchin async handlersAnd no automated tool would flag it.
Suggestion
Minimal tier — ESLint with
@eslint/js+eslint:recommendedrules:{ "devDependencies": { "eslint": "^9.0.0", "@eslint/js": "^9.0.0" }, "scripts": { "lint": "eslint plugins/ tools/ scripts/ tests/" } }Better tier — Add Prettier for formatting:
{ "devDependencies": { "prettier": "^3.0.0" }, "scripts": { "lint": "eslint plugins/ tools/ scripts/ tests/", "format": "prettier --check .", "format:fix": "prettier --write ." } }Then add a CI step: