chore(roo): establish git branching strategy for workshop monorepo
- Add branch naming convention: type/scope/short-description - Update gitea-push skill: branch guard in Step 1 (never commit to main) - Update rules-mcp-builder: create branch before any MCP build - Update rules-bigmind: create branch before any BigMind task - Update rules-homelab: create branch before any homelab task - Add Section 11 to REPO_STRATEGY.md: full branching strategy doc (types, scopes, workflow, Lumen responsibilities, examples) - Ticketing decision: Gitea Issues only, no Docker ticketing service
This commit is contained in:
+69
-2
@@ -262,7 +262,74 @@ Step 12: git push origin master
|
||||
|
||||
---
|
||||
|
||||
## 11. What We Are NOT Doing
|
||||
## 11. Branching Strategy
|
||||
|
||||
### 11.1 The One Rule
|
||||
|
||||
**Never commit directly to `main`.** Every session that touches code or plans starts by creating a branch. Branches are cheap. Broken main history is not.
|
||||
|
||||
### 11.2 Branch Naming Convention
|
||||
|
||||
Format: `type/scope/short-description`
|
||||
|
||||
| Type | When |
|
||||
|---|---|
|
||||
| `feat` | New feature, new MCP server, new tool |
|
||||
| `fix` | Bug fix |
|
||||
| `docs` | Documentation, plans, strategy files only |
|
||||
| `chore` | Refactoring, config, CI, build tooling |
|
||||
| `spike` | Experimental / throwaway exploration |
|
||||
|
||||
**Scope** = the affected project area:
|
||||
|
||||
| Scope | Covers |
|
||||
|---|---|
|
||||
| `bigmind` | mcp/bigmind — the memory MCP server |
|
||||
| `webscraper` | mcp/webscraper |
|
||||
| `cannamanage` | future CannaManage Java project |
|
||||
| `workshop` | repo-level changes (README, .gitignore, structure) |
|
||||
| `roo` | .roo/ — IDE config, modes, skills, rules |
|
||||
| `plans` | plans/ — architecture docs only |
|
||||
| `homelab` | TrueNAS, Docker Compose, infrastructure |
|
||||
|
||||
**Examples:**
|
||||
```
|
||||
feat/bigmind/people-contacts
|
||||
fix/bigmind/health-check-bugs
|
||||
docs/plans/cannamanage-strategy
|
||||
chore/workshop/monorepo-reorganize
|
||||
feat/webscraper/ssl-cert-fallback
|
||||
chore/roo/branching-strategy
|
||||
```
|
||||
|
||||
### 11.3 Workflow
|
||||
|
||||
```
|
||||
Session starts
|
||||
└─ git checkout -b feat/scope/name ← ALWAYS first step
|
||||
|
||||
Work happens, commits stack up on the branch
|
||||
|
||||
Session ends / feature complete
|
||||
└─ git push origin feat/scope/name
|
||||
└─ (optional) open Gitea PR for review
|
||||
└─ git checkout main && git merge --no-ff feat/scope/name
|
||||
└─ git push origin main
|
||||
```
|
||||
|
||||
### 11.4 Lumen's Responsibility
|
||||
|
||||
In every homelab session, Lumen must:
|
||||
1. Check `git branch --show-current` before first edit
|
||||
2. If on `main` → create a branch before touching any file
|
||||
3. Include the branch name in `memory_announce_focus()`
|
||||
4. Use the [`gitea-push skill`](.roo/skills/gitea-push/SKILL.md) which enforces the branch guard
|
||||
|
||||
The mode rules for `mcp-builder`, `bigmind`, and `homelab` all include this step explicitly.
|
||||
|
||||
---
|
||||
|
||||
## 12. What We Are NOT Doing
|
||||
|
||||
It's worth being explicit about choices we considered and rejected:
|
||||
|
||||
@@ -276,7 +343,7 @@ It's worth being explicit about choices we considered and rejected:
|
||||
|
||||
---
|
||||
|
||||
## 12. Visual Overview
|
||||
## 13. Visual Overview
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
|
||||
Reference in New Issue
Block a user