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.
Scanned 9/2/2026
Install to Claude Code
npx -y skills add modu-ai/moai-adk --skill hns-moaiadk-dev-reference --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Hns Moaiadk Dev Reference?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/modu-ai-hns-moaiadk-dev-reference)More formats (shields.io, HTML) on the badges page.
---
name: hns-moaiadk-dev-reference
description: 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.
---
# 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"
```
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!