Thank you for your interest in contributing to Paperclip! This guide will help you get started with development.
- Python 3.12+
- pip
-
Fork and clone the repository
- Fork this repository on GitHub
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/paperclip.git cd paperclip -
Create and activate virtual environment
python -m venv .venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
-
Install dependencies
pip install -r requirements.txt
-
Add dependencies
pip install <new-lib> pip freeze > requirements.txt
# Run with hot reload
watchmedo auto-restart --patterns="*.py" --recursive -- python src/server.py
# Run Server using fastmcp
fastmcp run src/server.py --transport http --host 0.0.0.0 --port 8000
# use docker compose
docker-compose up --buildThe server will automatically restart when you make changes to any .py files.
Use the MCP Inspector to interact with the server.
pnpx @modelcontextprotocol/inspectorRun the unit tests to verify the functionality of individual components:
# Run all tests
python -m unittest discover tests -v-
Create a feature branch
git checkout -b feat/your-feature-name # or for bug fixes: git checkout -b fix/issue-description -
Make your changes
- Write your code following the existing style
- Add tests for new functionality
- Update documentation as needed
-
Commit your changes and push to your fork
git push origin feat/your-feature-name
-
Open a Pull Request
- Go to the original repository on GitHub
- Click "New Pull Request"
- Select your branch from your fork
- Fill out the PR template with:
- Clear description of changes
- Link to related issues (if applicable)
- Testing steps you've performed
- Keep PRs focused: One feature or fix per PR
- Write clear descriptions: Explain what changes you made and why
- Test your changes: Ensure all tests pass before submitting
- Update documentation: Add or update docs for new features
- Be responsive: Address feedback and questions promptly