Problem Analysis
The current daf init wizard presents 6 major configuration sections upfront, which can be overwhelming for new users trying to get started quickly:
- JIRA Configuration (even though it's optional)
- GitHub/GitLab Integration (optional)
- Repository Workspace (required)
- Keyword Mappings (advanced, optional)
- Hierarchical Configuration (advanced, optional)
- PR/MR Template Configuration (optional)
Key UX Issues
1. No Clear Presets:
- No "GitHub-only" or "JIRA-only" or "Local sessions only" quick start options
- Users must answer all questions even if they only need subset of features
- No "recommended" or "minimal" configuration path
2. JIRA-Centric Design:
- Wizard starts with JIRA configuration even though issue tracker integration is optional
- GitHub/GitLab users might be confused by JIRA-first approach
- Tool works without any issue tracker, but this isn't obvious
3. Required vs Optional Unclear:
- All fields are prompted, making it feel like everything is required
- Advanced options (hierarchical config, keywords) mixed with basic setup
- No clear indication of what can be skipped safely
4. No Auto-Detection:
- Could auto-detect GitHub/GitLab from git remote URLs
- Could auto-suggest workspace from current directory
- Could infer issue tracker type from environment variables
5. Missing Post-Init Guidance:
- No "Next Steps" shown after init completes
- Users don't know whether to run
daf sync or daf git new or daf jira new
- No link to quick start guide or tutorial
Current Init Wizard Flow
daf init
├── JIRA Configuration
│ ├── JIRA URL (https://jira.example.com)
│ ├── Project Key (optional but feels required)
│ └── Comment Visibility (type + value)
├── GitHub/GitLab Integration (optional section)
│ ├── GitHub API URL (Enterprise only)
│ ├── Default labels
│ └── Auto-close on complete
├── Repository Workspace
│ └── Workspace path (required)
├── Keyword Mappings (advanced)
│ └── Keyword → repository routing rules
├── Hierarchical Configuration (advanced)
│ └── Organization config URL
└── PR/MR Template Configuration
└── Template URL for AI generation
Proposed Solution: Preset-Based Initialization
Step 1: Ask User's Primary Use Case
daf init
Welcome to DevAIFlow! Let's get you set up quickly.
What would you like to use DevAIFlow for?
1. GitHub Issues integration (recommended for GitHub-centric teams)
2. GitLab Issues integration (recommended for GitLab-centric teams)
3. JIRA integration (recommended for enterprise teams)
4. Local sessions only (no issue tracker, just session management)
5. Custom configuration (full wizard)
Choice [1]:
Step 2: Preset-Specific Configuration
Preset A: GitHub Issues Only
✓ Detected GitHub remote: https://github.com/org/repo.git
✓ GitHub CLI authenticated: yes (gh auth status)
Required Configuration:
Workspace path: ~/development [auto-detected]
Optional (press Enter to skip):
Default labels: backend,devaiflow
Auto-close issues on complete: no
✓ Configuration saved!
Next Steps:
1. Install Claude Code skills: daf skills
2. Create your first issue: daf git new --goal "Your feature"
3. Or sync assigned issues: daf sync
For help: daf --help
Quick start: https://github.com/itdove/devaiflow#quick-start
Preset B: JIRA Only
Required Configuration:
JIRA URL: https://jira.company.com
JIRA Project (for creating issues): PROJ
Workspace path: ~/development
Optional (press Enter to skip):
Comment visibility type: group
Comment visibility value: Engineering Team
✓ Configuration saved!
Next Steps:
1. Install Claude Code skills: daf skills
2. Set JIRA_API_TOKEN environment variable
3. Refresh JIRA fields: daf config refresh-jira-fields
4. Create your first ticket: daf jira new story --parent PROJ-123 --goal "Your feature"
5. Or sync current sprint: daf sync --sprint current
For help: daf --help
JIRA setup guide: https://github.com/itdove/devaiflow/docs/jira-integration.md
Preset C: Local Sessions Only
No issue tracker needed! DevAIFlow will manage local sessions only.
Required Configuration:
Workspace path: ~/development [auto-detected]
✓ Configuration saved!
Next Steps:
1. Install Claude Code skills: daf skills
2. Create your first session: daf new --name "my-feature" --goal "Your feature"
3. List sessions: daf list
4. Complete session: daf complete <session-name>
For help: daf --help
Step 3: Progressive Enhancement
Add advanced features later via new commands:
# Add PR/MR template after init
daf config add-feature pr-template
# Add keyword mappings when needed
daf config add-feature keywords
# Add hierarchical config for organizations
daf config add-feature hierarchical-config
# Or use TUI for advanced config
daf config edit
Implementation Tasks
Phase 1: Preset-Based Init (MVP)
Phase 2: Progressive Enhancement
Phase 3: Improved Auto-Detection
Phase 4: Enhanced Guidance
Success Metrics
Before:
- Init wizard: 20+ prompts, 5-10 minutes
- User confusion: "What do I need?"
- Drop-off: Users abandon init halfway
After:
- Init wizard: 2-5 prompts for presets, 1-2 minutes
- Clear path: User knows exactly what they're configuring
- Post-init clarity: User knows exact next steps
Files to Modify
devflow/config/init_wizard.py # Main init wizard logic
devflow/cli/main.py # daf init command
devflow/config/loader.py # Auto-detection helpers
devflow/cli/commands/config_commands.py # New add-feature command
tests/test_init_command.py # Test coverage
docs/getting-started/installation.md # Update documentation
docs/getting-started/quick-start.md # Update quick start
User Stories
As a GitHub user, I want to set up DevAIFlow with just my workspace path, so that I can start creating issues in under 1 minute.
As a JIRA enterprise user, I want a JIRA-focused setup flow that doesn't ask about GitHub/GitLab, so that I'm not confused by irrelevant options.
As a new user, I want to see what to do next after daf init, so that I can start being productive immediately.
As an advanced user, I want to add advanced features (keywords, hierarchical config) later when I need them, so that I'm not overwhelmed upfront.
Related Issues
This addresses the adoption blocker: "daf init is too complex for new users"
Problem Analysis
The current
daf initwizard presents 6 major configuration sections upfront, which can be overwhelming for new users trying to get started quickly:Key UX Issues
1. No Clear Presets:
2. JIRA-Centric Design:
3. Required vs Optional Unclear:
4. No Auto-Detection:
5. Missing Post-Init Guidance:
daf syncordaf git newordaf jira newCurrent Init Wizard Flow
Proposed Solution: Preset-Based Initialization
Step 1: Ask User's Primary Use Case
Step 2: Preset-Specific Configuration
Preset A: GitHub Issues Only
Preset B: JIRA Only
Preset C: Local Sessions Only
Step 3: Progressive Enhancement
Add advanced features later via new commands:
Implementation Tasks
Phase 1: Preset-Based Init (MVP)
Phase 2: Progressive Enhancement
daf config add-featurecommand groupadd-feature pr-templateadd-feature keywordsadd-feature hierarchical-configadd-feature github-integrationadd-feature jira-integrationPhase 3: Improved Auto-Detection
Phase 4: Enhanced Guidance
Success Metrics
Before:
After:
Files to Modify
User Stories
As a GitHub user, I want to set up DevAIFlow with just my workspace path, so that I can start creating issues in under 1 minute.
As a JIRA enterprise user, I want a JIRA-focused setup flow that doesn't ask about GitHub/GitLab, so that I'm not confused by irrelevant options.
As a new user, I want to see what to do next after
daf init, so that I can start being productive immediately.As an advanced user, I want to add advanced features (keywords, hierarchical config) later when I need them, so that I'm not overwhelmed upfront.
Related Issues
This addresses the adoption blocker: "daf init is too complex for new users"