Grok CLI (@vibe-kit/grok-cli) is a single-package TypeScript CLI tool — no databases, Docker, or background services. See README.md for full documentation and usage.
| Action | Command |
|---|---|
| Install deps | bun install (installs Husky; pre-commit runs Biome on staged files) |
| Typecheck | bun run typecheck |
| Build | bun run build |
| Run built CLI | node dist/index.js |
| Headless mode | node dist/index.js --prompt "..." --max-tool-rounds N |
| CLI help | node dist/index.js --help |
- ESLint config is broken: The repo has
.eslintrc.js(legacy format) but uses ESLint 9 (^9.31.0) +@typescript-eslintv8, which require flat config (eslint.config.js). Additionally,.eslintrc.jsusesmodule.exports(CJS) butpackage.jsonhas"type": "module"(ESM). Runningbun run lintwill fail. Usebun run typecheckas the primary code quality check (this is also what CI enforces). - Dev mode (
bun run dev/bun run dev:node) fails at runtime:src/utils/model-config.tsimports TypeScript interfaces (UserSettings,ProjectSettings) as value imports fromsettings-manager.ts. These type-only exports are erased at runtime by Bun and tsx, causingSyntaxError: export '...' not found. The fix is to useimport typesyntax, but this is a pre-existing repo issue. Workaround: build first (bun run build), then run the compiled version (node dist/index.js).
- Bun must be installed (not pre-installed on Cloud VMs). The update script handles this.
GROK_API_KEYenvironment variable is required for API calls. Set it as a secret.