Thank you for your interest in contributing to Titus, a high-performance secrets detection tool by Praetorian. Titus is a Go port of NoseyParker and includes a Burp Suite extension (Java/Gradle) and a Chrome browser extension (WASM/JS).
We welcome contributions of all kinds -- bug reports, feature requests, documentation improvements, and code changes.
If you find a bug, please open a GitHub Issue with the following information:
- A clear, descriptive title
- Steps to reproduce the problem
- Expected behavior vs. actual behavior
- Your environment (OS, Go version, etc.)
- Any relevant log output or error messages
Feature requests are tracked as GitHub Issues. When suggesting a feature, please include:
- A clear description of the problem the feature would solve
- Your proposed solution or approach
- Any alternatives you have considered
- Go 1.24+
- make
- For the Burp extension: JDK and Gradle
- For the Chrome extension: Node.js and npm
# Build the CLI (output to dist/titus)
make build
# Build a static binary
make build-staticmake testcd burp
./gradlew buildcd chrome-extension
npm install
npm run build- Fork the repository and create a feature branch from
main. - Make your changes in the feature branch.
- Add or update tests to cover your changes.
- Ensure all tests pass by running
make test. - Push your branch to your fork.
- Open a Pull Request against
mainwith a clear description of your changes.
A maintainer will review your PR and may request changes. Once approved, a maintainer will merge it.
- Keep pull requests focused on a single change.
- Write clear commit messages that explain the "why" behind the change.
- Reference any related issues in the PR description (e.g., "Fixes #42").
- Run
go fmton all Go code before committing. - Run
go vetto catch common issues. - Follow standard Go conventions and idioms.
- Keep functions short and well-named.
- Add comments for exported types and functions.
- All new features should include tests.
- Bug fixes should include a test that reproduces the issue.
- Aim to maintain or improve overall test coverage.
- Tests should be deterministic and not depend on external services.
Titus is licensed under the Apache License 2.0. By contributing to this project, you agree that your contributions will be licensed under the same license.