Skip to content

feat: add Brewfile, pre-commit hooks, and CI lint workflow#2

Merged
xnoto merged 3 commits intomainfrom
feat/brewfile-and-ci
Feb 13, 2026
Merged

feat: add Brewfile, pre-commit hooks, and CI lint workflow#2
xnoto merged 3 commits intomainfrom
feat/brewfile-and-ci

Conversation

@xnoto
Copy link
Owner

@xnoto xnoto commented Feb 13, 2026

Summary

  • Brewfile: Top-level formulae, casks, and taps derived from current system via brew leaves and brew list --cask. Only direct dependencies listed — transitive deps resolved automatically by brew bundle.
  • Pre-commit hooks: trailing-whitespace, end-of-file-fixer, check-merge-conflict (pre-commit/pre-commit-hooks), and conventional-pre-commit (compilerla/conventional-pre-commit) enforcing Conventional Commits on all commit messages.
  • CI workflow (.github/workflows/lint.yml): Runs on PRs and pushes to main:
    • pre-commit job on ubuntu-latest — validates formatting and commit conventions
    • brewfile-syntax job on macos-latest — runs brew bundle list to parse and validate Brewfile syntax without installing packages

Validation

  • All pre-commit hooks pass locally
  • brew bundle check confirms all Brewfile entries are satisfied on the source system
  • Workflow YAML parses correctly

- Add Brewfile with top-level formulae, casks, and taps from current system
- Add pre-commit config with trailing-whitespace, end-of-file-fixer,
  check-merge-conflict, and conventional-pre-commit hooks
- Add GitHub Actions lint workflow that runs pre-commit and validates
  Brewfile syntax on PRs and pushes to main
…em state

- Add Makefile with install (default) and sync targets
- Regenerate Brewfile via brew bundle dump --describe for ground truth
- Update README with usage and workflow documentation
@xnoto xnoto assigned xnoto and unassigned xnoto Feb 13, 2026
- Default target (make/make check/make test) validates Brewfile syntax
- make install now depends on check, matching make && make install workflow
@xnoto xnoto merged commit fe57ebc into main Feb 13, 2026
2 checks passed
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