-
Notifications
You must be signed in to change notification settings - Fork 0
feat(cli): TaskFlow CLI Phase 1 - Core Implementation #1
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
Conversation
…hase 1 kickoff prompt
…and tests, alongside an updated .gitignore.
- Add comprehensive CLI documentation (docs/README.md) - Add quickstart guide (quickstart.md) - Fix audit commands using wrong storage path (was $HOME/.taskflow) - Fix interactive mode fallback storage path - Add default user creation on init (--user flag or @default-user) - Set current_user in demo for post-demo usability - Ensure default project exists after demo - Fix task list table column widths for title visibility - Update tests to expect default user behavior 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR implements Phase 1: TaskFlow CLI Core - a command-line interface proving human-agent parity in task management. The implementation includes comprehensive TDD methodology with 278 passing tests, full audit trail support, and interactive REPL mode.
Key Changes:
- Complete CLI implementation with 10+ commands for task, worker, and project management
- TDD-driven development with RED→GREEN→REFACTOR cycle covering all user stories
- Human-agent parity demonstration through unified worker interface
- Full audit trail for accountability across human and agent actions
Reviewed changes
Copilot reviewed 53 out of 56 changed files in this pull request and generated 10 comments.
Show a summary per file
| File | Description |
|---|---|
specs/001-cli-core/tasks.md |
Comprehensive task breakdown (137 tasks) following TDD methodology with clear phase dependencies |
specs/001-cli-core/spec.md |
Feature specification with 40 functional requirements, 8 user stories, and clear success criteria |
specs/001-cli-core/plan.md |
Detailed implementation plan with 3-sprint structure, architecture diagrams, and data models |
specs/001-cli-core/checklists/requirements.md |
Requirements quality validation checklist showing 9.0/10 score and readiness for planning |
research/prompts/phase1_kickoff.md |
Updated kickoff prompt with structured execution plan and behavioral instructions |
research/DIRECTIVES.md |
Updated directives focusing on core path implementation rather than time constraints |
packages/cli/tests/*.py |
Comprehensive test suite (13 test files) covering models, storage, commands, and workflows |
All specification and planning documents are well-structured and follow best practices for TDD and human-agent parity principles. The test files demonstrate thorough coverage of the CLI functionality with clear test organization by feature area.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
packages/cli/tests/test_audit.py
Outdated
| storage.add_worker(worker) | ||
|
|
||
| # Log action | ||
| log = log_action(storage=storage, action="completed", actor_id="@sarah", task_id=1) |
Copilot
AI
Dec 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Variable log is not used.
packages/cli/tests/test_demo.py
Outdated
| # The .taskflow directory should still exist (for init) | ||
| # but demo workers/tasks should be removed | ||
| workers = storage.list_workers() | ||
| tasks = storage.list_tasks() |
Copilot
AI
Dec 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Variable tasks is not used.
packages/cli/tests/test_demo.py
Outdated
| # but demo workers/tasks should be removed | ||
| workers = storage.list_workers() | ||
| tasks = storage.list_tasks() | ||
| projects = storage.list_projects() |
Copilot
AI
Dec 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Variable projects is not used.
|
|
||
| def test_status_shows_project(self, temp_taskflow): | ||
| """Test that status shows current project.""" | ||
| tmp_path, storage = temp_taskflow |
Copilot
AI
Dec 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Variable tmp_path is not used.
|
|
||
| def test_status_shows_project(self, temp_taskflow): | ||
| """Test that status shows current project.""" | ||
| tmp_path, storage = temp_taskflow |
Copilot
AI
Dec 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Variable storage is not used.
|
|
||
| def test_status_shows_worker(self, temp_taskflow): | ||
| """Test that status shows current worker.""" | ||
| tmp_path, storage = temp_taskflow |
Copilot
AI
Dec 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Variable tmp_path is not used.
|
|
||
| def test_status_shows_worker(self, temp_taskflow): | ||
| """Test that status shows current worker.""" | ||
| tmp_path, storage = temp_taskflow |
Copilot
AI
Dec 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Variable storage is not used.
|
|
||
| def test_status_empty_state(self, temp_taskflow): | ||
| """Test status with no tasks or activity.""" | ||
| tmp_path, storage = temp_taskflow |
Copilot
AI
Dec 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Variable tmp_path is not used.
|
|
||
| def test_status_empty_state(self, temp_taskflow): | ||
| """Test status with no tasks or activity.""" | ||
| tmp_path, storage = temp_taskflow |
Copilot
AI
Dec 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Variable storage is not used.
| """ | ||
|
|
||
| import shlex | ||
| from pathlib import Path |
Copilot
AI
Dec 7, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Import of 'Path' is not used.
| from pathlib import Path |
- Remove unused Path import from interactive.py - Fix line length issues by shortening error messages - Remove unused variable assignments in tests - Shorten docstring to fit line limit 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Interactive mode now creates the .taskflow directory and history.txt file proactively using mkdir(parents=True) and touch(exist_ok=True). This prevents FileNotFoundError when the directory doesn't exist. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Clarify difference between audit IDs and task IDs - Add "Understanding Audit IDs vs Task IDs" section - Document two types of notes (description vs progress notes) - Add demo --no-cleanup to command reference - Include interactive mode shortcuts (taskflow i) - Add due dates commands reference - Better examples showing audit list --task workflow - Add Running the Demo section 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Summary
Complete TaskFlow CLI Phase 1 implementation with human-agent parity, full audit trail, and comprehensive documentation.
Features Implemented
Bug Fixes in This PR
$HOME/.taskflow→ current directory)UX Improvements
initnow creates a default user automatically (@default-useror--user @name)demo --no-cleanupnow sets current user for immediate post-demo usageDocumentation
docs/README.md)quickstart.md)Test Coverage
Test Plan
uv run pytest- all 278 tests passtaskflow init,add,list,demo🤖 Generated with Claude Code