Thank you for your interest in contributing to skill-validator. This guide covers how to set up your development environment, run checks, and submit changes.
- Go 1.25.5 or later
- golangci-lint (for linting)
-
Fork and clone the repository.
-
Install dependencies:
go mod download
-
Verify everything works:
go test -race ./... -count=1 go build -o skill-validator ./cmd/skill-validator
go test -race ./... -count=1The project uses golangci-lint with gofumpt formatting. Run it locally before pushing:
golangci-lint runCI runs both lint and test on every pull request. Your PR needs to pass both.
go build -o skill-validator ./cmd/skill-validatorIf you've found a bug, check existing issues first. If it hasn't been reported, open an issue describing the bug, then submit a PR with the fix. Include a test that reproduces the bug where practical.
For anything beyond a small fix, open an issue first to discuss the approach. This saves you from investing time in a direction that might not fit the project's goals. Things worth discussing up front:
- New validation checks or scoring criteria
- New output formats or integrations
- Changes to existing check behavior
- New CLI commands or flags
- Follow standard Go conventions. The linter enforces most of this.
- Use gofumpt for formatting (configured in
.golangci.yml). - Write tests for new functionality. The CI runs
go test -race, so avoid data races. - Keep commits focused. One logical change per commit is easier to review than a commit that mixes a bug fix with a refactor.
- Create a branch from
main. - Make your changes, ensuring tests pass and lint is clean.
- Push your branch and open a PR against
main. - Fill in the PR template. A clear description of what changed and why helps reviewers give useful feedback faster.
Use GitHub Issues. For bug reports, include:
- What you ran (command, flags, input)
- What you expected
- What happened instead
- Version info (
skill-validator --version, Go version, OS)
We expect contributors to use AI tools. If you use AI to help write code, review the output before submitting. Make sure tests pass, the code handles edge cases you care about, and you understand what it does. The bar is the same whether you wrote it by hand or not.
This project follows the Contributor Covenant Code of Conduct. By participating, you agree to uphold it.