Thank you for your interest in contributing to PCSL (Personal Context Sovereignty Layer)! This document outlines the process for contributing to the project.
Please note that this project is released with a Code of Conduct. By participating in this project you agree to abide by its terms.
Before creating bug reports, please check the issue tracker to see if the issue has already been reported. When creating a bug report, include:
- A quick summary and background
- Steps to reproduce
- What you expected vs what actually happened
- Notes (possibly including why you think this might be happening)
Feature requests are welcome! But please first check if there's already a proposal for the feature you'd like to see. When suggesting a feature:
- Explain the problem you're trying to solve
- Describe your proposed solution
- Consider alternatives you've considered
- Fork the repo and create your branch from
main - If you've added code that should be tested, add tests
- If you've changed APIs, update the documentation
- Ensure the test suite passes
- Make sure your code lints
- Write a clear commit message
- Push your changes to your fork
- Submit a pull request
# Clone your fork
git clone https://github.com/CodeForgeNet/opencontext.git
cd pcsl
# Create a virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -e ".[dev]"
# Set up environment variables
cp .env.example .env
# Edit .env and fill in your API keys (see .env.example for instructions)
# Run tests
pytest
# Run the server
uvicorn pcsl.pcsl_server.main:app --reload- Use Black for code formatting:
black pcsl/ tests/ - Use Ruff for linting:
ruff check pcsl/ tests/ - Write type hints where possible
- Include docstrings for public functions
- Keep lines under 100 characters
- Use imperative mood ("Add feature" not "Added feature")
- First line should be under 72 characters
- Reference issues and pull requests where relevant
- Update documentation if needed
- Add tests for new functionality
- Update the CHANGELOG.md if applicable
- The maintainers will review and merge your PR
Contributors will be listed in the README.md file (with permission).