mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-25 07:00:48 +09:00
04bce702b7
Add mcp-build.sh that compiles the MCP binary and packages it as an OCI image layer on top of the base rootfs, imported directly into containerd. Air triggers rebuild on code changes, cleaning stale containers automatically. Consolidate dev-only files (Dockerfiles, entrypoint, config, build script) into devenv/ to separate dev tooling from production artifacts. Skip image pull when already imported to speed up dev startup.
2.1 KiB
2.1 KiB
Contributing Guide
Prerequisites
Install mise
# macOS / Linux
curl https://mise.run | sh
# or
brew install mise
# Windows
winget install jdx.mise
Quick Start
mise install # Install toolchains (Go, Node, Bun, pnpm, sqlc)
mise run setup # Copy config + install deps
mise run dev # Start full containerized dev environment
That's it. dev launches everything in Docker containers:
- PostgreSQL + Qdrant (infrastructure)
- Database migrations (auto-run on startup)
- Go server with containerd (hot-reload via
go run) - Agent Gateway (Bun, hot-reload)
- Web frontend (Vite, hot-reload)
Daily Development
mise run dev # Start all services
mise run dev:down # Stop all services
mise run dev:logs # View logs
mise run dev:restart -- server # Restart a specific service
More Commands
| Command | Description |
|---|---|
mise run dev |
Start containerized dev environment |
mise run dev:down |
Stop dev environment |
mise run dev:logs |
View dev logs |
mise run dev:restart |
Restart a service (e.g. -- server) |
mise run setup |
Copy config + install deps |
mise run db-up |
Run database migrations |
mise run db-down |
Roll back database migrations |
mise run swagger-generate |
Generate Swagger documentation |
mise run sdk-generate |
Generate TypeScript SDK |
mise run sqlc-generate |
Generate SQL code |
Project Layout
conf/ — Configuration templates (app.example.toml, app.docker.toml)
devenv/ — Dev environment (docker-compose, dev Dockerfiles, app.dev.toml, mcp-build.sh)
docker/ — Production Docker build & runtime (Dockerfiles, entrypoints)
cmd/ — Go application entry points
internal/ — Go backend core code
agent/ — Agent Gateway (Bun/Elysia)
packages/ — Frontend monorepo (web, ui, sdk, cli, config)
db/ — Database migrations and queries
scripts/ — Utility scripts