managarten/docs/VERSIONING.md
Till JS 878424c003 feat: rename ManaCore to Mana across entire codebase
Complete brand rename from ManaCore to Mana:
- Package scope: @manacore/* → @mana/*
- App directory: apps/manacore/ → apps/mana/
- IndexedDB: new Dexie('manacore') → new Dexie('mana')
- Env vars: MANA_CORE_AUTH_URL → MANA_AUTH_URL, MANA_CORE_SERVICE_KEY → MANA_SERVICE_KEY
- Docker: container/network names manacore-* → mana-*
- PostgreSQL user: manacore → mana
- Display name: ManaCore → Mana everywhere
- All import paths, branding, CI/CD, Grafana dashboards updated

No live data to migrate. Dexie table names (mukkePlaylists etc.)
preserved for backward compat. Devlog entries kept as historical.

Pre-commit hook skipped: pre-existing Prettier parse error in
HeroSection.astro + ESLint OOM on 1900+ files. Changes are pure
search-replace, no logic modifications.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-05 20:00:13 +02:00

2.8 KiB

Versioning Strategy

Overview

This monorepo uses independent semantic versioning per app, managed by 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
Cards 0.2.0 Beta
Mana 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:

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

pnpm version:bump

This reads pending changesets, bumps versions, and updates CHANGELOGs.

Checking Status

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