- Added missing <verify> element to Plan 06-05 - Created Plan 06-07 for help system gap - Created Plan 06-08 for exit command gap - Now addresses all 4 gaps identified by checker
148 lines
4.8 KiB
Markdown
148 lines
4.8 KiB
Markdown
---
|
|
phase: 06-cli-interface
|
|
plan: 07
|
|
type: execute
|
|
wave: 1
|
|
depends_on: []
|
|
files_modified: [src/app/__main__.py]
|
|
autonomous: true
|
|
gap_closure: true
|
|
|
|
must_haves:
|
|
truths:
|
|
- "Help system shows comprehensive command documentation and usage examples"
|
|
artifacts:
|
|
- path: "src/app/__main__.py"
|
|
provides: "CLI help system with command documentation"
|
|
contains: "help command implementation with detailed command descriptions"
|
|
key_links:
|
|
- from: "src/app/__main__.py"
|
|
to: "help command"
|
|
via: "CLI command handler for /help or --help"
|
|
pattern: "def.*help|/help|--help"
|
|
---
|
|
|
|
<objective>
|
|
Implement comprehensive CLI help system with command documentation and usage examples
|
|
|
|
Purpose: Address the gap where help system shows no content, leaving users without guidance on available commands and their usage
|
|
Output: Working help command that displays all available CLI commands with descriptions and examples
|
|
</objective>
|
|
|
|
<execution_context>
|
|
@~/.opencode/get-shit-done/workflows/execute-plan.md
|
|
@~/.opencode/get-shit-done/templates/summary.md
|
|
</execution_context>
|
|
|
|
<context>
|
|
@.planning/PROJECT.md
|
|
@.planning/ROADMAP.md
|
|
@.planning/STATE.md
|
|
|
|
# Gap closure context from checker feedback
|
|
# Missing: Help system shows no content
|
|
|
|
# Previous CLI command implementations
|
|
@.planning/phases/06-cli-interface/06-01-SUMMARY.md
|
|
@.planning/phases/06-cli-interface/06-02-SUMMARY.md
|
|
@.planning/phases/06-cli-interface/06-04-SUMMARY.md
|
|
</context>
|
|
|
|
<tasks>
|
|
|
|
<task type="auto">
|
|
<name>Implement comprehensive help system</name>
|
|
<files>src/app/__main__.py</files>
|
|
<action>
|
|
Add a comprehensive help system to the CLI by implementing a /help command:
|
|
|
|
1. **Create help command handler** - Add a function to handle /help or --help:
|
|
- Detect /help, --help, or help commands in the CLI input
|
|
- Display formatted help output using Rich console for better readability
|
|
- Include command descriptions, usage examples, and available options
|
|
|
|
2. **Document all available commands** - Include help for:
|
|
- /help - Show this help message
|
|
- /session - Display session information and statistics
|
|
- /clear - Clear current conversation and start fresh session
|
|
- /exit or /quit - Exit the CLI application
|
|
- Regular message input - How to send messages to the AI
|
|
|
|
3. **Format help output professionally** - Use Rich console features:
|
|
- Use panels or tables for organized command display
|
|
- Include syntax highlighting for command examples
|
|
- Add descriptions for each command's purpose and usage
|
|
- Show examples of common command combinations
|
|
|
|
4. **Integrate with existing CLI** - Ensure help command:
|
|
- Works alongside existing message processing
|
|
- Doesn't interfere with normal conversation flow
|
|
- Is accessible at any point during the session
|
|
- Handles help for specific commands (e.g., /help session)
|
|
|
|
Gap reason: "Help system shows no content"
|
|
Users need guidance on available commands and their usage to effectively use the CLI interface.
|
|
</action>
|
|
<verify>
|
|
# Test help system implementation
|
|
python -c "
|
|
import sys
|
|
sys.path.insert(0, 'src')
|
|
|
|
# Check if help command logic exists
|
|
with open('src/app/__main__.py', 'r') as f:
|
|
content = f.read()
|
|
|
|
# Look for help-related patterns
|
|
help_patterns = [
|
|
'def.*help',
|
|
'/help',
|
|
'--help',
|
|
'help.*command',
|
|
'Command.*help'
|
|
]
|
|
|
|
found_help = any(pattern in content.lower() for pattern in help_patterns)
|
|
|
|
if found_help:
|
|
print('✓ Help command implementation found')
|
|
else:
|
|
print('✗ Help command implementation missing')
|
|
exit(1)
|
|
|
|
# Check for Rich console usage in help
|
|
if 'panel(' in content or 'table(' in content:
|
|
print('✓ Rich formatting for help output')
|
|
else:
|
|
print('⚠ Rich formatting for help may be missing')
|
|
"
|
|
</verify>
|
|
<done>
|
|
CLI now has a comprehensive help system that displays all available commands with descriptions, usage examples, and professional formatting
|
|
</done>
|
|
</task>
|
|
|
|
</tasks>
|
|
|
|
<verification>
|
|
Test the help system by:
|
|
1. Start the CLI application
|
|
2. Type /help or --help
|
|
3. Verify all commands are listed with descriptions
|
|
4. Test specific command help (e.g., /help session)
|
|
5. Ensure help output is well-formatted and readable
|
|
|
|
Expected: Comprehensive help display showing all available CLI commands with descriptions and usage examples
|
|
</verification>
|
|
|
|
<success_criteria>
|
|
- /help command displays all available CLI commands
|
|
- Each command has a clear description and usage example
|
|
- Help output is professionally formatted using Rich console
|
|
- Help is accessible at any point during the CLI session
|
|
- Specific command help works (e.g., /help session)
|
|
</success_criteria>
|
|
|
|
<output>
|
|
After completion, create `.planning/phases/06-cli-interface/06-07-SUMMARY.md`
|
|
</output> |