mirror of
https://github.com/usestrix/strix.git
synced 2026-08-21 18:52:47 +02:00
Move the Vite frontend source into strix/viewer/frontend and rename the built bundle to strix/viewer/static, so all the viewer's pieces live under one directory. Updated the server bundle path, vite outDir, packaging (pyproject exclude, PyInstaller spec), Makefile, gitignore, and docs to match. Avoided naming the bundle dir 'dist' since gitignore matches that unanchored and would drop the shipped bundle.
131 lines
3.5 KiB
Markdown
131 lines
3.5 KiB
Markdown
# Contributing to Strix
|
|
|
|
Thank you for your interest in contributing to Strix! This guide will help you get started with development and contributions.
|
|
|
|
## 🚀 Development Setup
|
|
|
|
### Prerequisites
|
|
|
|
- Python 3.12+
|
|
- Docker (running)
|
|
- [uv](https://docs.astral.sh/uv/) (for dependency management)
|
|
- Git
|
|
|
|
### Local Development
|
|
|
|
1. **Clone the repository**
|
|
```bash
|
|
git clone https://github.com/usestrix/strix.git
|
|
cd strix
|
|
```
|
|
|
|
2. **Install development dependencies**
|
|
```bash
|
|
make setup-dev
|
|
|
|
# or manually:
|
|
uv sync
|
|
uv run pre-commit install
|
|
```
|
|
|
|
3. **Configure your LLM provider**
|
|
```bash
|
|
export STRIX_LLM="openai/gpt-5.4"
|
|
export LLM_API_KEY="your-api-key"
|
|
```
|
|
|
|
4. **Run Strix in development mode**
|
|
```bash
|
|
uv run strix --target https://example.com
|
|
```
|
|
|
|
## 📚 Contributing Skills
|
|
|
|
Skills are specialized knowledge packages that enhance agent capabilities. See [strix/skills/README.md](strix/skills/README.md) for detailed guidelines.
|
|
|
|
### Quick Guide
|
|
|
|
1. **Choose the right category** (`/vulnerabilities`, `/frameworks`, `/technologies`, etc.)
|
|
2. **Create a** `.md` file with your skill content
|
|
3. **Include practical examples** - Working payloads, commands, or test cases
|
|
4. **Provide validation methods** - How to confirm findings and avoid false positives
|
|
5. **Submit via PR** with clear description
|
|
|
|
## 🔧 Contributing Code
|
|
|
|
### Pull Request Process
|
|
|
|
1. **Create an issue first** - Describe the problem or feature
|
|
2. **Fork and branch** - Work from the `main` branch
|
|
3. **Make your changes** - Follow existing code style
|
|
4. **Write/update tests** - Ensure coverage for new features
|
|
5. **Run quality checks** - `make check-all` should pass
|
|
6. **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 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
|
|
|
|
## 🐛 Reporting Issues
|
|
|
|
When reporting bugs, please include:
|
|
|
|
- Python version and OS
|
|
- Strix version
|
|
- LLMs being used
|
|
- Full error traceback
|
|
- Steps to reproduce
|
|
- Expected vs actual behavior
|
|
|
|
## 💡 Feature Requests
|
|
|
|
We welcome feature ideas! Please:
|
|
|
|
- Check existing issues first
|
|
- Describe the use case clearly
|
|
- Explain why it would benefit users
|
|
- Consider implementation approach
|
|
- Be open to discussion
|
|
|
|
## 🖥️ Local viewer SPA
|
|
|
|
`strix view` serves a prebuilt web UI whose source lives in
|
|
`strix/viewer/frontend/` (a Vite + React project) and whose built output is
|
|
committed to `strix/viewer/static/` and shipped in the package. End users never
|
|
run a JS build. If you change anything under `strix/viewer/frontend/`, rebuild
|
|
and commit the output:
|
|
|
|
```bash
|
|
make viewer # or: cd strix/viewer/frontend && npm ci && npm run build
|
|
```
|
|
|
|
Commit both the source change and the regenerated `strix/viewer/static/`.
|
|
|
|
## 🤝 Community
|
|
|
|
- **Discord**: [Join our community](https://discord.gg/strix-ai)
|
|
- **Issues**: [GitHub Issues](https://github.com/usestrix/strix/issues)
|
|
|
|
## ✨ Recognition
|
|
|
|
We value all contributions! Contributors will be:
|
|
- Listed in release notes
|
|
- Thanked in our Discord
|
|
- Added to contributors list (coming soon)
|
|
|
|
---
|
|
|
|
**Questions?** Reach out on [Discord](https://discord.gg/strix-ai) or create an issue. We're here to help!
|