Contributing to Persona
Hey there! 👋 Thanks for considering contributing to Persona. We’re building something cool here - a system that helps applications understand and adapt to their users. Whether you’re fixing bugs, adding features, or improving docs, we’re excited to have you on board.
Development Setup
Prerequisites
- Python 3.12+
- Docker and Docker Compose
- Poetry for dependency management
- Neo4j (handled via Docker)
- OpenAI API key
Quick Start
- Clone and set up your environment:
- Create your
.env
file:
- Fire up the services:
- Run the test suite:
Development Workflow
Branch Strategy
main
is our stable branch- Create feature branches from
main
:feature/your-feature-name
- Bug fixes go in:
fix/bug-description
Before Submitting PR
-
Run the test suite
-
Update relevant documentation
-
Add tests for new features
-
Ensure your code follows our style (we use black and isort)
Commit Messages
We follow conventional commits. Keep it simple:
Testing
We’re serious about testing. Run the full suite with:
For specific test files:
Documentation
- Update relevant docs in
docs/
- Add docstrings to new functions/methods
- Include example usage where appropriate
Need Help?
- Check existing issues and discussions
- Open a new issue for bugs or feature discussions
- Tag maintainers if you’re stuck
Code of Conduct
We follow a standard code of conduct - be nice, be respectful, be helpful. The usual stuff that makes open source awesome.
License
By contributing, you agree that your contributions will be licensed under the MIT License.
Thanks for helping make Persona better! 🚀