mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 20:21:09 +02:00
feat(versioning): add semantic versioning and changesets to all apps
Assign version numbers based on app maturity: Calendar/Contacts/Todo (1.0.0), Chat/Picture (0.3.0), 11 beta apps (0.2.0), Context/Planta/Questions (0.1.0), Traces (0.0.1). Set up @changesets/cli for future version management. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
bd7129abd1
commit
97d5b13a38
83 changed files with 267 additions and 78 deletions
103
docs/VERSIONING.md
Normal file
103
docs/VERSIONING.md
Normal file
|
|
@ -0,0 +1,103 @@
|
|||
# Versioning Strategy
|
||||
|
||||
## Overview
|
||||
|
||||
This monorepo uses **independent semantic versioning** per app, managed by [Changesets](https://github.com/changesets/changesets).
|
||||
|
||||
## Semantic Versioning (SemVer)
|
||||
|
||||
All apps follow `MAJOR.MINOR.PATCH`:
|
||||
- **MAJOR** (1.x.x): Breaking changes, major rewrites
|
||||
- **MINOR** (x.1.x): New features, significant improvements
|
||||
- **PATCH** (x.x.1): Bug fixes, minor improvements
|
||||
|
||||
## Version Tiers
|
||||
|
||||
| Tier | Range | Criteria |
|
||||
|------|-------|----------|
|
||||
| **Production** | 1.0.0+ | Audit >=85, Tests >=80%, deployed 2+ months |
|
||||
| **Stable Beta** | 0.3.0+ | Deployed, audit >=75, has tests |
|
||||
| **Beta** | 0.2.0+ | Functional, deployed or ready to deploy |
|
||||
| **Early Beta** | 0.1.0+ | Core features working, architecture solid |
|
||||
| **Alpha** | 0.0.x | Early development, experimental |
|
||||
|
||||
## Current Versions
|
||||
|
||||
### Apps
|
||||
|
||||
| App | Version | Status |
|
||||
|-----|---------|--------|
|
||||
| Calendar | 1.0.0 | Production |
|
||||
| Contacts | 1.0.0 | Production |
|
||||
| Todo | 1.0.0 | Production |
|
||||
| Chat | 0.3.0 | Stable Beta |
|
||||
| Picture | 0.3.0 | Stable Beta |
|
||||
| Mukke | 0.2.0 | Beta |
|
||||
| Zitare | 0.2.0 | Beta |
|
||||
| Clock | 0.2.0 | Beta |
|
||||
| Nutriphi | 0.2.0 | Beta |
|
||||
| ManaDeck | 0.2.0 | Beta |
|
||||
| ManaCore | 0.2.0 | Beta |
|
||||
| Matrix | 0.2.0 | Beta |
|
||||
| Photos | 0.2.0 | Beta |
|
||||
| Skilltree | 0.2.0 | Beta |
|
||||
| Presi | 0.2.0 | Beta |
|
||||
| Storage | 0.2.0 | Beta |
|
||||
| Context | 0.1.0 | Early Beta |
|
||||
| Planta | 0.1.0 | Early Beta |
|
||||
| Questions | 0.1.0 | Early Beta |
|
||||
| Traces | 0.0.1 | Alpha |
|
||||
|
||||
### Services
|
||||
|
||||
| Service | Version | Status |
|
||||
|---------|---------|--------|
|
||||
| mana-core-auth | 1.0.0 | Production |
|
||||
| mana-search | 0.1.0 | Early Beta |
|
||||
| mana-crawler | 0.1.0 | Early Beta |
|
||||
| mana-llm | 0.0.1 | Alpha |
|
||||
| mana-notify | 0.0.1 | Alpha |
|
||||
|
||||
## How to Use
|
||||
|
||||
### Creating a Changeset
|
||||
|
||||
After making changes, run:
|
||||
|
||||
```bash
|
||||
pnpm changeset
|
||||
```
|
||||
|
||||
This prompts you to:
|
||||
1. Select which packages changed
|
||||
2. Choose bump type (major/minor/patch)
|
||||
3. Write a summary of changes
|
||||
|
||||
### Applying Version Bumps
|
||||
|
||||
```bash
|
||||
pnpm version:bump
|
||||
```
|
||||
|
||||
This reads pending changesets, bumps versions, and updates CHANGELOGs.
|
||||
|
||||
### Checking Status
|
||||
|
||||
```bash
|
||||
pnpm version:status
|
||||
```
|
||||
|
||||
Shows pending changesets and which packages will be bumped.
|
||||
|
||||
## Mobile App Versioning
|
||||
|
||||
Mobile apps (Expo) use EAS Build with `appVersionSource: "remote"` and `autoIncrement: true` for production builds. The `version` in app.json matches the package.json version, while buildNumber/versionCode are managed by EAS.
|
||||
|
||||
## Graduation Criteria
|
||||
|
||||
To move up a version tier:
|
||||
|
||||
- **Alpha -> Early Beta (0.1.0)**: Core features implemented, good architecture
|
||||
- **Early Beta -> Beta (0.2.0)**: Deployed or ready, audit >55
|
||||
- **Beta -> Stable Beta (0.3.0)**: Deployed, audit >=75, has tests
|
||||
- **Stable Beta -> Production (1.0.0)**: Audit >=85, tests >=80%, deployed 2+ months, zero critical bugs for 1 month
|
||||
Loading…
Add table
Add a link
Reference in a new issue