Skip to content

ci: add lint and format check job, update CONTRIBUTING.md#26

Merged
vanceingalls merged 2 commits intomainfrom
va-851/04-ci-and-docs
Mar 24, 2026
Merged

ci: add lint and format check job, update CONTRIBUTING.md#26
vanceingalls merged 2 commits intomainfrom
va-851/04-ci-and-docs

Conversation

@vanceingalls
Copy link
Copy Markdown
Collaborator

@vanceingalls vanceingalls commented Mar 23, 2026

Summary

  • Add lint-and-format job to CI workflow (pnpm lint + pnpm format:check)
  • Fix lefthook commands to use npx prefix (bare binaries not on PATH)
  • Update CONTRIBUTING.md: document new tooling, commit conventions, and lefthook hooks

Part 4/4 of VA-851

Test plan

  • CI job matches existing pattern (pnpm 10, node 22, frozen lockfile)
  • Git hooks work end-to-end (bad messages rejected, valid commits pass)
  • CONTRIBUTING.md accurately reflects new tooling

@linear
Copy link
Copy Markdown

linear bot commented Mar 23, 2026

VA-851 [Pre-Migration] Configure ESLint, Prettier, and conventional commits

Context

The codebase currently has no linting or formatting enforcement. Code is clean by convention, but OSS contributors need automated guardrails. Team feedback: "I love when an open source repo has this."

What to do

  1. ESLint — add configuration at monorepo root with TypeScript rules. Extend from @typescript-eslint/recommended.
  2. Prettier — add .prettierrc at root. Configure for the existing code style (double quotes, no semicolons or with — match what's already there).
  3. Conventional commits — add commitlint config enforcing conventional commit format (feat:, fix:, refactor:, etc.). This enables automated changelog generation later.
  4. Run formatter across all source files to establish baseline (single "format" commit in internal repo before port).
  5. Add lint/format scripts to root package.json: pnpm lint, pnpm format, pnpm format:check
  6. Verify all existing code passes lint + format checks with zero errors

Why before port

We want the OSS repo's first commit to already have these configs in place and all code conforming. No "fix linting" commits in public history.

@vanceingalls vanceingalls changed the title ci: add lint and format check job ci: add lint and format check job, update CONTRIBUTING.md Mar 23, 2026
@vanceingalls vanceingalls marked this pull request as ready for review March 23, 2026 18:00
@vanceingalls vanceingalls force-pushed the va-851/03-baseline-formatting branch from ee29ed2 to ca72f81 Compare March 23, 2026 21:57
@vanceingalls vanceingalls force-pushed the va-851/04-ci-and-docs branch from 8498317 to 5d0bd45 Compare March 23, 2026 21:57
@vanceingalls vanceingalls force-pushed the va-851/03-baseline-formatting branch from ca72f81 to 635d134 Compare March 23, 2026 22:11
@vanceingalls vanceingalls force-pushed the va-851/04-ci-and-docs branch from 5d0bd45 to 601afe2 Compare March 23, 2026 22:11
@vanceingalls vanceingalls force-pushed the va-851/03-baseline-formatting branch from 635d134 to 017472c Compare March 23, 2026 23:06
@vanceingalls vanceingalls force-pushed the va-851/04-ci-and-docs branch 2 times, most recently from cac6c16 to 1d41ad2 Compare March 23, 2026 23:08
@vanceingalls vanceingalls force-pushed the va-851/03-baseline-formatting branch 2 times, most recently from a7198b7 to 9714703 Compare March 23, 2026 23:42
@vanceingalls vanceingalls force-pushed the va-851/04-ci-and-docs branch from 1d41ad2 to 54ea1eb Compare March 23, 2026 23:42
@vanceingalls vanceingalls changed the base branch from va-851/03-baseline-formatting to graphite-base/26 March 24, 2026 00:15
@vanceingalls vanceingalls force-pushed the va-851/04-ci-and-docs branch from 54ea1eb to b2f5350 Compare March 24, 2026 01:43
@vanceingalls vanceingalls changed the base branch from graphite-base/26 to main March 24, 2026 01:43
@vanceingalls vanceingalls merged commit a6c5e08 into main Mar 24, 2026
15 of 24 checks passed
Copy link
Copy Markdown
Collaborator Author

Merge activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants