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
{{ message }}
Repository navigation
Commit 5377d41
Browse filesBrowse the repository at this point in the historyBrowse files
chore: trim npm package — exclude docs and contributor files (#48)
* chore: unignore .ai-team/ for dev branches, update contributing guide
- Removed .ai-team/ from .gitignore so team files can be committed on dev/feature branches
- Updated CONTRIBUTING.md to reflect guard workflow as enforcement (not .gitignore)
- Updated guard workflow error message in both live and template copies
- .npmignore still excludes .ai-team/ from the published package
* chore: trim npm package — exclude docs, CONTRIBUTING.md, .gitignore
- Removed docs/ from package.json files allowlist (read on GitHub, not runtime)
- Added CONTRIBUTING.md, .gitignore, docs/ to .npmignore (belt-and-suspenders)
- Package: 82 files / 205.7kB -> 30 files / 75.1kB (63% smaller)
---------
Co-authored-by: bradygaster <bradygaster@users.noreply.github.com>
|**`feature/squad/{issue}-{slug}`**| Feature work | None — merge to dev | ✅ Everything (including `.ai-team/`) |
67
67
|**`preview`**| Staging & release candidate | Guard checks for `.ai-team/`, `team-docs/` (except blog/) | ✅ Most files — see [Protected Files](#whats-protected)|
68
68
|**`main`**| Production & releases | Guard checks for `.ai-team/`, `team-docs/` (except blog/) | ✅ Most files — see [Protected Files](#whats-protected)|
### 🚫 CRITICAL: Files Blocked from `main` and `preview`
99
99
100
-
These files are **runtime team state** and belong on development branches only:
100
+
These files are **runtime team state** and live on `dev` and feature branches. They are committed to git and flow freely between `dev` and feature branches, but the **guard workflow** (`squad-main-guard.yml`) blocks them from reaching `main` or `preview`:
|**`team-docs/` (except `team-docs/blog/`**| Internal team documentation, sprint plans, notes |✅ YES |❌ NEVER — guard blocks|
106
+
|**`team-docs/blog/**`**| Public blog content | ✅ YES | ✅ YES|
107
107
108
-
**Why?**`.ai-team/` contains persistent agent knowledge, routing rules, and decision history. It's internal infrastructure. If it leaks to `main`, you're shipping developer metadata as product. `team-docs/` is working notes — only blog content is publication-ready.
108
+
**Why?**`.ai-team/` contains persistent agent knowledge, routing rules, and decision history. It's internal infrastructure that belongs on development branches — not in production. The guard workflow is the enforcement mechanism, not `.gitignore`. `.ai-team/` is NOT in `.gitignore` — it's a normal part of the `dev` branch. The `.npmignore` file ensures it's excluded from the published npm package.
109
109
110
110
### ✅ Files That Flow Freely
111
111
@@ -171,7 +171,7 @@ If you accidentally (or intentionally) target `preview` or `main`, the **guard w
171
171
If the guard blocks your PR because it contains `.ai-team/` or `team-docs/` files:
172
172
173
173
```bash
174
-
# Remove .ai-team/ from git (keeps local copies safe)
174
+
# Remove .ai-team/ from this PR (keeps local copies and dev branch copies safe)
175
175
git rm --cached -r .ai-team/
176
176
177
177
# Remove team-docs/ except blog/
@@ -183,7 +183,7 @@ git commit -m "chore: remove internal team files from PR"
183
183
git push
184
184
```
185
185
186
-
The workflow will re-run and pass. Your local `.ai-team/` and `team-docs/` files remain untouched.
186
+
The workflow will re-run and pass. Your local `.ai-team/` and `team-docs/` files remain untouched, and they continue to exist on `dev` normally.
187
187
188
188
---
189
189
@@ -289,18 +289,18 @@ You don't need to add these yourself — the Lead will triage and label issues.
289
289
290
290
```
291
291
squad/
292
-
├── .ai-team/ 🚫 BLOCKED from main/preview
293
-
│ ├── agents/
294
-
│ │ ├── {name}/charter.md 🚫 BLOCKED
295
-
│ │ └── {name}/history.md 🚫 BLOCKED
296
-
│ ├── team.md 🚫 BLOCKED
297
-
│ ├── routing.md 🚫 BLOCKED
298
-
│ ├── decisions.md 🚫 BLOCKED
292
+
├── .ai-team/ ✅ Committed on dev & feature branches
293
+
│ ├── agents/ 🚫 Guard blocks from main/preview
294
+
│ │ ├── {name}/charter.md 🚫 Guard blocks from main/preview
295
+
│ │ └── {name}/history.md 🚫 Guard blocks from main/preview
296
+
│ ├── team.md 🚫 Guard blocks from main/preview
297
+
│ ├── routing.md 🚫 Guard blocks from main/preview
298
+
│ ├── decisions.md 🚫 Guard blocks from main/preview
299
299
│ └── ...
300
300
│
301
-
├── team-docs/ 🚫 BLOCKED (except blog/)
302
-
│ ├── sprint-plan.md 🚫 BLOCKED
303
-
│ ├── roadmap.md 🚫 BLOCKED
301
+
├── team-docs/ 🚫 Guard blocks from main/preview (except blog/)
302
+
│ ├── sprint-plan.md 🚫 Guard blocks from main/preview
303
+
│ ├── roadmap.md 🚫 Guard blocks from main/preview
304
304
│ └── blog/ ✅ ALLOWED (public content)
305
305
│ └── 001-launch.md ✅ ALLOWED
306
306
│
@@ -342,20 +342,22 @@ When you open a PR to `main` or `preview`, the workflow `.github/workflows/squad
342
342
- ✅ **Pass:** "No forbidden paths found" — you're good to merge
The guard is **not a suggestion** — it's a hard stop. But it's easy to fix if it blocks you (see [Fixing a Blocked PR](#fixing-a-blocked-pr)).
345
+
The guard is **not a suggestion** — it's a hard stop. This is the primary enforcement mechanism that keeps `.ai-team/` and internal `team-docs/` off `main` and `preview`. But it's easy to fix if it blocks you (see [Fixing a Blocked PR](#fixing-a-blocked-pr)).
346
346
347
347
---
348
348
349
349
## FAQ
350
350
351
351
### Q: I accidentally committed `.ai-team/` to my feature branch. Do I have to delete it?
352
352
353
-
**A:** No! `.ai-team/` is in `.gitignore`, so it won't push to GitHub unless you force-add it. Just keep your feature branch clean:
353
+
**A:** Nope — `.ai-team/` files are **supposed** to be committed on `dev` and feature branches! They're part of the normal development workflow. The guard workflow (`squad-main-guard.yml`) prevents them from reaching `main` or `preview`. Just don't PR them to those branches.
354
+
355
+
If you're creating a PR to `main` or `preview` and the guard blocks it, remove the files from that PR only:
354
356
355
357
```bash
356
-
git rm --cached -r .ai-team/ # Untrack if force-added
357
-
git checkout dev # Switch back to dev
358
-
# Your local .ai-team/ remains untouched
358
+
git rm --cached -r .ai-team/ # Untrack from this PR
359
+
git commit -m "chore: remove .ai-team/ from release PR"
360
+
git push
359
361
```
360
362
361
363
### Q: Can I PR to `main` directly?
@@ -364,7 +366,7 @@ git checkout dev # Switch back to dev
364
366
365
367
### Q: The guard blocked my PR. What now?
366
368
367
-
**A:** Your PR contains `.ai-team/` or `team-docs/` files that shouldn't be in `main`/`preview`. Follow [Fixing a Blocked PR](#fixing-a-blocked-pr) — it's three `git rm --cached` commands and a push. The workflow will re-run and pass.
369
+
**A:** Your PR targets `main` or `preview` and contains `.ai-team/` or `team-docs/` files. These files live on `dev` and feature branches but must not reach production. Follow [Fixing a Blocked PR](#fixing-a-blocked-pr) — it's three `git rm --cached` commands and a push. The workflow will re-run and pass.
368
370
369
371
### Q: I want to commit `team-docs/sprint-plan.md` — can I do that?
370
372
@@ -389,9 +391,9 @@ Welcome aboard. Make Squad better. 🚀
389
391
## Summary: What You Need to Know
390
392
391
393
1.**Clone from `dev`, create `squad/{issue}-{slug}` branch, PR back to `dev`**
392
-
2.**Never commit `.ai-team/`or internal `team-docs/` to `main` or `preview`— the guard will block it**
394
+
2.**`.ai-team/`files are committed on `dev` and feature branches — the guard workflow blocks them from `main`/`preview`**
0 commit comments