This workflow automatically enables auto-merge for Dependabot PRs that
contain patch or minor version updates. Major updates are skipped as
they may contain breaking changes.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add clear message when dist is auto-updated
- Exit with code 1 to prevent auto-merge of out-of-date dist
- This ensures the PR must pass CI again after dist update
- Moves all dist functionality into the main CI workflow
- Checks dist on every CI run
- Auto-updates dist on PRs from same repo
- Fails with clear instructions for fork PRs
- Simplifies workflow structure
- Merges check-dist and update-dist into one workflow
- For PRs from same repo: automatically updates dist if needed
- For PRs from forks: fails with clear instructions
- For pushes to main: just checks and fails if out of date
- Adds PR comment when dist is auto-updated
- Runs on PRs to automatically update dist if needed
- Can also be triggered manually via workflow_dispatch
- Only runs on PRs from the same repo (not forks)
- The check-dist workflow has OS-specific build differences
- Add CONTRIBUTING.md to document the build process
- Developers must manually run 'npm run build' before committing
- Remove pre-commit hooks for building/checking dist
- Add check-dist.yml workflow that validates dist in CI
- This matches the approach used by actions/javascript-action
- Eliminates OS-specific build differences affecting commits
- Create dedicated scripts for pre-commit hooks that source nvm
- Ensure dist is always built with Node 20 to match CI environment
- This prevents Node version mismatches between local and CI builds
- Add Node version check to build-dist pre-commit hook
- Create helper script to switch to Node 20
- Update documentation with clear instructions
- Fix YAML syntax in pre-commit config
This ensures dist is always built with Node 20, preventing CI failures
due to version mismatches.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove build-dist.yml workflow
- Update documentation to clarify local build requirement
- Keep pre-commit hooks to ensure dist is always up to date
This ensures developers build dist locally with the correct Node version
before committing, which is checked by CI.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add .node-version and .nvmrc files specifying Node 20.9.0
- Add engines field to package.json requiring Node 20
- Re-enable dist build/check hooks in pre-commit
- Add build-dist workflow for automated builds with Node 20
- Update documentation with Node version requirements
This ensures consistent builds between local development and CI.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Keep action.yml using node20 (GitHub Actions supported version)
- Document requirement to use Node v20 for development
- Disable pre-commit dist build/check hooks since output varies between Node versions
- Update CLAUDE.md with Node version requirements
This ensures consistency between local development and CI.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Remove dist/ from .gitignore
- Exclude dist/ from pre-commit hooks
- Exclude *.md from prettier formatting
- Update CLAUDE.md with build documentation
- Temporarily disable check-dist hook
This prepares for committing the compiled dist/index.js file.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
The release workflow is not needed when creating releases through
GitHub's UI. The workflow was failing because:
1. Creating a release in GitHub UI automatically creates the tag
2. The tag creation triggers the workflow
3. The workflow tries to create a release that already exists
Since releases are being created manually through the UI, this
workflow adds no value and only causes confusion with failures.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-authored-by: Claude <noreply@anthropic.com>
This file provides essential guidance for future Claude instances working
on this repository, including:
- Common development commands
- High-level architecture overview
- Testing structure and local testing instructions
- Build process details
- Key design decisions
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-authored-by: Claude <noreply@anthropic.com>
This prevents Dependabot PRs from failing CI due to package-lock.json
formatting differences. The file is auto-generated by npm and its exact
formatting is not important as long as it's valid JSON.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Runs lint-staged for automatic formatting of JS/JSON/YAML
- Runs pre-commit for all validation checks
- Ensures code quality before commits reach the repository
- Prevents CI failures due to formatting issues
- Enable automatic dependency updates for npm packages
- Enable automatic updates for GitHub Actions
- Group updates to reduce PR noise:
- Production dependencies in one group
- Development dependencies in another group
- All GitHub Actions updates grouped together
- Schedule weekly checks on Mondays
- Replace individual lint/test/build steps with pre-commit action
- Ensures CI runs exactly the same checks as local development
- Includes dist up-to-date check via pre-commit hooks
- Remove all Go code and replace with Node.js GitHub Action
- Use official golang.org/x/exp/cmd/apidiff tool
- Add PR comment functionality
- Support both git refs and directory comparisons
- Add comprehensive test suite with testdata examples
- Update CI to test action with breaking/safe/clean examples
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
golangci-lint v2.3.0 works best with default configuration
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>