Thank you for your interest in Mistral Vibe! We appreciate your enthusiasm and support.
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
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)
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
This section is for developers who want to set up the repository for local development, even though we're not currently accepting contributions.
- Python 3.12 or higher
- uv - Modern Python package manager
-
Clone the repository:
git clone <repository-url> cd mistral-vibe
-
Install dependencies:
uv sync --all-extras
This will install both runtime and development dependencies.
-
(Optional) Install pre-commit hooks:
uv run pre-commit install
Pre-commit hooks will automatically run checks before each commit.
Logs are written to ~/.vibe/logs/vibe.log by default. Control logging via environment variables:
| Variable | Description | Default |
|---|---|---|
LOG_LEVEL |
Logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL) |
WARNING |
LOG_MAX_BYTES |
Max log file size in bytes before rotation | 10485760 (10 MB) |
DEBUG_MODE |
When true, forces DEBUG level |
- |
Example:
LOG_LEVEL=DEBUG uv run vibeRun all tests:
uv run pytestRun tests with verbose output:
uv run pytest -vRun a specific test file:
uv run pytest tests/test_agent_tool_call.pyCheck 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 .Run type checking:
uv run pyrightRun all pre-commit hooks manually:
uv run pre-commit run --all-filesThe pre-commit hooks include:
- Ruff (linting and formatting)
- Pyright (type checking)
- Typos (spell checking)
- YAML/TOML validation
- Action validator (for GitHub Actions)
- 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.
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
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! 🙏