Thank you for your interest in contributing to TruthTok! We're excited to have you join our mission to bring truth back to news through verified video content.
- Code of Conduct
- Getting Started
- Development Process
- Pull Request Process
- Project Structure
- Style Guidelines
- Community
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.
-
Fork the Repository
# Clone your fork git clone https://github.com/your-username/truth-tok.git cd truth-tok # Add upstream remote git remote add upstream https://github.com/original/truth-tok.git
-
Set Up Development Environment
# Frontend setup cd frontend npm install # Backend setup cd ../backend python -m venv venv source venv/bin/activate # or `venv\Scripts\activate` on Windows pip install -r requirements.txt
-
Create a Branch
git checkout -b feature/your-feature-name
-
Keep Your Fork Updated
git fetch upstream git rebase upstream/main
-
Run Tests
# Frontend tests cd frontend npm run test # Backend tests cd backend pytest
-
Check Code Style
# Frontend npm run lint # Backend flake8 black .
-
Before Submitting
- Update documentation for any new features
- Add or update tests as needed
- Run the full test suite
- Update the CHANGELOG.md if applicable
-
PR Guidelines
- Use a clear, descriptive title
- Reference any related issues
- Include screenshots for UI changes
- Update README.md if needed
-
PR Template
## Description [Describe your changes] ## Type of Change - [ ] Bug fix - [ ] New feature - [ ] Breaking change - [ ] Documentation update ## Testing [Describe testing steps] ## Screenshots [If applicable]
truth-tok/
├── frontend/ # Next.js frontend application
│ ├── src/ # Source code
│ └── public/ # Static assets
├── backend/ # Python backend service
│ ├── api/ # API endpoints
│ └── services/ # Business logic
└── docs/ # Documentation
- Use TypeScript for all new code
- Follow the Airbnb JavaScript Style Guide
- Use functional components and hooks
- Implement responsive design
- Write meaningful component and function names
- Follow PEP 8
- Use type hints
- Write docstrings for functions and classes
- Keep functions focused and small
- Use meaningful variable names
- Join our Telegram group
- Follow us on Twitter
- Read our blog
Look for issues labeled with good-first-issue
to get started. These are carefully selected for new contributors.
- All code changes require review
- Reviewers will look for:
- Functionality
- Code style
- Test coverage
- Documentation
- Performance implications
- Version numbers follow SemVer
- Changes are documented in CHANGELOG.md
- Releases are tagged in Git
- Release notes are posted on GitHub
- Check our FAQ
- Ask in our Telegram group
- Open a Discussion
Thank you for contributing to TruthTok! 🙏