Skip to main content

ankra dev

Send the heavy commands of a development loop - go test, go vet, go build, golangci-lint, pnpm typecheck / test / lint, vitest, tsc --noEmit, Playwright suites - to the checkout’s Ankra Workspace instead of running them on this machine, without changing what you or a coding agent type. ‘ankra dev install’ puts small shims named go, gofmt, golangci-lint, pnpm, npm and npx in front of the real tools on PATH. Each shim asks ‘ankra’ where the invocation belongs:
A routed command runs exactly like ‘ankra exec’: same output, same exit code. When the checkout has no workspace to use (not a repository connected to Ankra Pipelines, not logged in, offline) or the workspace could not run it, the real tool runs on this machine instead, so nothing ever blocks on the platform. The workspace kind follows the tool: go, gofmt and golangci-lint use the repository’s “go” workspace profile, pnpm, npm and npx its “node” profile and Playwright runs its “e2e” (or “playwright”) profile - when the repository has that profile. Otherwise they all share its default workspace. Mode: ANKRA_EXEC=auto|remote|local for one command, ‘ankra dev mode’ for the default. ANKRA_EXEC_EXPLAIN=1 <command> prints route or local and runs nothing. Examples

ankra dev install

Write the routing shims for go, gofmt, golangci-lint, pnpm, npm and npx and put them in front of the real tools. The shims go to ~/.ankra/dev/shims (--dir) and are linked into a directory that is already on PATH, ~/.local/bin by default (--link-dir), so running sessions and git hooks pick them up at once. When no such directory is on PATH, or a real tool still comes first, the exact PATH line to add to your shell profile is printed; no profile is ever edited for you. Safe to run again (it upgrades the shims in place). A name that is taken by a real file or by a link to something else is left alone and reported. Links that point at the earlier claude-tools remote-exec shim are replaced only with --replace-legacy. --uninstall removes exactly what an install created: the links that point at its shims and the shim files themselves. Commands then run locally again. Each shim is a few lines of POSIX sh that hand the invocation to ‘ankra dev shim’; without an ankra CLI it runs the real tool, so removing the CLI never breaks go or pnpm. See ‘ankra dev --help’ for what routes.
Examples
Flags

ankra dev mode

Show the routing mode the dev shims use, or set the default.
The ANKRA_EXEC environment variable overrides the default for one command. A default that was never set here is read from ~/.config/ankra-exec/mode, where the earlier remote-exec scripts kept theirs.
Examples

ankra dev status

Show how the dev shims are set up on this machine: the routing mode and where it comes from, the shim directory, and for each tool whether its shim is installed and whether it is what the name resolves to first on PATH (a tool installed in front of it would bypass routing). Reads nothing from the platform.
Examples
Flags