ci: raise CI floor to lint + typecheck + build - #47
Merged
Conversation
Grade C → B: the golden `verify` floor was typecheck-only because no ESLint config existed (`next lint` dropped into interactive setup) and the build was never gated. - Add ESLint: `eslint` + `eslint-config-next` devDeps, standard `.eslintrc.json` (`next/core-web-vitals`). Remove the non-functional flat `eslint.config.mjs` that Next 14's `next lint` can't read (SSOT: one eslint config). - `verify` now runs `lint && typecheck`; CI calls it verbatim. - Fix the pre-existing lint errors surfaced (unescaped JSX entities in about/integration code blocks, `//` comment textnodes, and stale no-explicit-any disable directives) so lint is green. - Gate `next build` in CI. Build is hermetic — the Prisma-touching server components catch DB errors and render demo fallbacks, so no live DB is needed. - Add AGENTS.md (stack, dev/verify commands, Prisma db:push is manual). Prisma migration/deploy strategy unchanged; e2e smoke tests stay deferred. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Raises the Solon CI floor from typecheck-only (grade C) to lint + typecheck + build (grade B).
Changes
eslint+eslint-config-nextdevDeps, standard.eslintrc.jsonextendingnext/core-web-vitals. Removed the non-functional flateslint.config.mjs(Next 14'snext lintcan't read flat config — that was the source of the interactive-setup prompt). One eslint config = SSOT.verifynow runslint && typecheck. CI callsnpm run verifyverbatim.//comment textnodes wrapped in braces, and 4 staleno-explicit-anydisable directives removed. Rendered output is unchanged.next buildin CI. The build is hermetic — the Prisma-touching server components (dashboard/treasury,dashboard/voting) catch DB errors and render demo fallbacks, so no live DB is required. Verified locally: 15/15 pages generated, exit 0, with no reachable DB.AGENTS.md(stack, dev/verify commands, note that Prismadb push/ migrations are manual and out of CI scope).Out of scope / unchanged
Local verification
npm run lint→ ✔ No ESLint warnings or errorsnpm run typecheck→ cleannpm run build→ exit 0, all 15 routes generated without a live DB🤖 Generated with Claude Code