Skip to content

Development Setup

Set up Maxwell's Wallet for local development.

Prerequisites

Install mise (tool version manager):

curl https://mise.run | sh

mise auto-installs all dev tools (Node, Python, uv, just, gum) when you enter the project directory.

# Install dependencies and seed database
just setup

# Start both servers
just dev::dev

Manual Setup

Backend

cd backend

# Install dependencies (uv sync creates the .venv for you)
uv sync --all-extras

# Create tables, then seed sample data
uv run python -c "import asyncio; from app.database import init_db; asyncio.run(init_db())"
uv run python -m scripts.seed

# Start server (backend listens on port 3001)
uv run uvicorn app.main:app --reload --port 3001

Frontend

cd frontend

# Install dependencies
npm install

# Start dev server
npm run dev

Useful Recipes

just                    # Show all available recipes
just test::backend      # Run backend tests
just db::reset          # Reset database
just db::seed           # Seed sample data
just utils::status      # Check if servers running

Database Migrations

Prefer the just recipes, which handle paths and environment setup:

just db::migrate MESSAGE="description"  # Create a new migration
just db::upgrade                        # Apply migrations

Equivalent manual commands:

cd backend
uv run alembic revision --autogenerate -m "description"
uv run alembic upgrade head