Files
grok-cli/package.json
T
Cursor AgentandIsmail Pelaseyed ccfd3bb6fc feat: complete architecture rewrite with Bun, OpenTUI, bash-only tools, and X Search API
Major rewrite of the Grok CLI agent:

- Runtime: Bun-first (removed Node.js/tsx fallbacks)
- UI: Replaced Ink with OpenTUI (@opentui/react) terminal framework
- Tools: Simplified to bash-only (removed text-editor, search, morph, todo, confirmation tools)
- Search: Integrated X Search API and Web Search via xAI Responses API
- Models: Updated to all latest Grok models (grok-4, grok-4.20-beta, grok-4-1-fast, grok-4-fast, grok-3-mini)
- Agent: Streamlined agent loop with async generator streaming
- Client: Dual API support (Chat Completions for tool calling, Responses API for search)
- Removed MCP integration, confirmation service, token counter, Morph editor
- Updated tsconfig for OpenTUI React JSX
- Clean 10-file architecture in src/

Co-authored-by: Ismail Pelaseyed <homanp@users.noreply.github.com>
2026-03-17 23:06:55 +00:00

56 lines
1.2 KiB
JSON

{
"name": "@vibe-kit/grok-cli",
"version": "1.0.0",
"description": "An open-source AI coding agent powered by Grok, built with Bun and OpenTUI.",
"type": "module",
"main": "dist/index.js",
"exports": {
".": {
"import": "./dist/index.js",
"types": "./dist/index.d.ts"
}
},
"bin": {
"grok": "dist/index.js"
},
"scripts": {
"dev": "bun run src/index.ts",
"build": "tsc",
"start": "bun run dist/index.js",
"lint": "eslint . --ext .js,.jsx,.ts,.tsx",
"typecheck": "tsc --noEmit"
},
"keywords": [
"cli",
"agent",
"grok",
"ai",
"coding",
"terminal",
"opentui"
],
"author": "Vibe Kit",
"license": "MIT",
"dependencies": {
"@opentui/core": "^0.1.88",
"@opentui/react": "^0.1.88",
"chalk": "^5.3.0",
"commander": "^12.0.0",
"dotenv": "^16.4.0",
"openai": "^5.10.1",
"react": "^19.1.0"
},
"devDependencies": {
"@types/node": "^22.0.0",
"@types/react": "^19.1.0",
"@typescript-eslint/eslint-plugin": "^8.37.0",
"@typescript-eslint/parser": "^8.37.0",
"eslint": "^9.31.0",
"typescript": "^5.8.0"
},
"engines": {
"node": ">=18.0.0"
},
"preferGlobal": true
}