-
Notifications
You must be signed in to change notification settings - Fork 0
feat: TUI state persistence, new commands, and non-interactive improvements #11
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
base: main
Are you sure you want to change the base?
Conversation
…ements ## TUI State Persistence - Add configuration properties for remembering TUI state across sessions - remember_tui_state: master toggle (default: true) - tui_tree_view: persist tree/flat view preference - tui_last_view_item: persist selected repo/project/assignee - Restore view state on TUI startup - Save state on navigation (arrow keys, tree toggle) - Reset saved item when switching view modes (Tab key) - Fix bug where --repo flag always overwrote restored state - Update config display to show TUI persistence settings - Change tree toggle key from 'r' to 't' in help text ## New Commands - add-link: Add URLs to task links - Usage: tsk add-link <task_id> <url> - Validates HTTP/HTTPS URLs - append: Append text to task descriptions - Usage: tsk append <task_id> --text "content" - update: Batch update task fields - Usage: tsk update <task_ids> [--priority/--status/--project/etc] - Supports: priority, status, project, tags, assignees, due date, title ## Non-Interactive Terminal Detection - Add sys.stdin.isatty() checks across commands - delete: require --force flag in non-interactive mode - done: auto-confirm subtask marking in non-interactive mode - unarchive: auto-confirm subtask operations in non-interactive mode - sync: add --non-interactive flag to skip unexpected file prompts ## Archive Command Enhancement - Add --all-completed flag to archive all completed tasks at once - Usage: tsk archive --all-completed [--repo <name>] ## Sync Command Improvements - Add run_git_verbose() for interactive git operations - Implement SimpleSyncProgress for safer terminal output - Better handling of prompts and credential helpers - Improved display of unexpected files during sync 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Code Review - PR #11Thank you for this comprehensive PR! This adds several valuable features to TaskRepo. Below is my detailed review covering code quality, potential issues, performance, security, and testing. ✅ Strengths1. Well-Structured New CommandsThe three new commands ( 2. TUI State PersistenceThe implementation is clean with proper configuration management through properties and sensible defaults ( 3. Non-Interactive Mode ImprovementsGood safety-first approach requiring 4. Sync Command RefactoringThe switch from Rich's 🐛 Potential Bugs & IssuesHIGH PRIORITY1. Type Error in
|
Summary
This PR adds several major improvements to TaskRepo:
🎯 TUI State Persistence
The TUI now remembers your preferences across sessions:
Configuration:
remember_tui_state: Master toggle (default: true)tui_tree_view: Tree view preferencetui_last_view_item: Last selected view itemBug fixes:
--repoflag always overwriting restored state📝 New Commands
tsk add-link- Add URLs to taskstsk add-link 5 "https://github.com/org/repo/issues/123"tsk append- Append text to task descriptionstsk append 5 --text "Additional note from meeting"tsk update- Batch update task fields🤖 Non-Interactive Mode
Better support for automation and CI environments:
delete: Requires--forceflag in non-interactive terminalsdone/unarchive: Auto-confirms subtask operationssync: New--non-interactiveflag to skip prompts✨ Other Improvements
--all-completedflag to bulk-archive completed tasksTesting
🤖 Generated with Claude Code