Skip to content

feat: add code quality tooling and CI (2.1.0)#13

Merged
superbasicstudio merged 4 commits intomainfrom
chore/add-infrastructure-tooling
Feb 28, 2026
Merged

feat: add code quality tooling and CI (2.1.0)#13
superbasicstudio merged 4 commits intomainfrom
chore/add-infrastructure-tooling

Conversation

@superbasicstudio
Copy link
Copy Markdown
Owner

Summary

  • Added ESLint 10 (flat config), Prettier 3, Husky 9 pre-commit hooks with lint-staged
  • Added GitHub Actions CI pipeline with Node 18/20/22 test matrix
  • Added Dependabot for automated npm and GH Actions dependency updates
  • Added .editorconfig, jest.config.js, .npmrc (engine-strict)
  • Fixed preserve-caught-error lint violation in backup command
  • Bumped version to 2.1.0

No changes to CLI behavior or published package contents. The files whitelist in package.json ensures none of the new config files ship to npm users.

Test plan

  • All 20 existing tests pass
  • eslint . — 0 errors (3 pre-existing warnings)
  • prettier --check — all files formatted
  • Husky pre-commit hook fires and passes on commit
  • CI workflow runs on this PR (first real test of the pipeline)

🤖 Generated with Claude Code

superbasicstudio and others added 4 commits February 28, 2026 12:19
- ESLint 10 with flat config for code linting
- Prettier 3 for consistent code formatting
- Husky 9 pre-commit hooks with lint-staged
- GitHub Actions CI pipeline (Node 18, 20, 22 test matrix)
- Dependabot for automated dependency updates
- Jest coverage config, .editorconfig, .npmrc
- New scripts: lint, lint:fix, format, format:check, test:coverage
- Fix preserve-caught-error in backup command
- No changes to CLI behavior or published package contents

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
npm ci requires package-lock.json which doesn't exist — the repo
uses pnpm-lock.yaml. Switch CI to pnpm with frozen-lockfile.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- ESLint 10 dropped Node 18 support; pin to ESLint 9 which covers
  the full Node 18/20/22 matrix
- Add *.md to .prettierignore so format:check doesn't fail on
  existing markdown formatting
- Format config.yml to pass prettier check

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
lint-staged 16 requires Node >=20.17, breaking the Node 18 CI matrix.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@superbasicstudio superbasicstudio merged commit 0ea3ce0 into main Feb 28, 2026
5 checks passed
@superbasicstudio superbasicstudio deleted the chore/add-infrastructure-tooling branch February 28, 2026 20:40
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.

1 participant