Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 6 additions & 10 deletions scripts/seed-repo-template.sh
Original file line number Diff line number Diff line change
Expand Up @@ -556,7 +556,6 @@ that run._
| `DESCRIPTION` — one sentence, what the repo is | `Beehive telemetry dashboard and alerting service` | `README.md`, `copilot-instructions.md`, repo description |
| `STACK` — one of `frontend`, `backend-go`, `backend-python`, `backend-rust`, `fullstack`, `infra-terraform`, `none` | `backend-python` | `dependabot.yml`, `ci.yml`, `copilot-setup-steps.yml`, `.gitignore` L2, `.github/instructions/` |
| `PROJECT_CONTEXT` — 3 to 5 sentences: product, target users, competitive landscape | see `feature-ideation.yml` header | `feature-ideation.yml` (`project_context`) |
| `BMAD` — `yes` for product repos (org default), `no` for data/tooling repos | `yes` | step 8 |

Rules for an agent:

Expand Down Expand Up @@ -878,7 +877,7 @@ esac

---

## 8. Remove template-only files; install BMAD if a product repo
## 8. Remove template-only files

Every template Bats file other than `tests/ci-*.bats` (the `*-stub.bats`
guards, `gitignore-baseline.bats`, `pr-quality-ruleset.bats`,
Expand All @@ -903,14 +902,11 @@ git rm tests/ci-*.bats
Remove only the Bats files, not the `tests/` directory: your own test suite
(`tests/test_*.py`, `tests/*.test.ts`, …) may already live there or will.

If `BMAD=yes`, install the BMAD Method (org standard for product repos:
spec-driven development, planning artifacts in `_bmad-output/`):

```bash
npx bmad-method install
```

`_bmad/` is already allowlisted in `.gitleaks.toml`. Commit the generated files.
Do **not** install agent frameworks here. BMAD and the other frameworks are
**vendored** into a repo as `git subtree` from `combsmith/.github-private` (or
`software-factory`) when a project needs them; never run `npx bmad-method
install`, and never ask the maintainer whether to. `_bmad/` stays allowlisted
in `.gitleaks.toml` for the vendored case.

---

Expand Down
16 changes: 6 additions & 10 deletions tests/fixtures/seed-repo-template/repo-template-BOOTSTRAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ that run._
| `DESCRIPTION` — one sentence, what the repo is | `Beehive telemetry dashboard and alerting service` | `README.md`, `copilot-instructions.md`, repo description |
| `STACK` — one of `frontend`, `backend-go`, `backend-python`, `backend-rust`, `fullstack`, `infra-terraform`, `none` | `backend-python` | `dependabot.yml`, `ci.yml`, `copilot-setup-steps.yml`, `.gitignore` L2, `.github/instructions/` |
| `PROJECT_CONTEXT` — 3 to 5 sentences: product, target users, competitive landscape | see `feature-ideation.yml` header | `feature-ideation.yml` (`project_context`) |
| `BMAD` — `yes` for product repos (org default), `no` for data/tooling repos | `yes` | step 8 |

Rules for an agent:

Expand Down Expand Up @@ -350,7 +349,7 @@ esac

---

## 8. Remove template-only files; install BMAD if a product repo
## 8. Remove template-only files

Every template Bats file other than `tests/ci-*.bats` (the `*-stub.bats`
guards, `gitignore-baseline.bats`, `pr-quality-ruleset.bats`,
Expand All @@ -375,14 +374,11 @@ git rm tests/ci-*.bats
Remove only the Bats files, not the `tests/` directory: your own test suite
(`tests/test_*.py`, `tests/*.test.ts`, …) may already live there or will.

If `BMAD=yes`, install the BMAD Method (org standard for product repos:
spec-driven development, planning artifacts in `_bmad-output/`):

```bash
npx bmad-method install
```

`_bmad/` is already allowlisted in `.gitleaks.toml`. Commit the generated files.
Do **not** install agent frameworks here. BMAD and the other frameworks are
**vendored** into a repo as `git subtree` from `combsmith/.github-private` (or
`software-factory`) when a project needs them; never run `npx bmad-method
install`, and never ask the maintainer whether to. `_bmad/` stays allowlisted
in `.gitleaks.toml` for the vendored case.

---

Expand Down
8 changes: 4 additions & 4 deletions tests/test_seed_repo_template.bats
Original file line number Diff line number Diff line change
Expand Up @@ -905,12 +905,12 @@ GHEOF

# ── #2233: commercial-support sections + one open seed PR per repo ─────────────
# Fixtures: standards/commercial-support-standard.md at standards/v1.2.0, and
# README.md / BOOTSTRAP.md / AGENTS.md from combsmith/repo-template main at e0f994b0 (#258).
# README.md / BOOTSTRAP.md / AGENTS.md from combsmith/repo-template main at 3e073f87 (#259).
SEED_FIXTURES="$SCRIPT_DIR/tests/fixtures/seed-repo-template"
# Git blob SHAs of those two repo-template files (guards the fixtures themselves
# against an editor/hook adding a trailing newline).
REPO_TEMPLATE_README_BLOB=a6b17a8c32f6181248e55a17f9254bb0480f0f3d
REPO_TEMPLATE_BOOTSTRAP_BLOB=9afcd88693581dde1c2027970ae5174c4945a6eb
REPO_TEMPLATE_BOOTSTRAP_BLOB=18f42406609dcb019362fc012c2ffc70b5c8de43
REPO_TEMPLATE_AGENTS_BLOB=1c5e6cb3b131037b7a103ebf33c243fac9facd0c

_fixture_commercial_standard() {
Expand All @@ -928,15 +928,15 @@ _standard_readme_block() { # <standard-file>
# newlines and _put_file encodes it with printf '%s'.
_seeded_blob() { printf '%s' "$1" | git hash-object --stdin; }

@test "#2233: BOOTSTRAP.md emission is blob-identical to repo-template main (e0f994b0)" {
@test "#2233: BOOTSTRAP.md emission is blob-identical to repo-template main (3e073f87)" {
[ "$(git hash-object "$SEED_FIXTURES/repo-template-BOOTSTRAP.md")" = "$REPO_TEMPLATE_BOOTSTRAP_BLOB" ]
run bash "$SEED" --emit-baseline BOOTSTRAP.md
[ "$status" -eq 0 ]
[[ "$output" == *"## 10. Done criteria"* ]]
[ "$(_seeded_blob "$output")" = "$REPO_TEMPLATE_BOOTSTRAP_BLOB" ]
}

@test "repo-template#253: AGENTS.md emission is blob-identical to repo-template main (e0f994b0)" {
@test "repo-template#253: AGENTS.md emission is blob-identical to repo-template main (3e073f87)" {
[ "$(git hash-object "$SEED_FIXTURES/repo-template-AGENTS.md")" = "$REPO_TEMPLATE_AGENTS_BLOB" ]
run bash "$SEED" --emit-baseline AGENTS.md
[ "$status" -eq 0 ]
Expand Down
Loading