Thank you for helping improve VulnerabilityHub.
VulnerabilityHub is currently pre-alpha software. Until v1.0.0, interfaces,
configuration, data models, and deployment behavior may change without a
deprecation period. Contributions should therefore favor clear migrations and
release notes whenever they change operator-visible behavior.
- Search existing issues and pull requests before opening a new one.
- Use the issue forms for bugs, feature proposals, and support questions.
- For a substantial change, open an issue first so the approach and scope can be agreed before implementation begins.
- Do not report vulnerabilities in public issues. Follow SECURITY.md instead.
- Open normal pull requests against
dev. mainis the release branch and should only receive reviewed release promotions or urgent hotfixes.- Keep each pull request focused on one logical change.
Dependabot targets dev for dependency updates. Verified minor and patch
updates are automatically approved and set to auto-merge using squash merges
only after both CI Pipeline and E2E Tests succeed for the PR's exact head
commit. Missing, pending, failed, cancelled, or skipped pipelines cannot
authorize a merge. Branch protection rules still apply. Major updates
(including Vue and Vuetify) and updates without a recognized version change
remain open for manual review.
For this automation, enable Allow auto-merge and squash merging in the
repository settings, and Allow GitHub Actions to create and approve pull
requests under Actions → General → Workflow permissions. The explicit
pipeline gate applies even without required-check rules on dev; configuring
those rules also protects manual merges. The workflow does not bypass branch
protection or organization policies.
Create a branch from the latest dev branch:
git fetch origin
git switch dev
git pull --ff-only
git switch -c feature/short-descriptionCommon prefixes such as feature/, fix/, docs/, and chore/ are
recommended but not required.
The README and development guide describe the complete local setup.
At minimum, install the backend and frontend dependencies before running their respective checks:
python -m pip install -r src/backend/requirements.txt
python -m pip install -r src/backend/requirements-test.txt
npm --prefix src/frontend/app ciRun the checks that apply to your change before opening a pull request.
Backend unit tests:
python -m pytest src/backend/testsBackend database integration tests:
scripts/e2e/run-backend.shFrontend tests and build:
npm --prefix src/frontend/app test -- --run
npm --prefix src/frontend/app run buildEnd-to-end tests:
npm --prefix src/frontend/app run test:e2e:localDocumentation build:
python -m pip install -r docs/requirements.txt
sphinx-build docs docs/outputEvery pull request should:
- Explain the problem and the chosen solution.
- Link related issues.
- Describe how the change was tested.
- Update user or operator documentation when behavior changes.
- Call out breaking changes, migrations, security impact, and release-note requirements explicitly.
- Pass all required GitHub Actions checks.
Maintainers may ask for a change to be split when unrelated concerns are mixed in one pull request.
- Write concise, descriptive commit messages.
- Do not commit credentials, secrets, production data, or vulnerability details.
- Address review comments with additional commits; maintainers will choose the final merge strategy.
- Be respectful and follow the Code of Conduct.
By contributing, you agree that your contribution is provided under the European Union Public Licence 1.2, the license used by this project.