Repository navigation
chore(frameworks): vendor BMAD Method v6.8.0 + Test Architect v1.19.0 (src skills) - #575
Conversation
|
You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard. |
Dev-Lead — review-changes (applied)Changes committed and pushed. |
|
Important Review skippedToo many files! This PR contains 291 files, which is 141 over the limit of 150. To get a review, narrow the scope: ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Run ID: ⛔ Files ignored due to path filters (9)
📒 Files selected for processing (291)
You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Dev-Lead — fix-bot-comment (no-changes)Agent reasoning |
Dev-Lead — review-changes (no-changes)No changes were needed for this PR. |
|
Auto-rebase failed — merge conflict — this branch has conflicts with Claude will attempt to resolve this automatically. If it cannot, a follow-up comment will explain what needs manual attention. To resolve manually instead: |
There was a problem hiding this comment.
Code Review
This pull request integrates the vendored BMAD Method framework, adding various skill trees, templates, and workflows for project documentation, research, and planning. The review identified a critical CSV formatting error in documentation-requirements.csv where an unquoted comma shifts the columns, as well as several typos in the markdown instruction files where escaped asterisks (\*) were used instead of underscores (_) in variable names (such as {part\*id}, "file\*path", and file\*inventory).
| @@ -0,0 +1,12 @@ | |||
| project_type_id,requires_api_scan,requires_data_models,requires_state_management,requires_ui_components,requires_deployment_config,key_file_patterns,critical_directories,integration_scan_patterns,test_file_patterns,config_patterns,auth_security_patterns,schema_migration_patterns,entry_point_patterns,shared_code_patterns,monorepo_workspace_patterns,async_event_patterns,ci_cd_patterns,asset_patterns,hardware_interface_patterns,protocol_schema_patterns,localization_patterns,requires_hardware_docs,requires_asset_inventory | |||
| web,true,true,true,true,true,package.json;tsconfig.json;*.config.js;*.config.ts;vite.config.*;webpack.config.*;next.config.*;nuxt.config.*,src/;app/;pages/;components/;api/;lib/;styles/;public/;static/,*client.ts;*service.ts;*api.ts;fetch*.ts;axios*.ts;*http*.ts,*.test.ts;*.spec.ts;*.test.tsx;*.spec.tsx;**/__tests__/**;**/*.test.*;**/*.spec.*,.env*;config/*;*.config.*;.config/;settings/,*auth*.ts;*session*.ts;middleware/auth*;*.guard.ts;*authenticat*;*permission*;guards/,migrations/**;prisma/**;*.prisma;alembic/**;knex/**;*migration*.sql;*migration*.ts,main.ts;index.ts;app.ts;server.ts;_app.tsx;_app.ts;layout.tsx,shared/**;common/**;utils/**;lib/**;helpers/**;@*/**;packages/**,pnpm-workspace.yaml;lerna.json;nx.json;turbo.json;workspace.json;rush.json,*event*.ts;*queue*.ts;*subscriber*.ts;*consumer*.ts;*producer*.ts;*worker*.ts;jobs/**,.github/workflows/**;.gitlab-ci.yml;Jenkinsfile;.circleci/**;azure-pipelines.yml;bitbucket-pipelines.yml,.drone.yml,public/**;static/**;assets/**;images/**;media/**,N/A,*.proto;*.graphql;graphql/**;schema.graphql;*.avro;openapi.*;swagger.*,i18n/**;locales/**;lang/**;translations/**;messages/**;*.po;*.pot,false,false | |||
There was a problem hiding this comment.
The ci_cd_patterns column in the web row contains a comma (,) instead of a semicolon (;) before .drone.yml. Since this is a comma-separated values (CSV) file, this unquoted comma splits the field into two separate columns, causing all subsequent columns to shift by one and resulting in a malformed row with 25 columns instead of 24.
web,true,true,true,true,true,package.json;tsconfig.json;*.config.js;*.config.ts;vite.config.*;webpack.config.*;next.config.*;nuxt.config.*,src/;app/;pages/;components/;api/;lib/;styles/;public/;static/,*client.ts;*service.ts;*api.ts;fetch*.ts;axios*.ts;*http*.ts,*.test.ts;*.spec.ts;*.test.tsx;*.spec.tsx;**/__tests__/**;**/*.test.*;**/*.spec.*,.env*;config/*;*.config.*;.config/;settings/,*auth*.ts;*session*.ts;middleware/auth*;*.guard.ts;*authenticat*;*permission*;guards/,migrations/**;prisma/**;*.prisma;alembic/**;knex/**;*migration*.sql;*migration*.ts,main.ts;index.ts;app.ts;server.ts;_app.tsx;_app.ts;layout.tsx,shared/**;common/**;utils/**;lib/**;helpers/**;@*/**;packages/**,pnpm-workspace.yaml;lerna.json;nx.json;turbo.json;workspace.json;rush.json,*event*.ts;*queue*.ts;*subscriber*.ts;*consumer*.ts;*producer*.ts;*worker*.ts;jobs/**,.github/workflows/**;.gitlab-ci.yml;Jenkinsfile;.circleci/**;azure-pipelines.yml;bitbucket-pipelines.yml;.drone.yml,public/**;static/**;assets/**;images/**;media/**,N/A,*.proto;*.graphql;graphql/**;schema.graphql;*.avro;openapi.*;swagger.*,i18n/**;locales/**;lang/**;translations/**;messages/**;*.po;*.pot,false,false
| - [Architecture](./architecture{{#if multi-part}}-{part\*id}{{/if}}.md){{#unless architecture_file_exists}} (To be generated) {{/unless}} | ||
| - [Source Tree Analysis](./source-tree-analysis.md) | ||
| - [Component Inventory](./component-inventory{{#if multi-part}}-{part\*id}{{/if}}.md){{#unless component_inventory_exists}} (To be generated) {{/unless}} | ||
| - [Development Guide](./development-guide{{#if multi-part}}-{part\*id}{{/if}}.md){{#unless dev_guide_exists}} (To be generated) {{/unless}} |
There was a problem hiding this comment.
The template placeholder {part\*id} contains an escaped asterisk (\*) instead of an underscore (_). This typo will prevent the template engine from correctly resolving the part_id variable when generating the index file.
| - [Architecture](./architecture{{#if multi-part}}-{part\*id}{{/if}}.md){{#unless architecture_file_exists}} (To be generated) {{/unless}} | |
| - [Source Tree Analysis](./source-tree-analysis.md) | |
| - [Component Inventory](./component-inventory{{#if multi-part}}-{part\*id}{{/if}}.md){{#unless component_inventory_exists}} (To be generated) {{/unless}} | |
| - [Development Guide](./development-guide{{#if multi-part}}-{part\*id}{{/if}}.md){{#unless dev_guide_exists}} (To be generated) {{/unless}} | |
| - [Architecture](./architecture{{#if multi-part}}-{part_id}}{{/if}}.md){{#unless architecture_file_exists}} (To be generated) {{/unless}} | |
| - [Source Tree Analysis](./source-tree-analysis.md) | |
| - [Component Inventory](./component-inventory{{#if multi-part}}-{part_id}}{{/if}}.md){{#unless component_inventory_exists}} (To be generated) {{/unless}} | |
| - [Development Guide](./development-guide{{#if multi-part}}-{part_id}}{{/if}}.md){{#unless dev_guide_exists}} (To be generated) {{/unless}} |
| For each item store structure: | ||
| { | ||
| "title": "Architecture – Server", | ||
| "file\*path": "./architecture-server.md", |
| <action>Store all in file_inventory</action> | ||
| </check> | ||
|
|
||
| <action>For each file in file\*inventory, document: - **File Path:** Full path - **Purpose:** What this file does (1-2 sentences) - **Lines of Code:** Total LOC - **Exports:** Complete list with signatures |
There was a problem hiding this comment.
The variable name file\*inventory contains an escaped asterisk (\*) instead of an underscore (_). It should be file_inventory to match the variable initialized in previous steps.
| <action>For each file in file\*inventory, document: - **File Path:** Full path - **Purpose:** What this file does (1-2 sentences) - **Lines of Code:** Total LOC - **Exports:** Complete list with signatures | |
| <action>For each file in file_inventory, document: - **File Path:** Full path - **Purpose:** What this file does (1-2 sentences) - **Lines of Code:** Total LOC - **Exports:** Complete list with signatures |
… (src skills)
Agent-agnostic install of the BMAD Method skills under frameworks/ (the repo
standard for installed agentic frameworks; CLAUDE.md/AGENTS.md). Split out from
the idea->initiative pipeline PR so that PR's code stays reviewable (GitHub's
diff API caps at 300 files; this vendored tree alone is ~885).
- frameworks/bmad-method/ <- bmad-code-org/BMAD-METHOD @ v6.8.0 (src/)
- frameworks/bmad-test-architecture/ <- bmad-method-test-architecture-enterprise
@ v1.19.0 (Test Architect "Murat" + testarch)
Each carries VENDOR.md (provenance + refresh) + LICENSE. src/ skill trees only —
no upstream website/docs/build tooling.
CI: frameworks/** linguist-vendored; markdownlint already ignores frameworks/**;
gitleaks allowlist (path-scoped) for the Test Architect docs' illustrative auth
examples. Consumed by path by initiative-planner (see that PR).
Vendored dependency — exceeds the 300-file agentic-review limit, so this merges
without a pr-review pass.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
5a178e4 to
53b7389
Compare
Dev-Lead — rebase (no-changes)Agent reasoning |
|
Dev-Lead — fix-bot-comment (no-changes)Agent reasoning |
… (src skills) (#575) * chore(frameworks): vendor BMAD Method v6.8.0 + Test Architect v1.19.0 (src skills) Agent-agnostic install of the BMAD Method skills under frameworks/ (the repo standard for installed agentic frameworks; CLAUDE.md/AGENTS.md). Split out from the idea->initiative pipeline PR so that PR's code stays reviewable (GitHub's diff API caps at 300 files; this vendored tree alone is ~885). - frameworks/bmad-method/ <- bmad-code-org/BMAD-METHOD @ v6.8.0 (src/) - frameworks/bmad-test-architecture/ <- bmad-method-test-architecture-enterprise @ v1.19.0 (Test Architect "Murat" + testarch) Each carries VENDOR.md (provenance + refresh) + LICENSE. src/ skill trees only — no upstream website/docs/build tooling. CI: frameworks/** linguist-vendored; markdownlint already ignores frameworks/**; gitleaks allowlist (path-scoped) for the Test Architect docs' illustrative auth examples. Consumed by path by initiative-planner (see that PR). Vendored dependency — exceeds the 300-file agentic-review limit, so this merges without a pr-review pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
… (src skills) (#575) * chore(frameworks): vendor BMAD Method v6.8.0 + Test Architect v1.19.0 (src skills) Agent-agnostic install of the BMAD Method skills under frameworks/ (the repo standard for installed agentic frameworks; CLAUDE.md/AGENTS.md). Split out from the idea->initiative pipeline PR so that PR's code stays reviewable (GitHub's diff API caps at 300 files; this vendored tree alone is ~885). - frameworks/bmad-method/ <- bmad-code-org/BMAD-METHOD @ v6.8.0 (src/) - frameworks/bmad-test-architecture/ <- bmad-method-test-architecture-enterprise @ v1.19.0 (Test Architect "Murat" + testarch) Each carries VENDOR.md (provenance + refresh) + LICENSE. src/ skill trees only — no upstream website/docs/build tooling. CI: frameworks/** linguist-vendored; markdownlint already ignores frameworks/**; gitleaks allowlist (path-scoped) for the Test Architect docs' illustrative auth examples. Consumed by path by initiative-planner (see that PR). Vendored dependency — exceeds the 300-file agentic-review limit, so this merges without a pr-review pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
… (src skills) (#575) * chore(frameworks): vendor BMAD Method v6.8.0 + Test Architect v1.19.0 (src skills) Agent-agnostic install of the BMAD Method skills under frameworks/ (the repo standard for installed agentic frameworks; CLAUDE.md/AGENTS.md). Split out from the idea->initiative pipeline PR so that PR's code stays reviewable (GitHub's diff API caps at 300 files; this vendored tree alone is ~885). - frameworks/bmad-method/ <- bmad-code-org/BMAD-METHOD @ v6.8.0 (src/) - frameworks/bmad-test-architecture/ <- bmad-method-test-architecture-enterprise @ v1.19.0 (Test Architect "Murat" + testarch) Each carries VENDOR.md (provenance + refresh) + LICENSE. src/ skill trees only — no upstream website/docs/build tooling. CI: frameworks/** linguist-vendored; markdownlint already ignores frameworks/**; gitleaks allowlist (path-scoped) for the Test Architect docs' illustrative auth examples. Consumed by path by initiative-planner (see that PR). Vendored dependency — exceeds the 300-file agentic-review limit, so this merges without a pr-review pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
… (src skills) (#575) * chore(frameworks): vendor BMAD Method v6.8.0 + Test Architect v1.19.0 (src skills) Agent-agnostic install of the BMAD Method skills under frameworks/ (the repo standard for installed agentic frameworks; CLAUDE.md/AGENTS.md). Split out from the idea->initiative pipeline PR so that PR's code stays reviewable (GitHub's diff API caps at 300 files; this vendored tree alone is ~885). - frameworks/bmad-method/ <- bmad-code-org/BMAD-METHOD @ v6.8.0 (src/) - frameworks/bmad-test-architecture/ <- bmad-method-test-architecture-enterprise @ v1.19.0 (Test Architect "Murat" + testarch) Each carries VENDOR.md (provenance + refresh) + LICENSE. src/ skill trees only — no upstream website/docs/build tooling. CI: frameworks/** linguist-vendored; markdownlint already ignores frameworks/**; gitleaks allowlist (path-scoped) for the Test Architect docs' illustrative auth examples. Consumed by path by initiative-planner (see that PR). Vendored dependency — exceeds the 300-file agentic-review limit, so this merges without a pr-review pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…source (#575) (#1013) * chore(rulesets): repoint apply-rulesets + bootstrap to fleet source in .github (#575) The org-wide fleet rulesets (code-quality, pr-quality) now live in petry-projects/.github (standards/rulesets/, relocated there in the companion PR). Repoint the codified applier and the bootstrap orchestrator to source them from there, and remove the local copies. release-channel-tags stays repo-local. apply-rulesets.sh: - Default is now "fleet mode": when RULESETS_DIR is unset, materialize the fleet rulesets from STANDARDS_REPO (default petry-projects/.github) — via a local FLEET_RULESETS_DIR checkout when provided, else a gh contents-API fetch into a temp dir (mirrors seed-repo-template.sh's _fetch_standard model). - The repo-local release-channel-tags is applied by pointing RULESETS_DIR at this repo's own .github/rulesets (unchanged mechanism). - Remove the now-dead SCRIPT_DIR-based local default. bootstrap-new-repo.sh: - step_rulesets now applies exactly the two fleet rulesets to a new repo (fleet mode). release-channel-tags is NO LONGER applied to bootstrapped repos — it protects .github-private's own pr-review/** + dev-lead/** release tags only, so it is repo-local by the #575/#576 boundary. (Previously all 3 were applied.) Remove .github/rulesets/{code-quality,pr-quality}.json (moved to .github). Tests: - test_apply_rulesets.bats: pass RULESETS_DIR explicitly for release-channel-tags; add fleet-mode coverage (2 rulesets applied, never release-channel-tags; dry-run no-writes; missing FLEET_RULESETS_DIR errors). - test_bootstrap_new_repo.bats: provision a fleet fixture in setup so the real apply-rulesets resolves offline; drop the pr-quality/code-quality JSON *shape* assertions (that content is now owned + validated in .github); assert bootstrap applies exactly 2 fleet rulesets and not release-channel-tags. - new-repo-validation.md: 3 -> 2 ruleset(s); source-of-truth now petry-projects/.github. Migration safety (AC): relocated JSONs are byte-identical to the pre-move copies; a live --dry-run against petry-projects/.github-private resolves them and UPDATES the existing rulesets in place (PUT by id, not delete/recreate). code-quality is a live no-op. NOTE: pr-quality shows a PRE-EXISTING file-vs-live delta on .github-private (live require_last_push_approval=true vs file false) — identical before/after this move (the origin/main file carries the same value), so the move introduces no new drift. Flagged as an out-of-scope follow-up. Depends on the companion petry-projects/.github PR (must merge first). Part of #575. Follows #576. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com> Co-authored-by: Don Petry Bot <donpetry+bot@gmail.com>
… (src skills) (#575) * chore(frameworks): vendor BMAD Method v6.8.0 + Test Architect v1.19.0 (src skills) Agent-agnostic install of the BMAD Method skills under frameworks/ (the repo standard for installed agentic frameworks; CLAUDE.md/AGENTS.md). Split out from the idea->initiative pipeline PR so that PR's code stays reviewable (GitHub's diff API caps at 300 files; this vendored tree alone is ~885). - frameworks/bmad-method/ <- bmad-code-org/BMAD-METHOD @ v6.8.0 (src/) - frameworks/bmad-test-architecture/ <- bmad-method-test-architecture-enterprise @ v1.19.0 (Test Architect "Murat" + testarch) Each carries VENDOR.md (provenance + refresh) + LICENSE. src/ skill trees only — no upstream website/docs/build tooling. CI: frameworks/** linguist-vendored; markdownlint already ignores frameworks/**; gitleaks allowlist (path-scoped) for the Test Architect docs' illustrative auth examples. Consumed by path by initiative-planner (see that PR). Vendored dependency — exceeds the 300-file agentic-review limit, so this merges without a pr-review pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…source (#575) (#1013) * chore(rulesets): repoint apply-rulesets + bootstrap to fleet source in .github (#575) The org-wide fleet rulesets (code-quality, pr-quality) now live in petry-projects/.github (standards/rulesets/, relocated there in the companion PR). Repoint the codified applier and the bootstrap orchestrator to source them from there, and remove the local copies. release-channel-tags stays repo-local. apply-rulesets.sh: - Default is now "fleet mode": when RULESETS_DIR is unset, materialize the fleet rulesets from STANDARDS_REPO (default petry-projects/.github) — via a local FLEET_RULESETS_DIR checkout when provided, else a gh contents-API fetch into a temp dir (mirrors seed-repo-template.sh's _fetch_standard model). - The repo-local release-channel-tags is applied by pointing RULESETS_DIR at this repo's own .github/rulesets (unchanged mechanism). - Remove the now-dead SCRIPT_DIR-based local default. bootstrap-new-repo.sh: - step_rulesets now applies exactly the two fleet rulesets to a new repo (fleet mode). release-channel-tags is NO LONGER applied to bootstrapped repos — it protects .github-private's own pr-review/** + dev-lead/** release tags only, so it is repo-local by the #575/#576 boundary. (Previously all 3 were applied.) Remove .github/rulesets/{code-quality,pr-quality}.json (moved to .github). Tests: - test_apply_rulesets.bats: pass RULESETS_DIR explicitly for release-channel-tags; add fleet-mode coverage (2 rulesets applied, never release-channel-tags; dry-run no-writes; missing FLEET_RULESETS_DIR errors). - test_bootstrap_new_repo.bats: provision a fleet fixture in setup so the real apply-rulesets resolves offline; drop the pr-quality/code-quality JSON *shape* assertions (that content is now owned + validated in .github); assert bootstrap applies exactly 2 fleet rulesets and not release-channel-tags. - new-repo-validation.md: 3 -> 2 ruleset(s); source-of-truth now petry-projects/.github. Migration safety (AC): relocated JSONs are byte-identical to the pre-move copies; a live --dry-run against petry-projects/.github-private resolves them and UPDATES the existing rulesets in place (PUT by id, not delete/recreate). code-quality is a live no-op. NOTE: pr-quality shows a PRE-EXISTING file-vs-live delta on .github-private (live require_last_push_approval=true vs file false) — identical before/after this move (the origin/main file carries the same value), so the move introduces no new drift. Flagged as an out-of-scope follow-up. Depends on the companion petry-projects/.github PR (must merge first). Part of #575. Follows #576. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com> Co-authored-by: Don Petry Bot <donpetry+bot@gmail.com>
… (src skills) (#575) * chore(frameworks): vendor BMAD Method v6.8.0 + Test Architect v1.19.0 (src skills) Agent-agnostic install of the BMAD Method skills under frameworks/ (the repo standard for installed agentic frameworks; CLAUDE.md/AGENTS.md). Split out from the idea->initiative pipeline PR so that PR's code stays reviewable (GitHub's diff API caps at 300 files; this vendored tree alone is ~885). - frameworks/bmad-method/ <- bmad-code-org/BMAD-METHOD @ v6.8.0 (src/) - frameworks/bmad-test-architecture/ <- bmad-method-test-architecture-enterprise @ v1.19.0 (Test Architect "Murat" + testarch) Each carries VENDOR.md (provenance + refresh) + LICENSE. src/ skill trees only — no upstream website/docs/build tooling. CI: frameworks/** linguist-vendored; markdownlint already ignores frameworks/**; gitleaks allowlist (path-scoped) for the Test Architect docs' illustrative auth examples. Consumed by path by initiative-planner (see that PR). Vendored dependency — exceeds the 300-file agentic-review limit, so this merges without a pr-review pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…source (#575) (#1013) * chore(rulesets): repoint apply-rulesets + bootstrap to fleet source in .github (#575) The org-wide fleet rulesets (code-quality, pr-quality) now live in petry-projects/.github (standards/rulesets/, relocated there in the companion PR). Repoint the codified applier and the bootstrap orchestrator to source them from there, and remove the local copies. release-channel-tags stays repo-local. apply-rulesets.sh: - Default is now "fleet mode": when RULESETS_DIR is unset, materialize the fleet rulesets from STANDARDS_REPO (default petry-projects/.github) — via a local FLEET_RULESETS_DIR checkout when provided, else a gh contents-API fetch into a temp dir (mirrors seed-repo-template.sh's _fetch_standard model). - The repo-local release-channel-tags is applied by pointing RULESETS_DIR at this repo's own .github/rulesets (unchanged mechanism). - Remove the now-dead SCRIPT_DIR-based local default. bootstrap-new-repo.sh: - step_rulesets now applies exactly the two fleet rulesets to a new repo (fleet mode). release-channel-tags is NO LONGER applied to bootstrapped repos — it protects .github-private's own pr-review/** + dev-lead/** release tags only, so it is repo-local by the #575/#576 boundary. (Previously all 3 were applied.) Remove .github/rulesets/{code-quality,pr-quality}.json (moved to .github). Tests: - test_apply_rulesets.bats: pass RULESETS_DIR explicitly for release-channel-tags; add fleet-mode coverage (2 rulesets applied, never release-channel-tags; dry-run no-writes; missing FLEET_RULESETS_DIR errors). - test_bootstrap_new_repo.bats: provision a fleet fixture in setup so the real apply-rulesets resolves offline; drop the pr-quality/code-quality JSON *shape* assertions (that content is now owned + validated in .github); assert bootstrap applies exactly 2 fleet rulesets and not release-channel-tags. - new-repo-validation.md: 3 -> 2 ruleset(s); source-of-truth now petry-projects/.github. Migration safety (AC): relocated JSONs are byte-identical to the pre-move copies; a live --dry-run against petry-projects/.github-private resolves them and UPDATES the existing rulesets in place (PUT by id, not delete/recreate). code-quality is a live no-op. NOTE: pr-quality shows a PRE-EXISTING file-vs-live delta on .github-private (live require_last_push_approval=true vs file false) — identical before/after this move (the origin/main file carries the same value), so the move introduces no new drift. Flagged as an out-of-scope follow-up. Depends on the companion petry-projects/.github PR (must merge first). Part of #575. Follows #576. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com> Co-authored-by: Don Petry Bot <donpetry+bot@gmail.com>
… (src skills) (#575) * chore(frameworks): vendor BMAD Method v6.8.0 + Test Architect v1.19.0 (src skills) Agent-agnostic install of the BMAD Method skills under frameworks/ (the repo standard for installed agentic frameworks; CLAUDE.md/AGENTS.md). Split out from the idea->initiative pipeline PR so that PR's code stays reviewable (GitHub's diff API caps at 300 files; this vendored tree alone is ~885). - frameworks/bmad-method/ <- bmad-code-org/BMAD-METHOD @ v6.8.0 (src/) - frameworks/bmad-test-architecture/ <- bmad-method-test-architecture-enterprise @ v1.19.0 (Test Architect "Murat" + testarch) Each carries VENDOR.md (provenance + refresh) + LICENSE. src/ skill trees only — no upstream website/docs/build tooling. CI: frameworks/** linguist-vendored; markdownlint already ignores frameworks/**; gitleaks allowlist (path-scoped) for the Test Architect docs' illustrative auth examples. Consumed by path by initiative-planner (see that PR). Vendored dependency — exceeds the 300-file agentic-review limit, so this merges without a pr-review pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…source (#575) (#1013) * chore(rulesets): repoint apply-rulesets + bootstrap to fleet source in .github (#575) The org-wide fleet rulesets (code-quality, pr-quality) now live in petry-projects/.github (standards/rulesets/, relocated there in the companion PR). Repoint the codified applier and the bootstrap orchestrator to source them from there, and remove the local copies. release-channel-tags stays repo-local. apply-rulesets.sh: - Default is now "fleet mode": when RULESETS_DIR is unset, materialize the fleet rulesets from STANDARDS_REPO (default petry-projects/.github) — via a local FLEET_RULESETS_DIR checkout when provided, else a gh contents-API fetch into a temp dir (mirrors seed-repo-template.sh's _fetch_standard model). - The repo-local release-channel-tags is applied by pointing RULESETS_DIR at this repo's own .github/rulesets (unchanged mechanism). - Remove the now-dead SCRIPT_DIR-based local default. bootstrap-new-repo.sh: - step_rulesets now applies exactly the two fleet rulesets to a new repo (fleet mode). release-channel-tags is NO LONGER applied to bootstrapped repos — it protects .github-private's own pr-review/** + dev-lead/** release tags only, so it is repo-local by the #575/#576 boundary. (Previously all 3 were applied.) Remove .github/rulesets/{code-quality,pr-quality}.json (moved to .github). Tests: - test_apply_rulesets.bats: pass RULESETS_DIR explicitly for release-channel-tags; add fleet-mode coverage (2 rulesets applied, never release-channel-tags; dry-run no-writes; missing FLEET_RULESETS_DIR errors). - test_bootstrap_new_repo.bats: provision a fleet fixture in setup so the real apply-rulesets resolves offline; drop the pr-quality/code-quality JSON *shape* assertions (that content is now owned + validated in .github); assert bootstrap applies exactly 2 fleet rulesets and not release-channel-tags. - new-repo-validation.md: 3 -> 2 ruleset(s); source-of-truth now petry-projects/.github. Migration safety (AC): relocated JSONs are byte-identical to the pre-move copies; a live --dry-run against petry-projects/.github-private resolves them and UPDATES the existing rulesets in place (PUT by id, not delete/recreate). code-quality is a live no-op. NOTE: pr-quality shows a PRE-EXISTING file-vs-live delta on .github-private (live require_last_push_approval=true vs file false) — identical before/after this move (the origin/main file carries the same value), so the move introduces no new drift. Flagged as an out-of-scope follow-up. Depends on the companion petry-projects/.github PR (must merge first). Part of #575. Follows #576. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com> Co-authored-by: Don Petry Bot <donpetry+bot@gmail.com>
… (src skills) (#575) * chore(frameworks): vendor BMAD Method v6.8.0 + Test Architect v1.19.0 (src skills) Agent-agnostic install of the BMAD Method skills under frameworks/ (the repo standard for installed agentic frameworks; CLAUDE.md/AGENTS.md). Split out from the idea->initiative pipeline PR so that PR's code stays reviewable (GitHub's diff API caps at 300 files; this vendored tree alone is ~885). - frameworks/bmad-method/ <- bmad-code-org/BMAD-METHOD @ v6.8.0 (src/) - frameworks/bmad-test-architecture/ <- bmad-method-test-architecture-enterprise @ v1.19.0 (Test Architect "Murat" + testarch) Each carries VENDOR.md (provenance + refresh) + LICENSE. src/ skill trees only — no upstream website/docs/build tooling. CI: frameworks/** linguist-vendored; markdownlint already ignores frameworks/**; gitleaks allowlist (path-scoped) for the Test Architect docs' illustrative auth examples. Consumed by path by initiative-planner (see that PR). Vendored dependency — exceeds the 300-file agentic-review limit, so this merges without a pr-review pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…source (#575) (#1013) * chore(rulesets): repoint apply-rulesets + bootstrap to fleet source in .github (#575) The org-wide fleet rulesets (code-quality, pr-quality) now live in petry-projects/.github (standards/rulesets/, relocated there in the companion PR). Repoint the codified applier and the bootstrap orchestrator to source them from there, and remove the local copies. release-channel-tags stays repo-local. apply-rulesets.sh: - Default is now "fleet mode": when RULESETS_DIR is unset, materialize the fleet rulesets from STANDARDS_REPO (default petry-projects/.github) — via a local FLEET_RULESETS_DIR checkout when provided, else a gh contents-API fetch into a temp dir (mirrors seed-repo-template.sh's _fetch_standard model). - The repo-local release-channel-tags is applied by pointing RULESETS_DIR at this repo's own .github/rulesets (unchanged mechanism). - Remove the now-dead SCRIPT_DIR-based local default. bootstrap-new-repo.sh: - step_rulesets now applies exactly the two fleet rulesets to a new repo (fleet mode). release-channel-tags is NO LONGER applied to bootstrapped repos — it protects .github-private's own pr-review/** + dev-lead/** release tags only, so it is repo-local by the #575/#576 boundary. (Previously all 3 were applied.) Remove .github/rulesets/{code-quality,pr-quality}.json (moved to .github). Tests: - test_apply_rulesets.bats: pass RULESETS_DIR explicitly for release-channel-tags; add fleet-mode coverage (2 rulesets applied, never release-channel-tags; dry-run no-writes; missing FLEET_RULESETS_DIR errors). - test_bootstrap_new_repo.bats: provision a fleet fixture in setup so the real apply-rulesets resolves offline; drop the pr-quality/code-quality JSON *shape* assertions (that content is now owned + validated in .github); assert bootstrap applies exactly 2 fleet rulesets and not release-channel-tags. - new-repo-validation.md: 3 -> 2 ruleset(s); source-of-truth now petry-projects/.github. Migration safety (AC): relocated JSONs are byte-identical to the pre-move copies; a live --dry-run against petry-projects/.github-private resolves them and UPDATES the existing rulesets in place (PUT by id, not delete/recreate). code-quality is a live no-op. NOTE: pr-quality shows a PRE-EXISTING file-vs-live delta on .github-private (live require_last_push_approval=true vs file false) — identical before/after this move (the origin/main file carries the same value), so the move introduces no new drift. Flagged as an out-of-scope follow-up. Depends on the companion petry-projects/.github PR (must merge first). Part of #575. Follows #576. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com> Co-authored-by: Don Petry Bot <donpetry+bot@gmail.com>
… (src skills) (#575) * chore(frameworks): vendor BMAD Method v6.8.0 + Test Architect v1.19.0 (src skills) Agent-agnostic install of the BMAD Method skills under frameworks/ (the repo standard for installed agentic frameworks; CLAUDE.md/AGENTS.md). Split out from the idea->initiative pipeline PR so that PR's code stays reviewable (GitHub's diff API caps at 300 files; this vendored tree alone is ~885). - frameworks/bmad-method/ <- bmad-code-org/BMAD-METHOD @ v6.8.0 (src/) - frameworks/bmad-test-architecture/ <- bmad-method-test-architecture-enterprise @ v1.19.0 (Test Architect "Murat" + testarch) Each carries VENDOR.md (provenance + refresh) + LICENSE. src/ skill trees only — no upstream website/docs/build tooling. CI: frameworks/** linguist-vendored; markdownlint already ignores frameworks/**; gitleaks allowlist (path-scoped) for the Test Architect docs' illustrative auth examples. Consumed by path by initiative-planner (see that PR). Vendored dependency — exceeds the 300-file agentic-review limit, so this merges without a pr-review pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
… (src skills) (#575) * chore(frameworks): vendor BMAD Method v6.8.0 + Test Architect v1.19.0 (src skills) Agent-agnostic install of the BMAD Method skills under frameworks/ (the repo standard for installed agentic frameworks; CLAUDE.md/AGENTS.md). Split out from the idea->initiative pipeline PR so that PR's code stays reviewable (GitHub's diff API caps at 300 files; this vendored tree alone is ~885). - frameworks/bmad-method/ <- bmad-code-org/BMAD-METHOD @ v6.8.0 (src/) - frameworks/bmad-test-architecture/ <- bmad-method-test-architecture-enterprise @ v1.19.0 (Test Architect "Murat" + testarch) Each carries VENDOR.md (provenance + refresh) + LICENSE. src/ skill trees only — no upstream website/docs/build tooling. CI: frameworks/** linguist-vendored; markdownlint already ignores frameworks/**; gitleaks allowlist (path-scoped) for the Test Architect docs' illustrative auth examples. Consumed by path by initiative-planner (see that PR). Vendored dependency — exceeds the 300-file agentic-review limit, so this merges without a pr-review pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…source (#575) (#1013) * chore(rulesets): repoint apply-rulesets + bootstrap to fleet source in .github (#575) The org-wide fleet rulesets (code-quality, pr-quality) now live in petry-projects/.github (standards/rulesets/, relocated there in the companion PR). Repoint the codified applier and the bootstrap orchestrator to source them from there, and remove the local copies. release-channel-tags stays repo-local. apply-rulesets.sh: - Default is now "fleet mode": when RULESETS_DIR is unset, materialize the fleet rulesets from STANDARDS_REPO (default petry-projects/.github) — via a local FLEET_RULESETS_DIR checkout when provided, else a gh contents-API fetch into a temp dir (mirrors seed-repo-template.sh's _fetch_standard model). - The repo-local release-channel-tags is applied by pointing RULESETS_DIR at this repo's own .github/rulesets (unchanged mechanism). - Remove the now-dead SCRIPT_DIR-based local default. bootstrap-new-repo.sh: - step_rulesets now applies exactly the two fleet rulesets to a new repo (fleet mode). release-channel-tags is NO LONGER applied to bootstrapped repos — it protects .github-private's own pr-review/** + dev-lead/** release tags only, so it is repo-local by the #575/#576 boundary. (Previously all 3 were applied.) Remove .github/rulesets/{code-quality,pr-quality}.json (moved to .github). Tests: - test_apply_rulesets.bats: pass RULESETS_DIR explicitly for release-channel-tags; add fleet-mode coverage (2 rulesets applied, never release-channel-tags; dry-run no-writes; missing FLEET_RULESETS_DIR errors). - test_bootstrap_new_repo.bats: provision a fleet fixture in setup so the real apply-rulesets resolves offline; drop the pr-quality/code-quality JSON *shape* assertions (that content is now owned + validated in .github); assert bootstrap applies exactly 2 fleet rulesets and not release-channel-tags. - new-repo-validation.md: 3 -> 2 ruleset(s); source-of-truth now petry-projects/.github. Migration safety (AC): relocated JSONs are byte-identical to the pre-move copies; a live --dry-run against petry-projects/.github-private resolves them and UPDATES the existing rulesets in place (PUT by id, not delete/recreate). code-quality is a live no-op. NOTE: pr-quality shows a PRE-EXISTING file-vs-live delta on .github-private (live require_last_push_approval=true vs file false) — identical before/after this move (the origin/main file carries the same value), so the move introduces no new drift. Flagged as an out-of-scope follow-up. Depends on the companion petry-projects/.github PR (must merge first). Part of #575. Follows #576. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com> Co-authored-by: Don Petry Bot <donpetry+bot@gmail.com>
…source (#575) (#1013) * chore(rulesets): repoint apply-rulesets + bootstrap to fleet source in .github (#575) The org-wide fleet rulesets (code-quality, pr-quality) now live in petry-projects/.github (standards/rulesets/, relocated there in the companion PR). Repoint the codified applier and the bootstrap orchestrator to source them from there, and remove the local copies. release-channel-tags stays repo-local. apply-rulesets.sh: - Default is now "fleet mode": when RULESETS_DIR is unset, materialize the fleet rulesets from STANDARDS_REPO (default petry-projects/.github) — via a local FLEET_RULESETS_DIR checkout when provided, else a gh contents-API fetch into a temp dir (mirrors seed-repo-template.sh's _fetch_standard model). - The repo-local release-channel-tags is applied by pointing RULESETS_DIR at this repo's own .github/rulesets (unchanged mechanism). - Remove the now-dead SCRIPT_DIR-based local default. bootstrap-new-repo.sh: - step_rulesets now applies exactly the two fleet rulesets to a new repo (fleet mode). release-channel-tags is NO LONGER applied to bootstrapped repos — it protects .github-private's own pr-review/** + dev-lead/** release tags only, so it is repo-local by the #575/#576 boundary. (Previously all 3 were applied.) Remove .github/rulesets/{code-quality,pr-quality}.json (moved to .github). Tests: - test_apply_rulesets.bats: pass RULESETS_DIR explicitly for release-channel-tags; add fleet-mode coverage (2 rulesets applied, never release-channel-tags; dry-run no-writes; missing FLEET_RULESETS_DIR errors). - test_bootstrap_new_repo.bats: provision a fleet fixture in setup so the real apply-rulesets resolves offline; drop the pr-quality/code-quality JSON *shape* assertions (that content is now owned + validated in .github); assert bootstrap applies exactly 2 fleet rulesets and not release-channel-tags. - new-repo-validation.md: 3 -> 2 ruleset(s); source-of-truth now petry-projects/.github. Migration safety (AC): relocated JSONs are byte-identical to the pre-move copies; a live --dry-run against petry-projects/.github-private resolves them and UPDATES the existing rulesets in place (PUT by id, not delete/recreate). code-quality is a live no-op. NOTE: pr-quality shows a PRE-EXISTING file-vs-live delta on .github-private (live require_last_push_approval=true vs file false) — identical before/after this move (the origin/main file carries the same value), so the move introduces no new drift. Flagged as an out-of-scope follow-up. Depends on the companion petry-projects/.github PR (must merge first). Part of #575. Follows #576. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com> Co-authored-by: Don Petry Bot <donpetry+bot@gmail.com>
… (src skills) (#575) * chore(frameworks): vendor BMAD Method v6.8.0 + Test Architect v1.19.0 (src skills) Agent-agnostic install of the BMAD Method skills under frameworks/ (the repo standard for installed agentic frameworks; CLAUDE.md/AGENTS.md). Split out from the idea->initiative pipeline PR so that PR's code stays reviewable (GitHub's diff API caps at 300 files; this vendored tree alone is ~885). - frameworks/bmad-method/ <- bmad-code-org/BMAD-METHOD @ v6.8.0 (src/) - frameworks/bmad-test-architecture/ <- bmad-method-test-architecture-enterprise @ v1.19.0 (Test Architect "Murat" + testarch) Each carries VENDOR.md (provenance + refresh) + LICENSE. src/ skill trees only — no upstream website/docs/build tooling. CI: frameworks/** linguist-vendored; markdownlint already ignores frameworks/**; gitleaks allowlist (path-scoped) for the Test Architect docs' illustrative auth examples. Consumed by path by initiative-planner (see that PR). Vendored dependency — exceeds the 300-file agentic-review limit, so this merges without a pr-review pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…source (#575) (#1013) * chore(rulesets): repoint apply-rulesets + bootstrap to fleet source in .github (#575) The org-wide fleet rulesets (code-quality, pr-quality) now live in petry-projects/.github (standards/rulesets/, relocated there in the companion PR). Repoint the codified applier and the bootstrap orchestrator to source them from there, and remove the local copies. release-channel-tags stays repo-local. apply-rulesets.sh: - Default is now "fleet mode": when RULESETS_DIR is unset, materialize the fleet rulesets from STANDARDS_REPO (default petry-projects/.github) — via a local FLEET_RULESETS_DIR checkout when provided, else a gh contents-API fetch into a temp dir (mirrors seed-repo-template.sh's _fetch_standard model). - The repo-local release-channel-tags is applied by pointing RULESETS_DIR at this repo's own .github/rulesets (unchanged mechanism). - Remove the now-dead SCRIPT_DIR-based local default. bootstrap-new-repo.sh: - step_rulesets now applies exactly the two fleet rulesets to a new repo (fleet mode). release-channel-tags is NO LONGER applied to bootstrapped repos — it protects .github-private's own pr-review/** + dev-lead/** release tags only, so it is repo-local by the #575/#576 boundary. (Previously all 3 were applied.) Remove .github/rulesets/{code-quality,pr-quality}.json (moved to .github). Tests: - test_apply_rulesets.bats: pass RULESETS_DIR explicitly for release-channel-tags; add fleet-mode coverage (2 rulesets applied, never release-channel-tags; dry-run no-writes; missing FLEET_RULESETS_DIR errors). - test_bootstrap_new_repo.bats: provision a fleet fixture in setup so the real apply-rulesets resolves offline; drop the pr-quality/code-quality JSON *shape* assertions (that content is now owned + validated in .github); assert bootstrap applies exactly 2 fleet rulesets and not release-channel-tags. - new-repo-validation.md: 3 -> 2 ruleset(s); source-of-truth now petry-projects/.github. Migration safety (AC): relocated JSONs are byte-identical to the pre-move copies; a live --dry-run against petry-projects/.github-private resolves them and UPDATES the existing rulesets in place (PUT by id, not delete/recreate). code-quality is a live no-op. NOTE: pr-quality shows a PRE-EXISTING file-vs-live delta on .github-private (live require_last_push_approval=true vs file false) — identical before/after this move (the origin/main file carries the same value), so the move introduces no new drift. Flagged as an out-of-scope follow-up. Depends on the companion petry-projects/.github PR (must merge first). Part of #575. Follows #576. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com> Co-authored-by: Don Petry Bot <donpetry+bot@gmail.com>
… (src skills) (#575) * chore(frameworks): vendor BMAD Method v6.8.0 + Test Architect v1.19.0 (src skills) Agent-agnostic install of the BMAD Method skills under frameworks/ (the repo standard for installed agentic frameworks; CLAUDE.md/AGENTS.md). Split out from the idea->initiative pipeline PR so that PR's code stays reviewable (GitHub's diff API caps at 300 files; this vendored tree alone is ~885). - frameworks/bmad-method/ <- bmad-code-org/BMAD-METHOD @ v6.8.0 (src/) - frameworks/bmad-test-architecture/ <- bmad-method-test-architecture-enterprise @ v1.19.0 (Test Architect "Murat" + testarch) Each carries VENDOR.md (provenance + refresh) + LICENSE. src/ skill trees only — no upstream website/docs/build tooling. CI: frameworks/** linguist-vendored; markdownlint already ignores frameworks/**; gitleaks allowlist (path-scoped) for the Test Architect docs' illustrative auth examples. Consumed by path by initiative-planner (see that PR). Vendored dependency — exceeds the 300-file agentic-review limit, so this merges without a pr-review pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…source (#575) (#1013) * chore(rulesets): repoint apply-rulesets + bootstrap to fleet source in .github (#575) The org-wide fleet rulesets (code-quality, pr-quality) now live in petry-projects/.github (standards/rulesets/, relocated there in the companion PR). Repoint the codified applier and the bootstrap orchestrator to source them from there, and remove the local copies. release-channel-tags stays repo-local. apply-rulesets.sh: - Default is now "fleet mode": when RULESETS_DIR is unset, materialize the fleet rulesets from STANDARDS_REPO (default petry-projects/.github) — via a local FLEET_RULESETS_DIR checkout when provided, else a gh contents-API fetch into a temp dir (mirrors seed-repo-template.sh's _fetch_standard model). - The repo-local release-channel-tags is applied by pointing RULESETS_DIR at this repo's own .github/rulesets (unchanged mechanism). - Remove the now-dead SCRIPT_DIR-based local default. bootstrap-new-repo.sh: - step_rulesets now applies exactly the two fleet rulesets to a new repo (fleet mode). release-channel-tags is NO LONGER applied to bootstrapped repos — it protects .github-private's own pr-review/** + dev-lead/** release tags only, so it is repo-local by the #575/#576 boundary. (Previously all 3 were applied.) Remove .github/rulesets/{code-quality,pr-quality}.json (moved to .github). Tests: - test_apply_rulesets.bats: pass RULESETS_DIR explicitly for release-channel-tags; add fleet-mode coverage (2 rulesets applied, never release-channel-tags; dry-run no-writes; missing FLEET_RULESETS_DIR errors). - test_bootstrap_new_repo.bats: provision a fleet fixture in setup so the real apply-rulesets resolves offline; drop the pr-quality/code-quality JSON *shape* assertions (that content is now owned + validated in .github); assert bootstrap applies exactly 2 fleet rulesets and not release-channel-tags. - new-repo-validation.md: 3 -> 2 ruleset(s); source-of-truth now petry-projects/.github. Migration safety (AC): relocated JSONs are byte-identical to the pre-move copies; a live --dry-run against petry-projects/.github-private resolves them and UPDATES the existing rulesets in place (PUT by id, not delete/recreate). code-quality is a live no-op. NOTE: pr-quality shows a PRE-EXISTING file-vs-live delta on .github-private (live require_last_push_approval=true vs file false) — identical before/after this move (the origin/main file carries the same value), so the move introduces no new drift. Flagged as an out-of-scope follow-up. Depends on the companion petry-projects/.github PR (must merge first). Part of #575. Follows #576. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com> Co-authored-by: Don Petry Bot <donpetry+bot@gmail.com>
… (src skills) (#575) * chore(frameworks): vendor BMAD Method v6.8.0 + Test Architect v1.19.0 (src skills) Agent-agnostic install of the BMAD Method skills under frameworks/ (the repo standard for installed agentic frameworks; CLAUDE.md/AGENTS.md). Split out from the idea->initiative pipeline PR so that PR's code stays reviewable (GitHub's diff API caps at 300 files; this vendored tree alone is ~885). - frameworks/bmad-method/ <- bmad-code-org/BMAD-METHOD @ v6.8.0 (src/) - frameworks/bmad-test-architecture/ <- bmad-method-test-architecture-enterprise @ v1.19.0 (Test Architect "Murat" + testarch) Each carries VENDOR.md (provenance + refresh) + LICENSE. src/ skill trees only — no upstream website/docs/build tooling. CI: frameworks/** linguist-vendored; markdownlint already ignores frameworks/**; gitleaks allowlist (path-scoped) for the Test Architect docs' illustrative auth examples. Consumed by path by initiative-planner (see that PR). Vendored dependency — exceeds the 300-file agentic-review limit, so this merges without a pr-review pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…source (#575) (#1013) * chore(rulesets): repoint apply-rulesets + bootstrap to fleet source in .github (#575) The org-wide fleet rulesets (code-quality, pr-quality) now live in petry-projects/.github (standards/rulesets/, relocated there in the companion PR). Repoint the codified applier and the bootstrap orchestrator to source them from there, and remove the local copies. release-channel-tags stays repo-local. apply-rulesets.sh: - Default is now "fleet mode": when RULESETS_DIR is unset, materialize the fleet rulesets from STANDARDS_REPO (default petry-projects/.github) — via a local FLEET_RULESETS_DIR checkout when provided, else a gh contents-API fetch into a temp dir (mirrors seed-repo-template.sh's _fetch_standard model). - The repo-local release-channel-tags is applied by pointing RULESETS_DIR at this repo's own .github/rulesets (unchanged mechanism). - Remove the now-dead SCRIPT_DIR-based local default. bootstrap-new-repo.sh: - step_rulesets now applies exactly the two fleet rulesets to a new repo (fleet mode). release-channel-tags is NO LONGER applied to bootstrapped repos — it protects .github-private's own pr-review/** + dev-lead/** release tags only, so it is repo-local by the #575/#576 boundary. (Previously all 3 were applied.) Remove .github/rulesets/{code-quality,pr-quality}.json (moved to .github). Tests: - test_apply_rulesets.bats: pass RULESETS_DIR explicitly for release-channel-tags; add fleet-mode coverage (2 rulesets applied, never release-channel-tags; dry-run no-writes; missing FLEET_RULESETS_DIR errors). - test_bootstrap_new_repo.bats: provision a fleet fixture in setup so the real apply-rulesets resolves offline; drop the pr-quality/code-quality JSON *shape* assertions (that content is now owned + validated in .github); assert bootstrap applies exactly 2 fleet rulesets and not release-channel-tags. - new-repo-validation.md: 3 -> 2 ruleset(s); source-of-truth now petry-projects/.github. Migration safety (AC): relocated JSONs are byte-identical to the pre-move copies; a live --dry-run against petry-projects/.github-private resolves them and UPDATES the existing rulesets in place (PUT by id, not delete/recreate). code-quality is a live no-op. NOTE: pr-quality shows a PRE-EXISTING file-vs-live delta on .github-private (live require_last_push_approval=true vs file false) — identical before/after this move (the origin/main file carries the same value), so the move introduces no new drift. Flagged as an out-of-scope follow-up. Depends on the companion petry-projects/.github PR (must merge first). Part of #575. Follows #576. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com> Co-authored-by: Don Petry Bot <donpetry+bot@gmail.com>
… (src skills) (#575) * chore(frameworks): vendor BMAD Method v6.8.0 + Test Architect v1.19.0 (src skills) Agent-agnostic install of the BMAD Method skills under frameworks/ (the repo standard for installed agentic frameworks; CLAUDE.md/AGENTS.md). Split out from the idea->initiative pipeline PR so that PR's code stays reviewable (GitHub's diff API caps at 300 files; this vendored tree alone is ~885). - frameworks/bmad-method/ <- bmad-code-org/BMAD-METHOD @ v6.8.0 (src/) - frameworks/bmad-test-architecture/ <- bmad-method-test-architecture-enterprise @ v1.19.0 (Test Architect "Murat" + testarch) Each carries VENDOR.md (provenance + refresh) + LICENSE. src/ skill trees only — no upstream website/docs/build tooling. CI: frameworks/** linguist-vendored; markdownlint already ignores frameworks/**; gitleaks allowlist (path-scoped) for the Test Architect docs' illustrative auth examples. Consumed by path by initiative-planner (see that PR). Vendored dependency — exceeds the 300-file agentic-review limit, so this merges without a pr-review pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…source (#575) (#1013) * chore(rulesets): repoint apply-rulesets + bootstrap to fleet source in .github (#575) The org-wide fleet rulesets (code-quality, pr-quality) now live in petry-projects/.github (standards/rulesets/, relocated there in the companion PR). Repoint the codified applier and the bootstrap orchestrator to source them from there, and remove the local copies. release-channel-tags stays repo-local. apply-rulesets.sh: - Default is now "fleet mode": when RULESETS_DIR is unset, materialize the fleet rulesets from STANDARDS_REPO (default petry-projects/.github) — via a local FLEET_RULESETS_DIR checkout when provided, else a gh contents-API fetch into a temp dir (mirrors seed-repo-template.sh's _fetch_standard model). - The repo-local release-channel-tags is applied by pointing RULESETS_DIR at this repo's own .github/rulesets (unchanged mechanism). - Remove the now-dead SCRIPT_DIR-based local default. bootstrap-new-repo.sh: - step_rulesets now applies exactly the two fleet rulesets to a new repo (fleet mode). release-channel-tags is NO LONGER applied to bootstrapped repos — it protects .github-private's own pr-review/** + dev-lead/** release tags only, so it is repo-local by the #575/#576 boundary. (Previously all 3 were applied.) Remove .github/rulesets/{code-quality,pr-quality}.json (moved to .github). Tests: - test_apply_rulesets.bats: pass RULESETS_DIR explicitly for release-channel-tags; add fleet-mode coverage (2 rulesets applied, never release-channel-tags; dry-run no-writes; missing FLEET_RULESETS_DIR errors). - test_bootstrap_new_repo.bats: provision a fleet fixture in setup so the real apply-rulesets resolves offline; drop the pr-quality/code-quality JSON *shape* assertions (that content is now owned + validated in .github); assert bootstrap applies exactly 2 fleet rulesets and not release-channel-tags. - new-repo-validation.md: 3 -> 2 ruleset(s); source-of-truth now petry-projects/.github. Migration safety (AC): relocated JSONs are byte-identical to the pre-move copies; a live --dry-run against petry-projects/.github-private resolves them and UPDATES the existing rulesets in place (PUT by id, not delete/recreate). code-quality is a live no-op. NOTE: pr-quality shows a PRE-EXISTING file-vs-live delta on .github-private (live require_last_push_approval=true vs file false) — identical before/after this move (the origin/main file carries the same value), so the move introduces no new drift. Flagged as an out-of-scope follow-up. Depends on the companion petry-projects/.github PR (must merge first). Part of #575. Follows #576. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com> Co-authored-by: Don Petry Bot <donpetry+bot@gmail.com>
… (src skills) (#575) * chore(frameworks): vendor BMAD Method v6.8.0 + Test Architect v1.19.0 (src skills) Agent-agnostic install of the BMAD Method skills under frameworks/ (the repo standard for installed agentic frameworks; CLAUDE.md/AGENTS.md). Split out from the idea->initiative pipeline PR so that PR's code stays reviewable (GitHub's diff API caps at 300 files; this vendored tree alone is ~885). - frameworks/bmad-method/ <- bmad-code-org/BMAD-METHOD @ v6.8.0 (src/) - frameworks/bmad-test-architecture/ <- bmad-method-test-architecture-enterprise @ v1.19.0 (Test Architect "Murat" + testarch) Each carries VENDOR.md (provenance + refresh) + LICENSE. src/ skill trees only — no upstream website/docs/build tooling. CI: frameworks/** linguist-vendored; markdownlint already ignores frameworks/**; gitleaks allowlist (path-scoped) for the Test Architect docs' illustrative auth examples. Consumed by path by initiative-planner (see that PR). Vendored dependency — exceeds the 300-file agentic-review limit, so this merges without a pr-review pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…source (#575) (#1013) * chore(rulesets): repoint apply-rulesets + bootstrap to fleet source in .github (#575) The org-wide fleet rulesets (code-quality, pr-quality) now live in petry-projects/.github (standards/rulesets/, relocated there in the companion PR). Repoint the codified applier and the bootstrap orchestrator to source them from there, and remove the local copies. release-channel-tags stays repo-local. apply-rulesets.sh: - Default is now "fleet mode": when RULESETS_DIR is unset, materialize the fleet rulesets from STANDARDS_REPO (default petry-projects/.github) — via a local FLEET_RULESETS_DIR checkout when provided, else a gh contents-API fetch into a temp dir (mirrors seed-repo-template.sh's _fetch_standard model). - The repo-local release-channel-tags is applied by pointing RULESETS_DIR at this repo's own .github/rulesets (unchanged mechanism). - Remove the now-dead SCRIPT_DIR-based local default. bootstrap-new-repo.sh: - step_rulesets now applies exactly the two fleet rulesets to a new repo (fleet mode). release-channel-tags is NO LONGER applied to bootstrapped repos — it protects .github-private's own pr-review/** + dev-lead/** release tags only, so it is repo-local by the #575/#576 boundary. (Previously all 3 were applied.) Remove .github/rulesets/{code-quality,pr-quality}.json (moved to .github). Tests: - test_apply_rulesets.bats: pass RULESETS_DIR explicitly for release-channel-tags; add fleet-mode coverage (2 rulesets applied, never release-channel-tags; dry-run no-writes; missing FLEET_RULESETS_DIR errors). - test_bootstrap_new_repo.bats: provision a fleet fixture in setup so the real apply-rulesets resolves offline; drop the pr-quality/code-quality JSON *shape* assertions (that content is now owned + validated in .github); assert bootstrap applies exactly 2 fleet rulesets and not release-channel-tags. - new-repo-validation.md: 3 -> 2 ruleset(s); source-of-truth now petry-projects/.github. Migration safety (AC): relocated JSONs are byte-identical to the pre-move copies; a live --dry-run against petry-projects/.github-private resolves them and UPDATES the existing rulesets in place (PUT by id, not delete/recreate). code-quality is a live no-op. NOTE: pr-quality shows a PRE-EXISTING file-vs-live delta on .github-private (live require_last_push_approval=true vs file false) — identical before/after this move (the origin/main file carries the same value), so the move introduces no new drift. Flagged as an out-of-scope follow-up. Depends on the companion petry-projects/.github PR (must merge first). Part of #575. Follows #576. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com> Co-authored-by: Don Petry Bot <donpetry+bot@gmail.com>
… (src skills) (#575) * chore(frameworks): vendor BMAD Method v6.8.0 + Test Architect v1.19.0 (src skills) Agent-agnostic install of the BMAD Method skills under frameworks/ (the repo standard for installed agentic frameworks; CLAUDE.md/AGENTS.md). Split out from the idea->initiative pipeline PR so that PR's code stays reviewable (GitHub's diff API caps at 300 files; this vendored tree alone is ~885). - frameworks/bmad-method/ <- bmad-code-org/BMAD-METHOD @ v6.8.0 (src/) - frameworks/bmad-test-architecture/ <- bmad-method-test-architecture-enterprise @ v1.19.0 (Test Architect "Murat" + testarch) Each carries VENDOR.md (provenance + refresh) + LICENSE. src/ skill trees only — no upstream website/docs/build tooling. CI: frameworks/** linguist-vendored; markdownlint already ignores frameworks/**; gitleaks allowlist (path-scoped) for the Test Architect docs' illustrative auth examples. Consumed by path by initiative-planner (see that PR). Vendored dependency — exceeds the 300-file agentic-review limit, so this merges without a pr-review pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>
…source (#575) (#1013) * chore(rulesets): repoint apply-rulesets + bootstrap to fleet source in .github (#575) The org-wide fleet rulesets (code-quality, pr-quality) now live in petry-projects/.github (standards/rulesets/, relocated there in the companion PR). Repoint the codified applier and the bootstrap orchestrator to source them from there, and remove the local copies. release-channel-tags stays repo-local. apply-rulesets.sh: - Default is now "fleet mode": when RULESETS_DIR is unset, materialize the fleet rulesets from STANDARDS_REPO (default petry-projects/.github) — via a local FLEET_RULESETS_DIR checkout when provided, else a gh contents-API fetch into a temp dir (mirrors seed-repo-template.sh's _fetch_standard model). - The repo-local release-channel-tags is applied by pointing RULESETS_DIR at this repo's own .github/rulesets (unchanged mechanism). - Remove the now-dead SCRIPT_DIR-based local default. bootstrap-new-repo.sh: - step_rulesets now applies exactly the two fleet rulesets to a new repo (fleet mode). release-channel-tags is NO LONGER applied to bootstrapped repos — it protects .github-private's own pr-review/** + dev-lead/** release tags only, so it is repo-local by the #575/#576 boundary. (Previously all 3 were applied.) Remove .github/rulesets/{code-quality,pr-quality}.json (moved to .github). Tests: - test_apply_rulesets.bats: pass RULESETS_DIR explicitly for release-channel-tags; add fleet-mode coverage (2 rulesets applied, never release-channel-tags; dry-run no-writes; missing FLEET_RULESETS_DIR errors). - test_bootstrap_new_repo.bats: provision a fleet fixture in setup so the real apply-rulesets resolves offline; drop the pr-quality/code-quality JSON *shape* assertions (that content is now owned + validated in .github); assert bootstrap applies exactly 2 fleet rulesets and not release-channel-tags. - new-repo-validation.md: 3 -> 2 ruleset(s); source-of-truth now petry-projects/.github. Migration safety (AC): relocated JSONs are byte-identical to the pre-move copies; a live --dry-run against petry-projects/.github-private resolves them and UPDATES the existing rulesets in place (PUT by id, not delete/recreate). code-quality is a live no-op. NOTE: pr-quality shows a PRE-EXISTING file-vs-live delta on .github-private (live require_last_push_approval=true vs file false) — identical before/after this move (the origin/main file carries the same value), so the move introduces no new drift. Flagged as an out-of-scope follow-up. Depends on the companion petry-projects/.github PR (must merge first). Part of #575. Follows #576. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * fix(reviews): address review comments [skip ci-relay] --------- Co-authored-by: donpetry-bot <{}+donpetry-bot@users.noreply.github.com> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com> Co-authored-by: Don Petry Bot <donpetry+bot@gmail.com>
… (src skills) (#575) * chore(frameworks): vendor BMAD Method v6.8.0 + Test Architect v1.19.0 (src skills) Agent-agnostic install of the BMAD Method skills under frameworks/ (the repo standard for installed agentic frameworks; CLAUDE.md/AGENTS.md). Split out from the idea->initiative pipeline PR so that PR's code stays reviewable (GitHub's diff API caps at 300 files; this vendored tree alone is ~885). - frameworks/bmad-method/ <- bmad-code-org/BMAD-METHOD @ v6.8.0 (src/) - frameworks/bmad-test-architecture/ <- bmad-method-test-architecture-enterprise @ v1.19.0 (Test Architect "Murat" + testarch) Each carries VENDOR.md (provenance + refresh) + LICENSE. src/ skill trees only — no upstream website/docs/build tooling. CI: frameworks/** linguist-vendored; markdownlint already ignores frameworks/**; gitleaks allowlist (path-scoped) for the Test Architect docs' illustrative auth examples. Consumed by path by initiative-planner (see that PR). Vendored dependency — exceeds the 300-file agentic-review limit, so this merges without a pr-review pass. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * chore: apply manual instructions [skip ci-relay] --------- Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Co-authored-by: donpetry-bot <281750570+donpetry-bot@users.noreply.github.com>



What
Agent-agnostic install of the BMAD Method skills under
frameworks/— the repo standard for installed agentic frameworks (CLAUDE.md/AGENTS.md).frameworks/bmad-method/←bmad-code-org/BMAD-METHOD@ v6.8.0 (src/skill trees)frameworks/bmad-test-architecture/←bmad-method-test-architecture-enterprise@ v1.19.0 (Test Architect "Murat" +testarch)Each carries
VENDOR.md(provenance + refresh command) +LICENSE. Only the upstreamsrc/skill trees are vendored — no website/docs/build tooling.Why split out
GitHub's diff API caps at 300 files; this vendored tree alone is ~885, which prevents the pr-review agent from reviewing the idea→initiative pipeline PR. Splitting keeps that PR's code reviewable; this PR is a vendored dependency.
Review note
This is vendored third-party content that exceeds the agentic-review file limit and isn't meaningfully reviewable line-by-line — intended to merge without a pr-review pass (admin/human merge). CI (markdownlint/yamllint/gitleaks/agent-shield) is the gate.
CI hygiene
frameworks/** linguist-vendored; markdownlint already ignoresframeworks/**; path-scoped gitleaks allowlist for the Test Architect docs' illustrative auth examples.🤖 Generated with Claude Code