Skip to main content

Development Guide

This guide will help you set up your development environment and contribute to OmniMind.

Prerequisites

  • Python 3.8 or higher
  • Git
  • Node.js and npm (for MCP server dependencies)

Setting Up Development Environment

  1. Clone the repository:
  1. Install development dependencies:
  1. Install pre-commit hooks:

Code Style

OmniMind uses Ruff for code formatting and linting. The project follows these style guidelines:
  • Use type hints for all function parameters and return values
  • Follow the PEP 8 style guide
  • Use docstrings for all public functions and classes
  • Keep functions focused and single-purpose

Running Tests

The project uses pytest for testing. To run the test suite:
For more specific test runs:

Documentation

Documentation is written in MDX format and uses Mintlify for rendering. To preview documentation changes:
  1. Install Mintlify CLI:
  1. Run the development server:

Contributing

  1. Create a new branch for your feature:
  1. Make your changes and commit them:
  1. Push your changes and create a pull request:

Project Structure

Adding New MCP Servers

To add support for a new MCP server:
  1. Create a new configuration template in the examples directory
  2. Add the necessary server-specific code in the omnimind package
  3. Update documentation with new server information
  4. Add tests for the new server functionality

Release Process

  1. Update the version in pyproject.toml
  2. Update CHANGELOG.md
  3. Create a new release tag
  4. Build and publish to PyPI: