-
Notifications
You must be signed in to change notification settings - Fork 0
Release: v7.0.1 #378
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Release: v7.0.1 #378
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Layer 0 of hybrid email strategy — himalaya-vim + ~50-line Lua AI wrapper. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add HIMALAYA-SETUP.md with prerequisites, quick start, keybind reference, AI wrapper usage, and troubleshooting. Update orchestration plan to reflect completed Phase 1, 2, and 4 tasks (mountaineer.nvim archived, not usable). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Automated suite (36 assertions): prerequisites, file existence, plugin spec, AI wrapper module, keymaps, Neovim headless loading, and documentation. Interactive suite (22 guided tests): live email operations, AI actions, floating windows, and which-key integration. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Replace classify with TL;DR + decision prompt, add external config file (~/.config/himalaya-ai/config.lua) for backend/obsidian settings, and add new result split keybinds: paste into reply (p), send to Obsidian (o), re-run with edited prompt (r), append to file (a). Update setup guide to document v2 features and config options. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Adds :HimalayaAi umbrella command with 5 subcommands: - status: dashboard showing backend, vault, prompts, config state - prompts: interactive buffer with e/v/q keybinds - edit: vsplit config.lua with BufWritePost auto-reload - validate: test-run prompts against current buffer or sample email - set: change backend/vault/save_dir/format with validation + persist Implementation complete in ~/.config/nvim/lua/himalaya-ai.lua with context-aware tab completion for all subcommands and arguments. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix stale classify→tldr references, update floating window→vsplit checks. Add automated tests for config validation, v2 functions, and headless command registration/completion. Add interactive dogfooding tests for :HimalayaAi commands, result split keybinds (o/r/a/p), and tab completion. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…rompt brainstorm Telescope was not installed, causing E5108 on folder picker (gm). Switch himalaya_folder_picker to "native" (zero deps). Update tests to be picker-agnostic. Add brainstorm doc for interactive AI prompts. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Add vim.ui.input gate on draft_reply (asks for instructions before generating). Add new M.compose() action with <leader>mw keybind. Configurable per-action via ask_before table. Fix persist_config same-value bug. 64 automated tests passing (9 new v3 tests), 42 interactive tests (7 new). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Update display test from vsplit to configurable open_display_buffer - Add result_display to set key completion test (5 keys now) - Add result_display values test (split/tab) - Fix unused result_win variable and long line luacheck warnings Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add TEST 29-30: set result_display tab + verify tab mode - Add TEST 45: result_display tab completion (split/tab) - Update TEST 44 expected to include result_display key - Renumber tests 29-42 → 31-44 to accommodate new tests - Total: 45 interactive tests, 65 automated tests Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add :HimalayaAi set command reference with all 5 settings - Document result_display split/tab option - Update folder picker default from telescope to native - Update troubleshooting for native/telescope/fzf-lua picker options Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Track CURRENT_TEST name before each test - Record failed/skipped test names in arrays - Display failed and skipped test names in summary - Enables identifying which tests need attention Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
New result split keybinds: - e: toggle editable (edits apply to y/s/a/o/p via get_buf_text) - c: revise with instruction (AI re-runs with revision prompt) - n: next action chain (pick action + source: email or AI result) - t: send to todo (Obsidian daily note or macOS Reminders) New global keybinds: - <leader>mp: prompt picker (vim.ui.select all actions) - <leader>mi: AI status info (shortcut for :HimalayaAi status) Config additions: - todo_target setting (obsidian/reminders/ask) with :HimalayaAi set - Tab completion for todo_target values Refactored all result keybinds to use get_buf_text() for dynamic buffer reads, enabling edit-then-save workflows. Tests: 76 automated (all pass), 60 interactive Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Tests open_result() entirely headlessly via nvim -l: - Buffer state: buftype, modifiable, filetype, wrap, linebreak - All 13 keybinds registered (q/Esc/y/s/f/a/o/r/p/e/c/n/t) - 'e' toggle: modifiable flips on/off correctly - 'y' copy: get_buf_text() picks up edits after 'e' toggle - 'c' revise: mocked vim.ui.input, verifies prompt includes current buffer text + revision instruction + "(revised)" title - 'n' chain: mocked vim.ui.select, verifies two-stage picker (action + source), both "Original email" and "Current AI result" - 't' todo: mocked selects + io.open, verifies action item filtering (list lines only) and file write - Conditional: r/p absent without context, e/c/n/t always present Expose open_result as M._open_result for test access. Integrated into automated test runner (77 total, all pass). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Rewrite HIMALAYA-SETUP.md with all v4 keybinds, width patch, runtime settings, and troubleshooting - Add REFCARD-HIMALAYA.md quick reference card (all keybinds, commands, settings, common workflows) - Add tutorial 33: step-by-step email in Neovim with AI actions - Add Email nav section to mkdocs.yml - Add email card to index.md landing page Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Merge duplicate email cards in index.md into single combined card - Remove duplicate Email nav section in mkdocs.yml (kept dev's with Neovim entries) - Fix save_dir setting description (path for file saves, not vault subfolder) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add platform detection (macOS/Obsidian/Reminders) to interactive tests - Auto-skip tests 32/54/55 when required apps not available - Add error handling section to automated tests (malformed config, empty lines, nil context, missing config file) - Add edge case tests to headless Lua suite (cancellation flows, empty input, partial context, config defaults) - Automated: 83/83 passing, Headless Lua: 83/83 passing Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Restore original HIMALAYA-SETUP.md (CLI setup with OAuth2, proxy, Keychain, LaunchAgent) that was accidentally overwritten - Create separate HIMALAYA-NVIM-SETUP.md for Neovim AI email guide - Move ORCHESTRATE-nvim-himalaya.md to docs/specs/ (planning artifact) - Update mkdocs nav, index.md, refcard, tutorial cross-references - Add file-existence guards to all 3 test suites so they skip gracefully when ~/.config/nvim/lua/himalaya-ai.lua is not present (CI, other machines) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
feat: Neovim himalaya email integration with AI wrapper
- CLAUDE.md: test file count 148 → 181 - .STATUS: session updated, nvim-himalaya marked merged - CHANGELOG.md: added v7.0.0 entry (email dispatcher + nvim integration) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- MASTER-ARCHITECTURE.md: add em dispatcher to diagram (12→13), add himalaya CLI to Layer 0 integrations, bump version to v7.0.0 - REFCARD-EMAIL-DISPATCHER.md: add Neovim setup cross-link - REFCARD-HIMALAYA.md: add CLI dispatcher and tutorial cross-links - EMAIL-TUTORIAL.md: add tip callout linking to Neovim tutorial - 33-himalaya-email.md: add CLI email tutorial to Next Steps Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- package.json: 7.0.0 → 7.0.1 - CLAUDE.md: version + last updated - CHANGELOG.md: v7.0.1 entry (himalaya nvim docs, architecture fixes) - index.md, MASTER-ARCHITECTURE, MASTER-DISPATCHER-GUIDE, REFCARD-EMAIL-DISPATCHER: version stamps updated Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
Changes since v7.0.0
Test plan
./tests/run-all.sh— 45/45 passingmkdocs build --strict— 0 warnings🤖 Generated with Claude Code