Ways to contribute
Code
Fix bugs, implement features, or improve performance. Start with issues labelled
good first issue if you’re new to the project.Documentation
Improve these docs, add missing guides, or fix typos and inaccuracies.
Code review
Review open pull requests and leave constructive feedback.
Issue reporting
Report bugs, request features, or ask questions in the GitHub issue tracker.
Community engagement
Answer questions in OWASP Slack, help triage issues, or mentor new contributors.
Security
Report security vulnerabilities responsibly using the GitHub Security Advisory feature.
Contribution workflow
Find or create an issue
Browse open issues or open a new one. Ask a maintainer to assign the issue to you before starting work — pull requests submitted without an assignment are automatically closed.
Fork the repository
Fork https://github.com/OWASP/Nest and clone your fork locally:
Keep your fork in sync
Add the upstream remote if you haven’t already:Before starting work on any new issue, sync your local
main branch:Make your changes
Implement your fix or feature. Add tests for any new functionality and make sure existing tests still pass.
Run checks and tests locally
Run the full check-and-test suite before pushing:This runs linters, static analysis, and the test suite for both backend and frontend. Your pull request will not be reviewed until all automated checks pass.
Open a pull request
Submit a pull request to the
main branch of the upstream repository. Open it as a draft initially. Wait for automated checks (CodeRabbit, SonarQube, GitHub Advanced Security) to complete and resolve all suggestions before marking it ready for review.Coding standards
Backend (Python)
The backend enforces code quality with ruff for linting and formatting. Run the backend checks with:- Follow PEP 8 style.
- Write docstrings for all public classes and methods.
- Keep functions focused and testable.
- Use type hints throughout.
Frontend (TypeScript)
The frontend uses ESLint and Prettier for linting and formatting. Run the frontend checks with:- Use TypeScript strictly — avoid
anytypes. - Follow the existing component structure in
frontend/src/components/. - Use Tailwind CSS utility classes for styling.
Pre-commit hooks
The repository ships with pre-commit hooks that run linters and formatters automatically before every commit. Install them after cloning:Automated code review tools
Every pull request is reviewed by:- CodeRabbit — AI-powered code review.
- SonarQube — static analysis for bugs, vulnerabilities, and code smells.
- GitHub Advanced Security — secret scanning and dependency vulnerability checks.
Running security scans locally
# NOSEMGREP with a short comment to suppress confirmed false positives.