Thanks for your interest in contributing! SadPath is built for developers who don't trust happy paths — and that includes our contributors.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/SadPath.git - Install dependencies:
npm install - Start the dev server:
npm run dev - Create a branch:
git checkout -b feature/your-feature
- Use TypeScript for all new code
- Follow existing component patterns and naming conventions
- Use Tailwind CSS for styling — avoid inline styles
- Keep components focused and composable
When adding new test modules:
- Extend
BaseTestinsrc/engine/tests/ - Implement the
run(url, isDemo)method - Return normalized
ChaosIssue[]results - Register the test in
ChaosEngine.ts - Add demo data in
src/data/demoData.ts
Use clear, descriptive commit messages:
feat: add color contrast accessibility test
fix: prevent horizontal scroll on mobile results page
docs: update deployment instructions
- Ensure your code builds:
npm run build - Test demo mode works end-to-end
- Update README if adding new features
- Submit PR with a clear description of changes
If you discover a security vulnerability (especially SSRF-related), please do not open a public issue. Email the maintainer directly.
Be respectful, constructive, and remember: we're all trying to break things productively.