Commit Graph
56 Commits
Author SHA1 Message Date
Ismail Pelaseyed f49875a8e0 bump package.json to next version (#225) 2026-03-26 17:09:40 +01:00
Ismail Pelaseyed 30c516de15 feat: add CLI update checker (#223)
* feat: add CLI update checker

Check for newer grok-dev releases when the interactive CLI starts and surface them through a startup modal, home banner, and update commands.

* ci: increase PR commit scan curl timeout to 300s
2026-03-26 14:59:06 +01:00
Ismail Pelaseyed f892d2b388 bump version 2026-03-25 19:46:40 +01:00
MakiandIsmail Pelaseyed 5d6db5fde0 feat: add built-in telegram-bridge command (#211)
* ✨ Add built-in telegram-bridge command

- add a headless Telegram bridge entrypoint and reusable path resolver
- export the new bridge helpers and cover path defaults with focused tests
- document headless Telegram usage in the README and verify startup without the wrapper

* 🐛 Fix telegram bridge shutdown handling

- restore the CLI's default SIGTERM exit behavior for non-bridge commands
- let the headless telegram bridge own SIGTERM cleanup while it is running
- abort bridge startup and clear watchers/listeners when Telegram setup fails early

* ♻️ Share Telegram approval persistence

- move approved-user persistence into a shared Telegram settings helper
- reuse the helper from both the TUI pairing flow and the headless bridge
- keep the approval write path consistent while removing duplicated settings merge logic

* bump package.json version

---------

Co-authored-by: Ismail Pelaseyed <homanp@gmail.com>
2026-03-25 09:02:03 +01:00
Ismail Pelaseyed 1fe9cb6dbe bump version 2026-03-23 14:03:24 +01:00
Ismail Pelaseyed fc37434a2a feat: add custom sub-agents with /agents TUI and reliable interrupt (#192)
* feat: add custom sub-agents with /agents TUI and reliable interrupt

- Custom sub-agents stored in ~/.grok/user-settings.json (name, model, instruction)
- Validation against known model IDs, reserved name protection
- Injected into system prompt and available via task tool in all modes
- /agents TUI modal for browsing, adding, editing, and removing sub-agents
- Custom agent name shown in task UI instead of generic "Sub-agent"
- Foreground bash/search tools now accept abort signals for real cancellation
- Esc interrupt aligned with queue-force path for consistent cancel behavior

* fix issues found in code review
2026-03-23 08:50:35 +01:00
Ismail Pelaseyed 58cbc9c129 bump version 2026-03-22 20:06:14 +01:00
Ismail Pelaseyed c722104d6f add compaction (#183) 2026-03-21 00:03:49 +01:00
Ismail Pelaseyed bdeccafada fix lint issues (#180) 2026-03-20 21:26:22 +01:00
Ismail Pelaseyed b53967cd35 update readme and version (#178) 2026-03-20 12:19:28 +01:00
Ismail Pelaseyed 1175c39022 feat: add telegram remote control (#175)
* add support for remote controlling via telegram

* fix issues with grok search
2026-03-20 11:57:56 +01:00
Ismail Pelaseyed 8fa799727b add support for copy to clipboard (#172) 2026-03-20 00:18:59 +01:00
Ismail Pelaseyed d8a82c31e2 feat: add startup API key modal (#168)
* feat: add startup API key modal

Allow the interactive app to boot without a preconfigured API key and guide users into adding one in-app instead of exiting early. Persist explicit auth and model preferences so first-run setup and subsequent launches feel consistent.

* bump version

* format

* fix lint issues
2026-03-19 22:59:50 +01:00
Ismail Pelaseyed 92505acc66 fix: restore lost delegation code, switch CI to Bun, and clean up unused files (#163)
* feat: add background agents and background bash processes (#161)

Add async background delegation system (delegate, delegation_read,
delegation_list) for read-only research that persists to disk and
notifies the session on completion. Extend bash tool with background
mode for long-running processes (dev servers, watchers) with companion
process_logs, process_stop, and process_list tools.

Cherry-picked from a10a337 — lost during merge of cursor/agent-new-architecture-b3d5.

* feat: add prompt queuing with follow-ups UI

Allow users to submit messages while the agent is processing. Queued
messages display in a follow-ups panel above the prompt and are
processed sequentially after the current response completes.

Cherry-picked from 299023b — lost during merge of cursor/agent-new-architecture-b3d5.

* chore: switch CI to Bun, remove unused files and dead code

- Update security workflow to use Bun instead of npm (fixes ERESOLVE peer dependency conflict)
- Delete unused files: hello.py, package-lock.json, .eslintrc.js
- Remove broken ESLint config and devDependencies (lint was non-functional)
- Remove unused exports: MODEL_GROUPS, Skill interface, formatDuration

* chore: update lockfile after removing ESLint dependencies

* fix: use ref for mode color to prevent stale closure in message borders

* feat: add Biome for linting and formatting, update CI workflow

- Add Biome as linter and formatter with project-appropriate config
- Add lint, format, format:fix, and lint:fix scripts to package.json
- Rename typecheck workflow to CI, switch from npm to Bun, add format
  and lint steps alongside typecheck
- Auto-fix formatting and import ordering across all source files

* fix: improve cancellation flow and queued message editing

* fix: improve cancellation flow and prompt footer context display

* chore: update Bun version and refresh lockfile
2026-03-19 15:22:43 +01:00
Ismail Pelaseyed a07224a7f0 feat: add file tools, diff view, and markdown rendering
- Add read_file, write_file, edit_file tools with diff generation
- Inline diff viewer with line numbers, colored add/remove, and
  unmodified-lines separators (OpenCode-style)
- Lightweight markdown renderer for assistant messages: headings,
  bold, italic, inline code, code blocks, lists, blockquotes, links
- Update agent system prompts with terminal environment guidance
- Install diff package for unified diff computation

Made-with: Cursor
2026-03-18 21:23:24 +01:00
Ismail Pelaseyed 87bddb4cb3 feat: migrate to Vercel AI SDK with xAI provider
- Replace custom OpenAI client with AI SDK streamText + @ai-sdk/xai
- Add standalone search_web and search_x tools via chat completions
- Fix follow-up messages by using isProcessingRef to avoid stale closures
- Fallback message history when result.response fails after stream errors
- Remove post-response status line, adjust input padding

Made-with: Cursor
2026-03-18 19:58:09 +01:00
Ismail Pelaseyed 60035f2240 feat: redesign model picker and slash menu modals
- Remove borders, add search filtering with keyboard input
- Flat model list without category sections
- Blue accent color for current model highlight
- Fit-to-content modals with max height cap and scroll
- scrollChildIntoView for arrow key navigation
- Trim logo height by removing decorative lines
- Add accent color to theme

Made-with: Cursor
2026-03-18 15:29:00 +01:00
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
ad177ec77a Support global custom instructions from ~/.grok/GROK.md (#101)
* feat: add support for global custom instructions

* Remove comments

* Fix import syntax for fs-extra module (#112)

* Fix import syntax for fs-extra module

* Fix import syntax for fs-extra module

* Fix import syntax for fs-extra module

* Fix missing newline at end of morph-editor.ts

* Add where to set the API key in the json file (#107)

* Fix diff generation showing entire file as changed (fixes #83) (#98)

The diff preview was showing the entire file as changed when only a few
lines were actually modified. This was caused by a broken change detection
algorithm that couldn't properly handle insertions and deletions.

Replaced the naive line-matching algorithm with a proper LCS (Longest
Common Subsequence) based diff algorithm using dynamic programming. This
produces minimal, accurate diffs that match what git diff shows.

Changes:
- Added computeLCS(): Computes longest common subsequence between old/new lines
- Added extractChanges(): Extracts actual change regions from LCS table
- Updated generateDiff(): Uses LCS-based change detection instead of broken algorithm

Impact:
- Diff previews now show only actual changes (e.g., 4 lines instead of 260)
- Drastically reduces context pollution in conversation history
- Matches git diff output accuracy

🤖 Contributed by ZDS-AI (https://zds.group)

* add model migration manager and new grok models (#124)

* minor tweaks

---------

Co-authored-by: jszczypk <janusz@fide.pl>
Co-authored-by: Ben Faerber <benfaerber@protonmail.com>
Co-authored-by: Joseph Cheek <jcheek@users.noreply.github.com>
Co-authored-by: Ismail Pelaseyed <homanp@gmail.com>
2025-11-27 16:24:04 +01:00
Ismail Pelaseyed 12a799f665 fix import and shebang issues 2025-10-01 08:31:34 +02:00
Ismail Pelaseyed 23e2a50289 fix issue with node build (#92) 2025-09-30 08:12:24 +02:00
Ismail Pelaseyed 76e36188d5 fix issue with text-editor tool 2025-09-30 08:08:08 +02:00
Ismail Pelaseyed 5cb66fafac fix issue with building for bun and npm (#87) 2025-09-26 14:44:08 +02:00
Ismail Pelaseyed 4533b2543a bump sdk 2025-09-13 20:07:13 +02:00
Thomas Metcalfe 9180c4b02e fix: migrate to bun (#78)
* Convert to ES and install with bun

* Delete package-lock.json

* Update README with bun info

* Update .gitignore

* Update .npmignore

* Bump version

* Unignore package lock
2025-09-13 19:56:50 +02:00
Ismail Pelaseyed 32812bc59e bump version 2025-09-12 15:58:30 +02:00
Thomas MetcalfeandCursor Agent bd78e9e845 fix: re-enable vibekit by resolving runtime crash when using grok cli (#77)
* chore: update react and remove ink-markdown

* feat: add marked-terminal

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
2025-09-12 15:57:43 +02:00
Ismail Pelaseyed bc8a7e21d7 fix issue with multi-word processing 2025-09-12 08:51:51 +02:00
Ismail Pelaseyed a8e96bc78d minor tweaks 2025-09-12 07:42:09 +02:00
Ismail Pelaseyed 4913ab1f48 add support for initial message and grok-code-fast-1 2025-09-12 07:38:12 +02:00
Ismail Pelaseyed f9fa972130 bump deps 2025-08-05 10:28:10 +02:00
Ismail Pelaseyed d07d5f0691 bump sdk 2025-08-04 20:45:50 +02:00
Ismail Pelaseyed 3ed04b3228 fix cursor movement in chat input (#64) 2025-08-04 20:22:04 +02:00
Ismail Pelaseyed 243436d0de add a max tool round options (#63) 2025-08-04 17:50:08 +02:00
z23ccandIsmail Pelaseyed 5a4b2c8e25 feat: improve model configuration and settings management (#59)
* feat: improve model configuration and settings management

- Refactor model configuration system with unified settings approach
- Add support for user-level default models and project-level current models
- Implement automatic saving of API key and base URL from command line arguments
- Remove model descriptions for cleaner UI and easier extensibility
- Fix commander.js subcommand argument parsing with fallback mechanism
- Improve configuration file structure and priority handling
- Add comprehensive model configuration utilities in src/utils/model-config.ts

Configuration priority: project current model > user default model > system default
Both main command and git subcommand now save credentials automatically

* refactor: unify settings management

- Add SettingsManager singleton for user/project settings
- Eliminate duplicate settings code across files
- Clear separation: user settings vs project settings

* docs: improve README clarity and organization

- Simplify setup section with quick start approach
- Consolidate configuration info into unified section
- Add clear explanation of user vs project settings
- Document OpenAI-compatible API support
- Remove duplicate model configuration sections

* bump sdk

---------

Co-authored-by: Ismail Pelaseyed <homanp@gmail.com>
2025-07-31 10:07:41 +02:00
Ismail Pelaseyed 346097acab minor tweaks 2025-07-29 18:34:54 +02:00
Ismail Pelaseyed c7eacf7f37 add support for returning openai message objects in headless mode (#54) 2025-07-28 22:42:23 +02:00
Ismail Pelaseyed c4048a5926 update model config (#53) 2025-07-28 22:12:06 +02:00
Ismail Pelaseyed 2ab375111b fix issue with /exit command (#51) 2025-07-28 13:02:09 +02:00
Ismail Pelaseyed 15220294c0 bump SDK 2025-07-26 00:58:16 +02:00
Ismail Pelaseyed 9c1d82be3c feat: add support for mcp (#44)
* wip

* add support for mcp tools

* minor tweaks to shutting down app
2025-07-26 00:57:27 +02:00
Ismail Pelaseyed 9642bdaeef feat: git commands (#41)
* feat: add /commit-and-push for AI-generated commits and pushes

* fix: handle missing upstream branch in git push

* feat: add git commit-and-push subcommand with AI assistance

* feat: automate staging changes with git add in commit workflow

* chore: bump version to 0.0.12

* revert package json

* chore(release): bump version to 0.0.12
2025-07-25 00:45:30 +02:00
Ismail Pelaseyed c00feda728 feat: save selected model (#39)
* fix issues with token counting

* save selected model

* minor tweaks
2025-07-24 23:34:22 +02:00
Ismail Pelaseyed e04a6ee126 fix flickering UI in Powershell (#36)
* fix rendering issues in Ink

* fix tool names
2025-07-23 22:57:16 +02:00
Ismail Pelaseyed 5095eb636d bump sdk version (#35)
* bump sdk version

* fix security issues
2025-07-23 22:41:29 +02:00
Ismail Pelaseyed 00f8d113df fix issues with token counting (#33) 2025-07-23 14:54:47 +02:00
Ismail Pelaseyed f020b1d4d8 add support for headless mode (#31) 2025-07-23 06:30:08 +02:00
Ismail Pelaseyed 5c3ba942ea add support for ripgrep search (#30) 2025-07-23 06:19:23 +02:00
Ismail Pelaseyed 2ba6bfb831 bump cli version 2025-07-22 15:33:32 +02:00
Ismail Pelaseyed 1d45dd3d9e add support for Grok live search (#20) 2025-07-22 11:42:04 +02:00