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.
131 lines
2.9 KiB
TOML
131 lines
2.9 KiB
TOML
experimental_monorepo_root = true
|
|
|
|
[tools]
|
|
# Go version from go.mod
|
|
go = "1.25.6"
|
|
# Node.js for frontend packages
|
|
node = "25"
|
|
# Bun for agent gateway
|
|
bun = "latest"
|
|
# pnpm for workspace management
|
|
pnpm = "10"
|
|
# sqlc for sql management
|
|
sqlc = "latest"
|
|
# typos for spell check
|
|
typos = "latest"
|
|
|
|
[task_config]
|
|
dir = "{{cwd}}"
|
|
|
|
[settings]
|
|
experimental = true
|
|
|
|
[tasks.pnpm-install]
|
|
description = "Install dependencies"
|
|
env = { CI = "true" }
|
|
run = "pnpm install"
|
|
|
|
[tasks.go-install]
|
|
description = "Install Go dependencies"
|
|
run = "go mod download"
|
|
|
|
[tasks.swagger-generate]
|
|
description = "Generate Swagger documentation"
|
|
depends = [
|
|
"//:go-install",
|
|
]
|
|
run = "cd internal/handlers && go generate"
|
|
|
|
[tasks.sdk-generate]
|
|
description = "Generate SDK code"
|
|
run = "pnpm run generate-sdk"
|
|
depends = [
|
|
"//:pnpm-install",
|
|
"//:swagger-generate"
|
|
]
|
|
|
|
[tasks.sqlc-generate]
|
|
description = "Generate SQL code"
|
|
run = "sqlc generate"
|
|
|
|
[tasks.dev]
|
|
description = "Start development environment"
|
|
run = """
|
|
#!/bin/bash
|
|
set -e
|
|
cp devenv/app.dev.toml config.toml
|
|
docker compose -f devenv/docker-compose.yml up --build
|
|
"""
|
|
|
|
[tasks."dev:down"]
|
|
description = "Stop development environment"
|
|
run = "docker compose -f devenv/docker-compose.yml down --remove-orphans"
|
|
|
|
[tasks."dev:logs"]
|
|
description = "View development logs"
|
|
run = "docker compose -f devenv/docker-compose.yml logs -f"
|
|
|
|
[tasks."dev:restart"]
|
|
description = "Restart a service (usage: mise run dev:restart -- server)"
|
|
run = "docker compose -f devenv/docker-compose.yml restart $@"
|
|
|
|
[tasks."mcp:build"]
|
|
description = "Manually build MCP dev binary (normally auto-triggered by air)"
|
|
run = """
|
|
#!/bin/bash
|
|
set -e
|
|
docker compose -f devenv/docker-compose.yml exec server \
|
|
sh -c 'cd /workspace && sh devenv/mcp-build.sh'
|
|
"""
|
|
|
|
[tasks.db-up]
|
|
description = "Initialize and Migrate Database"
|
|
run = "scripts/db-up.sh"
|
|
|
|
[tasks.db-down]
|
|
description = "Drop Database"
|
|
run = "scripts/db-drop.sh"
|
|
|
|
[tasks.release]
|
|
description = "Release new version"
|
|
run = "pnpm release"
|
|
|
|
[tasks.build-embedded-assets]
|
|
description = "Build and stage embedded web/agent/bun assets"
|
|
run = "scripts/release.sh --prepare-assets"
|
|
depends = ["//:pnpm-install"]
|
|
|
|
[tasks.build-unified]
|
|
description = "Build unified memoh binary"
|
|
depends = ["//:build-embedded-assets"]
|
|
run = "go build -o bin/memoh ./cmd/memoh"
|
|
|
|
[tasks.release-binaries]
|
|
description = "Build release archive for one target (requires TARGET_OS TARGET_ARCH)"
|
|
depends = ["//:pnpm-install"]
|
|
run = "scripts/release.sh"
|
|
|
|
[tasks.install-cli]
|
|
description = "Install CLI"
|
|
depends = ["//:pnpm-install"]
|
|
run = "cd packages/cli && npm install -g"
|
|
|
|
[tasks.install-socktainer]
|
|
description = "Install socktainer"
|
|
run = "brew tap socktainer/tap && brew install socktainer"
|
|
|
|
[tasks.setup]
|
|
description = "Setup development environment"
|
|
depends = [
|
|
"//:sqlc-generate",
|
|
"//:pnpm-install",
|
|
"//:go-install",
|
|
"//:install-cli",
|
|
]
|
|
run = """
|
|
#!/bin/bash
|
|
set -e
|
|
cp devenv/app.dev.toml config.toml
|
|
echo '✓ Setup complete! Run: mise run dev'
|
|
"""
|