summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2026-03-10Bump version to 0.20.2v0.20.2Paul Buetow
2026-03-10task 80330fc4: deduplicate default config path helperPaul Buetow
2026-03-10task dac9b1e5: avoid LSP startup panic on StateDir failurePaul Buetow
2026-03-10task bf088a70: extract LSP client and completion statePaul Buetow
2026-03-02release: v0.20.1v0.20.1Paul Buetow
2026-03-02hexaiaction: replace global action state with Runner struct (task 406)Paul Buetow
2026-03-02hexaicli: move column printer into internal/termprint package (task 406)Paul Buetow
2026-03-02lsp: inject StatusSink to decouple core from tmux package (task 407)Paul Buetow
2026-03-02appconfig: return toml raw-unmarshal errors instead of ignoring (task 409)Paul Buetow
2026-03-02io: use errors.Is for EOF checks in lsp and mcp servers (task 409)Paul Buetow
2026-03-02llm: extract shared doJSON and logStart helpers (task 409)Paul Buetow
2026-03-02gotest: extract Go codegen heuristics from lsp handlers (task 406)Paul Buetow
2026-03-02hexailsp: add ConfigurableServerRunner for runtime ApplyOptions (task 408)Paul Buetow
2026-03-02lsp: use appconfig.CustomAction directly for custom actions (task 411)Paul Buetow
2026-03-02hexaiaction: use sectioned config interface instead of full App (task 409)Paul Buetow
2026-03-02mcp: depend on SlashCommandSyncer interface instead of concrete type (task 410)Paul Buetow
2026-03-02lsp: decompose tryLLMCompletion orchestration helpers (task 415)Paul Buetow
2026-03-02lsp: decompose resolveGoTest workflow into helpers (task 416)Paul Buetow
2026-03-02hexaicli: decompose runCLIJobs and runChat helpers (task 417)Paul Buetow
2026-03-02lsp: decompose detectAndHandleChat into focused helpers (task 418)Paul Buetow
2026-03-02llmutils: remove remaining default-model wrappers in callers (task 413)Paul Buetow
2026-03-02lsp: cancel handler contexts on shutdown via server context (task 423)Paul Buetow
2026-03-02lsp: use context-mode registry for additional context dispatch (task 408)Paul Buetow
2026-03-02remove planPaul Buetow
2026-03-02appconfig: split App into focused section helpers (task 406)Paul Buetow
2026-03-02lsp: extract completion/chat/codeaction server subtypes (task 406)Paul Buetow
2026-03-02lsp: make exit flag atomic to avoid data race (task 406)Paul Buetow
2026-03-02lsp: handle code action payload marshal errors (task 406)Paul Buetow
2026-03-02lsp: simplify ServerOptions to config-first model (task 410)Paul Buetow
2026-03-02lsp: return cleanly on exit and propagate runner errors (task 410)Paul Buetow
2026-03-02llmutils: centralize provider normalization and client setup (task 410)Paul Buetow
2026-03-02codeaction: add Build/Resolve handler registries (task 410)Paul Buetow
2026-03-02llm: add provider registry and self-registration factories (task 410)Paul Buetow
2026-03-02appconfig: split config module and decompose oversized funcs (task 406)Paul Buetow
2026-02-22docs: clarify Codex uses native Ctrl+G external editorPaul Buetow
2026-02-13chore: deprecate hexai-mcp-server as experimentalPaul Buetow
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>
2026-02-12also ignore /hexaiPaul Buetow
2026-02-12updatePaul Buetow
2026-02-12chore: add hexai-prompt to .gitignorePaul Buetow
Prevents the file from being accidentally committed after being purged from history. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-12feat: add design_prompt meta-prompt for implementation planningPaul Buetow
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-12Rename hexai-lsp command to hexai-lsp-serverPaul Buetow
Amp-Thread-ID: https://ampcode.com/threads/T-019c50bc-2906-77db-a31e-0d553338d99b Co-authored-by: Amp <amp@ampcode.com>
2026-02-12feat: add automatic MCP prompt to slash command syncingPaul Buetow
Adds optional syncing of MCP prompts to Markdown slash command files for AI agents that don't yet support MCP prompts (e.g., Cursor IDE). Features: - Syncs prompts on create/update/delete operations - Configurable via TOML config, environment vars, or CLI flags - Backfill support with --sync-all flag - Thread-safe atomic file writes - Non-fatal sync failures (logged but don't break operations) - Comprehensive test coverage (81.1% total) Configuration: - Config: [mcp] slashcommand_sync = true, slashcommand_dir = "~/.cursor/commands" - Env: HEXAI_MCP_SLASHCOMMAND_SYNC, HEXAI_MCP_SLASHCOMMAND_DIR - CLI: --slashcommand-sync, --slashcommand-dir, --sync-all Fixes config merging bug where project config would reset global MCP settings. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-11chore: bump version to 0.20.0Paul Buetow
2026-02-11fix: simplify meta-prompts to not require programmatic prompt fetchingPaul Buetow
Update update_prompt and delete_prompt meta-prompts to work without requiring Claude to programmatically fetch prompts via prompts/get (which isn't available as a callable tool in the MCP client). Changes: - delete_prompt: Simplified to just ask for confirmation without fetching - update_prompt: Ask what changes to make without fetching current version - Removed duplicate/confusing instructions - More direct workflow: confirm → execute tool This fixes the issue where Claude would try to use listMcpResources or other incorrect APIs when trying to follow the meta-prompt instructions. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-11fix: clarify prompt retrieval method in meta-promptsPaul Buetow
Update update_prompt and delete_prompt meta-prompts to explicitly instruct Claude to use "prompts/get" instead of vague "access via prompts capability". This prevents Claude from incorrectly trying to use the resources API. Changes: - update_prompt: "use prompts/get to retrieve the current prompt" - delete_prompt: "use prompts/get to retrieve the prompt and show details" Fixes issue where Claude would try to access "plugin:hexai-prompts" resources instead of using the correct prompts/get method on the hexai-prompts server. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-11feat: add delete_prompt built-in meta-promptPaul Buetow
Adds a third built-in meta-prompt for interactively deleting custom prompts with confirmation. This completes the prompt management trilogy (save, update, delete). Changes: - Add delete_prompt meta-prompt with prompt_name argument - Interactive workflow: show prompt → confirm → delete via delete_prompt tool - Update test to expect 3 built-in prompts (was 2) - Includes safety notes about built-in prompts and backups The meta-prompt ensures users see what they're deleting and must explicitly confirm before the delete_prompt tool is called. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-11feat: add MCP Tools support for prompt managementPaul Buetow
Implements tools/list and tools/call endpoints to expose prompt management operations (create, update, delete) as callable MCP tools. This enables Claude to use the meta-prompts (save_prompt, update_prompt) to actually create and modify prompts. Key changes: - Add Tool type definitions (Tool, ListToolsRequest, CallToolRequest, etc.) - Implement handleToolsList() returning 3 tools with JSON Schemas - Implement handleToolsCall() with tool wrappers for create/update/delete - Add 17 comprehensive unit tests (82.8% coverage maintained) - Update meta-prompts to reference tools instead of JSON-RPC methods - Enable listChanged notifications for immediate prompt availability - Refactor large functions into helpers to stay under 50-line limit Tools advertised alongside Prompts capability. All functions under 50 lines. Backward compatible - existing prompts/* JSON-RPC methods unchanged. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-11refactor: compile built-in prompts into binary instead of external filesPaul Buetow
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>
2026-02-11docs: update all paths to consolidated .local/hexai directoryPaul Buetow
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>
2026-02-11refactor: consolidate cache and state into .local/hexai directoryPaul Buetow
Move all cache and state files under ~/.local/hexai/ with subdirectories: - ~/.local/hexai/cache/ (was ~/.cache/hexai/) - ~/.local/hexai/state/ (was ~/.local/state/hexai/) - ~/.local/hexai/data/ (was ~/.local/share/hexai/) This centralizes all non-config hexai files under a single .local/hexai directory, making it easier to manage and back up user data. Amp-Thread-ID: https://ampcode.com/threads/T-019c4e03-73db-70a2-ae27-3e1cc31d59c3 Co-authored-by: Amp <amp@ampcode.com>