Development Setup
Prerequisites
Before you begin, ensure you have the following installed:- Python 3.12+ - Required for running Strix
- Docker - Must be running for sandbox environments
- Poetry - For dependency management
- Git - For version control
Local Development
-
Clone the repository
-
Install development dependencies
-
Configure your LLM provider
-
Run Strix in development mode
Contributing Skills
Skills are specialized knowledge packages that enhance agent capabilities. See the Skills documentation for detailed guidelines.Quick Guide
- Choose the right category -
/vulnerabilities,/frameworks,/technologies, etc. - Create a
.mdfile with your skill content - Include practical examples - Working payloads, commands, or test cases
- Provide validation methods - How to confirm findings and avoid false positives
- Submit via PR with clear description
Skill Structure
A good skill includes:- YAML frontmatter with
nameanddescription - Advanced techniques specific to the domain
- Practical examples with variations
- Validation and confirmation methods
- Context-specific insights and edge cases
Contributing Code
Pull Request Process
- Create an issue first - Describe the problem or feature
- Fork and branch - Work from the
mainbranch - Make your changes - Follow existing code style
- Write/update tests - Ensure coverage for new features
- Run quality checks -
make check-allshould pass - Submit PR - Link to issue and provide context
PR Guidelines
- Clear description - Explain what and why
- Small, focused changes - One feature/fix per PR
- Include examples - Show before/after behavior
- Update documentation - If adding features
- Pass all checks - Tests, linting, type checking
Code Style
Follow these conventions:- Follow PEP 8 with 100-character line limit
- Use type hints for all functions
- Write docstrings for public methods
- Keep functions focused and small
- Use meaningful variable names
Quality Checks
Run these commands before submitting:Reporting Issues
When reporting bugs, please include:- Python version and OS - e.g., Python 3.12 on Ubuntu 22.04
- Strix version - Check with
strix --version - LLMs being used - e.g., OpenAI GPT-5, Claude Sonnet 4.6
- Full error traceback - Copy the complete error message
- Steps to reproduce - Clear, numbered steps
- Expected vs actual behavior - What should happen vs what does happen
Example Bug Report
Feature Requests
We welcome feature ideas! Please:- Check existing issues first - Avoid duplicates
- Describe the use case clearly - What problem does it solve?
- Explain why it would benefit users - Who needs this?
- Consider implementation approach - How might it work?
- Be open to discussion - We may suggest alternatives
Code Review Process
When you submit a PR:- Automated checks run - CI/CD pipeline validates your code
- Maintainer review - A team member reviews your changes
- Feedback incorporated - You make requested changes
- Approval and merge - Once approved, we merge your PR
Community
Join the Strix community:- Discord - Join our community for real-time chat
- GitHub Issues - Report bugs and request features
- GitHub Discussions - Share ideas and ask questions
Recognition
We value all contributions! Contributors will be:- Listed in release notes
- Thanked in our Discord community
- Added to the contributors list
- Mentioned in relevant documentation