Thank you for your interest in contributing to QualOps! This document provides guidelines and instructions for contributing.
# Clone the repository
git clone https://github.com/eggai-tech/qualops.git
cd qualops
# Install dependencies
npm install
# Run tests
npm test
# Run linting
npm run lint
# Build
npm run buildUse descriptive branch names:
feat/- New featuresfix/- Bug fixesdocs/- Documentation changesrefactor/- Code refactoringchore/- Maintenance tasks
Follow Conventional Commits:
feat: add new review pass for security checks
fix: handle empty file arrays in pipeline
docs: update README with new configuration options
chore: update dependencies
Every PR must update CHANGELOG.md under the [Unreleased] section (unless it's a documentation-only or CI change).
Add your changes under the appropriate subsection:
## [Unreleased]
### Added
- New feature description
### Changed
- Change description
### Fixed
- Bug fix description
### Removed
- Removed feature descriptionPRs that only touch docs/, .github/, examples/, or root config files are auto-skipped by CI — no label needed.
- Create a feature branch from
main - Make your changes
- Update
CHANGELOG.mdunder[Unreleased] - Ensure all tests pass:
npm test - Ensure linting passes:
npm run lint - Create a Pull Request to
main - Wait for CI to pass and request review
- All CI checks must pass
- At least one approval required
- Changelog must be updated (or
skip-changeloglabel applied)
Releases are managed by maintainers using GitHub Actions.
- Go to Actions → Create Release PR
- Click Run workflow
- Enter the version number:
- Stable:
0.2.0 - Pre-release:
0.2.0-rc.1
- Stable:
- The workflow creates a PR that:
- Updates
package.jsonversion - Moves changelog entries from
[Unreleased]to versioned section
- Updates
- Review and merge the PR
- Auto Tag: Creates git tag
v0.2.0 - npm Publish: Builds and publishes to npm
- GitHub Release: Creates release with changelog
We follow Semantic Versioning:
- MAJOR (
1.0.0): Breaking changes - MINOR (
0.2.0): New features, backward compatible - PATCH (
0.1.1): Bug fixes, backward compatible
Pre-release versions:
0.2.0-rc.1- Release candidate0.2.0-alpha.1- Alpha release0.2.0-beta.1- Beta release
- TypeScript with strict mode
- ESLint + Prettier for formatting
- Run
npm run lint:fixbefore committing
# Run all tests
npm test
# Run specific test file
npx jest path/to/test.spec.ts
# Run tests in watch mode
npx jest --watch
# Run with coverage
npx jest --coverageOpen an issue or reach out to the maintainers.