Contributing to Tracecat
July 7, 2026 ยท View on GitHub
Thank you for your interest in contributing to Tracecat!
Before You Begin
Join our Discord and the #contributors channel to get started.
What We Accept PRs For
We currently accept pull request contributions for:
- Integration updates, fixes, or additions
- API updates, fixes, or additions
- Updates to the Tracecat MCP server
- UI fixes
- Small, concrete UI improvements or suggestions
For larger or more product-opinionated changes, please open a discussion with us in Discord before starting work.
This includes, but is not limited to, changes that touch:
- Core platform
- Secrets management
- Workflow runtime or execution behavior
- Authentication, authorization, or permissions
- Security-sensitive infrastructure
- Major product behavior or architecture
We want to avoid wasted work and make sure larger changes fit the direction of the project before you invest time in implementation.
Security-Sensitive Files
We do not accept pull requests that modify anything under .github.
Changes to GitHub Actions, workflows, repository automation, or CI/CD configuration can introduce supply chain risk. For that reason, PRs touching .github will be automatically closed.
Issues Before Pull Requests
Please create a GitHub issue before opening a pull request.
You may open a PR alongside an issue for small, clearly scoped fixes, such as integration fixes, API updates, or UI bugs. Use your judgment: if the change is large, touches core product behavior, or is likely to be opinionated, open the issue or Discord discussion first and wait for feedback before implementing.
Feature Requests
Please open a GitHub issue with the Feature request template.
You can also join our Discord and discuss the feature request with the community before opening an issue.
Bug Reports
If you discover a bug, either:
- Open a GitHub issue with the
Bug reporttemplate - Post a question in our Discord
#questionschannel
We only accept bug reports that meet the following criteria:
- Has a clear, descriptive title
- Includes a clear reproducible example
- Clearly states the Tracecat version
- Clearly states the environment where the bug was encountered, such as local, VM, AWS, Kubernetes, or another setup
- Explains when the bug started occurring
- Notes whether the behavior was working previously
Development Setup
Note
Check out our development setup guide in the docs for more information.
We use docker compose and the docker-compose.dev.yml files for development.
To set up your development environment, run:
just cluster up -d --seed
This starts the development environment and seeds a test user:
test@tracecat.com / password1234
You can then access the application at http://localhost:80.
Important
--seed creates a test user only. Superadmin is determined by TRACECAT__AUTH_SUPERADMIN_EMAIL in .env set via ./env.sh, and the first signup or login with that email becomes the organization owner.
PR and Commit Message Guidelines
We follow the Conventional Commits specification for both pull requests and commit messages.
Your pull request title and commit message should have the following format:
<type>[optional scope]: <description>
Types may include:
feat: A new featurefix: A bug fixdocs: Documentation-only changesstyle: Changes that do not affect the meaning of the code, such as whitespace or formattingrefactor: A code change that neither fixes a bug nor adds a featureperf: A code change that improves performancetest: Adding missing tests or correcting existing testschore: Other changes that do not modify source or test files
Release Process
Tracecat loosely follows the Semantic Versioning specification for releases.
We are currently on the 1.0.0-beta.xyz version series.
License
This project is licensed under the open source, copyleft GNU Affero General Public License v3.0.
By contributing to this project, you agree that your contributions will be licensed under the same license.
Thank you for taking the time to contribute to Tracecat!