Skip to content

Commit 53bf17e

Browse files
author
André Lange
committed
Merge feature/git-flow-convention into main
v1.0.1: Git Flow Convention for skills, Forgejo→GitHub mirror workflow
2 parents dd7884f + 427d434 commit 53bf17e

7 files changed

Lines changed: 156 additions & 15 deletions

File tree

.forgejo/workflows/mirror.yml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Mirror to GitHub
2+
on:
3+
push:
4+
branches: [main]
5+
6+
jobs:
7+
mirror:
8+
runs-on: docker
9+
steps:
10+
- uses: actions/checkout@v4
11+
with:
12+
fetch-depth: 0
13+
- name: Push to GitHub (public mirror)
14+
env:
15+
GH_TOKEN: ${{ secrets.GH_MIRROR_TOKEN }}
16+
run: |
17+
git remote add github-mirror https://x-access-token:${GH_TOKEN}@github.com/LangeVC/skillweave.git
18+
git push github-mirror main --tags

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
# Changelog
22

3+
## 1.0.1
4+
5+
- **FEATURE**: Git Flow Convention — skills enforce minimum branching discipline (feature/fix/chore branches, dev → main merge path, preflight detection)
6+
- **FEATURE**: Forgejo → GitHub mirror workflow (`.forgejo/workflows/mirror.yml`) — auto-push to GitHub on main push
7+
- **IMPROVEMENT**: promptchain-execute Preflight Phase 1 now includes git flow state evaluation (Step 7)
8+
- **IMPROVEMENT**: releasechain Pipeline Stage 5 expanded with branch model, merge flow enforcement, and config schema
9+
- **IMPROVEMENT**: launch Pre-Launch-Checklist includes git flow check (dev → main merge path verified)
10+
- **IMPROVEMENT**: Skill SKILL.md files synced between user-level and repo-level copies
11+
312
## 1.0.0 — Forever Free
413
- **RELEASE**: SkillWeave v1.0.0 "Forever Free" — production-stable AI skill orchestration
514
- **FEATURE**: 5-level test pyramid (Lint → Unit → E2E Smoke → Acceptance → Evidence/Groundedness) with 3-state gate (PROMOTE/HOLD/ROLLBACK)

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SkillWeave
22

33
[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)
4-
[![Version](https://img.shields.io/badge/version-1.0.0-blue)](https://github.com/LangeVC/skillweave/releases/tag/v1.0.0)
4+
[![Version](https://img.shields.io/badge/version-1.0.1-blue)](https://github.com/LangeVC/skillweave/releases/tag/v1.0.1)
55
[![Python](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/)
66
[![Skills](https://img.shields.io/badge/skills-13-blue)](skills/)
77
[![Status](https://img.shields.io/badge/status-production--stable-green)](https://github.com/LangeVC/skillweave)

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "skillweave"
7-
version = "1.0.0"
7+
version = "1.0.1"
88
description = "Multi-agent AI skill orchestration with Next Level features"
99
readme = "README.md"
1010
authors = [

skills/skillweave-launch/SKILL.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ Bei Fehlschlag wird das Deployment blockiert.
1313

1414
- [ ] Alle Tests grün (CI-Pipeline)
1515
- [ ] CHANGELOG.md aktualisiert und versioniert
16+
- [ ] README.md aktualisiert (Version-Badge, Features, Getting Started)
17+
- [ ] 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.
1619
- [ ] Release-Tag existiert (git tag vX.Y.Z)
1720
- [ ] Secrets/ENVs in Ziel-Umgebung gesetzt
1821
- [ ] Maintenance-Mode konfiguriert (Production)

skills/skillweave-promptchain-execute/SKILL.md

Lines changed: 74 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -300,6 +300,74 @@ elif result["action"] == "switch_skill":
300300
Always use intelligent guidance when executing this skill to provide the best
301301
user experience and ensure successful outcomes.
302302

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+
303371
## Execution Process
304372

305373
### Phase 1: Preflight
@@ -311,10 +379,14 @@ user experience and ensure successful outcomes.
311379
- critical path
312380
- safe parallel lanes
313381
- 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`)
315383
5. Resolve execution mode
316384
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?)
387+
- Create or switch to appropriate work branch
388+
- Warn if working directly on `main` or `dev`
389+
8. Determine whether the sequence should run:
318390
- as one batch
319391
- as multiple batches
320392
- with sidecar subagents

skills/skillweave-releasechain/SKILL.md

Lines changed: 50 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -260,14 +260,11 @@ Adjust your pipeline execution based on enabled features to provide enhanced res
260260
- Multi-agent routing based on capabilities
261261
- Automatic retry with learning
262262

263-
4. **Verification Feedback Loops (Testing Integration)**
264-
- Multi-level verification via `/skillweave test` (5-level pyramid)
265-
- **Verify step**: Runs Lint (L1) + Unit (L2) after code generation
266-
- **Review Gate**: Runs E2E Smoke (L3) + Acceptance (L4) before release
267-
- 3-state gate: PROMOTE (advance) / HOLD (suggest fix) / ROLLBACK (block)
268-
- Results stored in `.skillweave/testing/results/yyyy-mm-dd-run-N.json`
269-
- Gate decision drives Ralph Loop state transition (Fix/Retry vs Integrate)
270-
- See `skills/skillweave-lifecycle/references/testing-flow.md` for full spec
263+
4. **Verification Feedback Loops**
264+
- Multi-level verification (code, functional, system, business)
265+
- Automated testing integration
266+
- Quality gates before task completion
267+
- Continuous improvement from failures
271268

272269
### Agent-Agnostic Execution
273270

@@ -366,14 +363,54 @@ For simple tasks (1-3 tasks, <60 minutes), ReleaseChain uses a streamlined workf
366363
- **System Level**: E2E tests, performance tests
367364
- **Business Level**: Acceptance criteria validation
368365

369-
5. **Version Control Integration**
366+
5. **Version Control Integration — Git Flow**
370367
- Atomic commits per successful task
371368
- Descriptive commit messages
372-
- Branch management for features
373369
- Tag creation for milestones
370+
- **Git Flow enforcement** (see below)
371+
372+
**Branch Model:**
373+
| Branch | Purpose | Protected |
374+
|--------|---------|-----------|
375+
| `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.
374411

375412
6. **Collaboration & Review**
376-
- Automated PR creation
413+
- Automated PR creation (feature → `dev`, then `dev` → `main` for releases)
377414
- Code review facilitation
378415
- Change documentation
379416
- Stakeholder notification
@@ -383,6 +420,8 @@ For simple tasks (1-3 tasks, <60 minutes), ReleaseChain uses a streamlined workf
383420
- Changelog generation
384421
- Release note creation
385422
- 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.
386425

387426
8. **Deployment Readiness**
388427
- Build artifact creation

0 commit comments

Comments
 (0)