This document defines the release workflow for Ananke.
The project follows a structured branching and release strategy based on conventional commits and automated versioning.
main is the stable production branchdevelopment is the staging branchExamples:
feat: add new layout optionfix: correct mobile navigationdocs: update configuration guideflowchart LR
%% Columns
subgraph C1["Release"]
MAIN["main"]
end
subgraph C2["Staging"]
DEV["development"]
end
subgraph C3["Features, Fixes, Chores"]
F1["fix/issue123"]
F2["feat/foobar"]
F3["chore/dependencies"]
FMORE["..."]
end
%% Flow
DEV -->|rebase| MAIN
F1 -->|squash| DEV
F2 -->|squash| DEV
F3 -->|squash| DEV
FMORE --> DEV
maindevelopmentdevelopmentdevelopmentExamples:
feature/header-redesignfix/mobile-menudocs/improve-installationdevelopmentmain or developmentdevelopment: squash mergedevelopment → main: rebaseThis ensures:
maindevelopmentUsed for testing and validation.
npm run release:pre
developmentnpm run release
mainTypical flow:
developmentdevelopmentdevelopmentdevelopment → mainmain