Merged
Conversation
- Add instructions TEXT column to projects table with migration - Update Project struct with Instructions field - Update CRUD functions (Create, Update, List, GetByName) to include instructions - Add textarea input for instructions in settings UI form - Handle focus navigation between name, path, aliases, and instructions fields The instructions field allows users to add project-specific instructions that can be provided to AI when working on tasks for that project. Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
When the list filter is focused, keyboard shortcuts (like 's' for settings) were intercepting key events before the filter input could process them. Now we check list.SettingFilter() and pass all keys to the list when filtering. 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
Users can now type to filter/quick-select options for project, type, and priority fields. Uses huh's built-in Filtering(true). 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
Add LocalTime type that wraps time.Time and converts from UTC to local timezone when scanning from SQLite. This ensures timestamps display in the user's local time rather than UTC. 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
- Improved NEEDS_INPUT detection in executor to scan all output lines, not just the last line - Added 'question' log type to store the agent's question - Retry view now displays the question when available, making it clear what input is needed - Added GetLastQuestion() to retrieve the most recent question for a task - Added tests for NEEDS_INPUT detection and question retrieval This enables agents to pause execution and request human input when they encounter ambiguous requirements or need clarification. 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
- Background executor runs as separate daemon process (task daemon) - Auto-starts daemon when running task -l - daemon stop/status commands for management - Parallel task execution (multiple tasks run concurrently) - Retry preserves full history instead of clearing logs - Fix list filtering (pass FilterMatchesMsg to list Update) - Capture full multi-line output from Claude/Crush - Add projects from database to task form - DB migration for project instructions column - New UI components: dashboard, watch, filebrowser, memories, styles - Config, GitHub client, hooks modules - Makefile and install script 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
- Add project_memories table schema with categories (pattern, context, decision, gotcha, general) - Implement CRUD operations for memories in db package - Add memories UI accessible via 'm' key with project filtering - Inject project memories into executor prompts for task context - Add comprehensive tests for memory operations - Update AGENTS.md with memories documentation 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
- memories.go: TUI for viewing/editing project memories - memories_test.go: Comprehensive tests for memory CRUD operations - AGENTS.md: Document project memories feature and usage 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
Add the updateMemories function that was referenced but not defined in the previous commit. 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
- Press 'a' to toggle between active and all tasks - Shows '×' icon for closed tasks in the list - Title changes to "Tasks (all)" when viewing all tasks 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
Allow users to interrupt running tasks via 'i' key from dashboard or watch view. The interrupt cancels the context and sets status to interrupted in DB for cross-process communication. 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
Typing numbers in the task list view filters/jumps to tasks: - Exact ID match selects that task in the full list - Partial match filters list to tasks whose ID starts with the digits - Backspace removes digits from filter - Escape clears the filter - Title shows current filter as "Tasks [#123]" 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
When a task is retried with user feedback, the executor now includes the conversation history (questions asked and user responses) in the prompt. This allows the AI to properly continue from where it left off. - Added getConversationHistory() to extract Q&A from task logs - Modified buildPrompt() to include history for all task types - Added tests for conversation history handling 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
The execution log now automatically scrolls to the bottom when new content arrives, but only if the user was already viewing the bottom. If the user has scrolled up to review earlier logs, their position is preserved. 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
Tasks now go through a triage step before execution if they are missing project/type or have sparse descriptions. The triage process uses Claude to: - Determine appropriate project and task type - Enhance vague task descriptions with acceptance criteria - Check project instructions for special processing requirements - Block tasks that need more information from the user Also adds project instructions support - projects can now have custom instructions that are included in both triage and execution prompts. 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
Add GotoBottom() calls after setting viewport content in both initViewport() and SetSize() so the execution log always starts showing the most recent entries. 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
Reduce complexity by consolidating statuses: - pending/interrupted → backlog - queued/triaging/processing → in_progress - ready/closed → done - blocked remains unchanged The previous 8-status model added unnecessary complexity. Now: - backlog: tasks not yet started - in_progress: executor is working on it - blocked: needs user input - done: completed 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
Changed ColorInProgress from #B8A56A to #9C9265 for a less prominent, more muted appearance in the TUI. 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
Use lipgloss.Height() to measure the actual rendered help height instead of hardcoding helpHeight=2. This correctly recalculates the kanban board height when pressing ? to expand/collapse help. 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
Add comprehensive tests for GetProjectByPath function that detects which project the user is in based on their current working directory. Also improve UI responsiveness when queueing or closing tasks from the detail view by updating the task status immediately in the UI before the database operation completes. 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
- Send TASK_CWD env var from client to server over SSH session - Extract working directory in SSH handler for project auto-detection - Add GetEnvValue helper with tests - Add theme configuration support 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
- Add theme.go with configurable color schemes - Update styles.go to use OneDark-inspired colors - Use theme colors for selected card in kanban 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
- Add theme section to settings view with horizontal theme picker - Navigate themes with arrow keys or tab between sections - Theme changes apply immediately and persist to database - Load saved theme on app startup - Add comprehensive tests for theme functionality Available themes: onedark (default), nord, gruvbox, catppuccin, default 💘 Generated with Crush Assisted-by: Claude Opus 4.5 via Crush <crush@charm.land>
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
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.
No description provided.