Contributing
Contributing¶
Thank you for your interest in contributing to TrikuSec!
How to Contribute¶
Reporting Issues¶
- Use GitHub Issues to report bugs
- Include steps to reproduce
- Provide environment details
- Include relevant logs
Suggesting Features¶
- Open a GitHub Issue with the "enhancement" label
- Describe the use case
- Explain the expected behavior
Submitting Code¶
- Fork the Repository
- Create a Feature Branch
- Make Changes
- Follow code style guidelines
- Write/update tests
- Update documentation
- Run Tests
- Commit Changes
- Use clear commit messages
- Reference issue numbers if applicable
- Push and Create Pull Request
Code Style¶
Python¶
- Follow PEP 8
- Use type hints where appropriate
- Keep functions focused and small
- Write docstrings for public functions
Django¶
- Follow Django best practices
- Use Django's built-in features
- Keep views thin, models fat
- Use forms for validation
Testing¶
- Write tests for new features
- Maintain or improve test coverage
- Use descriptive test names
- Keep tests fast and isolated
Development Guidelines¶
Critical API Endpoints¶
Do Not Break
These endpoints must remain unchanged for Lynis compatibility:
- /api/lynis/upload/
- /api/lynis/license/
Docker Commands¶
Always use docker compose (with space), never docker-compose (with hyphen).
Security¶
- Never commit secrets
- Review security implications
- Follow security best practices
- Test security features
Pull Request Process¶
- Ensure Tests Pass - All tests must pass
- Update Documentation - Update relevant docs
- Describe Changes - Clear description in PR
- Reference Issues - Link to related issues
- Wait for Review - Address review comments
Code Review¶
- Be respectful and constructive
- Focus on code, not people
- Explain reasoning
- Be open to feedback
Questions?¶
- Open a GitHub Issue
- Check existing documentation
- Review code comments
Thank you for contributing to TrikuSec!