Thank you for your interest in contributing! π
- π Bug reports β open an issue with steps to reproduce
- π‘ Feature requests β open an issue with your use case
- π§ Code β open a PR (see dev setup below)
- π Docs β improve any
.mdfile - β Star β helps others discover the project
git clone https://github.com/SamoTech/memoryos
cd memoryos
# Backend
cd backend
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install -e '.[dev]'
# Run backend
uvicorn app.main:app --reload --port 8765
# Run tests
pytest tests/ -v --tb=short
# Lint + type check
ruff check app cli
mypy app --ignore-missing-imports
# Frontend
cd ../frontend
npm install
npm run dev # http://localhost:3000
# Extension
cd ../extension
npm install
npm run build # outputs to extension/dist/
npm run watch # watch mode- Python: ruff formatter, 88 char line limit, type hints everywhere
- TypeScript: strict mode, no
any(useunknown) - Commits: conventional commits (
feat:,fix:,docs:,chore:)
- Tests pass (
pytest tests/ -v) - Linting passes (
ruff check app cli) - Added/updated tests for new features
- Updated docs if API changed
- Added entry to
CHANGELOG.md
memoryos/
βββ backend/
β βββ app/
β β βββ api/v1/endpoints/ # FastAPI route handlers
β β βββ core/ # Config, DB, vector store
β β βββ models/ # SQLAlchemy ORM models
β β βββ schemas/ # Pydantic schemas
β β βββ services/ # Business logic
β β βββ workers/ # Background tasks
β β βββ main.py # FastAPI app entry
β βββ cli/
β βββ main.py # Click CLI
βββ extension/
β βββ content/ # Per-site content scripts
β βββ popup/ # Extension popup UI
β βββ background.ts # Service worker
βββ frontend/
β βββ src/
β βββ app/ # Next.js pages
β βββ components/ # React components
β βββ hooks/ # Custom React hooks
β βββ lib/ # API client
βββ docs/ # Full documentation
βββ scripts/ # Build + install scripts
Open a GitHub Discussion or tag @SamoTech in an issue.