ma-agents 2.20.0 → 2.20.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +55 -1
- package/lib/agents.js +22 -11
- package/lib/bmad-cache/bmb/_git_preserved/HEAD +1 -0
- package/lib/bmad-cache/bmb/_git_preserved/config +13 -0
- package/lib/bmad-cache/bmb/_git_preserved/description +1 -0
- package/lib/bmad-cache/bmb/_git_preserved/hooks/applypatch-msg.sample +15 -0
- package/lib/bmad-cache/bmb/_git_preserved/hooks/commit-msg.sample +24 -0
- package/lib/bmad-cache/bmb/_git_preserved/hooks/fsmonitor-watchman.sample +174 -0
- package/lib/bmad-cache/bmb/_git_preserved/hooks/post-update.sample +8 -0
- package/lib/bmad-cache/bmb/_git_preserved/hooks/pre-applypatch.sample +14 -0
- package/lib/bmad-cache/bmb/_git_preserved/hooks/pre-commit.sample +49 -0
- package/lib/bmad-cache/bmb/_git_preserved/hooks/pre-merge-commit.sample +13 -0
- package/lib/bmad-cache/bmb/_git_preserved/hooks/pre-push.sample +53 -0
- package/lib/bmad-cache/bmb/_git_preserved/hooks/pre-rebase.sample +169 -0
- package/lib/bmad-cache/bmb/_git_preserved/hooks/pre-receive.sample +24 -0
- package/lib/bmad-cache/bmb/_git_preserved/hooks/prepare-commit-msg.sample +42 -0
- package/lib/bmad-cache/bmb/_git_preserved/hooks/push-to-checkout.sample +78 -0
- package/lib/bmad-cache/bmb/_git_preserved/hooks/sendemail-validate.sample +77 -0
- package/lib/bmad-cache/bmb/_git_preserved/hooks/update.sample +128 -0
- package/lib/bmad-cache/bmb/_git_preserved/index +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/info/exclude +6 -0
- package/lib/bmad-cache/bmb/_git_preserved/logs/HEAD +1 -0
- package/lib/bmad-cache/bmb/_git_preserved/logs/refs/heads/main +1 -0
- package/lib/bmad-cache/bmb/_git_preserved/logs/refs/remotes/origin/HEAD +1 -0
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-c6e539e2308f8ed764c5b54b6ab68a67f8a3796b.idx +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-c6e539e2308f8ed764c5b54b6ab68a67f8a3796b.pack +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-c6e539e2308f8ed764c5b54b6ab68a67f8a3796b.rev +0 -0
- package/lib/bmad-cache/bmb/_git_preserved/packed-refs +2 -0
- package/lib/bmad-cache/bmb/_git_preserved/refs/heads/main +1 -0
- package/lib/bmad-cache/bmb/_git_preserved/refs/remotes/origin/HEAD +1 -0
- package/lib/bmad-cache/bmb/_git_preserved/shallow +1 -0
- package/lib/bmad-cache/cache-manifest.json +6 -6
- package/lib/bmad-cache/cis/_git_preserved/HEAD +1 -0
- package/lib/bmad-cache/cis/_git_preserved/config +13 -0
- package/lib/bmad-cache/cis/_git_preserved/description +1 -0
- package/lib/bmad-cache/cis/_git_preserved/hooks/applypatch-msg.sample +15 -0
- package/lib/bmad-cache/cis/_git_preserved/hooks/commit-msg.sample +24 -0
- package/lib/bmad-cache/cis/_git_preserved/hooks/fsmonitor-watchman.sample +174 -0
- package/lib/bmad-cache/cis/_git_preserved/hooks/post-update.sample +8 -0
- package/lib/bmad-cache/cis/_git_preserved/hooks/pre-applypatch.sample +14 -0
- package/lib/bmad-cache/cis/_git_preserved/hooks/pre-commit.sample +49 -0
- package/lib/bmad-cache/cis/_git_preserved/hooks/pre-merge-commit.sample +13 -0
- package/lib/bmad-cache/cis/_git_preserved/hooks/pre-push.sample +53 -0
- package/lib/bmad-cache/cis/_git_preserved/hooks/pre-rebase.sample +169 -0
- package/lib/bmad-cache/cis/_git_preserved/hooks/pre-receive.sample +24 -0
- package/lib/bmad-cache/cis/_git_preserved/hooks/prepare-commit-msg.sample +42 -0
- package/lib/bmad-cache/cis/_git_preserved/hooks/push-to-checkout.sample +78 -0
- package/lib/bmad-cache/cis/_git_preserved/hooks/sendemail-validate.sample +77 -0
- package/lib/bmad-cache/cis/_git_preserved/hooks/update.sample +128 -0
- package/lib/bmad-cache/cis/_git_preserved/index +0 -0
- package/lib/bmad-cache/cis/_git_preserved/info/exclude +6 -0
- package/lib/bmad-cache/cis/_git_preserved/logs/HEAD +1 -0
- package/lib/bmad-cache/cis/_git_preserved/logs/refs/heads/main +1 -0
- package/lib/bmad-cache/cis/_git_preserved/logs/refs/remotes/origin/HEAD +1 -0
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-157d7eb8d527233a8607d926fc74ebf87f2ae0d3.idx +0 -0
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-157d7eb8d527233a8607d926fc74ebf87f2ae0d3.pack +0 -0
- package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-157d7eb8d527233a8607d926fc74ebf87f2ae0d3.rev +0 -0
- package/lib/bmad-cache/cis/_git_preserved/packed-refs +2 -0
- package/lib/bmad-cache/cis/_git_preserved/refs/heads/main +1 -0
- package/lib/bmad-cache/cis/_git_preserved/refs/remotes/origin/HEAD +1 -0
- package/lib/bmad-cache/cis/_git_preserved/shallow +1 -0
- package/lib/bmad-cache/gds/_git_preserved/HEAD +1 -0
- package/lib/bmad-cache/gds/_git_preserved/config +13 -0
- package/lib/bmad-cache/gds/_git_preserved/description +1 -0
- package/lib/bmad-cache/gds/_git_preserved/hooks/applypatch-msg.sample +15 -0
- package/lib/bmad-cache/gds/_git_preserved/hooks/commit-msg.sample +24 -0
- package/lib/bmad-cache/gds/_git_preserved/hooks/fsmonitor-watchman.sample +174 -0
- package/lib/bmad-cache/gds/_git_preserved/hooks/post-update.sample +8 -0
- package/lib/bmad-cache/gds/_git_preserved/hooks/pre-applypatch.sample +14 -0
- package/lib/bmad-cache/gds/_git_preserved/hooks/pre-commit.sample +49 -0
- package/lib/bmad-cache/gds/_git_preserved/hooks/pre-merge-commit.sample +13 -0
- package/lib/bmad-cache/gds/_git_preserved/hooks/pre-push.sample +53 -0
- package/lib/bmad-cache/gds/_git_preserved/hooks/pre-rebase.sample +169 -0
- package/lib/bmad-cache/gds/_git_preserved/hooks/pre-receive.sample +24 -0
- package/lib/bmad-cache/gds/_git_preserved/hooks/prepare-commit-msg.sample +42 -0
- package/lib/bmad-cache/gds/_git_preserved/hooks/push-to-checkout.sample +78 -0
- package/lib/bmad-cache/gds/_git_preserved/hooks/sendemail-validate.sample +77 -0
- package/lib/bmad-cache/gds/_git_preserved/hooks/update.sample +128 -0
- package/lib/bmad-cache/gds/_git_preserved/index +0 -0
- package/lib/bmad-cache/gds/_git_preserved/info/exclude +6 -0
- package/lib/bmad-cache/gds/_git_preserved/logs/HEAD +1 -0
- package/lib/bmad-cache/gds/_git_preserved/logs/refs/heads/main +1 -0
- package/lib/bmad-cache/gds/_git_preserved/logs/refs/remotes/origin/HEAD +1 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-44faafb9245b4ca17ad81bd6c9e6fc52fb5915a1.idx +0 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-44faafb9245b4ca17ad81bd6c9e6fc52fb5915a1.pack +0 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-44faafb9245b4ca17ad81bd6c9e6fc52fb5915a1.rev +0 -0
- package/lib/bmad-cache/gds/_git_preserved/packed-refs +2 -0
- package/lib/bmad-cache/gds/_git_preserved/refs/heads/main +1 -0
- package/lib/bmad-cache/gds/_git_preserved/refs/remotes/origin/HEAD +1 -0
- package/lib/bmad-cache/gds/_git_preserved/refs/tags/v0.2.2 +1 -0
- package/lib/bmad-cache/gds/_git_preserved/shallow +1 -0
- package/lib/bmad-cache/gds/package.json +2 -4
- package/lib/bmad-cache/gds/src/agents/gds-agent-game-architect/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/gds/src/agents/gds-agent-game-designer/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/gds/src/agents/gds-agent-game-dev/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/gds/src/agents/gds-agent-game-qa/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/gds/src/agents/gds-agent-game-scrum-master/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/gds/src/agents/gds-agent-game-solo-dev/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/gds/src/agents/gds-agent-tech-writer/bmad-skill-manifest.yaml +11 -0
- package/lib/bmad-cache/gds/src/module-help.csv +28 -28
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-brainstorm-game/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-create-game-brief/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-gdd/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-narrative/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/gds-check-implementation-readiness/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/gds-create-epics-and-stories/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/3-technical/gds-generate-project-context/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-code-review/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-correct-course/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-retrospective/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-sprint-planning/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-sprint-status/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/gds-e2e-scaffold/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/gds-performance-test/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/gds-playtest-plan/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-automate/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-design/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-framework/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-review/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/gds-document-project/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-dev/bmad-skill-manifest.yaml +1 -4
- package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-dev-new-preview/bmad-skill-manifest.yaml +1 -4
- package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-spec/bmad-skill-manifest.yaml +1 -0
- package/lib/bmad-cache/tea/_git_preserved/HEAD +1 -0
- package/lib/bmad-cache/tea/_git_preserved/config +13 -0
- package/lib/bmad-cache/tea/_git_preserved/description +1 -0
- package/lib/bmad-cache/tea/_git_preserved/hooks/applypatch-msg.sample +15 -0
- package/lib/bmad-cache/tea/_git_preserved/hooks/commit-msg.sample +24 -0
- package/lib/bmad-cache/tea/_git_preserved/hooks/fsmonitor-watchman.sample +174 -0
- package/lib/bmad-cache/tea/_git_preserved/hooks/post-update.sample +8 -0
- package/lib/bmad-cache/tea/_git_preserved/hooks/pre-applypatch.sample +14 -0
- package/lib/bmad-cache/tea/_git_preserved/hooks/pre-commit.sample +49 -0
- package/lib/bmad-cache/tea/_git_preserved/hooks/pre-merge-commit.sample +13 -0
- package/lib/bmad-cache/tea/_git_preserved/hooks/pre-push.sample +53 -0
- package/lib/bmad-cache/tea/_git_preserved/hooks/pre-rebase.sample +169 -0
- package/lib/bmad-cache/tea/_git_preserved/hooks/pre-receive.sample +24 -0
- package/lib/bmad-cache/tea/_git_preserved/hooks/prepare-commit-msg.sample +42 -0
- package/lib/bmad-cache/tea/_git_preserved/hooks/push-to-checkout.sample +78 -0
- package/lib/bmad-cache/tea/_git_preserved/hooks/sendemail-validate.sample +77 -0
- package/lib/bmad-cache/tea/_git_preserved/hooks/update.sample +128 -0
- package/lib/bmad-cache/tea/_git_preserved/index +0 -0
- package/lib/bmad-cache/tea/_git_preserved/info/exclude +6 -0
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-96ec1ce3a9ef4c891e00e060795b4434ba8f7163.idx +0 -0
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-96ec1ce3a9ef4c891e00e060795b4434ba8f7163.pack +0 -0
- package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-96ec1ce3a9ef4c891e00e060795b4434ba8f7163.rev +0 -0
- package/lib/bmad-cache/tea/_git_preserved/packed-refs +2 -0
- package/lib/bmad-cache/tea/_git_preserved/refs/heads/main +1 -0
- package/lib/bmad-cache/tea/_git_preserved/refs/remotes/origin/HEAD +1 -0
- package/lib/bmad-cache/tea/_git_preserved/refs/tags/v1.7.0 +1 -0
- package/lib/bmad-cache/tea/_git_preserved/shallow +1 -0
- package/lib/bmad.js +33 -0
- package/lib/installer.js +60 -3
- package/package.json +1 -1
- package/scripts/build-bmad-cache.js +6 -3
- package/test/agent-injection-strategy.test.js +123 -0
- package/test/instruction-injection.test.js +336 -0
- package/.cline/clinerules.md +0 -14
- package/.cline/skills/.ma-agents.json +0 -199
- package/.cline/skills/MANIFEST.yaml +0 -204
- package/.cline/skills/ai-audit-trail/SKILL.md +0 -23
- package/.cline/skills/cmake-best-practices/SKILL.md +0 -64
- package/.cline/skills/cmake-best-practices/examples/cmake.md +0 -59
- package/.cline/skills/code-documentation/SKILL.md +0 -57
- package/.cline/skills/code-documentation/examples/cpp.md +0 -29
- package/.cline/skills/code-documentation/examples/csharp.md +0 -28
- package/.cline/skills/code-documentation/examples/javascript_typescript.md +0 -28
- package/.cline/skills/code-documentation/examples/python.md +0 -57
- package/.cline/skills/code-review/SKILL.md +0 -59
- package/.cline/skills/commit-message/SKILL.md +0 -79
- package/.cline/skills/cpp-concurrency-safety/SKILL.md +0 -60
- package/.cline/skills/cpp-concurrency-safety/examples/concurrency.md +0 -73
- package/.cline/skills/cpp-const-correctness/SKILL.md +0 -63
- package/.cline/skills/cpp-const-correctness/examples/const_correctness.md +0 -54
- package/.cline/skills/cpp-memory-handling/SKILL.md +0 -42
- package/.cline/skills/cpp-memory-handling/examples/modern-cpp.md +0 -49
- package/.cline/skills/cpp-memory-handling/examples/smart-pointers.md +0 -46
- package/.cline/skills/cpp-modern-composition/SKILL.md +0 -64
- package/.cline/skills/cpp-modern-composition/examples/composition.md +0 -51
- package/.cline/skills/cpp-robust-interfaces/SKILL.md +0 -55
- package/.cline/skills/cpp-robust-interfaces/examples/interfaces.md +0 -56
- package/.cline/skills/create-hardened-docker-skill/SKILL.md +0 -637
- package/.cline/skills/create-hardened-docker-skill/scripts/create-all.sh +0 -489
- package/.cline/skills/docker-hardening-verification/SKILL.md +0 -28
- package/.cline/skills/docker-hardening-verification/scripts/verify-hardening.sh +0 -39
- package/.cline/skills/docker-image-signing/SKILL.md +0 -28
- package/.cline/skills/docker-image-signing/scripts/sign-image.sh +0 -33
- package/.cline/skills/document-revision-history/SKILL.md +0 -104
- package/.cline/skills/git-workflow-skill/SKILL.md +0 -194
- package/.cline/skills/git-workflow-skill/hooks/commit-msg +0 -61
- package/.cline/skills/git-workflow-skill/hooks/pre-commit +0 -38
- package/.cline/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
- package/.cline/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
- package/.cline/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
- package/.cline/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
- package/.cline/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
- package/.cline/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
- package/.cline/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
- package/.cline/skills/js-ts-security-skill/SKILL.md +0 -64
- package/.cline/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
- package/.cline/skills/logging-best-practices/SKILL.md +0 -50
- package/.cline/skills/logging-best-practices/docs/logging-standards.md +0 -29
- package/.cline/skills/logging-best-practices/examples/cpp.md +0 -36
- package/.cline/skills/logging-best-practices/examples/csharp.md +0 -49
- package/.cline/skills/logging-best-practices/examples/javascript.md +0 -77
- package/.cline/skills/logging-best-practices/examples/python.md +0 -57
- package/.cline/skills/opentelemetry-best-practices/SKILL.md +0 -34
- package/.cline/skills/opentelemetry-best-practices/docs/otel-standards.md +0 -37
- package/.cline/skills/opentelemetry-best-practices/examples/go.md +0 -32
- package/.cline/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
- package/.cline/skills/opentelemetry-best-practices/examples/python.md +0 -37
- package/.cline/skills/python-dependency-mgmt/SKILL.md +0 -42
- package/.cline/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
- package/.cline/skills/python-security-skill/SKILL.md +0 -56
- package/.cline/skills/python-security-skill/examples/security.md +0 -56
- package/.cline/skills/self-signed-cert/SKILL.md +0 -42
- package/.cline/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
- package/.cline/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
- package/.cline/skills/skill-creator/SKILL.md +0 -196
- package/.cline/skills/skill-creator/docs/output-patterns.md +0 -82
- package/.cline/skills/skill-creator/docs/workflows.md +0 -28
- package/.cline/skills/skill-creator/scripts/init_skill.py +0 -208
- package/.cline/skills/skill-creator/scripts/package_skill.py +0 -99
- package/.cline/skills/skill-creator/scripts/quick_validate.py +0 -113
- package/.cline/skills/test-accompanied-development/SKILL.md +0 -50
- package/.cline/skills/test-generator/SKILL.md +0 -73
- package/.cline/skills/vercel-react-best-practices/SKILL.md +0 -109
- package/.cline/skills/verify-hardened-docker-skill/SKILL.md +0 -442
- package/.cline/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
- package/.clinerules +0 -14
- package/.cursor/cursor.md +0 -14
- package/.cursor/skills/.ma-agents.json +0 -199
- package/.cursor/skills/MANIFEST.yaml +0 -204
- package/.cursor/skills/ai-audit-trail/SKILL.md +0 -23
- package/.cursor/skills/cmake-best-practices/SKILL.md +0 -64
- package/.cursor/skills/cmake-best-practices/examples/cmake.md +0 -59
- package/.cursor/skills/code-documentation/SKILL.md +0 -57
- package/.cursor/skills/code-documentation/examples/cpp.md +0 -29
- package/.cursor/skills/code-documentation/examples/csharp.md +0 -28
- package/.cursor/skills/code-documentation/examples/javascript_typescript.md +0 -28
- package/.cursor/skills/code-documentation/examples/python.md +0 -57
- package/.cursor/skills/code-review/SKILL.md +0 -43
- package/.cursor/skills/commit-message/SKILL.md +0 -79
- package/.cursor/skills/cpp-concurrency-safety/SKILL.md +0 -60
- package/.cursor/skills/cpp-concurrency-safety/examples/concurrency.md +0 -73
- package/.cursor/skills/cpp-const-correctness/SKILL.md +0 -63
- package/.cursor/skills/cpp-const-correctness/examples/const_correctness.md +0 -54
- package/.cursor/skills/cpp-memory-handling/SKILL.md +0 -42
- package/.cursor/skills/cpp-memory-handling/examples/modern-cpp.md +0 -49
- package/.cursor/skills/cpp-memory-handling/examples/smart-pointers.md +0 -46
- package/.cursor/skills/cpp-modern-composition/SKILL.md +0 -64
- package/.cursor/skills/cpp-modern-composition/examples/composition.md +0 -51
- package/.cursor/skills/cpp-robust-interfaces/SKILL.md +0 -55
- package/.cursor/skills/cpp-robust-interfaces/examples/interfaces.md +0 -56
- package/.cursor/skills/create-hardened-docker-skill/SKILL.md +0 -637
- package/.cursor/skills/create-hardened-docker-skill/scripts/create-all.sh +0 -489
- package/.cursor/skills/docker-hardening-verification/SKILL.md +0 -28
- package/.cursor/skills/docker-hardening-verification/scripts/verify-hardening.sh +0 -39
- package/.cursor/skills/docker-image-signing/SKILL.md +0 -28
- package/.cursor/skills/docker-image-signing/scripts/sign-image.sh +0 -33
- package/.cursor/skills/document-revision-history/SKILL.md +0 -104
- package/.cursor/skills/git-workflow-skill/SKILL.md +0 -194
- package/.cursor/skills/git-workflow-skill/hooks/commit-msg +0 -61
- package/.cursor/skills/git-workflow-skill/hooks/pre-commit +0 -38
- package/.cursor/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
- package/.cursor/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
- package/.cursor/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
- package/.cursor/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
- package/.cursor/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
- package/.cursor/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
- package/.cursor/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
- package/.cursor/skills/js-ts-security-skill/SKILL.md +0 -64
- package/.cursor/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
- package/.cursor/skills/logging-best-practices/SKILL.md +0 -50
- package/.cursor/skills/logging-best-practices/examples/cpp.md +0 -36
- package/.cursor/skills/logging-best-practices/examples/csharp.md +0 -49
- package/.cursor/skills/logging-best-practices/examples/javascript.md +0 -77
- package/.cursor/skills/logging-best-practices/examples/python.md +0 -57
- package/.cursor/skills/logging-best-practices/references/logging-standards.md +0 -29
- package/.cursor/skills/opentelemetry-best-practices/SKILL.md +0 -34
- package/.cursor/skills/opentelemetry-best-practices/examples/go.md +0 -32
- package/.cursor/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
- package/.cursor/skills/opentelemetry-best-practices/examples/python.md +0 -37
- package/.cursor/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
- package/.cursor/skills/python-dependency-mgmt/SKILL.md +0 -42
- package/.cursor/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
- package/.cursor/skills/python-security-skill/SKILL.md +0 -56
- package/.cursor/skills/python-security-skill/examples/security.md +0 -56
- package/.cursor/skills/self-signed-cert/SKILL.md +0 -42
- package/.cursor/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
- package/.cursor/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
- package/.cursor/skills/skill-creator/SKILL.md +0 -196
- package/.cursor/skills/skill-creator/references/output-patterns.md +0 -82
- package/.cursor/skills/skill-creator/references/workflows.md +0 -28
- package/.cursor/skills/skill-creator/scripts/init_skill.py +0 -208
- package/.cursor/skills/skill-creator/scripts/package_skill.py +0 -99
- package/.cursor/skills/skill-creator/scripts/quick_validate.py +0 -113
- package/.cursor/skills/test-accompanied-development/SKILL.md +0 -50
- package/.cursor/skills/test-generator/SKILL.md +0 -65
- package/.cursor/skills/vercel-react-best-practices/SKILL.md +0 -109
- package/.cursor/skills/verify-hardened-docker-skill/SKILL.md +0 -442
- package/.cursor/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
- package/.gemini/gemini.md +0 -14
- package/.gemini/skills/.ma-agents.json +0 -199
- package/.gemini/skills/MANIFEST.yaml +0 -204
- package/.gemini/skills/ai-audit-trail/SKILL.md +0 -23
- package/.gemini/skills/cmake-best-practices/SKILL.md +0 -64
- package/.gemini/skills/cmake-best-practices/examples/cmake.md +0 -59
- package/.gemini/skills/code-documentation/SKILL.md +0 -57
- package/.gemini/skills/code-documentation/examples/cpp.md +0 -29
- package/.gemini/skills/code-documentation/examples/csharp.md +0 -28
- package/.gemini/skills/code-documentation/examples/javascript_typescript.md +0 -28
- package/.gemini/skills/code-documentation/examples/python.md +0 -57
- package/.gemini/skills/code-review/SKILL.md +0 -43
- package/.gemini/skills/commit-message/SKILL.md +0 -79
- package/.gemini/skills/cpp-concurrency-safety/SKILL.md +0 -60
- package/.gemini/skills/cpp-concurrency-safety/examples/concurrency.md +0 -73
- package/.gemini/skills/cpp-const-correctness/SKILL.md +0 -63
- package/.gemini/skills/cpp-const-correctness/examples/const_correctness.md +0 -54
- package/.gemini/skills/cpp-memory-handling/SKILL.md +0 -42
- package/.gemini/skills/cpp-memory-handling/examples/modern-cpp.md +0 -49
- package/.gemini/skills/cpp-memory-handling/examples/smart-pointers.md +0 -46
- package/.gemini/skills/cpp-modern-composition/SKILL.md +0 -64
- package/.gemini/skills/cpp-modern-composition/examples/composition.md +0 -51
- package/.gemini/skills/cpp-robust-interfaces/SKILL.md +0 -55
- package/.gemini/skills/cpp-robust-interfaces/examples/interfaces.md +0 -56
- package/.gemini/skills/create-hardened-docker-skill/SKILL.md +0 -637
- package/.gemini/skills/create-hardened-docker-skill/scripts/create-all.sh +0 -489
- package/.gemini/skills/docker-hardening-verification/SKILL.md +0 -28
- package/.gemini/skills/docker-hardening-verification/scripts/verify-hardening.sh +0 -39
- package/.gemini/skills/docker-image-signing/SKILL.md +0 -28
- package/.gemini/skills/docker-image-signing/scripts/sign-image.sh +0 -33
- package/.gemini/skills/document-revision-history/SKILL.md +0 -104
- package/.gemini/skills/git-workflow-skill/SKILL.md +0 -194
- package/.gemini/skills/git-workflow-skill/hooks/commit-msg +0 -61
- package/.gemini/skills/git-workflow-skill/hooks/pre-commit +0 -38
- package/.gemini/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
- package/.gemini/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
- package/.gemini/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
- package/.gemini/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
- package/.gemini/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
- package/.gemini/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
- package/.gemini/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
- package/.gemini/skills/js-ts-security-skill/SKILL.md +0 -64
- package/.gemini/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
- package/.gemini/skills/logging-best-practices/SKILL.md +0 -50
- package/.gemini/skills/logging-best-practices/examples/cpp.md +0 -36
- package/.gemini/skills/logging-best-practices/examples/csharp.md +0 -49
- package/.gemini/skills/logging-best-practices/examples/javascript.md +0 -77
- package/.gemini/skills/logging-best-practices/examples/python.md +0 -57
- package/.gemini/skills/logging-best-practices/references/logging-standards.md +0 -29
- package/.gemini/skills/opentelemetry-best-practices/SKILL.md +0 -34
- package/.gemini/skills/opentelemetry-best-practices/examples/go.md +0 -32
- package/.gemini/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
- package/.gemini/skills/opentelemetry-best-practices/examples/python.md +0 -37
- package/.gemini/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
- package/.gemini/skills/python-dependency-mgmt/SKILL.md +0 -42
- package/.gemini/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
- package/.gemini/skills/python-security-skill/SKILL.md +0 -56
- package/.gemini/skills/python-security-skill/examples/security.md +0 -56
- package/.gemini/skills/self-signed-cert/SKILL.md +0 -42
- package/.gemini/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
- package/.gemini/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
- package/.gemini/skills/skill-creator/SKILL.md +0 -196
- package/.gemini/skills/skill-creator/references/output-patterns.md +0 -82
- package/.gemini/skills/skill-creator/references/workflows.md +0 -28
- package/.gemini/skills/skill-creator/scripts/init_skill.py +0 -208
- package/.gemini/skills/skill-creator/scripts/package_skill.py +0 -99
- package/.gemini/skills/skill-creator/scripts/quick_validate.py +0 -113
- package/.gemini/skills/test-accompanied-development/SKILL.md +0 -50
- package/.gemini/skills/test-generator/SKILL.md +0 -65
- package/.gemini/skills/vercel-react-best-practices/SKILL.md +0 -109
- package/.gemini/skills/verify-hardened-docker-skill/SKILL.md +0 -442
- package/.gemini/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
- package/.github/copilot/copilot.md +0 -14
- package/.github/copilot/skills/.ma-agents.json +0 -199
- package/.github/copilot/skills/MANIFEST.yaml +0 -204
- package/.github/copilot/skills/ai-audit-trail/SKILL.md +0 -23
- package/.github/copilot/skills/cmake-best-practices/SKILL.md +0 -64
- package/.github/copilot/skills/cmake-best-practices/examples/cmake.md +0 -59
- package/.github/copilot/skills/code-documentation/SKILL.md +0 -57
- package/.github/copilot/skills/code-documentation/examples/cpp.md +0 -29
- package/.github/copilot/skills/code-documentation/examples/csharp.md +0 -28
- package/.github/copilot/skills/code-documentation/examples/javascript_typescript.md +0 -28
- package/.github/copilot/skills/code-documentation/examples/python.md +0 -57
- package/.github/copilot/skills/code-review/SKILL.md +0 -43
- package/.github/copilot/skills/commit-message/SKILL.md +0 -79
- package/.github/copilot/skills/cpp-concurrency-safety/SKILL.md +0 -60
- package/.github/copilot/skills/cpp-concurrency-safety/examples/concurrency.md +0 -73
- package/.github/copilot/skills/cpp-const-correctness/SKILL.md +0 -63
- package/.github/copilot/skills/cpp-const-correctness/examples/const_correctness.md +0 -54
- package/.github/copilot/skills/cpp-memory-handling/SKILL.md +0 -42
- package/.github/copilot/skills/cpp-memory-handling/examples/modern-cpp.md +0 -49
- package/.github/copilot/skills/cpp-memory-handling/examples/smart-pointers.md +0 -46
- package/.github/copilot/skills/cpp-modern-composition/SKILL.md +0 -64
- package/.github/copilot/skills/cpp-modern-composition/examples/composition.md +0 -51
- package/.github/copilot/skills/cpp-robust-interfaces/SKILL.md +0 -55
- package/.github/copilot/skills/cpp-robust-interfaces/examples/interfaces.md +0 -56
- package/.github/copilot/skills/create-hardened-docker-skill/SKILL.md +0 -637
- package/.github/copilot/skills/create-hardened-docker-skill/scripts/create-all.sh +0 -489
- package/.github/copilot/skills/docker-hardening-verification/SKILL.md +0 -28
- package/.github/copilot/skills/docker-hardening-verification/scripts/verify-hardening.sh +0 -39
- package/.github/copilot/skills/docker-image-signing/SKILL.md +0 -28
- package/.github/copilot/skills/docker-image-signing/scripts/sign-image.sh +0 -33
- package/.github/copilot/skills/document-revision-history/SKILL.md +0 -104
- package/.github/copilot/skills/git-workflow-skill/SKILL.md +0 -194
- package/.github/copilot/skills/git-workflow-skill/hooks/commit-msg +0 -61
- package/.github/copilot/skills/git-workflow-skill/hooks/pre-commit +0 -38
- package/.github/copilot/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
- package/.github/copilot/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
- package/.github/copilot/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
- package/.github/copilot/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
- package/.github/copilot/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
- package/.github/copilot/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
- package/.github/copilot/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
- package/.github/copilot/skills/js-ts-security-skill/SKILL.md +0 -64
- package/.github/copilot/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
- package/.github/copilot/skills/logging-best-practices/SKILL.md +0 -50
- package/.github/copilot/skills/logging-best-practices/examples/cpp.md +0 -36
- package/.github/copilot/skills/logging-best-practices/examples/csharp.md +0 -49
- package/.github/copilot/skills/logging-best-practices/examples/javascript.md +0 -77
- package/.github/copilot/skills/logging-best-practices/examples/python.md +0 -57
- package/.github/copilot/skills/logging-best-practices/references/logging-standards.md +0 -29
- package/.github/copilot/skills/opentelemetry-best-practices/SKILL.md +0 -34
- package/.github/copilot/skills/opentelemetry-best-practices/examples/go.md +0 -32
- package/.github/copilot/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
- package/.github/copilot/skills/opentelemetry-best-practices/examples/python.md +0 -37
- package/.github/copilot/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
- package/.github/copilot/skills/python-dependency-mgmt/SKILL.md +0 -42
- package/.github/copilot/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
- package/.github/copilot/skills/python-security-skill/SKILL.md +0 -56
- package/.github/copilot/skills/python-security-skill/examples/security.md +0 -56
- package/.github/copilot/skills/self-signed-cert/SKILL.md +0 -42
- package/.github/copilot/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
- package/.github/copilot/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
- package/.github/copilot/skills/skill-creator/SKILL.md +0 -196
- package/.github/copilot/skills/skill-creator/references/output-patterns.md +0 -82
- package/.github/copilot/skills/skill-creator/references/workflows.md +0 -28
- package/.github/copilot/skills/skill-creator/scripts/init_skill.py +0 -208
- package/.github/copilot/skills/skill-creator/scripts/package_skill.py +0 -99
- package/.github/copilot/skills/skill-creator/scripts/quick_validate.py +0 -113
- package/.github/copilot/skills/test-accompanied-development/SKILL.md +0 -50
- package/.github/copilot/skills/test-generator/SKILL.md +0 -65
- package/.github/copilot/skills/vercel-react-best-practices/SKILL.md +0 -109
- package/.github/copilot/skills/verify-hardened-docker-skill/SKILL.md +0 -442
- package/.github/copilot/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
- package/.kilocode/kilocode.md +0 -14
- package/.kilocode/skills/.ma-agents.json +0 -199
- package/.kilocode/skills/MANIFEST.yaml +0 -204
- package/.kilocode/skills/ai-audit-trail/SKILL.md +0 -23
- package/.kilocode/skills/cmake-best-practices/SKILL.md +0 -64
- package/.kilocode/skills/cmake-best-practices/examples/cmake.md +0 -59
- package/.kilocode/skills/code-documentation/SKILL.md +0 -57
- package/.kilocode/skills/code-documentation/examples/cpp.md +0 -29
- package/.kilocode/skills/code-documentation/examples/csharp.md +0 -28
- package/.kilocode/skills/code-documentation/examples/javascript_typescript.md +0 -28
- package/.kilocode/skills/code-documentation/examples/python.md +0 -57
- package/.kilocode/skills/code-review/SKILL.md +0 -43
- package/.kilocode/skills/commit-message/SKILL.md +0 -79
- package/.kilocode/skills/cpp-concurrency-safety/SKILL.md +0 -60
- package/.kilocode/skills/cpp-concurrency-safety/examples/concurrency.md +0 -73
- package/.kilocode/skills/cpp-const-correctness/SKILL.md +0 -63
- package/.kilocode/skills/cpp-const-correctness/examples/const_correctness.md +0 -54
- package/.kilocode/skills/cpp-memory-handling/SKILL.md +0 -42
- package/.kilocode/skills/cpp-memory-handling/examples/modern-cpp.md +0 -49
- package/.kilocode/skills/cpp-memory-handling/examples/smart-pointers.md +0 -46
- package/.kilocode/skills/cpp-modern-composition/SKILL.md +0 -64
- package/.kilocode/skills/cpp-modern-composition/examples/composition.md +0 -51
- package/.kilocode/skills/cpp-robust-interfaces/SKILL.md +0 -55
- package/.kilocode/skills/cpp-robust-interfaces/examples/interfaces.md +0 -56
- package/.kilocode/skills/create-hardened-docker-skill/SKILL.md +0 -637
- package/.kilocode/skills/create-hardened-docker-skill/scripts/create-all.sh +0 -489
- package/.kilocode/skills/docker-hardening-verification/SKILL.md +0 -28
- package/.kilocode/skills/docker-hardening-verification/scripts/verify-hardening.sh +0 -39
- package/.kilocode/skills/docker-image-signing/SKILL.md +0 -28
- package/.kilocode/skills/docker-image-signing/scripts/sign-image.sh +0 -33
- package/.kilocode/skills/document-revision-history/SKILL.md +0 -104
- package/.kilocode/skills/git-workflow-skill/SKILL.md +0 -194
- package/.kilocode/skills/git-workflow-skill/hooks/commit-msg +0 -61
- package/.kilocode/skills/git-workflow-skill/hooks/pre-commit +0 -38
- package/.kilocode/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
- package/.kilocode/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
- package/.kilocode/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
- package/.kilocode/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
- package/.kilocode/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
- package/.kilocode/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
- package/.kilocode/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
- package/.kilocode/skills/js-ts-security-skill/SKILL.md +0 -64
- package/.kilocode/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
- package/.kilocode/skills/logging-best-practices/SKILL.md +0 -50
- package/.kilocode/skills/logging-best-practices/examples/cpp.md +0 -36
- package/.kilocode/skills/logging-best-practices/examples/csharp.md +0 -49
- package/.kilocode/skills/logging-best-practices/examples/javascript.md +0 -77
- package/.kilocode/skills/logging-best-practices/examples/python.md +0 -57
- package/.kilocode/skills/logging-best-practices/references/logging-standards.md +0 -29
- package/.kilocode/skills/opentelemetry-best-practices/SKILL.md +0 -34
- package/.kilocode/skills/opentelemetry-best-practices/examples/go.md +0 -32
- package/.kilocode/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
- package/.kilocode/skills/opentelemetry-best-practices/examples/python.md +0 -37
- package/.kilocode/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
- package/.kilocode/skills/python-dependency-mgmt/SKILL.md +0 -42
- package/.kilocode/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
- package/.kilocode/skills/python-security-skill/SKILL.md +0 -56
- package/.kilocode/skills/python-security-skill/examples/security.md +0 -56
- package/.kilocode/skills/self-signed-cert/SKILL.md +0 -42
- package/.kilocode/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
- package/.kilocode/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
- package/.kilocode/skills/skill-creator/SKILL.md +0 -196
- package/.kilocode/skills/skill-creator/references/output-patterns.md +0 -82
- package/.kilocode/skills/skill-creator/references/workflows.md +0 -28
- package/.kilocode/skills/skill-creator/scripts/init_skill.py +0 -208
- package/.kilocode/skills/skill-creator/scripts/package_skill.py +0 -99
- package/.kilocode/skills/skill-creator/scripts/quick_validate.py +0 -113
- package/.kilocode/skills/test-accompanied-development/SKILL.md +0 -50
- package/.kilocode/skills/test-generator/SKILL.md +0 -65
- package/.kilocode/skills/vercel-react-best-practices/SKILL.md +0 -109
- package/.kilocode/skills/verify-hardened-docker-skill/SKILL.md +0 -442
- package/.kilocode/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
- package/lib/bmad-cache/gds/src/agents/game-architect.agent.yaml +0 -44
- package/lib/bmad-cache/gds/src/agents/game-designer.agent.yaml +0 -45
- package/lib/bmad-cache/gds/src/agents/game-dev.agent.yaml +0 -49
- package/lib/bmad-cache/gds/src/agents/game-qa.agent.yaml +0 -63
- package/lib/bmad-cache/gds/src/agents/game-scrum-master.agent.yaml +0 -52
- package/lib/bmad-cache/gds/src/agents/game-solo-dev.agent.yaml +0 -53
- package/lib/bmad-cache/gds/src/agents/tech-writer/tech-writer.agent.yaml +0 -45
- package/lib/bmad-cache/gds/src/teams/default-party.csv +0 -12
- package/lib/bmad-cache/gds/src/teams/team-gamedev.yaml +0 -29
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/brainstorm-game/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/game-brief/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/2-design/gdd/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/2-design/narrative/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/3-technical/check-implementation-readiness/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/3-technical/create-epics-and-stories/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/3-technical/game-architecture/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/3-technical/generate-project-context/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/4-production/code-review/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/4-production/correct-course/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/4-production/retrospective/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/4-production/sprint-planning/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/4-production/sprint-status/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/document-project/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/gametest/automate/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/gametest/e2e-scaffold/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/gametest/performance/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/gametest/playtest-plan/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/gametest/test-design/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/gametest/test-framework/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/gametest/test-review/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/quick-spec/bmad-skill-manifest.yaml +0 -3
- package/lib/bmad-cache/tea/.github/CODE_OF_CONDUCT.md +0 -128
- package/lib/bmad-cache/tea/.github/FUNDING.yaml +0 -15
- package/lib/bmad-cache/tea/.github/ISSUE_TEMPLATE/config.yaml +0 -11
- package/lib/bmad-cache/tea/.github/ISSUE_TEMPLATE/feature_request.md +0 -70
- package/lib/bmad-cache/tea/.github/ISSUE_TEMPLATE/issue.md +0 -61
- package/lib/bmad-cache/tea/.github/workflows/docs.yaml +0 -66
- package/lib/bmad-cache/tea/.github/workflows/manual-release.yaml +0 -195
- package/lib/bmad-cache/tea/.github/workflows/quality.yaml +0 -114
- /package/lib/bmad-cache/gds/src/workflows/1-preproduction/{brainstorm-game → gds-brainstorm-game}/game-brain-methods.csv +0 -0
- /package/lib/bmad-cache/gds/src/workflows/2-design/{gdd → gds-create-gdd}/game-types.csv +0 -0
- /package/lib/bmad-cache/gds/src/workflows/3-technical/{game-architecture → gds-game-architecture}/architecture-patterns.yaml +0 -0
- /package/lib/bmad-cache/gds/src/workflows/3-technical/{game-architecture → gds-game-architecture}/decision-catalog.yaml +0 -0
- /package/lib/bmad-cache/gds/src/workflows/3-technical/{game-architecture → gds-game-architecture}/engine-mcps.yaml +0 -0
- /package/lib/bmad-cache/gds/src/workflows/3-technical/{game-architecture → gds-game-architecture}/pattern-categories.csv +0 -0
- /package/lib/bmad-cache/gds/src/workflows/4-production/{sprint-planning → gds-sprint-planning}/sprint-status-template.yaml +0 -0
- /package/lib/bmad-cache/gds/src/workflows/{document-project → gds-document-project}/documentation-requirements.csv +0 -0
- /package/lib/bmad-cache/gds/src/workflows/{document-project → gds-document-project}/templates/project-scan-report-schema.json +0 -0
|
@@ -1,439 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
#
|
|
3
|
-
# verify-docker-hardening.sh
|
|
4
|
-
# Comprehensive Docker security verification script
|
|
5
|
-
# Checks Dockerfile, docker-compose.yml, and running containers
|
|
6
|
-
# against CIS, OWASP, and NIST standards
|
|
7
|
-
#
|
|
8
|
-
|
|
9
|
-
set -e
|
|
10
|
-
|
|
11
|
-
# Colors for output
|
|
12
|
-
RED='\033[0;31m'
|
|
13
|
-
GREEN='\033[0;32m'
|
|
14
|
-
YELLOW='\033[1;33m'
|
|
15
|
-
BLUE='\033[0;34m'
|
|
16
|
-
NC='\033[0m' # No Color
|
|
17
|
-
|
|
18
|
-
# Configuration
|
|
19
|
-
IMAGE_NAME="${1:-contacts-app}"
|
|
20
|
-
CONTAINER_NAME="${2:-contacts-app}"
|
|
21
|
-
EXIT_CODE=0
|
|
22
|
-
|
|
23
|
-
# Counters
|
|
24
|
-
TOTAL_CHECKS=0
|
|
25
|
-
PASSED_CHECKS=0
|
|
26
|
-
FAILED_CHECKS=0
|
|
27
|
-
WARNING_CHECKS=0
|
|
28
|
-
|
|
29
|
-
# Helper functions
|
|
30
|
-
print_header() {
|
|
31
|
-
echo ""
|
|
32
|
-
echo -e "${BLUE}========================================${NC}"
|
|
33
|
-
echo -e "${BLUE}$1${NC}"
|
|
34
|
-
echo -e "${BLUE}========================================${NC}"
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
print_check() {
|
|
38
|
-
TOTAL_CHECKS=$((TOTAL_CHECKS + 1))
|
|
39
|
-
echo -ne " [$TOTAL_CHECKS] $1... "
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
pass() {
|
|
43
|
-
PASSED_CHECKS=$((PASSED_CHECKS + 1))
|
|
44
|
-
echo -e "${GREEN}✅ PASS${NC}"
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
fail() {
|
|
48
|
-
FAILED_CHECKS=$((FAILED_CHECKS + 1))
|
|
49
|
-
EXIT_CODE=2
|
|
50
|
-
echo -e "${RED}❌ FAIL${NC}"
|
|
51
|
-
[ -n "$1" ] && echo -e " ${RED}→ $1${NC}"
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
warn() {
|
|
55
|
-
WARNING_CHECKS=$((WARNING_CHECKS + 1))
|
|
56
|
-
echo -e "${YELLOW}⚠️ WARN${NC}"
|
|
57
|
-
[ -n "$1" ] && echo -e " ${YELLOW}→ $1${NC}"
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
critical() {
|
|
61
|
-
FAILED_CHECKS=$((FAILED_CHECKS + 1))
|
|
62
|
-
EXIT_CODE=1
|
|
63
|
-
echo -e "${RED}🚨 CRITICAL${NC}"
|
|
64
|
-
[ -n "$1" ] && echo -e " ${RED}→ $1${NC}"
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
# Start verification
|
|
68
|
-
echo -e "${BLUE}🔍 Docker Security Verification${NC}"
|
|
69
|
-
echo -e "${BLUE}================================${NC}"
|
|
70
|
-
echo "Image: $IMAGE_NAME"
|
|
71
|
-
echo "Container: $CONTAINER_NAME"
|
|
72
|
-
|
|
73
|
-
# ============================================================================
|
|
74
|
-
# 1. Dockerfile Verification
|
|
75
|
-
# ============================================================================
|
|
76
|
-
print_header "1. Dockerfile Security"
|
|
77
|
-
|
|
78
|
-
if [ ! -f "Dockerfile" ]; then
|
|
79
|
-
print_check "Dockerfile exists"
|
|
80
|
-
critical "Dockerfile not found in current directory"
|
|
81
|
-
EXIT_CODE=5
|
|
82
|
-
exit $EXIT_CODE
|
|
83
|
-
fi
|
|
84
|
-
|
|
85
|
-
# Check for specific version tags
|
|
86
|
-
print_check "Specific version tags (no :latest)"
|
|
87
|
-
if grep -qE "^FROM.*:(latest|alpine)$" Dockerfile; then
|
|
88
|
-
fail "Using :latest or unversioned :alpine tag"
|
|
89
|
-
else
|
|
90
|
-
pass
|
|
91
|
-
fi
|
|
92
|
-
|
|
93
|
-
# Check for non-root user
|
|
94
|
-
print_check "Non-root user configured"
|
|
95
|
-
if grep -qE "^USER (root|[0-9]+)" Dockerfile; then
|
|
96
|
-
if grep -qE "^USER root" Dockerfile; then
|
|
97
|
-
fail "Running as root user"
|
|
98
|
-
else
|
|
99
|
-
pass
|
|
100
|
-
fi
|
|
101
|
-
elif grep -qE "^USER [a-zA-Z]" Dockerfile; then
|
|
102
|
-
pass
|
|
103
|
-
else
|
|
104
|
-
fail "No USER directive found"
|
|
105
|
-
fi
|
|
106
|
-
|
|
107
|
-
# Check for HEALTHCHECK
|
|
108
|
-
print_check "HEALTHCHECK instruction"
|
|
109
|
-
if grep -q "^HEALTHCHECK" Dockerfile; then
|
|
110
|
-
pass
|
|
111
|
-
else
|
|
112
|
-
warn "Missing HEALTHCHECK instruction"
|
|
113
|
-
fi
|
|
114
|
-
|
|
115
|
-
# Check for hardcoded secrets
|
|
116
|
-
print_check "No hardcoded secrets in ENV/ARG"
|
|
117
|
-
if grep -iE "^(ENV|ARG).*(SECRET|PASSWORD|KEY|TOKEN|CLIENT_ID)=" Dockerfile | grep -v "REACT_APP_API_BASE_URL" > /dev/null; then
|
|
118
|
-
fail "Potential hardcoded secrets found"
|
|
119
|
-
else
|
|
120
|
-
pass
|
|
121
|
-
fi
|
|
122
|
-
|
|
123
|
-
# Check for multi-stage build
|
|
124
|
-
print_check "Multi-stage build pattern"
|
|
125
|
-
if [ $(grep -c "^FROM" Dockerfile) -ge 2 ]; then
|
|
126
|
-
pass
|
|
127
|
-
else
|
|
128
|
-
warn "Not using multi-stage build"
|
|
129
|
-
fi
|
|
130
|
-
|
|
131
|
-
# Check for Alpine base images
|
|
132
|
-
print_check "Minimal Alpine base images"
|
|
133
|
-
if grep -qE "^FROM.*alpine" Dockerfile; then
|
|
134
|
-
pass
|
|
135
|
-
else
|
|
136
|
-
warn "Not using Alpine base images"
|
|
137
|
-
fi
|
|
138
|
-
|
|
139
|
-
# ============================================================================
|
|
140
|
-
# 2. docker-compose.yml Verification
|
|
141
|
-
# ============================================================================
|
|
142
|
-
print_header "2. docker-compose.yml Security"
|
|
143
|
-
|
|
144
|
-
if [ ! -f "docker-compose.yml" ]; then
|
|
145
|
-
print_check "docker-compose.yml exists"
|
|
146
|
-
warn "docker-compose.yml not found (optional)"
|
|
147
|
-
else
|
|
148
|
-
# Check for read-only filesystem
|
|
149
|
-
print_check "Read-only root filesystem"
|
|
150
|
-
if grep -q "read_only: true" docker-compose.yml; then
|
|
151
|
-
pass
|
|
152
|
-
else
|
|
153
|
-
fail "Missing read_only: true"
|
|
154
|
-
fi
|
|
155
|
-
|
|
156
|
-
# Check for no-new-privileges
|
|
157
|
-
print_check "No new privileges"
|
|
158
|
-
if grep -q "no-new-privileges:true" docker-compose.yml; then
|
|
159
|
-
pass
|
|
160
|
-
else
|
|
161
|
-
fail "Missing security_opt: no-new-privileges:true"
|
|
162
|
-
fi
|
|
163
|
-
|
|
164
|
-
# Check for capability dropping
|
|
165
|
-
print_check "Capabilities dropped"
|
|
166
|
-
if grep -q "cap_drop:" docker-compose.yml; then
|
|
167
|
-
pass
|
|
168
|
-
else
|
|
169
|
-
fail "Missing cap_drop configuration"
|
|
170
|
-
fi
|
|
171
|
-
|
|
172
|
-
# Check for tmpfs mounts
|
|
173
|
-
print_check "Tmpfs mounts for writable dirs"
|
|
174
|
-
if grep -q "tmpfs:" docker-compose.yml; then
|
|
175
|
-
pass
|
|
176
|
-
else
|
|
177
|
-
fail "Missing tmpfs mounts"
|
|
178
|
-
fi
|
|
179
|
-
|
|
180
|
-
# Check for resource limits
|
|
181
|
-
print_check "Memory limits configured"
|
|
182
|
-
if grep -q "memory:" docker-compose.yml; then
|
|
183
|
-
pass
|
|
184
|
-
else
|
|
185
|
-
warn "Missing memory limits"
|
|
186
|
-
fi
|
|
187
|
-
|
|
188
|
-
print_check "CPU limits configured"
|
|
189
|
-
if grep -q "cpus:" docker-compose.yml; then
|
|
190
|
-
pass
|
|
191
|
-
else
|
|
192
|
-
warn "Missing CPU limits"
|
|
193
|
-
fi
|
|
194
|
-
|
|
195
|
-
# Check for health check
|
|
196
|
-
print_check "Healthcheck configured"
|
|
197
|
-
if grep -q "healthcheck:" docker-compose.yml; then
|
|
198
|
-
pass
|
|
199
|
-
else
|
|
200
|
-
warn "Missing healthcheck configuration"
|
|
201
|
-
fi
|
|
202
|
-
|
|
203
|
-
# Check for privileged mode
|
|
204
|
-
print_check "Not running in privileged mode"
|
|
205
|
-
if grep -q "privileged: true" docker-compose.yml; then
|
|
206
|
-
critical "Running in privileged mode"
|
|
207
|
-
else
|
|
208
|
-
pass
|
|
209
|
-
fi
|
|
210
|
-
fi
|
|
211
|
-
|
|
212
|
-
# ============================================================================
|
|
213
|
-
# 3. .dockerignore Verification
|
|
214
|
-
# ============================================================================
|
|
215
|
-
print_header "3. .dockerignore Configuration"
|
|
216
|
-
|
|
217
|
-
if [ ! -f ".dockerignore" ]; then
|
|
218
|
-
print_check ".dockerignore exists"
|
|
219
|
-
warn ".dockerignore not found"
|
|
220
|
-
else
|
|
221
|
-
print_check ".env excluded from Docker context"
|
|
222
|
-
if grep -qE "^\.env$" .dockerignore; then
|
|
223
|
-
pass
|
|
224
|
-
else
|
|
225
|
-
critical ".env not in .dockerignore - secret leakage risk!"
|
|
226
|
-
fi
|
|
227
|
-
|
|
228
|
-
print_check "node_modules excluded"
|
|
229
|
-
if grep -q "node_modules" .dockerignore; then
|
|
230
|
-
pass
|
|
231
|
-
else
|
|
232
|
-
warn "node_modules not excluded"
|
|
233
|
-
fi
|
|
234
|
-
|
|
235
|
-
print_check ".git excluded"
|
|
236
|
-
if grep -qE "^\.git" .dockerignore; then
|
|
237
|
-
pass
|
|
238
|
-
else
|
|
239
|
-
warn ".git not excluded"
|
|
240
|
-
fi
|
|
241
|
-
fi
|
|
242
|
-
|
|
243
|
-
# ============================================================================
|
|
244
|
-
# 4. Image Security Scanning
|
|
245
|
-
# ============================================================================
|
|
246
|
-
print_header "4. Image Vulnerability Scanning"
|
|
247
|
-
|
|
248
|
-
# Check if image exists
|
|
249
|
-
if ! docker images --format "{{.Repository}}" | grep -q "^${IMAGE_NAME}$"; then
|
|
250
|
-
print_check "Docker image exists"
|
|
251
|
-
warn "Image '$IMAGE_NAME' not found locally. Skipping image scans."
|
|
252
|
-
echo " Run 'docker build -t $IMAGE_NAME .' to build the image."
|
|
253
|
-
else
|
|
254
|
-
# Check if trivy is installed
|
|
255
|
-
if ! command -v trivy &> /dev/null; then
|
|
256
|
-
print_check "Trivy scanner installed"
|
|
257
|
-
warn "Trivy not installed. Skipping vulnerability scans."
|
|
258
|
-
echo " Install: brew install aquasecurity/trivy/trivy (macOS)"
|
|
259
|
-
echo " : apt-get install trivy (Linux)"
|
|
260
|
-
else
|
|
261
|
-
# Scan for CRITICAL vulnerabilities
|
|
262
|
-
print_check "No CRITICAL vulnerabilities"
|
|
263
|
-
if trivy image --quiet --severity CRITICAL --exit-code 1 "$IMAGE_NAME" > /dev/null 2>&1; then
|
|
264
|
-
pass
|
|
265
|
-
else
|
|
266
|
-
critical "CRITICAL vulnerabilities found. Run: trivy image --severity CRITICAL $IMAGE_NAME"
|
|
267
|
-
fi
|
|
268
|
-
|
|
269
|
-
# Scan for HIGH vulnerabilities
|
|
270
|
-
print_check "No HIGH vulnerabilities"
|
|
271
|
-
if trivy image --quiet --severity HIGH --exit-code 1 "$IMAGE_NAME" > /dev/null 2>&1; then
|
|
272
|
-
pass
|
|
273
|
-
else
|
|
274
|
-
fail "HIGH vulnerabilities found. Run: trivy image --severity HIGH $IMAGE_NAME"
|
|
275
|
-
fi
|
|
276
|
-
|
|
277
|
-
# Scan for leaked secrets
|
|
278
|
-
print_check "No leaked secrets in image"
|
|
279
|
-
if trivy image --quiet --scanners secret --exit-code 1 "$IMAGE_NAME" > /dev/null 2>&1; then
|
|
280
|
-
pass
|
|
281
|
-
else
|
|
282
|
-
critical "Secrets detected in image! Run: trivy image --scanners secret $IMAGE_NAME"
|
|
283
|
-
fi
|
|
284
|
-
fi
|
|
285
|
-
|
|
286
|
-
# Check image size
|
|
287
|
-
print_check "Optimized image size (< 100MB)"
|
|
288
|
-
IMAGE_SIZE=$(docker images --format "{{.Size}}" "$IMAGE_NAME" | head -1 | sed 's/MB//' | sed 's/GB/*1024/' | bc 2>/dev/null || echo "0")
|
|
289
|
-
if [ -n "$IMAGE_SIZE" ] && [ "$IMAGE_SIZE" != "0" ]; then
|
|
290
|
-
if (( $(echo "$IMAGE_SIZE < 100" | bc -l) )); then
|
|
291
|
-
pass
|
|
292
|
-
else
|
|
293
|
-
warn "Image size is ${IMAGE_SIZE}MB (recommended < 100MB)"
|
|
294
|
-
fi
|
|
295
|
-
else
|
|
296
|
-
warn "Could not determine image size"
|
|
297
|
-
fi
|
|
298
|
-
|
|
299
|
-
# Check for .env in image
|
|
300
|
-
print_check ".env file not baked into image"
|
|
301
|
-
if docker run --rm "$IMAGE_NAME" sh -c "ls -la / 2>/dev/null | grep -q .env"; then
|
|
302
|
-
critical ".env file found in image! Secrets leaked!"
|
|
303
|
-
else
|
|
304
|
-
pass
|
|
305
|
-
fi
|
|
306
|
-
fi
|
|
307
|
-
|
|
308
|
-
# ============================================================================
|
|
309
|
-
# 5. Runtime Security (if container is running)
|
|
310
|
-
# ============================================================================
|
|
311
|
-
print_header "5. Runtime Security Verification"
|
|
312
|
-
|
|
313
|
-
if ! docker ps --filter "name=$CONTAINER_NAME" --format "{{.Names}}" | grep -q "^$CONTAINER_NAME$"; then
|
|
314
|
-
echo -e "${YELLOW} Container '$CONTAINER_NAME' is not running.${NC}"
|
|
315
|
-
echo -e "${YELLOW} Run 'docker-compose up -d' to enable runtime checks.${NC}"
|
|
316
|
-
else
|
|
317
|
-
# Check container runs as non-root
|
|
318
|
-
print_check "Container runs as non-root"
|
|
319
|
-
CONTAINER_USER=$(docker exec "$CONTAINER_NAME" whoami 2>/dev/null || echo "root")
|
|
320
|
-
if [ "$CONTAINER_USER" != "root" ]; then
|
|
321
|
-
pass
|
|
322
|
-
else
|
|
323
|
-
critical "Container running as root user!"
|
|
324
|
-
fi
|
|
325
|
-
|
|
326
|
-
# Check user ID is not 0
|
|
327
|
-
print_check "User ID is not 0 (root)"
|
|
328
|
-
USER_ID=$(docker exec "$CONTAINER_NAME" id -u 2>/dev/null || echo "0")
|
|
329
|
-
if [ "$USER_ID" != "0" ]; then
|
|
330
|
-
pass
|
|
331
|
-
else
|
|
332
|
-
critical "Container running with UID 0 (root)!"
|
|
333
|
-
fi
|
|
334
|
-
|
|
335
|
-
# Check read-only filesystem
|
|
336
|
-
print_check "Root filesystem is read-only"
|
|
337
|
-
if docker exec "$CONTAINER_NAME" sh -c "touch /test 2>/dev/null"; then
|
|
338
|
-
fail "Root filesystem is writable"
|
|
339
|
-
docker exec "$CONTAINER_NAME" sh -c "rm /test 2>/dev/null" || true
|
|
340
|
-
else
|
|
341
|
-
pass
|
|
342
|
-
fi
|
|
343
|
-
|
|
344
|
-
# Check tmpfs is writable
|
|
345
|
-
print_check "Tmpfs mount is writable"
|
|
346
|
-
if docker exec "$CONTAINER_NAME" sh -c "touch /tmp/test 2>/dev/null && rm /tmp/test 2>/dev/null"; then
|
|
347
|
-
pass
|
|
348
|
-
else
|
|
349
|
-
warn "Tmpfs mount /tmp is not writable"
|
|
350
|
-
fi
|
|
351
|
-
|
|
352
|
-
# Check health status
|
|
353
|
-
print_check "Container is healthy"
|
|
354
|
-
HEALTH_STATUS=$(docker inspect --format='{{.State.Health.Status}}' "$CONTAINER_NAME" 2>/dev/null || echo "none")
|
|
355
|
-
if [ "$HEALTH_STATUS" = "healthy" ]; then
|
|
356
|
-
pass
|
|
357
|
-
elif [ "$HEALTH_STATUS" = "none" ]; then
|
|
358
|
-
warn "No health check configured"
|
|
359
|
-
else
|
|
360
|
-
fail "Container health status: $HEALTH_STATUS"
|
|
361
|
-
fi
|
|
362
|
-
|
|
363
|
-
# Check capabilities
|
|
364
|
-
print_check "Capabilities dropped"
|
|
365
|
-
CAPS_DROPPED=$(docker inspect --format='{{.HostConfig.CapDrop}}' "$CONTAINER_NAME" 2>/dev/null || echo "[]")
|
|
366
|
-
if echo "$CAPS_DROPPED" | grep -q "ALL"; then
|
|
367
|
-
pass
|
|
368
|
-
else
|
|
369
|
-
warn "Not all capabilities dropped"
|
|
370
|
-
fi
|
|
371
|
-
|
|
372
|
-
# Check memory limit
|
|
373
|
-
print_check "Memory limit enforced"
|
|
374
|
-
MEMORY_LIMIT=$(docker inspect --format='{{.HostConfig.Memory}}' "$CONTAINER_NAME" 2>/dev/null || echo "0")
|
|
375
|
-
if [ "$MEMORY_LIMIT" != "0" ]; then
|
|
376
|
-
pass
|
|
377
|
-
else
|
|
378
|
-
warn "No memory limit set"
|
|
379
|
-
fi
|
|
380
|
-
fi
|
|
381
|
-
|
|
382
|
-
# ============================================================================
|
|
383
|
-
# 6. Git Secret Protection
|
|
384
|
-
# ============================================================================
|
|
385
|
-
print_header "6. Git Secret Protection"
|
|
386
|
-
|
|
387
|
-
if [ -d ".git" ]; then
|
|
388
|
-
# Check .env in .gitignore
|
|
389
|
-
print_check ".env in .gitignore"
|
|
390
|
-
if [ -f ".gitignore" ] && grep -qE "^\.env$" .gitignore; then
|
|
391
|
-
pass
|
|
392
|
-
else
|
|
393
|
-
critical ".env not in .gitignore! Secrets may be committed!"
|
|
394
|
-
fi
|
|
395
|
-
|
|
396
|
-
# Check .env.example exists
|
|
397
|
-
print_check ".env.example exists (template)"
|
|
398
|
-
if [ -f ".env.example" ]; then
|
|
399
|
-
pass
|
|
400
|
-
else
|
|
401
|
-
warn ".env.example not found"
|
|
402
|
-
fi
|
|
403
|
-
|
|
404
|
-
# Check if .env is committed
|
|
405
|
-
print_check ".env not committed to git"
|
|
406
|
-
if git ls-files --error-unmatch .env > /dev/null 2>&1; then
|
|
407
|
-
critical ".env is tracked by git! Remove immediately!"
|
|
408
|
-
else
|
|
409
|
-
pass
|
|
410
|
-
fi
|
|
411
|
-
else
|
|
412
|
-
echo -e "${YELLOW} Not a git repository. Skipping git checks.${NC}"
|
|
413
|
-
fi
|
|
414
|
-
|
|
415
|
-
# ============================================================================
|
|
416
|
-
# Summary
|
|
417
|
-
# ============================================================================
|
|
418
|
-
print_header "Verification Summary"
|
|
419
|
-
|
|
420
|
-
echo ""
|
|
421
|
-
echo " Total checks: $TOTAL_CHECKS"
|
|
422
|
-
echo -e " ${GREEN}Passed: $PASSED_CHECKS${NC}"
|
|
423
|
-
echo -e " ${YELLOW}Warnings: $WARNING_CHECKS${NC}"
|
|
424
|
-
echo -e " ${RED}Failed: $FAILED_CHECKS${NC}"
|
|
425
|
-
echo ""
|
|
426
|
-
|
|
427
|
-
if [ $FAILED_CHECKS -eq 0 ]; then
|
|
428
|
-
echo -e "${GREEN}✅ All critical security checks passed!${NC}"
|
|
429
|
-
if [ $WARNING_CHECKS -gt 0 ]; then
|
|
430
|
-
echo -e "${YELLOW}⚠️ $WARNING_CHECKS warning(s) - consider addressing these.${NC}"
|
|
431
|
-
fi
|
|
432
|
-
else
|
|
433
|
-
echo -e "${RED}❌ $FAILED_CHECKS security check(s) failed!${NC}"
|
|
434
|
-
echo -e "${RED} Please fix the issues above before deploying.${NC}"
|
|
435
|
-
fi
|
|
436
|
-
|
|
437
|
-
echo ""
|
|
438
|
-
|
|
439
|
-
exit $EXIT_CODE
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
# Game Architect Agent Definition
|
|
2
|
-
|
|
3
|
-
agent:
|
|
4
|
-
metadata:
|
|
5
|
-
id: "_bmad/gds/agents/game-architect.md"
|
|
6
|
-
name: Cloud Dragonborn
|
|
7
|
-
title: Game Architect
|
|
8
|
-
icon: 🏛️
|
|
9
|
-
module: gds
|
|
10
|
-
hasSidecar: false
|
|
11
|
-
|
|
12
|
-
persona:
|
|
13
|
-
role: Principal Game Systems Architect + Technical Director
|
|
14
|
-
identity: Master architect with 20+ years shipping 30+ titles. Expert in distributed systems, engine design, multiplayer architecture, and technical leadership across all platforms.
|
|
15
|
-
communication_style: "Speaks like a wise sage from an RPG - calm, measured, uses architectural metaphors about building foundations and load-bearing walls"
|
|
16
|
-
principles: |
|
|
17
|
-
- Architecture is about delaying decisions until you have enough data
|
|
18
|
-
- Build for tomorrow without over-engineering today
|
|
19
|
-
- Hours of planning save weeks of refactoring hell
|
|
20
|
-
- Every system must handle the hot path at 60fps
|
|
21
|
-
- Avoid "Not Invented Here" syndrome, always check if work has been done before
|
|
22
|
-
|
|
23
|
-
critical_actions:
|
|
24
|
-
- "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`"
|
|
25
|
-
- "When creating architecture, validate against GDD pillars and target platform constraints"
|
|
26
|
-
- "Always document performance budgets and critical path decisions"
|
|
27
|
-
|
|
28
|
-
menu:
|
|
29
|
-
- trigger: GA or fuzzy match on game-architecture
|
|
30
|
-
exec: "{project-root}/_bmad/gds/workflows/3-technical/game-architecture/workflow.md"
|
|
31
|
-
description: "[GA] Produce a Scale Adaptive Game Architecture"
|
|
32
|
-
|
|
33
|
-
- trigger: PC or fuzzy match on project-context
|
|
34
|
-
exec: "{project-root}/_bmad/gds/workflows/3-technical/generate-project-context/workflow.md"
|
|
35
|
-
description: "[PC] Create optimized project-context.md for AI agent consistency"
|
|
36
|
-
|
|
37
|
-
- trigger: CC or fuzzy match on correct-course
|
|
38
|
-
exec: "{project-root}/_bmad/gds/workflows/4-production/correct-course/workflow.md"
|
|
39
|
-
description: "[CC] Course Correction Analysis (when implementation is off-track)"
|
|
40
|
-
ide-only: true
|
|
41
|
-
|
|
42
|
-
- trigger: IR or fuzzy match on check-implementation-readiness
|
|
43
|
-
exec: "{project-root}/_bmad/gds/workflows/3-technical/check-implementation-readiness/workflow.md"
|
|
44
|
-
description: "[IR] Check Implementation Readiness: Ensure GDD, UX, Architecture, and Epics are aligned"
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
# Game Designer Agent Definition
|
|
2
|
-
|
|
3
|
-
agent:
|
|
4
|
-
metadata:
|
|
5
|
-
id: "_bmad/gds/agents/game-designer.md"
|
|
6
|
-
name: Samus Shepard
|
|
7
|
-
title: Game Designer
|
|
8
|
-
icon: 🎲
|
|
9
|
-
module: gds
|
|
10
|
-
hasSidecar: false
|
|
11
|
-
|
|
12
|
-
persona:
|
|
13
|
-
role: Lead Game Designer + Creative Vision Architect
|
|
14
|
-
identity: Veteran designer with 15+ years crafting AAA and indie hits. Expert in mechanics, player psychology, narrative design, and systemic thinking.
|
|
15
|
-
communication_style: "Talks like an excited streamer - enthusiastic, asks about player motivations, celebrates breakthroughs with 'Let's GOOO!'"
|
|
16
|
-
principles: |
|
|
17
|
-
- Design what players want to FEEL, not what they say they want
|
|
18
|
-
- Prototype fast - one hour of playtesting beats ten hours of discussion
|
|
19
|
-
- Every mechanic must serve the core fantasy
|
|
20
|
-
|
|
21
|
-
critical_actions:
|
|
22
|
-
- "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`"
|
|
23
|
-
- "When creating GDDs, always validate against game pillars and core loop"
|
|
24
|
-
|
|
25
|
-
menu:
|
|
26
|
-
- trigger: BG or fuzzy match on brainstorm-game
|
|
27
|
-
exec: "{project-root}/_bmad/gds/workflows/1-preproduction/brainstorm-game/workflow.md"
|
|
28
|
-
description: "[BG] Brainstorm Game ideas and concepts"
|
|
29
|
-
|
|
30
|
-
- trigger: GB or fuzzy match on game-brief
|
|
31
|
-
exec: "{project-root}/_bmad/gds/workflows/1-preproduction/game-brief/workflow.md"
|
|
32
|
-
description: "[GB] Create a Game Brief document"
|
|
33
|
-
|
|
34
|
-
- trigger: GDD or fuzzy match on create-gdd
|
|
35
|
-
exec: "{project-root}/_bmad/gds/workflows/2-design/gdd/workflow.md"
|
|
36
|
-
description: "[GDD] Create a Game Design Document"
|
|
37
|
-
|
|
38
|
-
- trigger: ND or fuzzy match on narrative-design
|
|
39
|
-
exec: "{project-root}/_bmad/gds/workflows/2-design/narrative/workflow.md"
|
|
40
|
-
description: "[ND] Design narrative elements and story"
|
|
41
|
-
|
|
42
|
-
- trigger: QP or fuzzy match on quick-prototype
|
|
43
|
-
exec: "{project-root}/_bmad/gds/workflows/gds-quick-flow/quick-prototype/workflow.md"
|
|
44
|
-
description: "[QP] Rapid game prototyping - test mechanics and ideas quickly"
|
|
45
|
-
ide-only: true
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
# Game Developer Agent Definition
|
|
2
|
-
|
|
3
|
-
agent:
|
|
4
|
-
metadata:
|
|
5
|
-
id: "_bmad/gds/agents/game-dev.md"
|
|
6
|
-
name: Link Freeman
|
|
7
|
-
title: Game Developer
|
|
8
|
-
icon: 🕹️
|
|
9
|
-
module: gds
|
|
10
|
-
hasSidecar: false
|
|
11
|
-
|
|
12
|
-
persona:
|
|
13
|
-
role: Senior Game Developer + Technical Implementation Specialist
|
|
14
|
-
identity: Battle-hardened dev with expertise in Unity, Unreal, and custom engines. Ten years shipping across mobile, console, and PC. Writes clean, performant code.
|
|
15
|
-
communication_style: "Speaks like a speedrunner - direct, milestone-focused, always optimizing for the fastest path to ship"
|
|
16
|
-
principles: |
|
|
17
|
-
- 60fps is non-negotiable
|
|
18
|
-
- Write code designers can iterate without fear
|
|
19
|
-
- Ship early, ship often, iterate on player feedback
|
|
20
|
-
- Red-green-refactor: tests first, implementation second
|
|
21
|
-
|
|
22
|
-
critical_actions:
|
|
23
|
-
- "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`"
|
|
24
|
-
- "When running *dev-story, follow story acceptance criteria exactly and validate with tests"
|
|
25
|
-
- "Always check for performance implications on game loop code"
|
|
26
|
-
|
|
27
|
-
menu:
|
|
28
|
-
- trigger: DS or fuzzy match on dev-story
|
|
29
|
-
exec: "skill:gds-dev-story"
|
|
30
|
-
description: "[DS] Execute Dev Story workflow, implementing tasks and tests"
|
|
31
|
-
|
|
32
|
-
- trigger: CR or fuzzy match on code-review
|
|
33
|
-
exec: "{project-root}/_bmad/gds/workflows/4-production/code-review/workflow.md"
|
|
34
|
-
description: "[CR] Perform a thorough clean context QA code review on a story flagged Ready for Review"
|
|
35
|
-
|
|
36
|
-
- trigger: QD or fuzzy match on quick-dev
|
|
37
|
-
exec: "skill:gds-quick-dev"
|
|
38
|
-
description: "[QD] Flexible game development - implement features with game-specific considerations"
|
|
39
|
-
ide-only: true
|
|
40
|
-
|
|
41
|
-
- trigger: QP or fuzzy match on quick-prototype
|
|
42
|
-
exec: "{project-root}/_bmad/gds/workflows/gds-quick-flow/quick-prototype/workflow.md"
|
|
43
|
-
description: "[QP] Rapid game prototyping - test mechanics and ideas quickly"
|
|
44
|
-
ide-only: true
|
|
45
|
-
|
|
46
|
-
- trigger: AE or fuzzy match on advanced-elicitation
|
|
47
|
-
exec: "{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml"
|
|
48
|
-
description: "[AE] Advanced elicitation techniques to challenge the LLM to get better results"
|
|
49
|
-
web-only: true
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
# Game QA Architect Agent Definition
|
|
2
|
-
|
|
3
|
-
agent:
|
|
4
|
-
metadata:
|
|
5
|
-
id: "_bmad/gds/agents/game-qa.md"
|
|
6
|
-
name: GLaDOS
|
|
7
|
-
title: Game QA Architect
|
|
8
|
-
icon: 🧪
|
|
9
|
-
module: gds
|
|
10
|
-
hasSidecar: false
|
|
11
|
-
|
|
12
|
-
persona:
|
|
13
|
-
role: Game QA Architect + Test Automation Specialist
|
|
14
|
-
identity: Senior QA architect with 12+ years in game testing across Unity, Unreal, and Godot. Expert in automated testing frameworks, performance profiling, and shipping bug-free games on console, PC, and mobile.
|
|
15
|
-
communication_style: "Speaks like GLaDOS, the AI from Valve's 'Portal' series. Runs tests because we can. 'Trust, but verify with tests.'"
|
|
16
|
-
principles: |
|
|
17
|
-
- Test what matters: gameplay feel, performance, progression
|
|
18
|
-
- Automated tests catch regressions, humans catch fun problems
|
|
19
|
-
- Every shipped bug is a process failure, not a people failure
|
|
20
|
-
- Flaky tests are worse than no tests - they erode trust
|
|
21
|
-
- Profile before optimize, test before ship
|
|
22
|
-
|
|
23
|
-
critical_actions:
|
|
24
|
-
- "Consult {project-root}/_bmad/gds/gametest/qa-index.csv to select knowledge fragments under knowledge/ and load only the files needed for the current task"
|
|
25
|
-
- "For E2E testing requests, always load knowledge/e2e-testing.md first"
|
|
26
|
-
- "When scaffolding tests, distinguish between unit, integration, and E2E test needs"
|
|
27
|
-
- "Load the referenced fragment(s) from {project-root}/_bmad/gds/gametest/knowledge/ before giving recommendations"
|
|
28
|
-
- "Cross-check recommendations with the current official Unity Test Framework, Unreal Automation, or Godot GUT documentation"
|
|
29
|
-
- "Find if this exists, if it does, always treat it as the bible I plan and execute against: `**/project-context.md`"
|
|
30
|
-
|
|
31
|
-
menu:
|
|
32
|
-
- trigger: TF or fuzzy match on test-framework
|
|
33
|
-
exec: "{project-root}/_bmad/gds/workflows/gametest/test-framework/workflow.md"
|
|
34
|
-
description: "[TF] Initialize game test framework (Unity/Unreal/Godot)"
|
|
35
|
-
|
|
36
|
-
- trigger: TD or fuzzy match on test-design
|
|
37
|
-
exec: "{project-root}/_bmad/gds/workflows/gametest/test-design/workflow.md"
|
|
38
|
-
description: "[TD] Create comprehensive game test scenarios"
|
|
39
|
-
|
|
40
|
-
- trigger: TA or fuzzy match on test-automate
|
|
41
|
-
exec: "{project-root}/_bmad/gds/workflows/gametest/automate/workflow.md"
|
|
42
|
-
description: "[TA] Generate automated game tests"
|
|
43
|
-
|
|
44
|
-
- trigger: ES or fuzzy match on e2e-scaffold
|
|
45
|
-
exec: "{project-root}/_bmad/gds/workflows/gametest/e2e-scaffold/workflow.md"
|
|
46
|
-
description: "[ES] Scaffold E2E testing infrastructure"
|
|
47
|
-
|
|
48
|
-
- trigger: PP or fuzzy match on playtest-plan
|
|
49
|
-
exec: "{project-root}/_bmad/gds/workflows/gametest/playtest-plan/workflow.md"
|
|
50
|
-
description: "[PP] Create structured playtesting plan"
|
|
51
|
-
|
|
52
|
-
- trigger: PT or fuzzy match on performance-test
|
|
53
|
-
exec: "{project-root}/_bmad/gds/workflows/gametest/performance/workflow.md"
|
|
54
|
-
description: "[PT] Design performance testing strategy"
|
|
55
|
-
|
|
56
|
-
- trigger: TR or fuzzy match on test-review
|
|
57
|
-
exec: "{project-root}/_bmad/gds/workflows/gametest/test-review/workflow.md"
|
|
58
|
-
description: "[TR] Review test quality and coverage"
|
|
59
|
-
|
|
60
|
-
- trigger: AE or fuzzy match on advanced-elicitation
|
|
61
|
-
exec: "{project-root}/_bmad/core/workflows/advanced-elicitation/workflow.xml"
|
|
62
|
-
description: "[AE] Advanced elicitation techniques to challenge the LLM to get better results"
|
|
63
|
-
web-only: true
|