You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: update README and CONTRIBUTING guidelines for clarity
- Expanded peer dependency details in README (including @types/react-dom).
- Updated descriptions for `watch()` callbacks and `getAll()` behavior.
- Clarified SecureStorage key formatting for namespaced storage.
- Improved MonoStorage `watch()` explanation with deep comparison info.
- Revised CONTRIBUTING.md to align with a Simplified GitFlow model.
- Removed references to `release/*` and `hotfix/*` branches in release process.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+16-18Lines changed: 16 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ Please also read and follow our [Code of Conduct](./CODE_OF_CONDUCT.md).
12
12
13
13
## Table of contents
14
14
- Principles and workflow
15
-
- Git branching model (GitFlow)
15
+
- Git branching model (Simplified GitFlow)
16
16
- Commit messages (Conventional Commits)
17
17
- What affects versioning (SemVer policy)
18
18
- Release process (release-it + GitHub Actions)
@@ -26,26 +26,22 @@ Please also read and follow our [Code of Conduct](./CODE_OF_CONDUCT.md).
26
26
27
27
## Principles and workflow
28
28
We value clarity, automation, and a predictable release cadence. We use:
29
-
- GitFlow for branching and release discipline.
29
+
-Simplified GitFlow (no release/* or hotfix/* branches) for branching and release discipline.
30
30
- Conventional Commits to generate CHANGELOG and calculate version bumps.
31
31
- release-it to cut releases and publish to npm and GitHub.
32
32
- Biome for formatting and linting; Jest for tests.
33
33
34
-
## Git branching model (GitFlow)
35
-
We follow a pragmatic GitFlow variant:
36
-
-`main` — production-ready branch. Commits here trigger a publish release.
37
-
-`develop` — integration branch for upcoming work (default target for feature PRs).
34
+
## Git branching model (Simplified GitFlow)
35
+
We follow a simplified GitFlow:
36
+
-`main` — production-ready branch. Merging a PR into `main` triggers a publish release.
37
+
-`develop` — integration branch for upcoming work (default target for feature PRs). After each successful release, we merge `main` back into `develop` to keep versions and files in sync.
38
38
-`feature/*` — feature branches cut from `develop`. Example: `feature/secure-storage-iv`.
39
-
-`release/*` — release preparation branches cut from `develop`. Example: `release/0.4.0`.
40
-
-`hotfix/*` — urgent fixes cut from `main`. Example: `hotfix/deserialize-crash`.
41
39
42
40
Typical flows:
43
41
- New work: branch from `develop` into `feature/<name>`, open PR into `develop`.
44
-
- Release: maintainers create `release/x.y.z` from `develop`, stabilize, then merge to `main`.
45
-
- Hotfix: branch from `main` into `hotfix/<name>`, then merge back to `main` (and forward-merge into `develop`).
42
+
- Release: open a pull request from the chosen base branch (typically `develop`) into `main`. After merge, CI publishes a new version and npm package. Then merge `main` back into `develop` to sync.
46
43
47
-
Note: Our CI includes a release preview for `release/*` and `hotfix/*` branches and performs a publish release on
48
-
`main`.
44
+
Note: We do not use `release/*` or `hotfix/*` branches.
49
45
50
46
## Commit messages (Conventional Commits)
51
47
We enforce Conventional Commits via commitlint. The general format is:
@@ -75,7 +71,7 @@ Examples:
75
71
-`fix(secure): handle invalid cipher text in decrypt()`
76
72
-`perf(mono): reduce allocations in shallowEqual()`
77
73
-`docs: expand README with React adapter examples`
78
-
-`ci: run release preview on release/* branches`
74
+
-`ci: update release pipeline`
79
75
80
76
Breaking changes:
81
77
- Indicate with `!` after the type or include a `BREAKING CHANGE:` footer.
@@ -99,10 +95,10 @@ Notes:
99
95
## Release process (release-it + GitHub Actions)
100
96
We automate releases with [release-it](https://github.com/release-it/release-it) and GitHub Actions.
101
97
102
-
Branches:
103
-
- `release/*` and `hotfix/*`: CI runs a Release Preview (no tag, no publish). This validates versioning and the
98
+
Branches/Triggers:
99
+
- Pull requests into `main`: CI runs checks and may run a release dry-run (no tag, no publish) to validate versioning and the
104
100
generated notes.
105
-
- `main`: CI runs a Release Publish that will:
101
+
- `main` (on merge): CI runs a Release Publish that will:
106
102
- determine the next version from commits (SemVer + Conventional Commits),
107
103
- update `CHANGELOG.md`,
108
104
- create a Git tag `vX.Y.Z` and a GitHub Release,
@@ -114,7 +110,9 @@ Local release commands (maintainers):
114
110
115
111
Important:
116
112
- Do not manually edit `CHANGELOG.md` for released versions — it’s generated.
117
-
- Ensure `develop` is up to date before cutting `release/*`.
113
+
- Ensure the intended changes are in `develop` (or the chosen base branch) before opening a PR to `main`.
114
+
- After a successful release, merge `main` back into `develop` to keep versions and files in sync.
115
+
- We do not use `release/*` or `hotfix/*` branches.
118
116
119
117
## Code style and quality
120
118
We use [Biome](https://biomejs.dev/) for formatting and linting. Key rules from `biome.json`:
@@ -160,7 +158,7 @@ Authoring tests:
160
158
161
159
## Pull requests
162
160
Checklist for contributors:
163
-
- [ ] Branch from `develop` (or `hotfix/*` from `main` for urgent fixes).
161
+
- [ ] Branch from `develop`.
164
162
- [ ] Follow code style and run locally:
165
163
- `npm run format:check && npm run lint && npm run typecheck && npm test`
0 commit comments