You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Important correction to a naive assumption: this repo has NO ESLint (or other linter) configured at the src//packages/* level that a generic "lint-guarded" wrapper could shell out to. Confirmed via find . -maxdepth 3 -iname "*eslint*" — the only hit repo-wide is apps/gittensory-ui/eslint.config.js, wired up solely through ui:lint (npm --workspace @jsonbored/gittensory-ui run lint, package.json), which is UI-workspace-scoped. The actual gate the rest of the codebase runs is typecheck (tsc --noEmit) plus tests, composed into test:ci's && chain (package.json), and each package under packages/* has its OWN build-time check instead of a shared linter: gittensory-engine runs tsc -p tsconfig.json (its build script) and tsc -p tsconfig.test.json (its test script); gittensory-mcp/gittensory-miner run node --check <file> per shipped file (their build scripts) since they ship plain JS with no TypeScript build step at all. "Lint-guarded" for a coding-agent driver therefore concretely means: after the driver edits files, run the check appropriate to whichever package those files live in — not an ESLint invocation.
Deliverables
A wrapper (composing with the CodingAgentDriver interface, feat(miner-hands): define the CodingAgentDriver interface seam #4262 — e.g. decorating a driver's run() result) that, after the driver reports changed files, runs the correct existing check for each changed file's package: tsc --noEmit/tsc -p tsconfig.json for src/- or gittensory-engine-rooted files, node --check for gittensory-miner/gittensory-mcp JS files, and the UI's own ui:lint/ui:typecheck (package.json) only for files under apps/gittensory-ui/.
Explicitly out of scope: adding a NEW linter/ESLint config to src//packages/* where none exists today — this issue guards with what this repo already runs, it does not introduce a new gate.
Tests covering: a changed file that fails typecheck, a changed gittensory-miner JS file with a syntax error (node --check failure), a fully clean change, and a changeset spanning multiple packages (verify each file is checked against the RIGHT package's rule, not just the first one matched).
Important correction to a naive assumption: this repo has NO ESLint (or other linter) configured at the
src//packages/*level that a generic "lint-guarded" wrapper could shell out to. Confirmed viafind . -maxdepth 3 -iname "*eslint*"— the only hit repo-wide isapps/gittensory-ui/eslint.config.js, wired up solely throughui:lint(npm --workspace @jsonbored/gittensory-ui run lint,package.json), which is UI-workspace-scoped. The actual gate the rest of the codebase runs istypecheck(tsc --noEmit) plus tests, composed intotest:ci's&&chain (package.json), and each package underpackages/*has its OWN build-time check instead of a shared linter:gittensory-enginerunstsc -p tsconfig.json(itsbuildscript) andtsc -p tsconfig.test.json(itstestscript);gittensory-mcp/gittensory-minerrunnode --check <file>per shipped file (theirbuildscripts) since they ship plain JS with no TypeScript build step at all. "Lint-guarded" for a coding-agent driver therefore concretely means: after the driver edits files, run the check appropriate to whichever package those files live in — not an ESLint invocation.Deliverables
CodingAgentDriverinterface, feat(miner-hands): define the CodingAgentDriver interface seam #4262 — e.g. decorating a driver'srun()result) that, after the driver reports changed files, runs the correct existing check for each changed file's package:tsc --noEmit/tsc -p tsconfig.jsonforsrc/- orgittensory-engine-rooted files,node --checkforgittensory-miner/gittensory-mcpJS files, and the UI's ownui:lint/ui:typecheck(package.json) only for files underapps/gittensory-ui/.src//packages/*where none exists today — this issue guards with what this repo already runs, it does not introduce a new gate.gittensory-minerJS file with a syntax error (node --checkfailure), a fully clean change, and a changeset spanning multiple packages (verify each file is checked against the RIGHT package's rule, not just the first one matched).References
find . -maxdepth 3 -iname "*eslint*"→ onlyapps/gittensory-ui/eslint.config.jsexists repo-widepackage.json:"ui:lint": "npm --workspace @jsonbored/gittensory-ui run lint","typecheck": "tsc --noEmit","test:ci"(the full&&-chained gate that composes typecheck + per-package checks)packages/gittensory-engine/package.json:"build": "tsc -p tsconfig.json","test": "npm run build && tsc -p tsconfig.test.json && node --test ..."packages/gittensory-miner/package.json:"build": "node --check bin/gittensory-miner.js && node --check lib/cli.js && ..."(onenode --checkper shipped file, no TS build step)packages/gittensory-mcp/package.json:"build": "node --check bin/gittensory-mcp.js && ..."