The repo drives everything through pnpm + turbo (turbo.json, root package.json scripts). The Go module in cli/ cannot be a turbo task on its own, and a third toolchain that only some contributors know needs one obvious entrypoint.
erst solves this with a Makefile carrying build/test/lint/fmt targets split per language (rust-lint, check-fmt-go, check-fmt-rust), which is the pattern to follow.
Why it matters: without a single entrypoint, contributors run the TypeScript gates, miss the Go ones, and CI becomes the first place anyone learns the CLI is broken. Dependabot also needs to see go.mod as a distinct ecosystem (#232 already tracks an unmanaged update backlog).
Acceptance: a root Makefile exposes build, test, lint, fmt, and check-fmt that cover TypeScript, Go, and (later) Rust; pnpm scripts delegate to it where sensible so existing muscle memory still works; CONTRIBUTING.md documents the Go toolchain requirement; Dependabot is configured for the gomod ecosystem.
The repo drives everything through pnpm + turbo (
turbo.json, rootpackage.jsonscripts). The Go module incli/cannot be a turbo task on its own, and a third toolchain that only some contributors know needs one obvious entrypoint.erstsolves this with aMakefilecarryingbuild/test/lint/fmttargets split per language (rust-lint,check-fmt-go,check-fmt-rust), which is the pattern to follow.Why it matters: without a single entrypoint, contributors run the TypeScript gates, miss the Go ones, and CI becomes the first place anyone learns the CLI is broken. Dependabot also needs to see
go.modas a distinct ecosystem (#232 already tracks an unmanaged update backlog).Acceptance: a root
Makefileexposesbuild,test,lint,fmt, andcheck-fmtthat cover TypeScript, Go, and (later) Rust;pnpmscripts delegate to it where sensible so existing muscle memory still works;CONTRIBUTING.mddocuments the Go toolchain requirement; Dependabot is configured for thegomodecosystem.