Skip to content

Commit ef8d5d2

Browse files
committed
docs: clarify release process for contributors and maintainers
- Emphasize everyone should use feature branches - Add requirement for tests with new features - Link to conventional commit standards - Clarify CI/CD must pass before any release - Separate contributor workflow from maintainer workflow - Make it clear contributors are done after PR merge
1 parent feb621d commit ef8d5d2

File tree

1 file changed

+78
-8
lines changed

1 file changed

+78
-8
lines changed

docs/contributing/release-process.md

Lines changed: 78 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,88 @@ This document describes the release process for nuxt-smartscript.
44

55
## Two Release Paths
66

7-
### 1. PR-Based Release (Recommended for Most Contributors)
7+
### Path 1: Contributors (Via Pull Request)
88

9-
**For most contributors**: Create a PR with your changes, and the maintainers will handle the release.
9+
**Standard workflow for all contributors:**
1010

11-
1. Create your feature branch
12-
2. Make your changes following conventional commits
13-
3. Create a PR to main branch
14-
4. After PR is merged, maintainers will trigger a release
11+
1. **Create feature branch**
12+
```bash
13+
git checkout -b feat/your-feature-name
14+
# or fix/your-bug-fix, docs/your-docs-update, etc.
15+
```
16+
17+
2. **Make your changes**
18+
- Write your code
19+
- **Add tests for all new features**
20+
- Update documentation as needed
21+
22+
3. **Ensure quality**
23+
```bash
24+
pnpm test # All tests must pass (including your new ones)
25+
pnpm lint # Code must be clean
26+
pnpm dev:prepare # Test in playground if needed
27+
```
28+
29+
4. **Commit with conventional format** (see [Commit Conventions](#changelog-conventions))
30+
```bash
31+
git add .
32+
git commit -m "feat: add awesome new feature"
33+
# Types: feat:, fix:, docs:, chore:, test:, refactor:, perf:
34+
```
35+
36+
5. **Push to your fork/branch**
37+
```bash
38+
git push origin your-branch-name
39+
```
40+
41+
6. **Create Pull Request**
42+
- PR description should explain the change
43+
- Link any related issues
44+
- Wait for CI/CD checks to pass
45+
46+
7. **After review and merge**
47+
- **You're done!**
48+
- Maintainers will handle release when appropriate
49+
- Your commits will appear in auto-generated changelog
50+
51+
### Path 2: Maintainers (With Release Rights)
1552

16-
### 2. Direct Release (Maintainers Only)
53+
**Maintainers should also use branches, but can release after merge:**
1754

18-
**For maintainers with npm publish rights**: Direct release from main branch.
55+
1. **Create feature branch** (same as contributors)
56+
```bash
57+
git checkout -b feat/your-feature-name
58+
```
59+
60+
2. **Develop and test** (same quality standards)
61+
```bash
62+
pnpm test # Must pass
63+
pnpm lint # Must be clean
64+
```
65+
66+
3. **Push branch and create PR** (even as maintainer)
67+
```bash
68+
git push origin your-branch-name
69+
# Create PR for review/CI checks
70+
```
71+
72+
4. **After PR is merged to main**
73+
```bash
74+
git checkout main
75+
git pull origin main
76+
```
77+
78+
5. **Wait for CI/CD to pass on main**
79+
- Check GitHub Actions for green checkmark
80+
- Never release with failing CI
81+
82+
6. **Run release command**
83+
```bash
84+
pnpm release # Auto version from commits
85+
# or for specific version:
86+
pnpm release -- --minor # For 0.x.0 bump
87+
pnpm release -- --patch # For 0.0.x bump
88+
```
1989

2090
## Prerequisites for Direct Release
2191

0 commit comments

Comments
 (0)