Thank you for your interest in contributing to TraceLens! This document provides guidelines and instructions for contributing to the project.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/certainly-param/tracelens.git cd tracelens - Add the upstream remote:
git remote add upstream https://github.com/ORIGINAL_OWNER/tracelens.git
cd backend
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
pip install -r requirements.txtcd frontend
npm installCreate a .env file in the project root with your API keys:
GOOGLE_API_KEY=your_api_key_here
# or
GEMINI_API_KEY=your_api_key_here-
Create a branch for your feature or bugfix:
git checkout -b feature/your-feature-name # or git checkout -b fix/your-bugfix-name -
Make your changes following our coding standards:
- Follow existing code style and conventions
- Add comments for complex logic
- Update documentation as needed
- Write or update tests if applicable
-
Test your changes:
- Run the backend:
cd backend && uvicorn src.api.main:app --reload - Run the frontend:
cd frontend && npm run dev - Test the sample agent:
python backend/scripts/verify_telemetry.py
- Run the backend:
-
Commit your changes:
git add . git commit -m "Add: description of your changes"
Use clear, descriptive commit messages:
Add:for new featuresFix:for bug fixesUpdate:for updates to existing featuresRefactor:for code refactoringDocs:for documentation changes
-
Push to your fork:
git push origin feature/your-feature-name
-
Create a Pull Request on GitHub:
- Provide a clear title and description
- Reference any related issues
- Include screenshots if UI changes are involved
- Follow PEP 8 style guide
- Use type hints where appropriate
- Keep functions focused and small
- Add docstrings for public functions and classes
- Use functional components with hooks
- Follow React best practices
- Use TypeScript types consistently
- Keep components focused and reusable
- Write clear, self-documenting code
- Add comments for complex logic
- Keep functions and components small and focused
- Follow existing patterns in the codebase
- Test your changes thoroughly before submitting
- Ensure existing functionality still works
- Test edge cases and error conditions
- If adding new features, include test cases when possible
- Update README.md if you add new features or change setup instructions
- Add comments to complex code sections
- Update API documentation if endpoints change
- Include examples in your PR description
If you find a bug, please create an issue with:
- Clear title describing the bug
- Steps to reproduce the issue
- Expected behavior vs actual behavior
- Environment details (OS, Python version, Node version, etc.)
- Screenshots or logs if applicable
We welcome feature suggestions! Please create an issue with:
- Clear description of the feature
- Use case or problem it solves
- Proposed implementation (if you have ideas)
- Alternatives considered (if any)
- All submissions require review
- Maintainers will review your PR
- Address any feedback or requested changes
- Once approved, your PR will be merged
By contributing to TraceLens, you agree that your contributions will be licensed under the MIT License.
Your contributions make TraceLens better for everyone. We appreciate your time and effort!
Questions? Feel free to open an issue or start a discussion!