Ocean-Atlas Branching Strategy
1. Purpose
Section titled “1. Purpose”This document defines the branching strategy for the Ocean-Atlas repository.
The strategy is intentionally lightweight and designed to support both knowledge contributions and future platform development without introducing unnecessary branching complexity.
2. Main Branch
Section titled “2. Main Branch”main is the primary branch of Ocean-Atlas.
It represents the current integrated state of the project and should remain valid and usable.
Normal changes should not be committed directly to main.
Changes should be introduced through short-lived branches and pull requests.
3. Working Branches
Section titled “3. Working Branches”Create a dedicated branch for each logical change.
Recommended prefixes are:
docs/<name>feature/<name>fix/<name>Used for knowledge and documentation changes.
Examples:
docs/package-referencedocs/integration-guidedocs/ddd-conceptsfeature/
Section titled “feature/”Used for new platform or tooling capabilities.
Examples:
feature/atlas-validationfeature/search-indexfeature/knowledge-apiUsed for corrections to platform behavior, tooling, repository configuration, or other defects.
Examples:
fix/broken-validationfix/ci-workflowMinor documentation corrections may use either docs/ or fix/; docs/ is preferred when the change is purely knowledge-related.
4. Pull Request Flow
Section titled “4. Pull Request Flow”The standard workflow is:
main │ └── create working branch │ ├── make changes ├── validate └── create pull request │ ├── review ├── required checks └── merge │ ▼ mainPull requests should target main.
After a pull request is merged, its working branch should normally be deleted.
5. Branch Lifetime
Section titled “5. Branch Lifetime”Working branches should be:
- short-lived;
- focused on one logical change;
- kept reasonably synchronized with
main; - deleted after successful merge.
Long-lived feature branches should be avoided where practical because they increase integration complexity.
6. Branch Protection
Section titled “6. Branch Protection”Where supported by the repository hosting platform, main should eventually require:
- pull requests before merging;
- successful required validation checks;
- required review for significant changes.
Protection rules may evolve as the project and contributor community grow.
7. Additional Branch Types
Section titled “7. Additional Branch Types”Additional branch conventions may be introduced when a real need emerges, such as release or maintenance branches.
They should not be introduced preemptively.
The branching model should remain as simple as the project’s development and release model allows.