Co-authored-by: Quentin Torroba <quentin.torroba@mistral.ai> Co-authored-by: Michel Thomazo <michel.thomazo@mistral.ai> Co-authored-by: Clément Drouin <clement.drouin@mistral.ai> Co-authored-by: Vincent Guilloux <vincent.guilloux@mistral.ai> Co-authored-by: Clément Siriex <clement.sirieix@mistral.ai> Co-authored-by: Kim-Adeline Miguel <kimadeline.miguel@mistral.ai> Co-authored-by: Nicolas Karolak <nicolas@karolak.fr>
4 KiB
Contributing to Mistral Vibe
Thank you for your interest in Mistral Vibe! We appreciate your enthusiasm and support.
Current Status
Mistral Vibe is in active development — our team is iterating quickly and making lots of changes under the hood. Because of this pace, we may be slower than usual when reviewing PRs and issues.
We especially encourage:
- Bug reports – Help us uncover and squash issues
- Feedback & ideas – Tell us what works, what doesn't, and what could be even better
- Documentation improvements – Suggest clarity improvements or highlight missing pieces
How to Provide Feedback
Bug Reports
If you encounter a bug, please open an issue with the following information:
- Description: A clear description of the bug
- Steps to Reproduce: Detailed steps to reproduce the issue
- Expected Behavior: What you expected to happen
- Actual Behavior: What actually happened
- Environment:
- Python version
- Operating system
- Vibe version
- Error Messages: Any error messages or stack traces
- Configuration: Relevant parts of your
config.toml(redact any sensitive information)
Feature Requests and Feedback
We'd love to hear your ideas! When submitting feedback or feature request discussions:
- Avoid duplicates: Check opened discussions before creating a new one
- Clear Description: Explain what you'd like to see or improve
- Use Case: Describe your use case and why this would be valuable
- Alternatives: If applicable, mention any alternatives you've considered
Development Setup
This section is for developers who want to set up the repository for local development, even though we're not currently accepting contributions.
Prerequisites
- Python 3.12 or higher
- uv - Modern Python package manager
Setup
-
Clone the repository:
git clone <repository-url> cd mistral-vibe -
Install dependencies:
uv sync --all-extrasThis will install both runtime and development dependencies.
-
(Optional) Install pre-commit hooks:
uv run pre-commit installPre-commit hooks will automatically run checks before each commit.
Running Tests
Run all tests:
uv run pytest
Run tests with verbose output:
uv run pytest -v
Run a specific test file:
uv run pytest tests/test_agent_tool_call.py
Linting and Type Checking
Ruff (Linting and Formatting)
Check for linting issues (without fixing):
uv run ruff check .
Auto-fix linting issues:
uv run ruff check --fix .
Format code:
uv run ruff format .
Check formatting without modifying files (useful for CI):
uv run ruff format --check .
Pyright (Type Checking)
Run type checking:
uv run pyright
Pre-commit Hooks
Run all pre-commit hooks manually:
uv run pre-commit run --all-files
The pre-commit hooks include:
- Ruff (linting and formatting)
- Pyright (type checking)
- Typos (spell checking)
- YAML/TOML validation
- Action validator (for GitHub Actions)
Code Style
- Line length: 88 characters (Black-compatible)
- Type hints: Required for all functions and methods
- Docstrings: Follow Google-style docstrings
- Formatting: Use Ruff for both linting and formatting
- Type checking: Use Pyright (configured in
pyproject.toml)
See pyproject.toml for detailed configuration of Ruff and Pyright.
Code Contributions
While we're not accepting code contributions at the moment, we may open up contributions in the future. When that happens, we'll update this document with:
- Pull request process
- Contribution guidelines
- Review process
Questions?
If you have questions about using Mistral Vibe, please check the README first. For other inquiries, feel free to open a discussion or issue.
Thank you for helping make Mistral Vibe better! 🙏