4 min read • Guide 633 of 877
How to Use GitScrum for Monorepo Development?
How to use GitScrum for monorepo development?
Manage monorepos in GitScrum with package-specific labels, track cross-package dependencies, and document shared conventions in NoteVault. Coordinate releases across packages, monitor build health. Monorepo teams with structured workflow maintain 40% faster development velocity [Source: Monorepo Research 2024].
Monorepo workflow:
- Plan - Identify packages
- Develop - Work in package
- Test - Package + affected
- Review - Cross-package review
- Integrate - Merge to main
- Release - Coordinated releases
- Monitor - Build health
Monorepo labels
| Label | Purpose |
|---|---|
| pkg-core | Core package |
| pkg-ui | UI components |
| pkg-api | API package |
| pkg-shared | Shared utilities |
| cross-package | Multiple packages |
| breaking-change | Breaking change |
| infrastructure | Monorepo tooling |
Monorepo columns
| Column | Purpose |
|---|---|
| Backlog | All work |
| Development | Active work |
| Testing | Package testing |
| Cross-package Review | Affected packages |
| Integration | Merge ready |
| Released | Published |
NoteVault monorepo docs
| Document | Content |
|---|---|
| Package structure | Package purposes |
| Dependency graph | Package dependencies |
| Conventions | Shared standards |
| Release process | How to release |
| Build guide | Development setup |
Package task template
## Task: [description]
### Packages Affected
- Primary: [package name]
- Also affects: [other packages]
### Changes
- [Change 1]
- [Change 2]
### Breaking Changes
[ ] No breaking changes
[ ] Breaking change - see migration
### Testing
- [ ] Package tests pass
- [ ] Affected packages tested
- [ ] Integration tests pass
### Release Notes
[What to include in changelog]
Cross-package coordination
| Change Type | Coordination |
|---|---|
| Internal only | Single package |
| API change | All consumers |
| Shared util | All users |
| Breaking | Migration plan |
Dependency management
| Dependency | Tracking |
|---|---|
| Internal | Package.json |
| External | Version sync |
| Peer | Compatibility |
Release coordination
| Step | Action |
|---|---|
| Identify changes | Per package |
| Version bumps | Semver |
| Order releases | Dependencies first |
| Test releases | Verify each |
| Publish | In order |
Breaking change workflow
| Phase | Action |
|---|---|
| Identify | Mark as breaking |
| Document | Migration guide |
| Notify | Affected teams |
| Migrate | Update consumers |
| Release | Coordinated release |
Build optimization
| Focus | Tracking |
|---|---|
| Build time | Total CI time |
| Cache hits | % cached |
| Affected builds | Only changed |
| Parallelism | Concurrent jobs |
Monorepo metrics
| Metric | Track |
|---|---|
| Build time | Total CI time |
| Test time | All packages |
| Release frequency | Per package |
| Cross-package changes | % of changes |
Common monorepo issues
| Issue | Solution |
|---|---|
| Slow builds | Affected detection |
| Version conflicts | Sync versions |
| Large PRs | Smaller changes |
| Test flakiness | Isolated testing |
Infrastructure tasks
| Task Type | Purpose |
|---|---|
| Build tooling | Improve CI |
| Cache optimization | Faster builds |
| Dependency updates | Keep current |
| Shared configs | Consistency |
Package ownership
| Package | Owner | Team |
|---|---|---|
| core | @lead | Platform |
| ui | @lead | Frontend |
| api | @lead | Backend |