feat: implement feature wishlist system (issue #85)
Add comprehensive wishlist management for capturing and refining feature ideas: • CLI Commands: - markitect wish create: Create new wishlist items with templates - markitect wish list: List and filter wishes by stage - markitect wish promote: Promote wishes through workflow stages - markitect wish convert: Convert ready wishes to regular issues • Workflow Stages: - discussion: Initial idea capture and brainstorming - draft: Create specification and requirements - ready: Prepare for conversion to development issue - archived: Preserve ideas that won't be pursued • Features: - Automatic label management (wish, wish/stage, priority/level) - Multiple output formats (table, simple, json) - Stage filtering and organization - Structured templates for each workflow stage - Comprehensive documentation and best practices 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
300
docs/wishlist.md
Normal file
300
docs/wishlist.md
Normal file
@@ -0,0 +1,300 @@
|
||||
# Feature Wishlist System - Issue #85
|
||||
|
||||
The Feature Wishlist system provides a structured approach for capturing, discussing, and refining feature ideas before they become formal development tasks.
|
||||
|
||||
## Overview
|
||||
|
||||
The wishlist system helps teams:
|
||||
- **Capture Ideas**: Preserve creative insights that emerge during discussions
|
||||
- **Organize Thoughts**: Structure rough ideas before formal specification
|
||||
- **Facilitate Discussion**: Provide dedicated space for collaborative refinement
|
||||
- **Prevent Loss**: Ensure good ideas aren't forgotten
|
||||
- **Gradual Refinement**: Allow concepts to mature over time
|
||||
|
||||
## Workflow Stages
|
||||
|
||||
### 1. 💡 Discussion Stage (`wish/discussion`)
|
||||
- **Purpose**: Initial idea capture and brainstorming
|
||||
- **Activities**: Gather thoughts, explore possibilities, ask questions
|
||||
- **Output**: Refined understanding of the concept
|
||||
|
||||
### 2. 📝 Draft Stage (`wish/draft`)
|
||||
- **Purpose**: Create initial specification and requirements
|
||||
- **Activities**: Document detailed requirements, identify dependencies
|
||||
- **Output**: Draft implementation plan
|
||||
|
||||
### 3. ✅ Ready Stage (`wish/ready`)
|
||||
- **Purpose**: Prepare for conversion to regular development issue
|
||||
- **Activities**: Final review, priority assignment, resource planning
|
||||
- **Output**: Well-formed issue ready for development
|
||||
|
||||
### 4. 🗄️ Archived Stage (`wish/archived`)
|
||||
- **Purpose**: Preserve ideas that won't be pursued currently
|
||||
- **Activities**: Document decision rationale, mark for future consideration
|
||||
- **Output**: Archived record with context
|
||||
|
||||
## CLI Commands
|
||||
|
||||
### Create a Wishlist Item
|
||||
|
||||
```bash
|
||||
# Basic wish creation
|
||||
markitect wish create "Smart document templates"
|
||||
|
||||
# With description and priority
|
||||
markitect wish create "Real-time collaboration" \
|
||||
--description "Enable multiple users to edit documents simultaneously" \
|
||||
--priority high \
|
||||
--stage discussion
|
||||
```
|
||||
|
||||
### List Wishlist Items
|
||||
|
||||
```bash
|
||||
# List all wishlist items
|
||||
markitect wish list
|
||||
|
||||
# Filter by stage
|
||||
markitect wish list --stage discussion
|
||||
markitect wish list --stage ready
|
||||
|
||||
# Different output formats
|
||||
markitect wish list --format json
|
||||
markitect wish list --format simple
|
||||
```
|
||||
|
||||
### Promote Wishlist Items
|
||||
|
||||
```bash
|
||||
# Promote to next logical stage
|
||||
markitect wish promote 86
|
||||
|
||||
# Promote to specific stage
|
||||
markitect wish promote 86 --stage ready
|
||||
```
|
||||
|
||||
### Convert to Regular Issue
|
||||
|
||||
```bash
|
||||
# Convert ready wish to regular issue
|
||||
markitect wish convert 86
|
||||
|
||||
# Convert with custom title
|
||||
markitect wish convert 86 --title "Implement smart document templates"
|
||||
```
|
||||
|
||||
## Labels and Organization
|
||||
|
||||
### Core Labels
|
||||
- `wish` - Primary wishlist identifier
|
||||
- `wish/discussion` - Currently being discussed
|
||||
- `wish/draft` - Has initial specification draft
|
||||
- `wish/ready` - Ready for development
|
||||
- `wish/archived` - Archived or rejected
|
||||
|
||||
### Additional Labels
|
||||
- `priority/low|medium|high` - Priority levels
|
||||
- `effort/small|medium|large` - Estimated effort
|
||||
- `category/ui|api|infrastructure` - Feature categories
|
||||
|
||||
## Issue Templates
|
||||
|
||||
### Discussion Stage Template
|
||||
```markdown
|
||||
## 💡 Feature Wish
|
||||
|
||||
**Summary**: [Brief description of the idea]
|
||||
|
||||
## Current Thinking
|
||||
|
||||
*What's the initial idea or inspiration?*
|
||||
|
||||
## Potential Benefits
|
||||
|
||||
*Why might this be valuable?*
|
||||
|
||||
## Questions to Explore
|
||||
|
||||
*What aspects need more thought?*
|
||||
|
||||
## Related Concepts
|
||||
|
||||
*Are there similar ideas or existing features this relates to?*
|
||||
```
|
||||
|
||||
### Draft Stage Template
|
||||
```markdown
|
||||
## 📝 Feature Specification Draft
|
||||
|
||||
**Summary**: [Refined description]
|
||||
|
||||
## Requirements
|
||||
|
||||
### Functional Requirements
|
||||
- [ ] Requirement 1
|
||||
- [ ] Requirement 2
|
||||
|
||||
### Non-Functional Requirements
|
||||
- [ ] Performance expectations
|
||||
- [ ] Compatibility requirements
|
||||
|
||||
## Implementation Approach
|
||||
|
||||
*High-level approach and key considerations*
|
||||
|
||||
## Dependencies
|
||||
|
||||
*What other features or changes are needed?*
|
||||
|
||||
## Success Criteria
|
||||
|
||||
*How will we know this feature is successful?*
|
||||
```
|
||||
|
||||
## Best Practices
|
||||
|
||||
### Creating Good Wishes
|
||||
1. **Start Small**: Begin with simple, focused ideas
|
||||
2. **Be Specific**: Include concrete examples when possible
|
||||
3. **Ask Questions**: Identify what needs exploration
|
||||
4. **Link Related**: Connect to existing features or issues
|
||||
|
||||
### Discussion Guidelines
|
||||
1. **Stay Open**: All ideas deserve consideration
|
||||
2. **Ask Clarifying Questions**: Help refine the concept
|
||||
3. **Share Examples**: Provide concrete use cases
|
||||
4. **Consider Alternatives**: Explore different approaches
|
||||
|
||||
### Promotion Criteria
|
||||
|
||||
**Discussion → Draft**
|
||||
- Clear understanding of the problem
|
||||
- Identified potential solutions
|
||||
- Community interest confirmed
|
||||
|
||||
**Draft → Ready**
|
||||
- Detailed requirements documented
|
||||
- Implementation approach defined
|
||||
- Dependencies identified
|
||||
- Success criteria established
|
||||
|
||||
**Ready → Regular Issue**
|
||||
- Complete specification
|
||||
- Priority and effort estimated
|
||||
- Development resources available
|
||||
|
||||
## Examples
|
||||
|
||||
### Example 1: Simple Wish Creation
|
||||
```bash
|
||||
markitect wish create "Export to PDF" \
|
||||
--description "Allow users to export markdown documents to PDF format" \
|
||||
--stage discussion
|
||||
```
|
||||
|
||||
### Example 2: Full Workflow
|
||||
```bash
|
||||
# 1. Create initial wish
|
||||
markitect wish create "Smart document templates"
|
||||
|
||||
# 2. List and review wishes
|
||||
markitect wish list --stage discussion
|
||||
|
||||
# 3. Promote after discussion
|
||||
markitect wish promote 86 --stage draft
|
||||
|
||||
# 4. Add detailed specification (manual editing)
|
||||
|
||||
# 5. Promote when ready
|
||||
markitect wish promote 86 --stage ready
|
||||
|
||||
# 6. Convert to development issue
|
||||
markitect wish convert 86
|
||||
```
|
||||
|
||||
### Example 3: Wish Filtering
|
||||
```bash
|
||||
# Show only high-priority ready items
|
||||
markitect wish list --stage ready | grep "priority/high"
|
||||
|
||||
# Export all wishes for analysis
|
||||
markitect wish list --format json > wishlist-export.json
|
||||
```
|
||||
|
||||
## Integration with Development Process
|
||||
|
||||
### Connecting to Regular Issues
|
||||
- Converted wishes automatically reference original wishlist item
|
||||
- Original wish is closed with link to new issue
|
||||
- Maintains traceability from idea to implementation
|
||||
|
||||
### Project Planning
|
||||
- Use `wish/ready` items for sprint planning
|
||||
- Filter by priority and effort for roadmap planning
|
||||
- Track conversion rate from wishes to implemented features
|
||||
|
||||
### Community Engagement
|
||||
- Encourage team members to create wishes freely
|
||||
- Use wishlist for user feedback and feature requests
|
||||
- Regular review meetings to promote wishes through stages
|
||||
|
||||
## Reporting and Analytics
|
||||
|
||||
### Useful Queries
|
||||
```bash
|
||||
# Count wishes by stage
|
||||
markitect wish list --format json | jq 'group_by(.labels[].name | select(startswith("wish/"))) | map({stage: .[0].labels[].name, count: length})'
|
||||
|
||||
# Find oldest wishes needing attention
|
||||
markitect wish list --stage discussion --format json | jq 'sort_by(.created_at) | .[0:5]'
|
||||
|
||||
# Track conversion success rate
|
||||
# (Count of converted wishes vs total wishes created)
|
||||
```
|
||||
|
||||
### Metrics to Track
|
||||
- **Creation Rate**: How many wishes are being created
|
||||
- **Promotion Rate**: How quickly wishes move through stages
|
||||
- **Conversion Rate**: Percentage of wishes that become regular issues
|
||||
- **Stage Distribution**: Where wishes tend to accumulate
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### Common Issues
|
||||
|
||||
**"No wishlist items found"**
|
||||
- Check if labels were created properly: `tea label list | grep wish`
|
||||
- Verify issue has correct labels
|
||||
|
||||
**"Failed to promote wish"**
|
||||
- Ensure issue exists and you have permissions
|
||||
- Check if labels are properly configured
|
||||
|
||||
**Convert command fails**
|
||||
- Verify wish is in `ready` stage
|
||||
- Check issue permissions and repository access
|
||||
|
||||
### Recovery Commands
|
||||
|
||||
```bash
|
||||
# Manually add wish labels to existing issue
|
||||
tea issue edit 86 --labels "wish,wish/discussion"
|
||||
|
||||
# Fix missing stage labels
|
||||
tea issue edit 86 --labels "wish,wish/draft,priority/medium"
|
||||
```
|
||||
|
||||
## Maintenance
|
||||
|
||||
### Regular Tasks
|
||||
1. **Weekly Review**: Check wishes in discussion stage
|
||||
2. **Monthly Promotion**: Move mature wishes to next stage
|
||||
3. **Quarterly Cleanup**: Archive stale or obsolete wishes
|
||||
4. **Annual Analysis**: Review wishlist effectiveness and process improvements
|
||||
|
||||
### Automated Maintenance (Future)
|
||||
- Auto-archive wishes inactive for 6+ months
|
||||
- Remind assignees of wishes ready for promotion
|
||||
- Generate wishlist health reports
|
||||
|
||||
The Feature Wishlist system transforms ad-hoc idea management into a structured, trackable process that ensures valuable insights are captured, refined, and eventually implemented.
|
||||
Reference in New Issue
Block a user