skills/arkd-makefile-ref/SKILL.md
Quick reference for arkd Makefile targets. Use before building, generating code, or running linters. Covers proto generation, build, sqlc, lint, and explains why make test must NEVER be used.
npx skillsauth add arklabshq/arkadian arkd-makefile-refInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Common Makefile targets for the arkd project at ${ARKD_REPO}.
| Target | What it does | When to use |
|--------|-------------|-------------|
| make proto | Lint protos + generate Go code via buf generate | After changing .proto files |
| make build | Build arkd binary via scripts/build-arkd | Before testing locally |
| make sqlc | Generate Go code from SQL queries | After changing SQL in queries/ |
| make lint | Run golangci-lint | Before finalizing changes |
| make clean | Remove build artifacts | When build state is stale |
| make run-light | Run arkd in light mode (sqlite, no PG/Redis) | Local dev iteration |
| make run | Run arkd in full mode (PG + Redis) | When testing PG-specific code |
| make run-wallet | Start arkd-wallet + Docker deps (pg, nbxplorer) | Before running arkd |
| Target | Why |
|--------|-----|
| make test | Starts ark-pg-test container on port 5432 which conflicts with pgnbxplorer from make run-wallet. Use individual go test commands instead. |
| make integrationtest | Runs the FULL e2e suite which is slow (~15-20 min) and has the same port conflict. Only use for final verification if no other infrastructure is running. |
# Run a specific test
go test -v -count=1 -run TestFunctionName -timeout 800s github.com/arkade-os/arkd/internal/test/e2e
# Run a specific sub-test
go test -v -count=1 -run "TestParent/sub_test_name" -timeout 800s github.com/arkade-os/arkd/internal/test/e2e
# Run unit tests for a specific package (no infra needed)
go test -v ./internal/core/application/...
# Run unit tests for a specific file pattern
go test -v ./internal/core/domain/...
make proto runs:
buf lint — validates proto filesbuf generate — generates Go code from protos (via Docker)If proto generation fails, check:
.proto files have valid syntaxbuf.gen.yaml config is correctDo NOT run Docker buf commands manually — always use make proto.
make build runs scripts/build-arkd which:
build/arkdFor quick iteration, you can also use go build ./cmd/arkd directly.
documentation
Update project documentation based on new commits and changes in the repository. Use when: user wants to sync docs after project changes.
testing
Remove a project from the Arkadian documentation registry and delete all associated documentation files. Use when: user wants to deregister a project.
tools
RESTRICTED to ark-project-manager. Generate actionable, dependency-ordered task lists organized by user story.
testing
RESTRICTED to ark-project-manager. Create or update feature specifications from natural language descriptions.