Thanks for your interest in contributing! Here's how to get started.
git clone https://github.com/emanuilo/memclaw.git
cd memclaw
python -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"Copy the environment template and fill in your keys:
cp .env.example .envpytestAll tests should pass before submitting a PR. The test suite mocks external API calls, so no API keys are needed to run tests.
- Follow PEP 8 conventions
- Use type hints for function signatures
- Keep functions focused and small
- Run
ruff check .before committing
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Make your changes
- Add or update tests as needed
- Run the test suite (
pytest) - Run the linter (
ruff check .) - Commit with a clear message (
git commit -m 'feat: add my feature') - Push to your fork (
git push origin feature/my-feature) - Open a Pull Request
Use Conventional Commits style:
feat:new featurefix:bug fixdocs:documentation onlytest:adding or updating testschore:maintenance, dependencies, CI
- Keep PRs focused on a single change
- Include tests for new functionality
- Update documentation if behavior changes
- Link related issues in the PR description
Open an issue with:
- Steps to reproduce
- Expected vs actual behavior
- Python version and OS
- Relevant logs or error messages
Open a discussion or reach out in an issue.