Thanks for your interest in contributing to MemState! 🚀 We welcome contributions of all kinds — code, documentation, bug reports, ideas, and feedback.
If you've found a bug or have a feature request, please open an issue. Be as descriptive as possible: what happened, what you expected, and steps to reproduce.
We’re actively improving MemState. If you have ideas, open a new issue and use the feature label.
git clone https://github.com/scream4ik/MemState.git
cd MemState- Create a virtual environment
# Create a virtual environment
uv venv
# Activate it (macOS/Linux)
source .venv/bin/activate
# Or activate it (Windows)
# .\.venv\Scripts\activate
# Install all required libraries
uv sync- Install dependencies
uv sync --dev- Run tests
python -m pytest -s tests/We use pre-commit to ensure consistent formatting and static analysis.
Install and set up hooks:
pre-commit installTo run checks manually:
pre-commit run --all-files -c .pre-commit-config.yamlPlease follow the Conventional Commits convention:
<type>: short description
Examples:
feat: add support for Gemini modelfix: handle error when env file is missingdocs: update README with setup instructions
Allowed types:
feat– a new feature is introducedfix– a bug fixdocs– documentation updates (e.g. README)style– formatting only (white-space, commas, etc.)refactor– code changes that don’t fix bugs or add featuresperf– performance improvementstest– adding or fixing testschore– other changes (e.g. dependency updates)ci– CI configuration changesbuild– build system or dependency-related changesrevert– reverts a previous commit
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Make your changes and commit (
git commit -m "feat: add new feature") - Push to your fork and open a Pull Request
Please ensure all pre-commit hooks pass before submitting.
Please follow the Code of Conduct when interacting in this project.
Your contributions help make MemState better for everyone. We’re excited to have you here!