# Smart Defaults Configuration

## Purpose

Provide intelligent defaults throughout the JIRA integration to minimize configuration and maximize success. Defaults adapt based on context, team size, and detected patterns.

## Default Strategies

### By Team Size

#### Solo Developer (1 person)

```yaml
sync:
  mode: manual # Sync when ready
  validation: minimal # Trust the developer
  preview: false # Skip previews

standup:
  format: brief # Quick personal update
  include_git: true # Show code activity

reports:
  frequency: weekly # Less formal reporting
  detail: summary # High-level only
```

#### Small Team (2-5 people)

```yaml
sync:
  mode: manual # Sync on demand
  validation: preview # Show changes first
  batch_size: 10 # Handle multiple stories

standup:
  format: standard # Traditional format
  timezone: local # Single timezone

reports:
  frequency: sprint # Sprint-based
  detail: balanced # Mix of summary and detail
```

#### Medium Team (6-20 people)

```yaml
sync:
  mode: scheduled # Hourly sync
  validation: smart # Validate risky changes
  batch_size: 25 # Larger batches

standup:
  format: grouped # By epic/component
  timezone: multi # Handle 2-3 timezones

reports:
  frequency: weekly # Regular cadence
  detail: detailed # More metrics
```

#### Large Team (20+ people)

```yaml
sync:
  mode: real-time # Continuous sync
  validation: strict # Validate everything
  batch_size: 50 # Maximum efficiency

standup:
  format: distributed # Async-friendly
  timezone: global # Full coverage

reports:
  frequency: daily # Close monitoring
  detail: executive # Dashboard style
```

### By Project Type

#### Greenfield Project

```yaml
defaults:
  issue_type: Story
  initial_status: "To Do"
  story_points: 3 # Medium default
  sprint_length: 2 # Two weeks

field_defaults:
  priority: Medium
  components: ["New Development"]
```

#### Maintenance Project

```yaml
defaults:
  issue_type: Bug
  initial_status: "Triage"
  story_points: 1 # Small fixes
  sprint_length: 1 # One week

field_defaults:
  priority: High
  components: ["Maintenance"]
```

#### Platform/Infrastructure

```yaml
defaults:
  issue_type: Task
  initial_status: "Backlog"
  story_points: 5 # Larger work
  sprint_length: 3 # Three weeks

field_defaults:
  priority: Medium
  components: ["Platform"]
```

### By Time Context

#### Morning (6-10 AM)

```yaml
suggestions:
  primary: "create standup"
  secondary: "sync overnight changes"
  reports: "daily summary"
```

#### Midday (10 AM-2 PM)

```yaml
suggestions:
  primary: "sync current work"
  secondary: "update ticket status"
  reports: "progress check"
```

#### Afternoon (2-6 PM)

```yaml
suggestions:
  primary: "sync completed work"
  secondary: "plan tomorrow"
  reports: "end of day summary"
```

#### End of Sprint

```yaml
suggestions:
  primary: "sprint health report"
  secondary: "close completed stories"
  reports: "sprint retrospective"
```

## Smart Field Defaults

### Story Title Generation

[[LLM: When creating JIRA issues, intelligently generate titles:

From: "1.2.3 User Authentication Story"
To: "Implement OAuth2 authentication flow"

Rules:

- Remove BMAD numbering
- Use active voice
- Be specific but concise
- Include key technical terms
  ]]

### Description Formatting

```markdown
## Summary

{{first_paragraph_from_bmad}}

## Acceptance Criteria

{{bullets_from_bmad_criteria}}

## Technical Notes

{{technical_approach_if_exists}}

---

_Synced from BMAD: {{bmad_file_path}}_
```

### Story Points Estimation

[[LLM: Estimate based on:

- Word count: <500 words = 1-2 points
- Criteria count: 3-5 criteria = 3 points
- Technical complexity keywords
- Historical similar stories
  ]]

### Component Detection

[[LLM: Auto-assign components based on:

- File path (frontend/, backend/, etc.)
- Technology mentions (React, API, Database)
- Epic association
- Previous patterns
  ]]

## Sync Behavior Defaults

### Initial Sync

```yaml
first_sync:
  preview: true # Always preview first
  batch_size: 5 # Start small
  fields: minimal # Just core fields
  confirmation: required # Explicit approval
```

### Regular Sync

```yaml
regular_sync:
  preview: false # Trust established patterns
  batch_size: auto # Based on change count
  fields: full # All mapped fields
  confirmation: summary # Just show results
```

### Bulk Operations

```yaml
bulk_sync:
  preview: true # Always preview bulk
  batch_size: 25 # Reasonable chunks
  parallel: true # Use concurrent requests
  retry: 3 # Automatic retries
```

## Report Defaults

### Standup Reports

```yaml
standup:
  sections:
    - yesterday # What was done
    - today # What's planned
    - blockers # Issues/dependencies

  data_sources:
    - jira: primary
    - git: supporting
    - bmad: reference

  time_window: 24h
  format: markdown
```

### Sprint Reports

```yaml
sprint:
  metrics:
    - velocity
    - burndown
    - completion_rate
    - bug_discovery

  visualizations:
    - burndown_chart
    - velocity_trend
    - pie_charts

  comparison: last_3_sprints
```

## Error Handling Defaults

### Retry Strategy

```yaml
retries:
  network_errors: 3
  rate_limits:
    wait: exponential
    max_wait: 60s
  auth_errors: 1
  field_errors: 0
```

### Validation Rules

```yaml
validation:
  require_description: true
  min_description_length: 50
  require_acceptance_criteria: true
  require_story_points: false
  max_title_length: 100
```

## Progressive Enhancement

### Week 1 Defaults

- Manual sync only
- Preview everything
- Minimal fields
- Extra confirmations

### Week 2 Defaults

- Scheduled sync option
- Preview important only
- Standard fields
- Normal confirmations

### Month 2 Defaults

- Auto-sync available
- Preview on request
- All fields mapped
- Minimal confirmations

## Implementation

[[LLM: When applying defaults:

1. Detect context:
   - Team size from git contributors
   - Project type from structure
   - Time of day
   - User experience level

2. Apply appropriate defaults:
   - Don't mention they're defaults
   - Present as recommendations
   - Allow easy override

3. Learn from overrides:
   - Track user preferences
   - Adapt defaults over time
   - Suggest better patterns

4. Explain when asked:
   - "Why this suggestion?"
   - Show reasoning
   - Offer alternatives
     ]]

## Benefits

1. **Faster Onboarding**: Works well out of the box
2. **Fewer Decisions**: Reduces configuration fatigue
3. **Best Practices**: Embeds proven patterns
4. **Adaptive**: Improves with usage
5. **Contextual**: Right defaults for situation

These smart defaults make the JIRA integration feel intelligent and helpful, reducing friction while maintaining flexibility for power users.
