Contributing to MemU banner
NevaMind-AI NevaMind-AI

Contributing to MemU

Development community intermediate

Description

Thank you for your interest in contributing to MemU! This document provides guidelines and information for contributors.

Installation

This entry records only its repository, not the path inside it, so there is no exact command to give. Open the source below and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

README

Contributing to MemU

Thank you for your interest in contributing to MemU! This document provides guidelines and information for contributors.

๐ŸŒŸ Ways to Contribute

We welcome all types of contributions:

  • ๐Ÿ› Bug Reports - Help us identify and fix issues
  • ๐Ÿ’ก Feature Requests - Suggest new capabilities and improvements
  • ๐Ÿ“ Documentation - Improve guides, examples, and API docs
  • ๐Ÿ”ง Code Contributions - Add features, fix bugs, optimize performance
  • ๐Ÿงช Testing - Write tests, improve coverage, test edge cases
  • ๐ŸŽจ UI/UX - Enhance user experience and interface design
  • ๐ŸŒ Translations - Help make MemU accessible globally
  • ๐Ÿ“ข Community - Help others in discussions and support channels

๐Ÿš€ Quick Start for Contributors

Prerequisites

  • Python 3.13+
  • Git
  • uv (Python package manager)
  • A code editor (VS Code recommended)

Development Setup

# 1. Fork the repository on GitHub
# 2. Clone your fork locally
git clone https://github.com/YOUR_USERNAME/MemU.git
cd MemU

# 3. Install uv if you haven't already
curl -LsSf https://astral.sh/uv/install.sh | sh

# 4. Install development dependencies and pre-commit hooks
make install

# 5. Verify setup by running tests
make test

Available Commands

make install           # Create virtual environment and install dependencies with uv
make test              # Run tests with pytest and coverage
make check             # Run all checks (lock file, pre-commit, mypy, deptry)

๐Ÿ”ง Development Guidelines

Code Style

  • Follow PEP 8 Python style guidelines
  • Use Ruff for code formatting and linting (line length: 120)
  • Use type hints for all functions and methods
  • Write docstrings for public APIs

Code Quality Standards

  • Maintain test coverage > 80%
  • All code must pass linting (ruff, mypy)
  • Use meaningful variable and function names
  • Keep functions focused and small
  • Follow SOLID principles

Testing

# Run all tests with coverage
make test

# Run tests directly with pytest
uv run python -m pytest

# Run with coverage report
uv run python -m pytest --cov --cov-config=pyproject.toml --cov-report=html

# Run specific test file
uv run python -m pytest tests/rust_entry_test.py

# Run tests with specific marker
uv run python -m pytest -m "not slow"

๐Ÿ“ Submitting Changes

Before You Start

  1. Search existing issues to avoid duplicates
  2. Create an issue for new features or major changes
  3. Discuss your approach in the issue before implementing

Creating Issues

When reporting bugs, please include:

  • Environment details (Python version, OS, MemU version)
  • Reproduction steps with minimal code example
  • Expected vs actual behavior
  • Error messages or stack traces

For feature requests, please describe:

  • The problem you're trying to solve
  • Proposed solution or approach
  • Alternative solutions you've consi