| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
6c1f2f60-d55c-4a0c-ba5d-e897c738ecb4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
|
|
|
Amp-Thread-ID: https://ampcode.com/threads/T-019d1407-6145-7534-b780-29a2559d06c5
Co-authored-by: Amp <amp@ampcode.com>
|
|
Amp-Thread-ID: https://ampcode.com/threads/T-019d1407-6145-7534-b780-29a2559d06c5
Co-authored-by: Amp <amp@ampcode.com>
|
|
Amp-Thread-ID: https://ampcode.com/threads/T-019d1407-6145-7534-b780-29a2559d06c5
Co-authored-by: Amp <amp@ampcode.com>
|
|
Amp-Thread-ID: https://ampcode.com/threads/T-019d1407-6145-7534-b780-29a2559d06c5
Co-authored-by: Amp <amp@ampcode.com>
|
|
Amp-Thread-ID: https://ampcode.com/threads/T-019d1407-6145-7534-b780-29a2559d06c5
Co-authored-by: Amp <amp@ampcode.com>
|
|
|
|
|
|
|
|
|
|
|
|
Add deprecation notices across hexai-mcp-server codebase and documentation.
The MCP server is now considered experimental and not actively maintained,
as prompts are managed through slash commands and meta-commands instead.
Changes:
- Add runtime deprecation warning to stderr on binary startup
- Mark feature as deprecated in README.md
- Add deprecation notices to all 8 MCP documentation files
- Add deprecation log message to run.go
- Update Magefile.go build comment
The code remains fully functional but warns users of its experimental status.
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
Amp-Thread-ID: https://ampcode.com/threads/T-019c50bc-2906-77db-a31e-0d553338d99b
Co-authored-by: Amp <amp@ampcode.com>
|
|
This change moves built-in meta-prompts (save_prompt, update_prompt) from
external JSONL files into compiled Go code, making them always available
and version-controlled with the binary.
Changes:
- Add default_prompts.go with built-in meta-prompt definitions
- Update store to load built-ins from code, not files
- Add protection: built-ins cannot be updated/deleted
- Handle name conflicts: built-ins take precedence with warnings
- Update docs to reflect new architecture (no default.jsonl needed)
- Add comprehensive tests for built-in protection
- Add hexai-mcp-server binary to .gitignore
Benefits:
- Built-ins always in sync with binary version
- No setup required (no default.jsonl to manage)
- Clear separation between built-in and user prompts
- Protection prevents accidental modification of meta-prompts
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
Update all documentation to reflect new directory structure:
- Cache: ~/.local/hexai/cache/
- State: ~/.local/hexai/state/
- Data: ~/.local/hexai/data/
Updated files:
- README.md
- docs/mcp-setup.md
- docs/mcp-prompts.md
- docs/mcp-managing-prompts.md
- docs/mcp-features-summary.md
- docs/mcp-automatic-backups.md
- docs/mcp-server-complete.md
Amp-Thread-ID: https://ampcode.com/threads/T-019c4e03-73db-70a2-ae27-3e1cc31d59c3
Co-authored-by: Amp <amp@ampcode.com>
|
|
The MCP stdio protocol uses newline-delimited JSON (JSONL), not LSP-style
Content-Length headers. This was discovered during integration testing with
Claude Code CLI which could not connect to the server.
Also updates docs/mcp-setup.md with correct Claude Code CLI configuration
(use `claude mcp add` instead of editing JSON files) and adds integration
test runbook for testing against real Claude Code CLI instances.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Implements a full Model Context Protocol (MCP) server for managing and serving prompts
to LLM applications. The server provides CRUD operations for prompts with automatic
backups and template rendering support.
Key additions:
- cmd/hexai-mcp-server: Main MCP server binary entrypoint
- internal/hexaimcp: Server orchestrator with configuration and setup
- internal/mcp: Core MCP protocol implementation (JSON-RPC 2.0)
- internal/promptstore: Prompt storage with JSONL backend and automatic backups
- Comprehensive test suites achieving 80%+ coverage for all MCP packages
- Magefile targets for building and installing the MCP server
- Complete documentation for setup, API, prompts, and backups
Test coverage:
- internal/hexaimcp: 84.3%
- internal/mcp: 80.3%
- internal/promptstore: 81.2%
- Overall project: 81.5%
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
hexai-tmux-edit was opening in the wrong directory because the tmux
popup wasn't being told which directory to use. This fix:
- Updates bind-key example to cd into pane's current path
- Passes working directory to popup via -d flag using os.Getwd()
- Updates all documentation with corrected bind-key examples
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
|
|
Co-authored-by: Cursor <cursoragent@cursor.com>
|
|
Claude Code's prompt input field does not support vim commands for
clearing. The previous sequence 'Escape gg C-v G d i' resulted in
literal text 'gGdijo' appearing in the prompt instead of clearing it.
Changed to 'C-a C-k' (Emacs/readline style):
- C-a: Move cursor to start of line
- C-k: Kill (delete) from cursor to end of line
Also added 150ms delay after Escape key in sendClearSequence to ensure
mode transitions complete before subsequent keys are sent (though Claude
uses readline, this helps other potential vim-based agents).
Changes:
- internal/tmuxedit/claude_agent.go: clearKeys "C-a C-k" instead of vim
- internal/tmuxedit/claude_agent_test.go: Update test expectations
- internal/tmuxedit/agentutil.go: Add time import and Escape delay
- docs/usage.md: Update claude clear method documentation
- docs/tmux.md: Clarify claude uses readline not vim
- config.toml.example: Update claude description
Integration tested:
- Extracted: "final verification test"
- Sent: "FINAL REPLACED TEXT NO VIM COMMANDS"
- Result: Clean replacement with NO vim command artifacts
- All unit tests pass (67/67)
- Coverage: 80.9%
Co-authored-by: Cursor <cursoragent@cursor.com>
|
|
Amp CLI runs in TUI mode with box-drawing UI (│ text │) similar to
Cursor, not shell-style (> prompt). Updated prompt pattern from
`(?m)>\s*(.+)$` to `(?m)│\s*(.+?)\s*│\s*$` to correctly extract
text from amp's box UI.
Changes:
- internal/tmuxedit/config_agent.go: Update amp promptPat to box pattern
- internal/tmuxedit/config_agent_test.go: Update test to use box format
- docs/usage.md: Document detection order and clear methods for all agents
- docs/tmux.md: Clarify input mode handling (Vim vs Emacs/readline)
- config.toml.example: Add detailed agent descriptions and patterns
- prompts/tmux-edit-integration-tests.md: Add test status, mock editor best practices
Integration tests verified:
- Amp detection: amp/sourcegraph keywords
- Prompt extraction: "hello world test" correctly captured
- End-to-end workflow: text modification and sending works
- Multi-line support: all lines delivered correctly
- All unit tests pass (67/67)
- Coverage: 80.9% (meets requirement)
- Cursor and Claude implementations unchanged
Co-authored-by: Cursor <cursoragent@cursor.com>
|
|
Replace monolithic AgentConfig struct with an Agent interface backed by
baseAgent defaults and separate implementations for cursor (box-drawing
extraction, bulk backspace clearing) and claude (section-scoped extraction
with continuation lines, vim clearing). Simple agents (amp, aider) and
user-defined agents use configAgent with baseAgent defaults.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Include demo screenshots from the original blog post showing the popup
editor overlay and the result after text is sent back to the agent.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
Update README, build guide, configuration guide, usage guide, and tmux
guide with hexai-tmux-edit popup editor documentation including supported
agents, keybinding setup, flags, workflow, and configuration examples.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
to 80%
Introduce support for a .hexaiconfig.toml file at the git repository root
that selectively overrides the global config. Precedence order:
defaults → global config → project config → env vars.
Also lower the coverage threshold from 85% to 80%.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
|
|
|
|
|
Update coverage.out and coverage.html to reflect the current codebase
without GitHub Copilot files. This eliminates the "no such file or
directory" error when running mage install.
Co-authored-by: Cursor <cursoragent@cursor.com>
|
|
Remove all GitHub Copilot integration from the codebase to streamline
the supported provider set to OpenAI, OpenRouter, Anthropic, and Ollama.
Changes:
- Delete core Copilot implementation (copilot.go) and all related tests
- Remove Copilot configuration fields from App struct and Config
- Remove Copilot from provider factory and API key handling
- Update all test files to replace Copilot references with other providers
- Remove Copilot documentation from README, configuration guide, and examples
- Remove Copilot section from config.toml.example
All tests pass successfully after removal.
Co-authored-by: Cursor <cursoragent@cursor.com>
|
|
Local LLMs (LM Studio, Ollama, etc.) often need more than the default
30-second timeout. Added request_timeout config option (in seconds)
to [general] section and HEXAI_REQUEST_TIMEOUT env var.
Original constructor signatures preserved via *WithTimeout variants,
so no test changes required.
|
|
|
|
|
|
|
|
|
|
|
|
|