Skip to content

Development

Koishi edited this page Feb 6, 2026 · 2 revisions

Development Guide

Set up your development environment for contributing to MomShell.

Prerequisites

  • uv - Python package manager
  • nvm - Node.js version manager
  • Git

See Getting Started for installation instructions.

Setup

Automated Setup (Recommended)

git clone https://github.com/koishi510/MomShell.git
cd MomShell
./scripts/dev-setup.sh

Manual Setup

  1. Environment variables
cp .env.example .env
# Edit .env and fill in your API keys
  1. Backend dependencies
cd backend
uv sync
cd ..
  1. Frontend dependencies
cd frontend
nvm install
nvm use
npm install
cd ..

Running Locally

Using Make

# Start backend and frontend in separate terminals
make dev-backend   # Terminal 1
make dev-frontend  # Terminal 2

# Or use tmux to start both
make dev-tmux

Manual Commands

Backend (FastAPI)

cd backend
uv run uvicorn app.main:app --reload --host 0.0.0.0 --port 8000

Frontend (Next.js)

cd frontend
npm run dev

Common Commands

# Backend
make lint          # Run linters (ruff)
make test          # Run backend tests

# Frontend
cd frontend
npm run lint       # ESLint
npm run build      # Production build

Contributing

Please read the full Contributing guide for:

  • Code standards and quality checks
  • Branch management and PR process
  • Commit message conventions
  • Testing requirements

Home | GitHub

Clone this wiki locally