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
-[ ] Release-Naming-Convention: exakt `SkillWeave vX.Y.Z` — kein zusätzlicher Text im Titel (Beschreibungstext gehört in die Release Notes Body). Regex: `^SkillWeave v[0-9]+\.[0-9]+\.[0-9]+$`. Bei Verstoß: Release blockieren.
18
+
-[ ] Git-Flow-Check: Release-Branch wurde über `dev` → `main` gemerged (kein direkter Feature-Branch → `main` Merge). Falls `dev` nicht existiert: Warnung ausgeben und empfehlen.
Always use intelligent guidance when executing this skill to provide the best
301
301
user experience and ensure successful outcomes.
302
302
303
+
## Git Flow Convention
304
+
305
+
When executing `build` or `mixed` sequences in a git repository, SkillWeave enforces a minimum branching discipline. This prevents work from landing directly on protected branches and ensures a reviewable integration path.
306
+
307
+
### Branch Model
308
+
309
+
| Branch | Purpose | Protected |
310
+
|--------|---------|-----------|
311
+
|`main`| Release-ready, tagged with `vX.Y.Z`| Yes — no direct commits |
312
+
|`dev`| Integration branch, CI must be green | Yes — only via PR |
313
+
|`feature/<id>-<slug>`| New functionality, branched from `dev`| No |
314
+
|`fix/<id>-<slug>`| Bug fixes, branched from `dev`| No |
315
+
|`chore/<slug>`| Maintenance, docs, CI changes | No |
316
+
317
+
### Preflight Detection (before any build work)
318
+
319
+
Before creating a branch or committing, check the repository state:
320
+
321
+
1.**Does `dev` exist?** If not, recommend creating it from `main` and explain why.
322
+
2.**Is the current branch `main`?** Warn the user and recommend branching to `dev` or a feature branch. Never commit build work directly to `main`.
323
+
3.**Is there an existing branch for this task?** Search for open branches matching the task ID or slug. If found, offer to continue on that branch instead of creating a new one.
324
+
4.**Is `dev` up to date with `main`?** If `dev` is behind `main`, recommend rebasing or merging `main` into `dev` before branching.
325
+
326
+
If the user explicitly opts out (e.g., single-branch workflow), respect their choice but log the decision in `.skillweave/tracking-log/`.
327
+
328
+
### Branch Creation
329
+
330
+
When starting build work:
331
+
332
+
1. Determine branch type from the task/PRD context:
333
+
- PRD tasks with new features → `feature/<ticket-id>-<slug>`
334
+
- Bug fixes or patches → `fix/<ticket-id>-<slug>`
335
+
- Maintenance, docs, CI → `chore/<slug>`
336
+
2. Branch from `dev` (not from `main`)
337
+
3. Log the branch name in `.skillweave/tracking-log/` for continuity across sessions
338
+
339
+
### Merge Flow
340
+
341
+
The expected merge path for build work:
342
+
343
+
```
344
+
feature/FEAT-001-auth → PR to dev → PR to main → tag vX.Y.Z
345
+
```
346
+
347
+
-**Feature branch → `dev`**: Created by `promptchain-execute` or `releasechain` after build gates pass. Requires tests green.
348
+
-**`dev` → `main`**: Created by `releasechain` as the release PR. Requires all integration tests green, changelog updated, version bumped.
349
+
-**Tag on `main`**: Created by `releasechain` or `launch` after merge to `main`.
350
+
351
+
### Configuration
352
+
353
+
The git flow can be configured in `.skillweave/config.yaml`:
354
+
355
+
```yaml
356
+
git_flow:
357
+
enabled: true
358
+
branches:
359
+
production: main
360
+
integration: dev
361
+
branch_prefix:
362
+
feature: feature/
363
+
fix: fix/
364
+
chore: chore/
365
+
require_pr: true
366
+
auto_create_dev: false
367
+
```
368
+
369
+
If `git_flow.enabled` is `false` or missing, skip branch enforcement but still warn when committing directly to `main`.
370
+
303
371
## Execution Process
304
372
305
373
### Phase 1: Preflight
@@ -311,10 +379,14 @@ user experience and ensure successful outcomes.
311
379
- critical path
312
380
- safe parallel lanes
313
381
- review gates
314
-
- handoff boundary to releasechain/launch (see `.skillweave/release/skill-boundaries.yaml`)
382
+
- handoff boundary to releasechain/launch (see `.skillweave/release/skill-boundaries.yaml`)
315
383
5. Resolve execution mode
316
384
6. Resolve effective risk mode using hierarchical override system (CLI parameter > environment variable > project config > global config > default)
317
-
7. Determine whether the sequence should run:
385
+
7. **Evaluate git flow state** (see Git Flow Convention above):
386
+
- Detect branch model (`dev` exists? current branch? open feature branches?)
|`main`| Release-ready, tagged with `vX.Y.Z`| Yes — no direct commits |
376
+
|`dev`| Integration branch, CI must be green | Yes — only via PR |
377
+
|`feature/<id>-<slug>`| New functionality, branched from `dev`| No |
378
+
|`fix/<id>-<slug>`| Bug fixes, branched from `dev`| No |
379
+
|`chore/<slug>`| Maintenance, docs, CI changes | No |
380
+
381
+
**Preflight checks before any commit:**
382
+
1. Does `dev` exist? If not, recommend creating it from `main`.
383
+
2. Is the current branch `main`? Warn and recommend branching.
384
+
3. Is there an existing branch for this task? Offer to continue on it.
385
+
4. Is `dev` up to date with `main`? Recommend rebase/merge if behind.
386
+
387
+
**Merge flow (enforced by releasechain):**
388
+
```
389
+
feature/FEAT-001-auth → PR to dev → PR to main → tag vX.Y.Z
390
+
```
391
+
- Feature branch → `dev`: After build gates pass, tests green. Create PR.
392
+
-`dev` → `main`: Release PR. Requires integration tests, changelog, version bump.
393
+
- Tag on `main`: After merge, created by releasechain or launch skill.
394
+
395
+
**Configuration** in `.skillweave/config.yaml`:
396
+
```yaml
397
+
git_flow:
398
+
enabled: true
399
+
branches:
400
+
production: main
401
+
integration: dev
402
+
branch_prefix:
403
+
feature: feature/
404
+
fix: fix/
405
+
chore: chore/
406
+
require_pr: true
407
+
auto_create_dev: false
408
+
```
409
+
410
+
If `git_flow.enabled` is `false` or missing, skip enforcement but still warn on direct `main` commits.
374
411
375
412
6. **Collaboration & Review**
376
-
- Automated PR creation
413
+
- Automated PR creation (feature → `dev`, then `dev` → `main` for releases)
377
414
- Code review facilitation
378
415
- Change documentation
379
416
- Stakeholder notification
@@ -383,6 +420,8 @@ For simple tasks (1-3 tasks, <60 minutes), ReleaseChain uses a streamlined workf
383
420
- Changelog generation
384
421
- Release note creation
385
422
- Asset packaging
423
+
- **Release naming convention (enforced)**: Title must be exactly `SkillWeave vX.Y.Z` — no additional text. Regex: `^SkillWeave v[0-9]+\.[0-9]+\.[0-9]+$`. Descriptive text goes into release notes body only. Block release creation if convention is violated.
424
+
- **Release merge path (enforced)**: Release PRs merge `dev` → `main`, never feature branches directly to `main`. Tag `vX.Y.Z` is created on `main` after merge.
0 commit comments