Feature Request Automation Documentation¶
This document provides guidance on using the AI-driven feature request creation system to automatically extract and create GitHub issues from planning documents.
Overview¶
The system consists of three main components:
- Analysis Document (
meta/plans/ai-driven-feature-request-creation.md) — Comprehensive analysis of the approach and implementation strategy - Feature Database (
meta/plans/extracted-feature-requests.json) — Structured JSON containing all extracted feature requests - Creation Script (
scripts/create-feature-issues.sh) — Bash script using GitHub CLI to create issues
Quick Start¶
Prerequisites¶
Before running the feature request creation script, ensure you have:
- GitHub CLI (gh) installed and authenticated
- jq installed for JSON processing
- Valid access to the GitHub repository
- Proper permissions to create issues
Authentication Setup¶
Running the Script¶
Preview Issues (Recommended First Step)¶
# Preview all feature requests
./scripts/create-feature-issues.sh --dry-run --verbose
# Preview specific category
./scripts/create-feature-issues.sh --dry-run --category {{CATEGORY_NAME}}
# Preview high-priority items only
./scripts/create-feature-issues.sh --dry-run --priority high
Create Issues¶
# Create all feature requests
./scripts/create-feature-issues.sh
# Create only issues in a specific category
./scripts/create-feature-issues.sh --category {{CATEGORY_NAME}}
# Create only high-priority issues in a category
./scripts/create-feature-issues.sh --category {{CATEGORY_NAME}} --priority high
Script Options¶
| Option | Description | Example |
|---|---|---|
--dry-run |
Preview issues without creating them | --dry-run |
--category CATEGORY |
Filter by feature category | --category {{CATEGORY_NAME}} |
--priority PRIORITY |
Filter by priority level | --priority high |
--verbose |
Enable detailed output | --verbose |
--help |
Show usage information | --help |
Issue Format¶
Created issues follow a standardized format:
## Description
[Feature description from planning document]
## Acceptance Criteria
- [ ] Specific requirement 1
- [ ] Specific requirement 2
## Technical Requirements
- Implementation detail 1
- Implementation detail 2
## Definition of Done
- Success criteria 1
- Success criteria 2
## Source Information
- **Epic:** [Epic name]
- **Category:** [category]
- **Priority:** [high/medium/low]
- **Complexity:** [high/medium/low]
- **Estimated Effort:** [time estimate]
- **Source Document:** [original planning document]
- **Source Section:** [specific section reference]
Labels Applied¶
Issues are automatically labeled based on their characteristics:
feature— All feature requestshigh-priority— High-priority features- Category-specific labels
- Feature-type labels
Error Handling¶
The script includes comprehensive error handling:
- Duplicate Detection: Checks for existing issues with the same title
- Rate Limiting: Respects GitHub API limits with delays between requests
- Validation: Validates JSON format and GitHub authentication
- Logging: Creates detailed logs in
logs/issue-creation-[timestamp].log
Troubleshooting¶
Common Issues¶
- Authentication Errors
- Permission Errors
- Ensure you have write access to the repository
-
Check that your GitHub token has appropriate scopes
-
JSON Parsing Errors
- Missing Dependencies
# Install GitHub CLI
# See: https://cli.github.com/
# Install jq
# Ubuntu/Debian: apt-get install jq
# macOS: brew install jq
Best Practices¶
- Always use --dry-run first to preview what will be created
- Start with high-priority items to focus on critical features
- Process one category at a time for better organization
- Review created issues for quality and completeness
- Keep logs for audit trails and troubleshooting
Integration with Development Workflow¶
The generated issues are designed to integrate seamlessly with existing development workflows:
- Issues follow repository conventions
- Labels align with project categorization
- Acceptance criteria provide clear implementation guidance
- Source traceability maintains connection to planning documents
For questions or issues with the feature request automation system, refer to the
comprehensive analysis in meta/plans/ai-driven-feature-request-creation.md or
create an issue in the repository.