Skip to content

Contributing to Unchained

Community Driven

We welcome contributions to Unchained! This guide will help you get started with contributing to the project.

Development Setup

git clone git@github.com:yourusername/unchained.git
cd unchained
python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
pip install -e ".[dev]"

Virtual Environment

Always use a virtual environment to avoid conflicts with other projects or system-wide Python packages.

Running Tests

Use pytest to verify that your changes don't break existing functionality:

pytest

Code Style

Unchained uses ruff for code formatting and linting:

Command Description
ruff format src tests Format code according to project style
ruff check src tests Check code for style and error issues

Contribution Workflow

Step 1: Create a new branch

git checkout -b feature/your-feature-name

Step 2: Make your changes

# Write your code and tests

Step 3: Commit your changes

git add .
git commit -m "Add your feature or fix description"

Step 4: Push your changes

git push origin feature/your-feature-name

Step 5: Create a pull request on GitHub

Good Pull Requests

  • Have a clear purpose and description
  • Include tests for new functionality
  • Update documentation as needed
  • Follow the code style guidelines
  • Address one concern or feature at a time

Documentation

When making documentation changes:

  1. Edit markdown files in the docs/ directory
  2. Run the documentation server to preview changes:
    mkdocs serve
    
  3. Visit http://127.0.0.1:8001 in your browser

Getting Help

If you have questions or need help:

  • Open an issue on GitHub
  • Check existing issues and discussions