feat(bmvcs): add VCS-agnostic documentation
Add comprehensive documentation for VCS-agnostic approach: - VCS_AGNOSTIC_PRINCIPLES.md: Core philosophy and 10 principles - VCS_AGNOSTIC_PROPOSAL.md: Implementation approach and examples - VCS_DETECTION_CONFIDENCE.md: Auto-detection confidence scoring - docs/README.md: Documentation overview and quick start Documentation explains how BMAD adapts to any VCS (Git, SVN, Perforce, or no VCS) with appropriate terminology and workflow patterns. Part 3/5 of BMVCS migration (#661) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
8d342f3bd7
commit
bccfe9d651
|
|
@ -0,0 +1,76 @@
|
|||
# BMVCS Documentation
|
||||
|
||||
Version Control System (VCS) Agnostic Module for BMAD-METHOD
|
||||
|
||||
## Overview
|
||||
|
||||
BMVCS enables BMAD agents to adapt to any version control system - from Git workflows to SVN, Perforce, or even no VCS at all.
|
||||
|
||||
## Core Documents
|
||||
|
||||
### [VCS_AGNOSTIC_PRINCIPLES.md](./VCS_AGNOSTIC_PRINCIPLES.md)
|
||||
|
||||
The foundational philosophy: "Optimized for the majority, open to all"
|
||||
|
||||
- 10 core principles for VCS adaptation
|
||||
- Implementation guidelines for agent developers
|
||||
- Configuration storage and testing
|
||||
|
||||
### [VCS_AGNOSTIC_PROPOSAL.md](./VCS_AGNOSTIC_PROPOSAL.md)
|
||||
|
||||
The practical implementation approach: "BMAD Suggests, User Decides"
|
||||
|
||||
- VCS discovery protocol
|
||||
- Agent behavioral adaptations
|
||||
- Example interactions and scenarios
|
||||
|
||||
### [VCS_DETECTION_CONFIDENCE.md](./VCS_DETECTION_CONFIDENCE.md)
|
||||
|
||||
Auto-detection confidence scoring: "Detection as a HINT, not a DECISION"
|
||||
|
||||
- Workflow detection algorithms
|
||||
- Confidence score calculation
|
||||
- Edge cases and migration handling
|
||||
|
||||
## Quick Start
|
||||
|
||||
1. **Discovery**: BMAD asks about your VCS at project start
|
||||
2. **Adaptation**: All agents adapt their output to your workflow
|
||||
3. **Flexibility**: Change VCS settings anytime via configuration
|
||||
|
||||
## Philosophy
|
||||
|
||||
BMAD adapts to teams' existing version control practices rather than imposing new ones:
|
||||
|
||||
- ~85-90% use Git → Quick-pick Git workflows
|
||||
- ~10-15% use other systems → Full support with appropriate terminology
|
||||
- No VCS needed → Self-contained deliverables
|
||||
|
||||
## Key Features
|
||||
|
||||
- **No Assumptions**: Never assumes Git or any specific VCS
|
||||
- **Terminology Adaptation**: Uses your VCS language (commit/changelist/revision)
|
||||
- **Workflow Respect**: Honors existing team processes
|
||||
- **Progressive Disclosure**: Simple for common cases, flexible for edge cases
|
||||
|
||||
## Integration
|
||||
|
||||
BMVCS integrates with all BMAD agents:
|
||||
|
||||
- **Architect**: VCS-adapted architecture documents
|
||||
- **PM**: VCS-appropriate requirements
|
||||
- **SM**: Stories sized for your workflow
|
||||
- **Dev**: Code delivery matching your VCS
|
||||
- **QA**: Test plans aligned with your process
|
||||
|
||||
## Configuration
|
||||
|
||||
VCS settings stored in `.bmad-core/vcs-config.yaml`
|
||||
|
||||
See [VCS_AGNOSTIC_PRINCIPLES.md](./VCS_AGNOSTIC_PRINCIPLES.md#configuration-storage) for details.
|
||||
|
||||
## Related
|
||||
|
||||
- [Module README](../README.md) - BMVCS module overview
|
||||
- [Discovery Task](../tasks/discover-vcs.md) - VCS discovery implementation
|
||||
- [VCS Templates](../templates/vcs-adaptations/) - Workflow adaptation templates
|
||||
|
|
@ -0,0 +1,161 @@
|
|||
# VCS-Agnostic Principles for BMAD
|
||||
|
||||
## Core Philosophy
|
||||
|
||||
**"Optimized for the majority, open to all"**
|
||||
|
||||
BMAD adapts to teams' existing version control practices rather than imposing new ones. We recognize that ~85-90% use Git, but remain fully functional for those who don't.
|
||||
|
||||
## The 10 Principles
|
||||
|
||||
### 1. Discovery Before Assumption
|
||||
|
||||
- Always ask about VCS approach first
|
||||
- Never assume Git or any specific system
|
||||
- Respect "no VCS" as a valid choice
|
||||
|
||||
### 2. Optimize for the Common Case
|
||||
|
||||
- Provide quick picks for Git workflows (~85-90% of users)
|
||||
- Make popular choices easy to select
|
||||
- Keep edge cases possible but not prominent
|
||||
|
||||
### 3. Adapt Language to Context
|
||||
|
||||
- Git users: "commit", "branch", "merge"
|
||||
- SVN users: "revision", "trunk", "update"
|
||||
- No VCS: "package", "version", "deliverable"
|
||||
- Generic: "save changes", "workspace", "integrate"
|
||||
|
||||
### 4. Structure Follows Function
|
||||
|
||||
- GitHub Flow: Small, PR-sized artifacts
|
||||
- GitFlow: Version-oriented documentation
|
||||
- Trunk-Based: Flag-gated increments
|
||||
- No VCS: Monolithic, dated packages
|
||||
|
||||
### 5. Respect Existing Workflows
|
||||
|
||||
- Document their process, don't change it
|
||||
- Work within their constraints
|
||||
- Enhance, don't replace
|
||||
|
||||
### 6. Practical Over Theoretical
|
||||
|
||||
- Suggest only when asked
|
||||
- Provide what works, not what's "best"
|
||||
- Focus on delivery, not process
|
||||
|
||||
### 7. Progressive Disclosure
|
||||
|
||||
- Simple choices for majority upfront
|
||||
- Complex options available but hidden
|
||||
- Custom escape hatch always present
|
||||
|
||||
### 8. Context-Aware Generation
|
||||
|
||||
- Architecture adapts to VCS choice
|
||||
- Stories sized for their workflow
|
||||
- Documentation matches their practices
|
||||
|
||||
### 9. Terminology Consistency
|
||||
|
||||
- Once VCS is identified, use their terms throughout
|
||||
- Don't mix Git and SVN terminology
|
||||
- Be consistent within a project
|
||||
|
||||
### 10. Zero Friction Adoption
|
||||
|
||||
- Work with what they have
|
||||
- No required process changes
|
||||
- Value delivery over methodology
|
||||
|
||||
## Implementation Guidelines
|
||||
|
||||
### For Agent Developers
|
||||
|
||||
#### DO:
|
||||
|
||||
- Check for VCS configuration early
|
||||
- Load appropriate adaptation templates
|
||||
- Use conditional logic based on VCS type
|
||||
- Provide examples for different systems
|
||||
- Test with non-Git users
|
||||
|
||||
#### DON'T:
|
||||
|
||||
- Hardcode Git commands
|
||||
- Assume branches exist
|
||||
- Force commit message formats
|
||||
- Require specific tools
|
||||
- Judge non-standard approaches
|
||||
|
||||
### For BMAD Users
|
||||
|
||||
#### What to Expect:
|
||||
|
||||
- Initial question about your VCS
|
||||
- Adapted terminology and workflows
|
||||
- Artifacts that fit your process
|
||||
- Respect for your existing practices
|
||||
- No forced "improvements"
|
||||
|
||||
#### How to Get Best Results:
|
||||
|
||||
- Be clear about your VCS setup
|
||||
- Describe custom workflows if needed
|
||||
- Ask for clarification if unsure
|
||||
- Request changes if something doesn't fit
|
||||
|
||||
## Configuration Storage
|
||||
|
||||
VCS configuration is stored in `.bmad-core/vcs-config.yaml`:
|
||||
|
||||
```yaml
|
||||
vcs_config:
|
||||
type: git|svn|perforce|none|custom
|
||||
workflow: github-flow|gitflow|trunk-based|custom|none
|
||||
details: 'Custom description if provided'
|
||||
|
||||
adaptations:
|
||||
artifact_format: branches|monolithic|platform-specific
|
||||
terminology: git|svn|generic|custom
|
||||
commit_style: conventional|team-specific|none
|
||||
```
|
||||
|
||||
## Testing Checklist
|
||||
|
||||
Verify BMAD works correctly with:
|
||||
|
||||
- [ ] Git + GitHub Flow
|
||||
- [ ] Git + GitFlow
|
||||
- [ ] Git + Trunk-Based
|
||||
- [ ] Git + Custom workflow
|
||||
- [ ] SVN
|
||||
- [ ] Perforce
|
||||
- [ ] No VCS
|
||||
- [ ] Mixed/Complex setup
|
||||
|
||||
## Success Metrics
|
||||
|
||||
- 80% of users select from predefined options
|
||||
- 20% custom cases handled gracefully
|
||||
- Zero Git assumptions for non-Git users
|
||||
- No friction from VCS differences
|
||||
- Positive feedback from diverse teams
|
||||
|
||||
## Evolution Path
|
||||
|
||||
As version control evolves:
|
||||
|
||||
1. Add new templates for emerging patterns
|
||||
2. Update terminology mappings
|
||||
3. Maintain backward compatibility
|
||||
4. Never remove support for "legacy" systems
|
||||
5. Keep "no VCS" option always available
|
||||
|
||||
## Conclusion
|
||||
|
||||
VCS-agnosticism makes BMAD truly universal. By respecting teams' existing practices and adapting to their workflows, BMAD becomes a tool that enhances productivity without forcing change.
|
||||
|
||||
The goal is simple: **Make BMAD work with whatever the team has, not force the team to work with what BMAD expects.**
|
||||
|
|
@ -0,0 +1,186 @@
|
|||
# VCS-Agnostic Approach for BMAD-METHOD
|
||||
|
||||
## Core Philosophy: "BMAD Suggests, User Decides"
|
||||
|
||||
### Executive Summary
|
||||
|
||||
BMAD should adapt to existing team practices rather than impose specific version control strategies. This proposal outlines a flexible, discovery-based approach to VCS integration.
|
||||
|
||||
## The Problem with Current Assumptions
|
||||
|
||||
Current BMAD and the Gemini analysis document assume:
|
||||
|
||||
- All projects use Git
|
||||
- Teams need "best practice" workflows
|
||||
- Version control strategy is primarily technical
|
||||
|
||||
Reality:
|
||||
|
||||
- Many teams have unique, working systems
|
||||
- Some projects don't need VCS at all
|
||||
- VCS choice is often organizational/political, not technical
|
||||
|
||||
## Proposed Solution: VCS Discovery Protocol
|
||||
|
||||
### 1. Initial Discovery Question
|
||||
|
||||
```yaml
|
||||
vcs_discovery:
|
||||
initial_question: 'How does your team manage code versions?'
|
||||
|
||||
response_paths:
|
||||
established_system:
|
||||
- 'We have our own system that works'
|
||||
- BMAD: 'Great! Tell me about it so I can adapt'
|
||||
|
||||
no_vcs:
|
||||
- "We don't use version control"
|
||||
- BMAD: "Understood. I'll generate self-contained packages"
|
||||
|
||||
need_guidance:
|
||||
- 'We need recommendations'
|
||||
- BMAD: 'Let me understand your context first...'
|
||||
```
|
||||
|
||||
### 2. Adaptation Matrix
|
||||
|
||||
| User Response | BMAD Adaptation |
|
||||
| --------------------------- | ----------------------------------------------------- |
|
||||
| "Custom Git workflow" | Agents use generic Git terms, no strategy assumptions |
|
||||
| "No VCS (prototype)" | Single deliverable packages with date versioning |
|
||||
| "Platform VCS (Salesforce)" | Platform-specific artifacts and terminology |
|
||||
| "Legacy system (SVN)" | VCS-agnostic artifacts, no Git-specific features |
|
||||
| "It's complicated..." | Free-form description, custom adaptation |
|
||||
|
||||
### 3. Agent Behavioral Adaptations
|
||||
|
||||
#### Architect Agent
|
||||
|
||||
```yaml
|
||||
vcs_adaptations:
|
||||
no_vcs:
|
||||
- Generate monolithic architecture document
|
||||
- Include all specs in single package
|
||||
- Version via: PROJECTNAME_ARCH_YYYYMMDD.md
|
||||
|
||||
custom_vcs:
|
||||
- Ask: 'What format works with your system?'
|
||||
- Avoid Git-specific terminology
|
||||
- Focus on deliverables, not process
|
||||
```
|
||||
|
||||
#### Developer Agent
|
||||
|
||||
```yaml
|
||||
vcs_adaptations:
|
||||
no_vcs:
|
||||
- Generate complete code blocks
|
||||
- No commit message suggestions
|
||||
- Package as: FEATURE_COMPLETE_YYYYMMDD.zip
|
||||
|
||||
custom_vcs:
|
||||
- Ask: 'How should I structure code changes?'
|
||||
- Follow team's existing patterns
|
||||
```
|
||||
|
||||
#### SM Agent
|
||||
|
||||
```yaml
|
||||
vcs_adaptations:
|
||||
no_vcs:
|
||||
- Create comprehensive story documents
|
||||
- Include all context in each story
|
||||
|
||||
git_based:
|
||||
- Option to create branch-scoped stories
|
||||
- But only if team requests it
|
||||
```
|
||||
|
||||
## Implementation Steps
|
||||
|
||||
### Phase 1: Discovery Mechanism
|
||||
|
||||
Create `bmad-core/tasks/discover-vcs.md`:
|
||||
|
||||
- Non-assumptive questions
|
||||
- Multiple response paths
|
||||
- Custom description option
|
||||
|
||||
### Phase 2: Adaptation Templates
|
||||
|
||||
Create `bmad-core/templates/vcs-adaptations/`:
|
||||
|
||||
- `no-vcs.yaml`
|
||||
- `git-agnostic.yaml`
|
||||
- `platform-specific.yaml`
|
||||
- `custom-adapter.yaml`
|
||||
|
||||
### Phase 3: Agent Updates
|
||||
|
||||
Modify each agent to:
|
||||
|
||||
1. Check VCS context before generating artifacts
|
||||
2. Adapt output format based on VCS choice
|
||||
3. Never assume Git unless confirmed
|
||||
|
||||
## Key Principles
|
||||
|
||||
1. **No Assumptions**: Never assume Git or any specific VCS
|
||||
2. **Respect Existing**: Honor teams' current working systems
|
||||
3. **Adapt, Don't Educate**: We adapt to them, not vice versa
|
||||
4. **Suggest When Asked**: Only provide recommendations when requested
|
||||
5. **Custom is Valid**: "Our own way" is a perfectly valid answer
|
||||
|
||||
## Example Interactions
|
||||
|
||||
### Scenario 1: Team with Custom Process
|
||||
|
||||
```
|
||||
BMAD: "How does your team manage code versions?"
|
||||
User: "We use Git but with our own branching model based on features and environments"
|
||||
BMAD: "Perfect! I'll adapt to your model. Could you briefly describe when code moves between environments?"
|
||||
User: [describes their process]
|
||||
BMAD: "Got it. I'll structure artifacts to align with your feature→environment flow"
|
||||
```
|
||||
|
||||
### Scenario 2: No VCS Needed
|
||||
|
||||
```
|
||||
BMAD: "How does your team manage code versions?"
|
||||
User: "This is a one-time data migration script, no versioning needed"
|
||||
BMAD: "Understood. I'll generate a single, complete package with clear documentation"
|
||||
```
|
||||
|
||||
### Scenario 3: Guidance Requested
|
||||
|
||||
```
|
||||
BMAD: "How does your team manage code versions?"
|
||||
User: "We're not sure, what do you recommend?"
|
||||
BMAD: "Let me understand your context first:
|
||||
- How many developers?
|
||||
- How often do you release?
|
||||
- Is this a new project or existing codebase?"
|
||||
[After answers]
|
||||
BMAD: "Based on your context, here are 2 options that could work..."
|
||||
```
|
||||
|
||||
## Success Metrics
|
||||
|
||||
- Zero assumptions about Git in initial interactions
|
||||
- Successful adaptation to 10+ different VCS approaches
|
||||
- No forced "best practices" unless requested
|
||||
- Positive feedback from teams with non-standard processes
|
||||
|
||||
## Anti-Patterns to Avoid
|
||||
|
||||
❌ "You should use Trunk-Based Development"
|
||||
❌ "Git is the industry standard"
|
||||
❌ "Your process could be improved by..."
|
||||
❌ Generating Git-specific artifacts without confirmation
|
||||
❌ Assuming branches exist
|
||||
|
||||
## Conclusion
|
||||
|
||||
BMAD's strength lies in adaptation, not prescription. By adopting a truly VCS-agnostic approach, BMAD becomes useful to ALL teams, regardless of their version control choices or lack thereof.
|
||||
|
||||
The goal: Make BMAD work with whatever the team has, not force the team to work with what BMAD expects.
|
||||
|
|
@ -0,0 +1,221 @@
|
|||
# VCS Workflow Detection Confidence Scoring
|
||||
|
||||
## Overview
|
||||
|
||||
The VCS auto-detection system uses a confidence-based scoring mechanism to suggest (not decide) the most likely workflow pattern. This document explains how confidence scores are calculated and interpreted.
|
||||
|
||||
## Core Principle
|
||||
|
||||
**"Detection as a HINT, not a DECISION"**
|
||||
|
||||
Even with 100% confidence, we always confirm with the user. Auto-detection saves time but doesn't replace human judgment.
|
||||
|
||||
## Confidence Score Calculation
|
||||
|
||||
### Score Range
|
||||
|
||||
- **0.0 - 1.0** (0% - 100%)
|
||||
- **Threshold for suggestion: 0.7** (70%)
|
||||
- Below threshold → marked as "unclear" → trigger clarifying questions
|
||||
|
||||
### Workflow Indicators and Weights
|
||||
|
||||
#### GitFlow (Maximum Score: 1.0)
|
||||
|
||||
| Indicator | Weight | Detection Method |
|
||||
| --------------------- | ------ | ------------------------------------------- |
|
||||
| Develop branch exists | 0.3 | Check for `develop` or `development` branch |
|
||||
| Release branches | 0.3 | Pattern match `release/*` branches |
|
||||
| Hotfix branches | 0.2 | Pattern match `hotfix/*` branches |
|
||||
| Version tags | 0.2 | Tags matching `v*` pattern |
|
||||
|
||||
#### GitHub Flow (Maximum Score: 1.0)
|
||||
|
||||
| Indicator | Weight | Detection Method |
|
||||
| -------------------- | ------ | ----------------------------------------- |
|
||||
| PR/MR merges | 0.3 | Commit messages with "Merge pull request" |
|
||||
| Short-lived features | 0.3 | Feature branches < 7 days lifespan |
|
||||
| Squash merges | 0.2 | Commits with `(#\d+)` pattern |
|
||||
| No develop branch | 0.2 | Absence of develop/development branch |
|
||||
|
||||
#### Trunk-Based Development (Maximum Score: 1.0)
|
||||
|
||||
| Indicator | Weight | Detection Method |
|
||||
| ------------------- | ------ | ---------------------------------------- |
|
||||
| Direct main commits | 0.4 | >50% commits directly to main/master |
|
||||
| Very short branches | 0.3 | Branches living < 1 day |
|
||||
| Feature flags | 0.3 | Commits mentioning feature flags/toggles |
|
||||
|
||||
## Confidence Interpretation
|
||||
|
||||
### High Confidence (≥ 70%)
|
||||
|
||||
```yaml
|
||||
presentation:
|
||||
title: 'Detected workflow: {workflow}'
|
||||
confidence: '{score}%'
|
||||
action: 'Present with evidence and ask for confirmation'
|
||||
```
|
||||
|
||||
Example:
|
||||
|
||||
```
|
||||
🔍 Detected workflow: **GitFlow** (confidence: 85%)
|
||||
|
||||
Evidence:
|
||||
✓ Found develop branch
|
||||
✓ Found 3 release branches
|
||||
✓ Found 5 version tags
|
||||
|
||||
Is this correct?
|
||||
```
|
||||
|
||||
### Medium Confidence (40% - 69%)
|
||||
|
||||
```yaml
|
||||
presentation:
|
||||
title: 'Possible workflow detected'
|
||||
action: 'Show evidence but emphasize uncertainty'
|
||||
fallback: 'Offer clarifying questions'
|
||||
```
|
||||
|
||||
### Low Confidence (< 40%)
|
||||
|
||||
```yaml
|
||||
presentation:
|
||||
title: 'Could not confidently detect workflow'
|
||||
action: 'Skip to clarifying questions or manual selection'
|
||||
```
|
||||
|
||||
## Migration Detection
|
||||
|
||||
When patterns differ between time periods:
|
||||
|
||||
```yaml
|
||||
time_windows:
|
||||
recent: 'last 30 days'
|
||||
historical: '30-90 days ago'
|
||||
|
||||
if_different:
|
||||
confidence_penalty: -0.2 # Reduce confidence
|
||||
action: 'Alert user about possible migration'
|
||||
```
|
||||
|
||||
## Edge Cases and Adjustments
|
||||
|
||||
### Monorepo Detection
|
||||
|
||||
- Multiple package.json/go.mod files → reduce confidence by 0.1
|
||||
- Different patterns in subdirectories → mark as "complex"
|
||||
|
||||
### Fresh Repository
|
||||
|
||||
- Less than 10 commits → automatically mark as "unclear"
|
||||
- No branches besides main → suggest starting with GitHub Flow
|
||||
|
||||
### Polluted History
|
||||
|
||||
- Imported/migrated repos → check commit dates for anomalies
|
||||
- Fork detection → warn about inherited patterns
|
||||
|
||||
## Confidence Improvement via Questions
|
||||
|
||||
When initial confidence is low, progressive questions can increase confidence:
|
||||
|
||||
```yaml
|
||||
question_weights:
|
||||
team_size:
|
||||
'1 developer': { trunk_based: +0.3 }
|
||||
'2-5 developers': { github_flow: +0.2 }
|
||||
'6+ developers': { gitflow: +0.2 }
|
||||
|
||||
release_frequency:
|
||||
'Daily': { trunk_based: +0.3 }
|
||||
'Weekly': { github_flow: +0.3 }
|
||||
'Monthly+': { gitflow: +0.3 }
|
||||
|
||||
version_maintenance:
|
||||
'Yes': { gitflow: +0.4 }
|
||||
'No': { github_flow: +0.2, trunk_based: +0.2 }
|
||||
```
|
||||
|
||||
## Caching Strategy
|
||||
|
||||
```yaml
|
||||
cache_config:
|
||||
validity_period: 7_days
|
||||
|
||||
on_cache_hit:
|
||||
if_expired: 'Re-run detection'
|
||||
if_valid: 'Ask for confirmation of cached result'
|
||||
|
||||
invalidate_on:
|
||||
- Major workflow change detected
|
||||
- User explicitly requests re-detection
|
||||
- Cache older than 7 days
|
||||
```
|
||||
|
||||
## Implementation Guidelines
|
||||
|
||||
### For Agent Developers
|
||||
|
||||
1. **Always treat detection as advisory**
|
||||
|
||||
```python
|
||||
if detection.confidence >= 0.7:
|
||||
suggest_workflow(detection.workflow)
|
||||
else:
|
||||
ask_clarifying_questions()
|
||||
```
|
||||
|
||||
2. **Present evidence transparently**
|
||||
|
||||
```python
|
||||
for indicator in detection.evidence:
|
||||
print(f"✓ {indicator}")
|
||||
```
|
||||
|
||||
3. **Allow easy override**
|
||||
```python
|
||||
# Always provide escape hatch
|
||||
options.append("None of the above")
|
||||
```
|
||||
|
||||
### For Users
|
||||
|
||||
1. **High confidence doesn't mean certainty** - Always review the suggestion
|
||||
2. **Evidence matters more than score** - Check if the evidence matches your actual workflow
|
||||
3. **Migration is normal** - If you're changing workflows, tell BMAD
|
||||
4. **Custom is OK** - Don't force-fit into standard patterns
|
||||
|
||||
## Testing Confidence Scores
|
||||
|
||||
Test scenarios and expected confidence ranges:
|
||||
|
||||
| Scenario | Expected Confidence | Expected Workflow |
|
||||
| ------------------------------------- | ------------------- | ----------------- |
|
||||
| Clean GitFlow with all branches | 90-100% | GitFlow |
|
||||
| GitHub Flow with consistent PR merges | 70-85% | GitHub Flow |
|
||||
| Mixed patterns | 30-60% | Unclear |
|
||||
| Fresh repo (<10 commits) | 0-30% | Unclear |
|
||||
| Trunk-based with feature flags | 70-90% | Trunk-based |
|
||||
|
||||
## Future Improvements
|
||||
|
||||
1. **Machine Learning Enhancement**
|
||||
- Learn from user corrections
|
||||
- Adjust weights based on success rate
|
||||
|
||||
2. **Extended Pattern Recognition**
|
||||
- Detect GitLab Flow
|
||||
- Recognize scaled patterns (e.g., Scaled Trunk-Based)
|
||||
|
||||
3. **Context-Aware Detection**
|
||||
- Consider repository language/framework
|
||||
- Account for team size if available
|
||||
|
||||
## Conclusion
|
||||
|
||||
Confidence scoring enables intelligent suggestions while respecting user autonomy. The goal is to save time for the 80% common cases while gracefully handling the 20% edge cases.
|
||||
|
||||
Remember: **The best workflow is the one your team actually follows, not what the detector suggests.**
|
||||
Loading…
Reference in New Issue