Part of #147. Phase 0 of 5. Estimated ~2 days.
Scope
- Create new repo
tracebloc/cli
- Initialize Go module (
go.mod, go 1.22)
- Set up command tree skeleton with cobra:
cmd/tracebloc/main.go + internal/cli/root.go
- License (Apache-2.0), README skeleton, CONTRIBUTING, CODEOWNERS, .gitignore
- Mirror the kanban-routing + FR-gate workflows from tracebloc/client (
.github/workflows/add-to-kanban.yml, fr-gate-caller.yml, fr-pass-comment-caller.yml, set-pr-status.yml, advance-deploy-env.yml, wip-limit-check.yml)
- CI workflow (
build.yml): go vet, go test, golangci-lint, build for all 5 platforms (linux amd64/arm64, darwin amd64/arm64, windows amd64), upload binaries as workflow artifacts
- Implement
tracebloc version (prints semver + git sha + build time, populated via -ldflags at build)
- Implement
tracebloc completion {bash|zsh|fish|powershell} (cobra gives this for free)
- Smoke test in CI: build binary, run
tracebloc version, assert non-empty output
Acceptance criteria
git clone tracebloc/cli && cd cli && go build ./cmd/tracebloc && ./tracebloc version prints something sensible
- CI green on first PR
- Cross-platform binaries downloadable from the CI workflow's artifact tab
- README mentions the epic + roadmap to v0.1
Closes / blocks
Part of #147. Phase 0 of 5. Estimated ~2 days.
Scope
tracebloc/cligo.mod,go 1.22)cmd/tracebloc/main.go+internal/cli/root.go.github/workflows/add-to-kanban.yml,fr-gate-caller.yml,fr-pass-comment-caller.yml,set-pr-status.yml,advance-deploy-env.yml,wip-limit-check.yml)build.yml):go vet,go test,golangci-lint, build for all 5 platforms (linux amd64/arm64, darwin amd64/arm64, windows amd64), upload binaries as workflow artifactstracebloc version(prints semver + git sha + build time, populated via -ldflags at build)tracebloc completion {bash|zsh|fish|powershell}(cobra gives this for free)tracebloc version, assert non-empty outputAcceptance criteria
git clone tracebloc/cli && cd cli && go build ./cmd/tracebloc && ./tracebloc versionprints something sensibleCloses / blocks
tracebloc dataset pushfor one-command ingestion #147 Phase 1 (Phase 1 needs the repo + module structure)