Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
Operational notes for maintaining this monorepo. Keep this file short — the durable gotchas only.
Code & test conventions (previously in `CLAUDE.md`) are consolidated in the last section.

**All changes to main go through PRs** — no direct pushes to main, including docs and release commits (owner rule, 2026-08-04).

## Tooling
- melos (independent versioning) drives version bumps and publishing. Conventional commit types drive release bumps: `feat` → minor, `fix` → patch. PR titles matter — they become CHANGELOG entries.

Expand All @@ -15,7 +17,7 @@ Code & test conventions (previously in `CLAUDE.md`) are consolidated in the last
- When building the plugin through the example app, the FGP relocates the plugin's build dir: unit test results land in `example/build/workmanager_android/`, **not** `workmanager_android/android/build/`. `./gradlew :workmanager_android:testDebugUnitTest` currently runs 50 tests.

## Release process
- Release commits go directly on main: `chore(release): publish packages` followed by a ` - pkg@version` list.
- Release bumps go through a PR like everything else: branch with the pubspec + CHANGELOG bumps → PR → merge. Then tag the **merged** commit (squash merges change the SHA), push tags, publish, create the GitHub Release.
- Tags: per-package (`workmanager_android-v0.10.5`, `workmanager-v0.10.6`, …) plus root `v0.x.y` (= workmanager version).
- `melos version` is interactive and proposes versions from commit analysis; it bumps dependency-only packages with build metadata (`0.1.1` → `0.1.1+1`). For the root package prefer a clean patch bump: edit pubspecs + CHANGELOGs manually, mirroring melos's exact format (root CHANGELOG date section with anchors, per-package CHANGELOG entries, dependent constraint bumps). This is the one sanctioned exception to the repo's "don't hand-edit CHANGELOGs" rule.
- **main is force-push protected** (server-side hook). Never rewrite main history; bump manually or accept melos's proposal.
Expand Down
Loading