Organizations don't have one repository - they have dozens or hundreds. Each repository needs maintenance. Without coordination, maintenance becomes fragmented: different standards, different tooling, different practices. Some repos are well-maintained; others are neglected.
Multi-repository maintenance brings consistency and scale. The same standards apply everywhere. Updates roll out across all repos. Maintenance effort multiplies across the organization.
Why Multi-Repo Maintenance
Organizations need coordinated maintenance.
Consistency
Same standards everywhere:
@devonair enforce organization coding standards across all repositories
No more "it depends which repo."
Efficiency
Do it once, apply everywhere:
@devonair update ESLint config across all repositories
Single change, organization-wide impact.
Visibility
See the whole picture:
@devonair show maintenance status across all repositories
Organization-wide health view.
Scale
Handle many repos:
@devonair maintain 100+ repositories efficiently
Organization-Wide Standards
Shared Configuration
Central configuration source:
@devonair maintain shared config in central repository:
- eslint-config-company
- tsconfig-company
- prettier-config-company
Standard Enforcement
Verify all repos follow standards:
@devonair verify all repositories:
- Extend shared ESLint config
- Use standard TypeScript config
- Follow naming conventions
Configuration Propagation
Push updates to all repos:
@devonair when shared config updates:
- Create PRs in all repos using this config
- Verify compatibility
- Roll out gradually
Coordinated Updates
Synchronized Dependencies
Keep dependencies aligned:
@devonair ensure all repositories use compatible dependency versions:
- React 18.x across all frontend repos
- TypeScript 5.x everywhere
- Consistent testing library versions
Batch Updates
Update across repos:
@devonair update lodash to 4.17.21 across all repositories
@devonair apply security patch to all affected repositories
Staged Rollout
Update in stages:
@devonair update React across repositories:
Phase 1: non-critical internal tools
Phase 2: staging-deployed services
Phase 3: production services
Repository Discovery
Know what you have.
Inventory
Maintain repo list:
@devonair maintain inventory of all repositories:
- Name and description
- Primary language
- Team ownership
- Activity level
- Maintenance status
Classification
Categorize repos:
@devonair classify repositories:
- production-critical
- internal-tooling
- libraries
- archived
- experimental
Filtering
Select repos for maintenance:
@devonair maintain repositories where:
- Active (updated in last 6 months)
- Not archived
- Tagged for maintenance
Maintenance Scheduling
Parallel Maintenance
Run across repos simultaneously:
@devonair run security scan across all repositories in parallel
Staggered Updates
Spread updates over time:
@devonair update dependencies:
- 10 repos per day
- Staggered to avoid PR flood
Priority-Based
Important repos first:
@devonair prioritize maintenance:
1. Production-critical repos
2. Active development repos
3. Internal tools
4. Archived repos (minimal)
PR Management at Scale
PR Creation
Create PRs across repos:
@devonair create maintenance PR in all affected repositories
PR Organization
Track PRs:
@devonair track all maintenance PRs:
- Status by repository
- Age since creation
- Review status
PR Batching
Group PRs logically:
@devonair batch PRs:
- Security updates: immediate
- Minor updates: weekly digest
- Major updates: planned release
Reporting Across Repos
Organization Dashboard
See everything:
@devonair show organization dashboard:
- Total repositories
- Repos with issues
- Average code health
- Maintenance backlog
Comparative Reports
Compare repos:
@devonair compare repositories:
- By code health score
- By technical debt
- By dependency currency
Trend Analysis
Track over time:
@devonair track organization trends:
- Overall health improving?
- Which teams improving?
- Common problem patterns?
Team-Based Organization
Team Ownership
Route by team:
@devonair assign maintenance by team:
- Frontend repos → Frontend team
- Backend repos → Backend team
- Infrastructure repos → Platform team
Team Notifications
Notify appropriate teams:
@devonair notify teams of their repo issues:
- Frontend team sees frontend repo issues
- Not overwhelmed by unrelated repos
Team Metrics
Track by team:
@devonair report maintenance metrics by team:
- Issues resolved per team
- Average resolution time
- Code health by team
Handling Heterogeneity
Different Languages
Support varied tech stacks:
@devonair maintain repositories in:
- JavaScript/TypeScript
- Python
- Go
- Java
Different Tooling
Adapt to local tools:
@devonair adapt maintenance to local tooling:
- npm vs yarn vs pnpm
- Jest vs Mocha vs Vitest
- ESLint vs StandardJS
Different Lifecycles
Respect repo status:
@devonair maintenance intensity by lifecycle:
- Active: full maintenance
- Maintenance mode: security only
- Archived: minimal or none
Cross-Repository Changes
Refactoring Across Repos
Coordinate changes:
@devonair rename across repositories:
- Update library repo
- Update all consuming repos
- Coordinate PRs
API Changes
Handle breaking changes:
@devonair coordinate API change:
- Update library with new API
- Update consumers to new API
- Deploy in correct order
Security at Scale
Vulnerability Response
Respond across repos:
@devonair on critical CVE:
- Identify all affected repos
- Create patches in parallel
- Priority order by exposure
Compliance
Organization-wide compliance:
@devonair verify compliance across all repos:
- No high-severity vulnerabilities
- Dependencies up to date
- Security headers configured
Automation Efficiency
Caching
Share work:
@devonair cache shared analysis:
- Dependency vulnerability data
- Shared config validation
- Common pattern detection
Incremental Processing
Only process changes:
@devonair process incrementally:
- Skip unchanged repos
- Focus on active development
Resource Management
Balance load:
@devonair manage resources:
- Rate limit GitHub API calls
- Queue large operations
- Prioritize by urgency
Getting Started
Inventory your repos:
@devonair inventory all organization repositories
Establish standards:
@devonair create shared configuration packages
Enable organization maintenance:
@devonair enable maintenance across all active repositories
Set up reporting:
@devonair configure organization maintenance dashboard
Multi-repository maintenance scales your effort across your entire organization. Standards apply everywhere. Updates reach everywhere. Your whole codebase stays healthy.
FAQ
How do I handle repos that can't follow organization standards?
Allow documented exceptions. Some repos have legitimate reasons for different configurations. Track exceptions and review periodically.
What about repos owned by other teams?
Coordinate with owners. Create PRs for them to review and merge. Respect their ownership while ensuring organization standards.
How do I avoid overwhelming teams with PRs?
Batch low-priority updates. Stagger PR creation. Let teams configure their preferred pace. Focus their attention on high-priority items.
Should archived repos receive maintenance?
Security updates only for archived repos that are still deployed. Truly dead repos can skip maintenance entirely. Be clear about which is which.