Skip to content

Development

Koishi edited this page Mar 19, 2026 · 2 revisions

Development Guide

Set up your development environment for contributing to MomShell.

Prerequisites

  • Go 1.25+
  • Node.js 24+
  • PostgreSQL
  • Git
  • pre-commit (optional, for git hooks)

See Getting Started for installation links.

Setup

Automated (Recommended)

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

Manual

cp .env.example .env   # Edit with your config

cd backend && go mod download && cd ..
cd frontend && npm install && cd ..

# Optional: install git hooks
pre-commit install

Running Locally

Using Make

make dev-backend    # Terminal 1 — Go server on :8000
make dev-frontend   # Terminal 2 — Vite dev server on :5173
make dev-tmux       # Or both in tmux

Manual Commands

# Backend
cd backend && go run cmd/server/main.go

# Frontend
cd frontend && npx vite

Common Commands

make lint          # go vet + eslint
make format        # go fmt
make typecheck     # go build + vue-tsc
make check         # lint + typecheck

make build-backend   # Build Go binary
make build-frontend  # Vite production build

make db-reset        # Drop and recreate PostgreSQL public schema

Backend Tests

cd backend && go test ./...

Frontend Type Check

cd frontend && npx vue-tsc --noEmit -p tsconfig.node.json

Contributing

Please read the full Contributing guide for code standards, commit conventions, and PR workflow.


Home | GitHub

Clone this wiki locally