Skip to main content
Glama

Mode Manager MCP

CONTRIBUTING.md4.1 kB
# Contributing to Mode Manager MCP Thank you for your interest in contributing to the Mode Manager MCP Server! ## Development Setup 1. **Install Hatch:** ```bash pip install hatch ``` 2. **Clone the repository:** ```bash git clone https://github.com/NiclasOlofsson/mode-manager-mcp.git cd mode-manager-mcp ``` 3. **Run tests:** ```bash hatch run test ``` ## Development Workflow ### Environment Management Hatch automatically manages virtual environments for you. No need to create or activate environments manually. ### Running Tests ```bash # Run all tests hatch run test # Run tests with coverage hatch test --cover # Run tests in all Python versions (if configured) hatch test --all ``` ### Code Quality ```bash # Format code with Black hatch run format # Check code formatting hatch run lint # Run type checking (note: currently has some type annotations to fix) hatch run typecheck # Run all quality checks (pre-commit hooks) hatch run precommit ``` **Note:** Type checking currently reports some annotation issues that need to be addressed in future contributions. ### Building the Project ```bash # Build wheel and source distribution hatch build # Build only wheel hatch build -t wheel # Build only source distribution hatch build -t sdist ``` ### Working with Dependencies ```bash # Show current dependencies hatch dep show table # Install in development mode (automatic with hatch run) hatch shell # Enters development environment ``` ### Available Scripts The project defines several convenient scripts in `pyproject.toml`: - `hatch run test` - Run pytest - `hatch run lint` - Check code formatting with Black - `hatch run typecheck` - Run mypy type checking - `hatch run format` - Format code with Black - `hatch run precommit` - Run pre-commit hooks ### Running Individual Commands ```bash # Run any Python command in the environment hatch run python -m src.mode_manager_mcp # Run the server directly for testing hatch run python -m src.mode_manager_mcp --help # Enter a shell in the development environment hatch shell ``` ## Development Environment Hatch automatically creates and manages a virtual environment (`.venv`) in your project directory. This environment: - Is automatically activated when you run `hatch run` commands - Contains all project dependencies and development tools - Is recreated if you delete it or if dependencies change - Can be entered manually with `hatch shell` ## Quick Reference | Command | Description | |---------|-------------| | `hatch run test` | Run all tests with pytest | | `hatch run lint` | Check code formatting | | `hatch run format` | Auto-format code with Black | | `hatch run typecheck` | Run mypy type checking | | `hatch build` | Build wheel and source distribution | | `hatch shell` | Enter development environment | | `hatch env show` | Show environment information | | `hatch clean` | Clean build artifacts | ## Code Style - Follow PEP 8 conventions - Use type hints where appropriate - Include docstrings for all public functions and classes - Keep functions focused and small ## Testing - Add tests for new functionality - Ensure all existing tests pass - Test both success and error cases ## Submitting Changes 1. **Fork the repository** 2. **Create a feature branch:** ```bash git checkout -b feature/your-feature-name ``` 3. **Make your changes** 4. **Run tests** 5. **Commit with clear messages:** ```bash git commit -m "Add feature: description of changes" ``` 6. **Push and create a pull request** ## Areas for Contribution - **Bug fixes** - Check the issue tracker - **Documentation** - Improve existing docs or add new guides - **Features** - New chatmode/instruction management features - **Library expansion** - Add more chatmodes/instructions to the library - **Testing** - Improve test coverage - **Performance** - Optimize file operations or network requests ## Code of Conduct Be respectful, inclusive, and constructive in all interactions. ## Questions? Feel free to open an issue for questions or discussions!

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/NiclasOlofsson/mode-manager-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server