Skip to content

feat: upgrade project infra for AI agent maintainability#394

Merged
RetricSu merged 1 commit intodevelopfrom
feature/ai-agent-infra
Feb 28, 2026
Merged

feat: upgrade project infra for AI agent maintainability#394
RetricSu merged 1 commit intodevelopfrom
feature/ai-agent-infra

Conversation

@RetricSu
Copy link
Collaborator

Summary

Upgrade project infrastructure to support AI-agent-driven development workflow.

Changes

Pre-commit hooks (fixed & strengthened)

  • Husky v9 was installed but never initialized (no .husky/ dir, v4-style config silently ignored) — now properly set up
  • lint-staged expanded: ESLint + Prettier on .ts files, Prettier on template/account files
  • TypeScript typecheck (tsc --noEmit) added to pre-commit

ESLint cleanup

  • Deleted redundant .eslintrc.js (legacy config alongside flat config)
  • Removed eslintConfig from package.json
  • Single source of truth: eslint.config.mjs

Changesets for changelog management

  • Installed @changesets/cli, initialized .changeset/ config
  • New CI workflow changeset-check.yml: blocks PRs without a changeset file
  • Integrated changeset version into publish workflow
  • Added CHANGELOG.md

Documentation overhaul

  • Expanded docs/develop.md from ~40 lines to comprehensive dev guide
  • Covers: local setup, code architecture, branch management, PR workflow, changesets usage, release process, testing conventions

CI improvements

  • Test workflow: added 10% minimum coverage threshold
  • Lint workflow: added pnpm store caching (was missing, other workflows had it)

New scripts

  • typecheck, prepare, test:ci, changeset, version-packages, release

Note

This PR itself doesn't include a changeset since it's setting up the changeset infrastructure. Future PRs will be required to include one.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR upgrades the repo’s developer/CI/release infrastructure to support an AI-agent-friendly workflow by standardizing linting, adding changesets-based versioning/changelog management, strengthening pre-commit automation, and tightening CI.

Changes:

  • Add Changesets configuration + CI enforcement workflow, and introduce CHANGELOG.md.
  • Properly wire up Husky + lint-staged + TypeScript typechecking in pre-commit, and simplify ESLint config to a single flat config.
  • Improve CI workflows (pnpm caching; enforce a minimum Jest coverage threshold; integrate changeset versioning into publish flow).

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
pnpm-lock.yaml Adds @changesets/cli and related dependency graph updates.
package.json Adds changesets/typecheck scripts; updates lint-staged; removes legacy eslintConfig/husky hook config.
docs/develop.md Replaces minimal dev notes with a comprehensive development/release guide.
CHANGELOG.md Introduces Changesets-managed changelog file.
.husky/pre-commit Adds pre-commit actions (lint-staged + typecheck).
.github/workflows/test.yml Runs Jest with coverage + a global minimum threshold.
.github/workflows/publish.yml Runs changeset version during tagged publishes (see comment re: tag/source drift).
.github/workflows/node.js.yml Adds pnpm/action-setup and pnpm-store caching; uses frozen lockfile installs.
.github/workflows/changeset-check.yml Adds CI gate requiring a changeset on PRs to master/develop.
.eslintrc.js Removes legacy ESLint config file in favor of eslint.config.mjs.
.changeset/config.json Adds Changesets config (baseBranch currently set to master).
.changeset/README.md Adds Changesets’ generated README.
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@RetricSu RetricSu force-pushed the feature/ai-agent-infra branch 2 times, most recently from aea22a5 to 7c28e18 Compare February 28, 2026 08:18
- Fix husky v9 pre-commit hooks (was broken: v4 config with v9 install)
  - lint-staged now runs ESLint + Prettier on .ts files
  - typecheck (tsc --noEmit) runs on every commit
- Clean up redundant ESLint configs (delete .eslintrc.js, remove eslintConfig from package.json)
  - Keep eslint.config.mjs as single source of truth
- Set up @changesets/cli for automated changelog management
  - Add changeset-check.yml CI workflow (hard blocks PRs without changeset)
  - Integrate changeset version into publish workflow
  - Add CHANGELOG.md
- Expand docs/develop.md into comprehensive dev guide
  - Local setup, code architecture, branch management, PR workflow
  - Changesets usage, release process, testing conventions
- Add coverage threshold (10% min) to test CI
- Fix lint CI workflow: add pnpm store caching (was missing)
- Add scripts: typecheck, prepare, test:ci, changeset, version-packages, release
@RetricSu RetricSu force-pushed the feature/ai-agent-infra branch from 7c28e18 to 4140dd1 Compare February 28, 2026 08:20
@RetricSu RetricSu merged commit 2c87f23 into develop Feb 28, 2026
5 checks passed
@RetricSu RetricSu deleted the feature/ai-agent-infra branch February 28, 2026 08:35
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