hns-moaiadk-dev-reference
moai-adk-go local dev reference — version management/release process (sec 5), shell-script hook development (sec 7), build & dev commands (sec 10). Load only when performing these specific tasks.
git clone --depth 1 https://github.com/modu-ai/moai-adk /tmp/hns-moaiadk-dev-reference && cp -r /tmp/hns-moaiadk-dev-reference/.claude/skills/hns-moaiadk-dev-reference ~/.claude/skills/hns-moaiadk-dev-referenceSKILL.md
# hns-moaiadk-dev-reference
> moai-adk-go 로컬 dev 레퍼런스 — `CLAUDE.local.md` §5/§7/§10 의 작업 특화 상세를 이곳으로 이관 (lazy-load). 세션마다 필요 없는 참고 자료. 항상-로드 컨텍스트 절감용.
> 소유: `hns-*` 네임스페이스 (user-owned, `moai update` 보존 — CLAUDE.local.md §24). 템플릿 미러 금지.
---
## Version Management (from CLAUDE.local.md §5)
### Single Source of Truth
- [HARD] `go.mod` module version + git tags are the authoritative sources
- [HARD] `pkg/version/version.go` reads from git tags at build time
**Version Reference:**
- Authoritative Source: Git tags (e.g., `v1.0.0`)
- Runtime Access: `pkg/version/version.go` via `git describe`
- Config Display: `.moai/config/sections/system.yaml` (updated by release process)
### Build Version Injection
Version is injected at build time using ldflags:
```bash
# Build with version injection
go build -ldflags="-X github.com/modu-ai/moai-adk/pkg/version.Version=v1.0.0"
# Makefile handles this automatically
make build VERSION=1.0.0
```
### Files Requiring Version Sync
When releasing new version, update:
**Documentation Files:**
- README.md (Version line)
- README.ko.md (Version line)
- CHANGELOG.md (New version entry)
**Configuration Files:**
- .moai/config/sections/system.yaml (moai.version)
- internal/template/templates/.moai/config/sections/system.yaml.tmpl (moai.version)
### Release Process
1. Update CHANGELOG.md with new version entry
2. Create git tag: `git tag v1.0.0`
3. Push tag: `git push origin v1.0.0`
4. Build release binaries: `make release VERSION=1.0.0`
---
## Hook Development (from CLAUDE.local.md §7)
### [HARD] Shell Script Hooks Only
moai-adk-go uses shell scripts for hooks, NOT Python:
**Hook Wrapper Pattern:**
```bash
#!/bin/bash
# .claude/hooks/moai/handle-session-start.sh
# Read stdin JSON from Claude Code
INPUT=$(cat)
# Call moai binary with hook subcommand
moai hook session-start <<< "$INPUT"
```
**Why Shell Scripts:**
- Faster execution (no Python startup overhead)
- Always available (no dependency on uv/python)
- Cross-platform (bash, /bin/sh)
### Hook Command Format
**settings.json hook configuration:**
```json
{
"hooks": {
"SessionStart": [{
"hooks": [{
"command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/moai/handle-session-start.sh\"",
"timeout": 5
}]
}]
}
}
```
**Key Rules:**
- [HARD] Always quote `$CLAUDE_PROJECT_DIR`: `"$CLAUDE_PROJECT_DIR"`
- [HARD] Use full path to hook wrapper script
- [HARD] Set appropriate timeout. MoAI policy default is 5 seconds (the Claude Code platform default is 10 minutes; MoAI tightens this to 5 seconds to avoid stalling the session).
### Platform Differences
**macOS/Linux:**
```json
"command": "\"$CLAUDE_PROJECT_DIR/.claude/hooks/moai/hook.sh\""
```
**Windows:**
```json
"command": "\"%CLAUDE_PROJECT_DIR%\\.claude\\hooks\\moai\\hook.sh\""
```
---
## Build & Dev Commands (from CLAUDE.local.md §10)
### Common Commands
```bash
# Build the project
make build
# Run tests
make test
# Run with race detection
make test-race
# Run linter
make lint
# Format code
make fmt
# Install locally
make install
# Clean build artifacts
make clean
# Run go fix modernizers
make fix
```
### Development Workflow
```bash
# 1. Edit templates
vim internal/template/templates/.claude/skills/moai/SKILL.md
# 2. Regenerate embedded files
make build
# 3. Run tests
go test ./internal/template/...
# 4. Test locally
./moai init test-project
# 5. Commit
git add internal/template/templates/
git commit -m "feat(template): update SKILL.md"
```Claude Code upstream change tracker -> moai-adk update plan + docs sync workflow (dev-only). Tracks new CC release notes, classifies changes by impact tier, cross-references official docs, generates update plan at .moai/research/ or .moai/specs/, and synchronizes docs-site 4-locale + README. NOT distributed to user projects.
GitHub Workflow - Manage issues and review PRs with Agent Teams (dev-only). NOT distributed to user projects.
MoAI-ADK production release via Enhanced GitHub Flow (CLAUDE.local.md §18). Creates release/vX.Y.Z branch, version bump, CHANGELOG (bilingual), PR to main, merge commit (NOT squash), then scripts/release.sh for tag + GoReleaser. Hotfix support via --hotfix flag. All git operations delegated to manager-git. Quality failures escalate to expert-debug. NOT distributed to user projects (dev-only).
Run the 7-phase /moai brain ideation workflow to convert ideas into validated proposals
Identify and safely remove dead code with test verification
Scan codebase and generate architecture documentation in codemaps/
Analyze test coverage, identify gaps, and generate missing tests
Hybrid design workflow — Claude Design import (path A) or code-based brand design (path B)