--- title: "Contributing" description: "Contribute to Strix development" --- ## Development Setup ### Prerequisites - Python 3.12+ - Latest Go 1.24.x patch (only for Bubble Tea TUI development and release artifacts) - Docker (running) - [uv](https://docs.astral.sh/uv/) - Git ### Local Development ```bash git clone https://github.com/usestrix/strix.git cd strix ``` ```bash make setup-dev # or manually: uv sync uv run pre-commit install ``` ```bash export STRIX_LLM="openai/gpt-5.4" export LLM_API_KEY="your-api-key" ``` ```bash uv run strix --target https://example.com ``` ## Contributing Skills Skills are specialized knowledge packages that enhance agent capabilities. They live in `strix/skills/` ### Creating a Skill 1. Choose the right category 2. Create a `.md` file with YAML frontmatter (`name` and `description` fields) 3. Include practical examples, such as working payloads, commands, and test cases 4. Provide validation methods to confirm findings 5. Submit a pull request ## Contributing Code ### Pull Request Process 1. **Create an issue first:** Describe the problem or feature 2. **Fork and branch:** Create a branch from `main` 3. **Make changes:** Follow the existing code style 4. **Write tests:** Add coverage for new features 5. **Run checks:** Run `make check-all` 6. **Submit a pull request:** Link to the issue and provide context ### Code Style - PEP 8 with 100-character line limit - Type hints for all functions - Docstrings for public methods - Small, focused functions - Meaningful variable names ## Package Builds Editable installs do not require Go. They run the TUI from source (`go run`). Wheels are intentionally strict: they always bundle the matching Go sidecar and are platform-specific. ```bash make wheel ``` The build hook (`scripts/tui_sidecar_hook.py`) requires Go 1.24.x or newer, embeds the sidecar as `strix/bin/strix-tui`, and assigns the current platform tag. Frozen releases built by `scripts/build.sh` and `strix.spec` also require the sidecar. ## Reporting Issues Include: - Python version and OS - Strix version (`strix --version`) - LLM being used - Full error traceback - Steps to reproduce ## Community Join the community for help and discussion. Report bugs and request features.