Contributing to TraceForge
We welcome contributions from developers, DFIR specialists, OSINT researchers, and technical writers.
1. Two-Branch Contribution Workflow
TraceForge uses two permanent branches:
master: Protected stable release branch.beta: Active development and integration branch.
All pull requests must target the beta branch:
# 1. Fork and clone the repository
git clone https://github.com/paman7647/TraceForge.git
cd TraceForge
# 2. Create a working branch from beta
git checkout beta
git checkout -b feature/your-feature-name
# 3. Make changes and verify functionality
traceforge doctor
traceforge tools audit --integration
# 4. Open a Pull Request targeting 'beta'
2. Contribution Standards
Portability: Shell scripts must run on macOS (Bash 3.2) and Linux (Bash 4+). Avoid Bash 4-exclusive syntax (
declare -A,mapfile).Safety: Always quote parameter expansions (
"$target") and use structured arrays ("${cmd[@]}").Verification: Ensure all script changes pass
bash -nsyntax checks and ShellCheck static analysis.Catalog Verification: New tools added to
catalog/tools.tsvmust have verified package recipes across macOS, Linux, and Termux.
See Branching Workflow and Development Guide for further details.