strix/docs/contributing.mdx
Mads Hvelplund 0fd17f8c4e
Migrate task runner from Makefile to mise
Remove the Makefile and move all tasks into mise.toml (setup-dev, check-all,
dev, format/lint/type-check/security, pre-commit, clean, docs). Update the
release workflow to use jdx/mise-action and refresh contributor/install docs
to use mise commands.
2026-06-19 08:21:49 +02:00

107 lines
2.6 KiB
Text

---
title: "Contributing"
description: "Contribute to Strix development"
---
## Development Setup
### Prerequisites
- [mise](https://mise.jdx.dev/getting-started.html) — provisions the toolchain (Python 3.12, [uv](https://docs.astral.sh/uv/), Node + the docs CLI) and runs project tasks
- Docker (running) — install separately; mise manages CLIs/runtimes, not the Docker daemon
- Git
### Local Development
<Steps>
<Step title="Clone the repository">
```bash
git clone https://github.com/usestrix/strix.git
cd strix
```
</Step>
<Step title="Install the toolchain">
Installs Python and uv as pinned in `mise.toml`. The first time you use mise in this repo, run `mise trust` before `mise install`.
```bash
mise trust
mise install
```
</Step>
<Step title="Install dependencies">
```bash
mise setup-dev
# or manually:
uv sync
pre-commit install
```
</Step>
<Step title="Configure LLM">
```bash
export STRIX_LLM="openai/gpt-5.4"
export LLM_API_KEY="your-api-key"
```
</Step>
<Step title="Run Strix">
```bash
uv run strix --target https://example.com
```
</Step>
</Steps>
## 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—working payloads, commands, test cases
4. Provide validation methods to confirm findings
5. Submit via PR
## Contributing Code
### Pull Request Process
1. **Create an issue first** — Describe the problem or feature
2. **Fork and branch** — Work from `main`
3. **Make changes** — Follow existing code style
4. **Write tests** — Ensure coverage for new features
5. **Run checks** — `mise check-all` should pass
6. **Submit PR** — Link to 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
## Reporting Issues
Include:
- Python version and OS
- Strix version (`strix --version`)
- LLM being used
- Full error traceback
- Steps to reproduce
## Community
<CardGroup cols={2}>
<Card title="Discord" icon="discord" href="https://discord.gg/strix-ai">
Join the community for help and discussion.
</Card>
<Card
title="GitHub Issues"
icon="github"
href="https://github.com/usestrix/strix/issues"
>
Report bugs and request features.
</Card>
</CardGroup>