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.
Files changed (566) hide show
  1. package/README.md +55 -1
  2. package/lib/agents.js +22 -11
  3. package/lib/bmad-cache/bmb/_git_preserved/HEAD +1 -0
  4. package/lib/bmad-cache/bmb/_git_preserved/config +13 -0
  5. package/lib/bmad-cache/bmb/_git_preserved/description +1 -0
  6. package/lib/bmad-cache/bmb/_git_preserved/hooks/applypatch-msg.sample +15 -0
  7. package/lib/bmad-cache/bmb/_git_preserved/hooks/commit-msg.sample +24 -0
  8. package/lib/bmad-cache/bmb/_git_preserved/hooks/fsmonitor-watchman.sample +174 -0
  9. package/lib/bmad-cache/bmb/_git_preserved/hooks/post-update.sample +8 -0
  10. package/lib/bmad-cache/bmb/_git_preserved/hooks/pre-applypatch.sample +14 -0
  11. package/lib/bmad-cache/bmb/_git_preserved/hooks/pre-commit.sample +49 -0
  12. package/lib/bmad-cache/bmb/_git_preserved/hooks/pre-merge-commit.sample +13 -0
  13. package/lib/bmad-cache/bmb/_git_preserved/hooks/pre-push.sample +53 -0
  14. package/lib/bmad-cache/bmb/_git_preserved/hooks/pre-rebase.sample +169 -0
  15. package/lib/bmad-cache/bmb/_git_preserved/hooks/pre-receive.sample +24 -0
  16. package/lib/bmad-cache/bmb/_git_preserved/hooks/prepare-commit-msg.sample +42 -0
  17. package/lib/bmad-cache/bmb/_git_preserved/hooks/push-to-checkout.sample +78 -0
  18. package/lib/bmad-cache/bmb/_git_preserved/hooks/sendemail-validate.sample +77 -0
  19. package/lib/bmad-cache/bmb/_git_preserved/hooks/update.sample +128 -0
  20. package/lib/bmad-cache/bmb/_git_preserved/index +0 -0
  21. package/lib/bmad-cache/bmb/_git_preserved/info/exclude +6 -0
  22. package/lib/bmad-cache/bmb/_git_preserved/logs/HEAD +1 -0
  23. package/lib/bmad-cache/bmb/_git_preserved/logs/refs/heads/main +1 -0
  24. package/lib/bmad-cache/bmb/_git_preserved/logs/refs/remotes/origin/HEAD +1 -0
  25. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-c6e539e2308f8ed764c5b54b6ab68a67f8a3796b.idx +0 -0
  26. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-c6e539e2308f8ed764c5b54b6ab68a67f8a3796b.pack +0 -0
  27. package/lib/bmad-cache/bmb/_git_preserved/objects/pack/pack-c6e539e2308f8ed764c5b54b6ab68a67f8a3796b.rev +0 -0
  28. package/lib/bmad-cache/bmb/_git_preserved/packed-refs +2 -0
  29. package/lib/bmad-cache/bmb/_git_preserved/refs/heads/main +1 -0
  30. package/lib/bmad-cache/bmb/_git_preserved/refs/remotes/origin/HEAD +1 -0
  31. package/lib/bmad-cache/bmb/_git_preserved/shallow +1 -0
  32. package/lib/bmad-cache/cache-manifest.json +6 -6
  33. package/lib/bmad-cache/cis/_git_preserved/HEAD +1 -0
  34. package/lib/bmad-cache/cis/_git_preserved/config +13 -0
  35. package/lib/bmad-cache/cis/_git_preserved/description +1 -0
  36. package/lib/bmad-cache/cis/_git_preserved/hooks/applypatch-msg.sample +15 -0
  37. package/lib/bmad-cache/cis/_git_preserved/hooks/commit-msg.sample +24 -0
  38. package/lib/bmad-cache/cis/_git_preserved/hooks/fsmonitor-watchman.sample +174 -0
  39. package/lib/bmad-cache/cis/_git_preserved/hooks/post-update.sample +8 -0
  40. package/lib/bmad-cache/cis/_git_preserved/hooks/pre-applypatch.sample +14 -0
  41. package/lib/bmad-cache/cis/_git_preserved/hooks/pre-commit.sample +49 -0
  42. package/lib/bmad-cache/cis/_git_preserved/hooks/pre-merge-commit.sample +13 -0
  43. package/lib/bmad-cache/cis/_git_preserved/hooks/pre-push.sample +53 -0
  44. package/lib/bmad-cache/cis/_git_preserved/hooks/pre-rebase.sample +169 -0
  45. package/lib/bmad-cache/cis/_git_preserved/hooks/pre-receive.sample +24 -0
  46. package/lib/bmad-cache/cis/_git_preserved/hooks/prepare-commit-msg.sample +42 -0
  47. package/lib/bmad-cache/cis/_git_preserved/hooks/push-to-checkout.sample +78 -0
  48. package/lib/bmad-cache/cis/_git_preserved/hooks/sendemail-validate.sample +77 -0
  49. package/lib/bmad-cache/cis/_git_preserved/hooks/update.sample +128 -0
  50. package/lib/bmad-cache/cis/_git_preserved/index +0 -0
  51. package/lib/bmad-cache/cis/_git_preserved/info/exclude +6 -0
  52. package/lib/bmad-cache/cis/_git_preserved/logs/HEAD +1 -0
  53. package/lib/bmad-cache/cis/_git_preserved/logs/refs/heads/main +1 -0
  54. package/lib/bmad-cache/cis/_git_preserved/logs/refs/remotes/origin/HEAD +1 -0
  55. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-157d7eb8d527233a8607d926fc74ebf87f2ae0d3.idx +0 -0
  56. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-157d7eb8d527233a8607d926fc74ebf87f2ae0d3.pack +0 -0
  57. package/lib/bmad-cache/cis/_git_preserved/objects/pack/pack-157d7eb8d527233a8607d926fc74ebf87f2ae0d3.rev +0 -0
  58. package/lib/bmad-cache/cis/_git_preserved/packed-refs +2 -0
  59. package/lib/bmad-cache/cis/_git_preserved/refs/heads/main +1 -0
  60. package/lib/bmad-cache/cis/_git_preserved/refs/remotes/origin/HEAD +1 -0
  61. package/lib/bmad-cache/cis/_git_preserved/shallow +1 -0
  62. package/lib/bmad-cache/gds/_git_preserved/HEAD +1 -0
  63. package/lib/bmad-cache/gds/_git_preserved/config +13 -0
  64. package/lib/bmad-cache/gds/_git_preserved/description +1 -0
  65. package/lib/bmad-cache/gds/_git_preserved/hooks/applypatch-msg.sample +15 -0
  66. package/lib/bmad-cache/gds/_git_preserved/hooks/commit-msg.sample +24 -0
  67. package/lib/bmad-cache/gds/_git_preserved/hooks/fsmonitor-watchman.sample +174 -0
  68. package/lib/bmad-cache/gds/_git_preserved/hooks/post-update.sample +8 -0
  69. package/lib/bmad-cache/gds/_git_preserved/hooks/pre-applypatch.sample +14 -0
  70. package/lib/bmad-cache/gds/_git_preserved/hooks/pre-commit.sample +49 -0
  71. package/lib/bmad-cache/gds/_git_preserved/hooks/pre-merge-commit.sample +13 -0
  72. package/lib/bmad-cache/gds/_git_preserved/hooks/pre-push.sample +53 -0
  73. package/lib/bmad-cache/gds/_git_preserved/hooks/pre-rebase.sample +169 -0
  74. package/lib/bmad-cache/gds/_git_preserved/hooks/pre-receive.sample +24 -0
  75. package/lib/bmad-cache/gds/_git_preserved/hooks/prepare-commit-msg.sample +42 -0
  76. package/lib/bmad-cache/gds/_git_preserved/hooks/push-to-checkout.sample +78 -0
  77. package/lib/bmad-cache/gds/_git_preserved/hooks/sendemail-validate.sample +77 -0
  78. package/lib/bmad-cache/gds/_git_preserved/hooks/update.sample +128 -0
  79. package/lib/bmad-cache/gds/_git_preserved/index +0 -0
  80. package/lib/bmad-cache/gds/_git_preserved/info/exclude +6 -0
  81. package/lib/bmad-cache/gds/_git_preserved/logs/HEAD +1 -0
  82. package/lib/bmad-cache/gds/_git_preserved/logs/refs/heads/main +1 -0
  83. package/lib/bmad-cache/gds/_git_preserved/logs/refs/remotes/origin/HEAD +1 -0
  84. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-44faafb9245b4ca17ad81bd6c9e6fc52fb5915a1.idx +0 -0
  85. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-44faafb9245b4ca17ad81bd6c9e6fc52fb5915a1.pack +0 -0
  86. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-44faafb9245b4ca17ad81bd6c9e6fc52fb5915a1.rev +0 -0
  87. package/lib/bmad-cache/gds/_git_preserved/packed-refs +2 -0
  88. package/lib/bmad-cache/gds/_git_preserved/refs/heads/main +1 -0
  89. package/lib/bmad-cache/gds/_git_preserved/refs/remotes/origin/HEAD +1 -0
  90. package/lib/bmad-cache/gds/_git_preserved/refs/tags/v0.2.2 +1 -0
  91. package/lib/bmad-cache/gds/_git_preserved/shallow +1 -0
  92. package/lib/bmad-cache/gds/package.json +2 -4
  93. package/lib/bmad-cache/gds/src/agents/gds-agent-game-architect/bmad-skill-manifest.yaml +11 -0
  94. package/lib/bmad-cache/gds/src/agents/gds-agent-game-designer/bmad-skill-manifest.yaml +11 -0
  95. package/lib/bmad-cache/gds/src/agents/gds-agent-game-dev/bmad-skill-manifest.yaml +11 -0
  96. package/lib/bmad-cache/gds/src/agents/gds-agent-game-qa/bmad-skill-manifest.yaml +11 -0
  97. package/lib/bmad-cache/gds/src/agents/gds-agent-game-scrum-master/bmad-skill-manifest.yaml +11 -0
  98. package/lib/bmad-cache/gds/src/agents/gds-agent-game-solo-dev/bmad-skill-manifest.yaml +11 -0
  99. package/lib/bmad-cache/gds/src/agents/gds-agent-tech-writer/bmad-skill-manifest.yaml +11 -0
  100. package/lib/bmad-cache/gds/src/module-help.csv +28 -28
  101. package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-brainstorm-game/bmad-skill-manifest.yaml +1 -0
  102. package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-create-game-brief/bmad-skill-manifest.yaml +1 -0
  103. package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-gdd/bmad-skill-manifest.yaml +1 -0
  104. package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-narrative/bmad-skill-manifest.yaml +1 -0
  105. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-check-implementation-readiness/bmad-skill-manifest.yaml +1 -0
  106. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-create-epics-and-stories/bmad-skill-manifest.yaml +1 -0
  107. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/bmad-skill-manifest.yaml +1 -0
  108. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-generate-project-context/bmad-skill-manifest.yaml +1 -0
  109. package/lib/bmad-cache/gds/src/workflows/4-production/gds-code-review/bmad-skill-manifest.yaml +1 -0
  110. package/lib/bmad-cache/gds/src/workflows/4-production/gds-correct-course/bmad-skill-manifest.yaml +1 -0
  111. package/lib/bmad-cache/gds/src/workflows/4-production/gds-retrospective/bmad-skill-manifest.yaml +1 -0
  112. package/lib/bmad-cache/gds/src/workflows/4-production/gds-sprint-planning/bmad-skill-manifest.yaml +1 -0
  113. package/lib/bmad-cache/gds/src/workflows/4-production/gds-sprint-status/bmad-skill-manifest.yaml +1 -0
  114. package/lib/bmad-cache/gds/src/workflows/gametest/gds-e2e-scaffold/bmad-skill-manifest.yaml +1 -0
  115. package/lib/bmad-cache/gds/src/workflows/gametest/gds-performance-test/bmad-skill-manifest.yaml +1 -0
  116. package/lib/bmad-cache/gds/src/workflows/gametest/gds-playtest-plan/bmad-skill-manifest.yaml +1 -0
  117. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-automate/bmad-skill-manifest.yaml +1 -0
  118. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-design/bmad-skill-manifest.yaml +1 -0
  119. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-framework/bmad-skill-manifest.yaml +1 -0
  120. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-review/bmad-skill-manifest.yaml +1 -0
  121. package/lib/bmad-cache/gds/src/workflows/gds-document-project/bmad-skill-manifest.yaml +1 -0
  122. package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-dev/bmad-skill-manifest.yaml +1 -4
  123. package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-dev-new-preview/bmad-skill-manifest.yaml +1 -4
  124. package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-spec/bmad-skill-manifest.yaml +1 -0
  125. package/lib/bmad-cache/tea/_git_preserved/HEAD +1 -0
  126. package/lib/bmad-cache/tea/_git_preserved/config +13 -0
  127. package/lib/bmad-cache/tea/_git_preserved/description +1 -0
  128. package/lib/bmad-cache/tea/_git_preserved/hooks/applypatch-msg.sample +15 -0
  129. package/lib/bmad-cache/tea/_git_preserved/hooks/commit-msg.sample +24 -0
  130. package/lib/bmad-cache/tea/_git_preserved/hooks/fsmonitor-watchman.sample +174 -0
  131. package/lib/bmad-cache/tea/_git_preserved/hooks/post-update.sample +8 -0
  132. package/lib/bmad-cache/tea/_git_preserved/hooks/pre-applypatch.sample +14 -0
  133. package/lib/bmad-cache/tea/_git_preserved/hooks/pre-commit.sample +49 -0
  134. package/lib/bmad-cache/tea/_git_preserved/hooks/pre-merge-commit.sample +13 -0
  135. package/lib/bmad-cache/tea/_git_preserved/hooks/pre-push.sample +53 -0
  136. package/lib/bmad-cache/tea/_git_preserved/hooks/pre-rebase.sample +169 -0
  137. package/lib/bmad-cache/tea/_git_preserved/hooks/pre-receive.sample +24 -0
  138. package/lib/bmad-cache/tea/_git_preserved/hooks/prepare-commit-msg.sample +42 -0
  139. package/lib/bmad-cache/tea/_git_preserved/hooks/push-to-checkout.sample +78 -0
  140. package/lib/bmad-cache/tea/_git_preserved/hooks/sendemail-validate.sample +77 -0
  141. package/lib/bmad-cache/tea/_git_preserved/hooks/update.sample +128 -0
  142. package/lib/bmad-cache/tea/_git_preserved/index +0 -0
  143. package/lib/bmad-cache/tea/_git_preserved/info/exclude +6 -0
  144. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-96ec1ce3a9ef4c891e00e060795b4434ba8f7163.idx +0 -0
  145. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-96ec1ce3a9ef4c891e00e060795b4434ba8f7163.pack +0 -0
  146. package/lib/bmad-cache/tea/_git_preserved/objects/pack/pack-96ec1ce3a9ef4c891e00e060795b4434ba8f7163.rev +0 -0
  147. package/lib/bmad-cache/tea/_git_preserved/packed-refs +2 -0
  148. package/lib/bmad-cache/tea/_git_preserved/refs/heads/main +1 -0
  149. package/lib/bmad-cache/tea/_git_preserved/refs/remotes/origin/HEAD +1 -0
  150. package/lib/bmad-cache/tea/_git_preserved/refs/tags/v1.7.0 +1 -0
  151. package/lib/bmad-cache/tea/_git_preserved/shallow +1 -0
  152. package/lib/bmad.js +33 -0
  153. package/lib/installer.js +60 -3
  154. package/package.json +1 -1
  155. package/scripts/build-bmad-cache.js +6 -3
  156. package/test/agent-injection-strategy.test.js +123 -0
  157. package/test/instruction-injection.test.js +336 -0
  158. package/.cline/clinerules.md +0 -14
  159. package/.cline/skills/.ma-agents.json +0 -199
  160. package/.cline/skills/MANIFEST.yaml +0 -204
  161. package/.cline/skills/ai-audit-trail/SKILL.md +0 -23
  162. package/.cline/skills/cmake-best-practices/SKILL.md +0 -64
  163. package/.cline/skills/cmake-best-practices/examples/cmake.md +0 -59
  164. package/.cline/skills/code-documentation/SKILL.md +0 -57
  165. package/.cline/skills/code-documentation/examples/cpp.md +0 -29
  166. package/.cline/skills/code-documentation/examples/csharp.md +0 -28
  167. package/.cline/skills/code-documentation/examples/javascript_typescript.md +0 -28
  168. package/.cline/skills/code-documentation/examples/python.md +0 -57
  169. package/.cline/skills/code-review/SKILL.md +0 -59
  170. package/.cline/skills/commit-message/SKILL.md +0 -79
  171. package/.cline/skills/cpp-concurrency-safety/SKILL.md +0 -60
  172. package/.cline/skills/cpp-concurrency-safety/examples/concurrency.md +0 -73
  173. package/.cline/skills/cpp-const-correctness/SKILL.md +0 -63
  174. package/.cline/skills/cpp-const-correctness/examples/const_correctness.md +0 -54
  175. package/.cline/skills/cpp-memory-handling/SKILL.md +0 -42
  176. package/.cline/skills/cpp-memory-handling/examples/modern-cpp.md +0 -49
  177. package/.cline/skills/cpp-memory-handling/examples/smart-pointers.md +0 -46
  178. package/.cline/skills/cpp-modern-composition/SKILL.md +0 -64
  179. package/.cline/skills/cpp-modern-composition/examples/composition.md +0 -51
  180. package/.cline/skills/cpp-robust-interfaces/SKILL.md +0 -55
  181. package/.cline/skills/cpp-robust-interfaces/examples/interfaces.md +0 -56
  182. package/.cline/skills/create-hardened-docker-skill/SKILL.md +0 -637
  183. package/.cline/skills/create-hardened-docker-skill/scripts/create-all.sh +0 -489
  184. package/.cline/skills/docker-hardening-verification/SKILL.md +0 -28
  185. package/.cline/skills/docker-hardening-verification/scripts/verify-hardening.sh +0 -39
  186. package/.cline/skills/docker-image-signing/SKILL.md +0 -28
  187. package/.cline/skills/docker-image-signing/scripts/sign-image.sh +0 -33
  188. package/.cline/skills/document-revision-history/SKILL.md +0 -104
  189. package/.cline/skills/git-workflow-skill/SKILL.md +0 -194
  190. package/.cline/skills/git-workflow-skill/hooks/commit-msg +0 -61
  191. package/.cline/skills/git-workflow-skill/hooks/pre-commit +0 -38
  192. package/.cline/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
  193. package/.cline/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
  194. package/.cline/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
  195. package/.cline/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
  196. package/.cline/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
  197. package/.cline/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
  198. package/.cline/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
  199. package/.cline/skills/js-ts-security-skill/SKILL.md +0 -64
  200. package/.cline/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
  201. package/.cline/skills/logging-best-practices/SKILL.md +0 -50
  202. package/.cline/skills/logging-best-practices/docs/logging-standards.md +0 -29
  203. package/.cline/skills/logging-best-practices/examples/cpp.md +0 -36
  204. package/.cline/skills/logging-best-practices/examples/csharp.md +0 -49
  205. package/.cline/skills/logging-best-practices/examples/javascript.md +0 -77
  206. package/.cline/skills/logging-best-practices/examples/python.md +0 -57
  207. package/.cline/skills/opentelemetry-best-practices/SKILL.md +0 -34
  208. package/.cline/skills/opentelemetry-best-practices/docs/otel-standards.md +0 -37
  209. package/.cline/skills/opentelemetry-best-practices/examples/go.md +0 -32
  210. package/.cline/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
  211. package/.cline/skills/opentelemetry-best-practices/examples/python.md +0 -37
  212. package/.cline/skills/python-dependency-mgmt/SKILL.md +0 -42
  213. package/.cline/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
  214. package/.cline/skills/python-security-skill/SKILL.md +0 -56
  215. package/.cline/skills/python-security-skill/examples/security.md +0 -56
  216. package/.cline/skills/self-signed-cert/SKILL.md +0 -42
  217. package/.cline/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
  218. package/.cline/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
  219. package/.cline/skills/skill-creator/SKILL.md +0 -196
  220. package/.cline/skills/skill-creator/docs/output-patterns.md +0 -82
  221. package/.cline/skills/skill-creator/docs/workflows.md +0 -28
  222. package/.cline/skills/skill-creator/scripts/init_skill.py +0 -208
  223. package/.cline/skills/skill-creator/scripts/package_skill.py +0 -99
  224. package/.cline/skills/skill-creator/scripts/quick_validate.py +0 -113
  225. package/.cline/skills/test-accompanied-development/SKILL.md +0 -50
  226. package/.cline/skills/test-generator/SKILL.md +0 -73
  227. package/.cline/skills/vercel-react-best-practices/SKILL.md +0 -109
  228. package/.cline/skills/verify-hardened-docker-skill/SKILL.md +0 -442
  229. package/.cline/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
  230. package/.clinerules +0 -14
  231. package/.cursor/cursor.md +0 -14
  232. package/.cursor/skills/.ma-agents.json +0 -199
  233. package/.cursor/skills/MANIFEST.yaml +0 -204
  234. package/.cursor/skills/ai-audit-trail/SKILL.md +0 -23
  235. package/.cursor/skills/cmake-best-practices/SKILL.md +0 -64
  236. package/.cursor/skills/cmake-best-practices/examples/cmake.md +0 -59
  237. package/.cursor/skills/code-documentation/SKILL.md +0 -57
  238. package/.cursor/skills/code-documentation/examples/cpp.md +0 -29
  239. package/.cursor/skills/code-documentation/examples/csharp.md +0 -28
  240. package/.cursor/skills/code-documentation/examples/javascript_typescript.md +0 -28
  241. package/.cursor/skills/code-documentation/examples/python.md +0 -57
  242. package/.cursor/skills/code-review/SKILL.md +0 -43
  243. package/.cursor/skills/commit-message/SKILL.md +0 -79
  244. package/.cursor/skills/cpp-concurrency-safety/SKILL.md +0 -60
  245. package/.cursor/skills/cpp-concurrency-safety/examples/concurrency.md +0 -73
  246. package/.cursor/skills/cpp-const-correctness/SKILL.md +0 -63
  247. package/.cursor/skills/cpp-const-correctness/examples/const_correctness.md +0 -54
  248. package/.cursor/skills/cpp-memory-handling/SKILL.md +0 -42
  249. package/.cursor/skills/cpp-memory-handling/examples/modern-cpp.md +0 -49
  250. package/.cursor/skills/cpp-memory-handling/examples/smart-pointers.md +0 -46
  251. package/.cursor/skills/cpp-modern-composition/SKILL.md +0 -64
  252. package/.cursor/skills/cpp-modern-composition/examples/composition.md +0 -51
  253. package/.cursor/skills/cpp-robust-interfaces/SKILL.md +0 -55
  254. package/.cursor/skills/cpp-robust-interfaces/examples/interfaces.md +0 -56
  255. package/.cursor/skills/create-hardened-docker-skill/SKILL.md +0 -637
  256. package/.cursor/skills/create-hardened-docker-skill/scripts/create-all.sh +0 -489
  257. package/.cursor/skills/docker-hardening-verification/SKILL.md +0 -28
  258. package/.cursor/skills/docker-hardening-verification/scripts/verify-hardening.sh +0 -39
  259. package/.cursor/skills/docker-image-signing/SKILL.md +0 -28
  260. package/.cursor/skills/docker-image-signing/scripts/sign-image.sh +0 -33
  261. package/.cursor/skills/document-revision-history/SKILL.md +0 -104
  262. package/.cursor/skills/git-workflow-skill/SKILL.md +0 -194
  263. package/.cursor/skills/git-workflow-skill/hooks/commit-msg +0 -61
  264. package/.cursor/skills/git-workflow-skill/hooks/pre-commit +0 -38
  265. package/.cursor/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
  266. package/.cursor/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
  267. package/.cursor/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
  268. package/.cursor/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
  269. package/.cursor/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
  270. package/.cursor/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
  271. package/.cursor/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
  272. package/.cursor/skills/js-ts-security-skill/SKILL.md +0 -64
  273. package/.cursor/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
  274. package/.cursor/skills/logging-best-practices/SKILL.md +0 -50
  275. package/.cursor/skills/logging-best-practices/examples/cpp.md +0 -36
  276. package/.cursor/skills/logging-best-practices/examples/csharp.md +0 -49
  277. package/.cursor/skills/logging-best-practices/examples/javascript.md +0 -77
  278. package/.cursor/skills/logging-best-practices/examples/python.md +0 -57
  279. package/.cursor/skills/logging-best-practices/references/logging-standards.md +0 -29
  280. package/.cursor/skills/opentelemetry-best-practices/SKILL.md +0 -34
  281. package/.cursor/skills/opentelemetry-best-practices/examples/go.md +0 -32
  282. package/.cursor/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
  283. package/.cursor/skills/opentelemetry-best-practices/examples/python.md +0 -37
  284. package/.cursor/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
  285. package/.cursor/skills/python-dependency-mgmt/SKILL.md +0 -42
  286. package/.cursor/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
  287. package/.cursor/skills/python-security-skill/SKILL.md +0 -56
  288. package/.cursor/skills/python-security-skill/examples/security.md +0 -56
  289. package/.cursor/skills/self-signed-cert/SKILL.md +0 -42
  290. package/.cursor/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
  291. package/.cursor/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
  292. package/.cursor/skills/skill-creator/SKILL.md +0 -196
  293. package/.cursor/skills/skill-creator/references/output-patterns.md +0 -82
  294. package/.cursor/skills/skill-creator/references/workflows.md +0 -28
  295. package/.cursor/skills/skill-creator/scripts/init_skill.py +0 -208
  296. package/.cursor/skills/skill-creator/scripts/package_skill.py +0 -99
  297. package/.cursor/skills/skill-creator/scripts/quick_validate.py +0 -113
  298. package/.cursor/skills/test-accompanied-development/SKILL.md +0 -50
  299. package/.cursor/skills/test-generator/SKILL.md +0 -65
  300. package/.cursor/skills/vercel-react-best-practices/SKILL.md +0 -109
  301. package/.cursor/skills/verify-hardened-docker-skill/SKILL.md +0 -442
  302. package/.cursor/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
  303. package/.gemini/gemini.md +0 -14
  304. package/.gemini/skills/.ma-agents.json +0 -199
  305. package/.gemini/skills/MANIFEST.yaml +0 -204
  306. package/.gemini/skills/ai-audit-trail/SKILL.md +0 -23
  307. package/.gemini/skills/cmake-best-practices/SKILL.md +0 -64
  308. package/.gemini/skills/cmake-best-practices/examples/cmake.md +0 -59
  309. package/.gemini/skills/code-documentation/SKILL.md +0 -57
  310. package/.gemini/skills/code-documentation/examples/cpp.md +0 -29
  311. package/.gemini/skills/code-documentation/examples/csharp.md +0 -28
  312. package/.gemini/skills/code-documentation/examples/javascript_typescript.md +0 -28
  313. package/.gemini/skills/code-documentation/examples/python.md +0 -57
  314. package/.gemini/skills/code-review/SKILL.md +0 -43
  315. package/.gemini/skills/commit-message/SKILL.md +0 -79
  316. package/.gemini/skills/cpp-concurrency-safety/SKILL.md +0 -60
  317. package/.gemini/skills/cpp-concurrency-safety/examples/concurrency.md +0 -73
  318. package/.gemini/skills/cpp-const-correctness/SKILL.md +0 -63
  319. package/.gemini/skills/cpp-const-correctness/examples/const_correctness.md +0 -54
  320. package/.gemini/skills/cpp-memory-handling/SKILL.md +0 -42
  321. package/.gemini/skills/cpp-memory-handling/examples/modern-cpp.md +0 -49
  322. package/.gemini/skills/cpp-memory-handling/examples/smart-pointers.md +0 -46
  323. package/.gemini/skills/cpp-modern-composition/SKILL.md +0 -64
  324. package/.gemini/skills/cpp-modern-composition/examples/composition.md +0 -51
  325. package/.gemini/skills/cpp-robust-interfaces/SKILL.md +0 -55
  326. package/.gemini/skills/cpp-robust-interfaces/examples/interfaces.md +0 -56
  327. package/.gemini/skills/create-hardened-docker-skill/SKILL.md +0 -637
  328. package/.gemini/skills/create-hardened-docker-skill/scripts/create-all.sh +0 -489
  329. package/.gemini/skills/docker-hardening-verification/SKILL.md +0 -28
  330. package/.gemini/skills/docker-hardening-verification/scripts/verify-hardening.sh +0 -39
  331. package/.gemini/skills/docker-image-signing/SKILL.md +0 -28
  332. package/.gemini/skills/docker-image-signing/scripts/sign-image.sh +0 -33
  333. package/.gemini/skills/document-revision-history/SKILL.md +0 -104
  334. package/.gemini/skills/git-workflow-skill/SKILL.md +0 -194
  335. package/.gemini/skills/git-workflow-skill/hooks/commit-msg +0 -61
  336. package/.gemini/skills/git-workflow-skill/hooks/pre-commit +0 -38
  337. package/.gemini/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
  338. package/.gemini/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
  339. package/.gemini/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
  340. package/.gemini/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
  341. package/.gemini/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
  342. package/.gemini/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
  343. package/.gemini/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
  344. package/.gemini/skills/js-ts-security-skill/SKILL.md +0 -64
  345. package/.gemini/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
  346. package/.gemini/skills/logging-best-practices/SKILL.md +0 -50
  347. package/.gemini/skills/logging-best-practices/examples/cpp.md +0 -36
  348. package/.gemini/skills/logging-best-practices/examples/csharp.md +0 -49
  349. package/.gemini/skills/logging-best-practices/examples/javascript.md +0 -77
  350. package/.gemini/skills/logging-best-practices/examples/python.md +0 -57
  351. package/.gemini/skills/logging-best-practices/references/logging-standards.md +0 -29
  352. package/.gemini/skills/opentelemetry-best-practices/SKILL.md +0 -34
  353. package/.gemini/skills/opentelemetry-best-practices/examples/go.md +0 -32
  354. package/.gemini/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
  355. package/.gemini/skills/opentelemetry-best-practices/examples/python.md +0 -37
  356. package/.gemini/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
  357. package/.gemini/skills/python-dependency-mgmt/SKILL.md +0 -42
  358. package/.gemini/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
  359. package/.gemini/skills/python-security-skill/SKILL.md +0 -56
  360. package/.gemini/skills/python-security-skill/examples/security.md +0 -56
  361. package/.gemini/skills/self-signed-cert/SKILL.md +0 -42
  362. package/.gemini/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
  363. package/.gemini/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
  364. package/.gemini/skills/skill-creator/SKILL.md +0 -196
  365. package/.gemini/skills/skill-creator/references/output-patterns.md +0 -82
  366. package/.gemini/skills/skill-creator/references/workflows.md +0 -28
  367. package/.gemini/skills/skill-creator/scripts/init_skill.py +0 -208
  368. package/.gemini/skills/skill-creator/scripts/package_skill.py +0 -99
  369. package/.gemini/skills/skill-creator/scripts/quick_validate.py +0 -113
  370. package/.gemini/skills/test-accompanied-development/SKILL.md +0 -50
  371. package/.gemini/skills/test-generator/SKILL.md +0 -65
  372. package/.gemini/skills/vercel-react-best-practices/SKILL.md +0 -109
  373. package/.gemini/skills/verify-hardened-docker-skill/SKILL.md +0 -442
  374. package/.gemini/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
  375. package/.github/copilot/copilot.md +0 -14
  376. package/.github/copilot/skills/.ma-agents.json +0 -199
  377. package/.github/copilot/skills/MANIFEST.yaml +0 -204
  378. package/.github/copilot/skills/ai-audit-trail/SKILL.md +0 -23
  379. package/.github/copilot/skills/cmake-best-practices/SKILL.md +0 -64
  380. package/.github/copilot/skills/cmake-best-practices/examples/cmake.md +0 -59
  381. package/.github/copilot/skills/code-documentation/SKILL.md +0 -57
  382. package/.github/copilot/skills/code-documentation/examples/cpp.md +0 -29
  383. package/.github/copilot/skills/code-documentation/examples/csharp.md +0 -28
  384. package/.github/copilot/skills/code-documentation/examples/javascript_typescript.md +0 -28
  385. package/.github/copilot/skills/code-documentation/examples/python.md +0 -57
  386. package/.github/copilot/skills/code-review/SKILL.md +0 -43
  387. package/.github/copilot/skills/commit-message/SKILL.md +0 -79
  388. package/.github/copilot/skills/cpp-concurrency-safety/SKILL.md +0 -60
  389. package/.github/copilot/skills/cpp-concurrency-safety/examples/concurrency.md +0 -73
  390. package/.github/copilot/skills/cpp-const-correctness/SKILL.md +0 -63
  391. package/.github/copilot/skills/cpp-const-correctness/examples/const_correctness.md +0 -54
  392. package/.github/copilot/skills/cpp-memory-handling/SKILL.md +0 -42
  393. package/.github/copilot/skills/cpp-memory-handling/examples/modern-cpp.md +0 -49
  394. package/.github/copilot/skills/cpp-memory-handling/examples/smart-pointers.md +0 -46
  395. package/.github/copilot/skills/cpp-modern-composition/SKILL.md +0 -64
  396. package/.github/copilot/skills/cpp-modern-composition/examples/composition.md +0 -51
  397. package/.github/copilot/skills/cpp-robust-interfaces/SKILL.md +0 -55
  398. package/.github/copilot/skills/cpp-robust-interfaces/examples/interfaces.md +0 -56
  399. package/.github/copilot/skills/create-hardened-docker-skill/SKILL.md +0 -637
  400. package/.github/copilot/skills/create-hardened-docker-skill/scripts/create-all.sh +0 -489
  401. package/.github/copilot/skills/docker-hardening-verification/SKILL.md +0 -28
  402. package/.github/copilot/skills/docker-hardening-verification/scripts/verify-hardening.sh +0 -39
  403. package/.github/copilot/skills/docker-image-signing/SKILL.md +0 -28
  404. package/.github/copilot/skills/docker-image-signing/scripts/sign-image.sh +0 -33
  405. package/.github/copilot/skills/document-revision-history/SKILL.md +0 -104
  406. package/.github/copilot/skills/git-workflow-skill/SKILL.md +0 -194
  407. package/.github/copilot/skills/git-workflow-skill/hooks/commit-msg +0 -61
  408. package/.github/copilot/skills/git-workflow-skill/hooks/pre-commit +0 -38
  409. package/.github/copilot/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
  410. package/.github/copilot/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
  411. package/.github/copilot/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
  412. package/.github/copilot/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
  413. package/.github/copilot/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
  414. package/.github/copilot/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
  415. package/.github/copilot/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
  416. package/.github/copilot/skills/js-ts-security-skill/SKILL.md +0 -64
  417. package/.github/copilot/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
  418. package/.github/copilot/skills/logging-best-practices/SKILL.md +0 -50
  419. package/.github/copilot/skills/logging-best-practices/examples/cpp.md +0 -36
  420. package/.github/copilot/skills/logging-best-practices/examples/csharp.md +0 -49
  421. package/.github/copilot/skills/logging-best-practices/examples/javascript.md +0 -77
  422. package/.github/copilot/skills/logging-best-practices/examples/python.md +0 -57
  423. package/.github/copilot/skills/logging-best-practices/references/logging-standards.md +0 -29
  424. package/.github/copilot/skills/opentelemetry-best-practices/SKILL.md +0 -34
  425. package/.github/copilot/skills/opentelemetry-best-practices/examples/go.md +0 -32
  426. package/.github/copilot/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
  427. package/.github/copilot/skills/opentelemetry-best-practices/examples/python.md +0 -37
  428. package/.github/copilot/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
  429. package/.github/copilot/skills/python-dependency-mgmt/SKILL.md +0 -42
  430. package/.github/copilot/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
  431. package/.github/copilot/skills/python-security-skill/SKILL.md +0 -56
  432. package/.github/copilot/skills/python-security-skill/examples/security.md +0 -56
  433. package/.github/copilot/skills/self-signed-cert/SKILL.md +0 -42
  434. package/.github/copilot/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
  435. package/.github/copilot/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
  436. package/.github/copilot/skills/skill-creator/SKILL.md +0 -196
  437. package/.github/copilot/skills/skill-creator/references/output-patterns.md +0 -82
  438. package/.github/copilot/skills/skill-creator/references/workflows.md +0 -28
  439. package/.github/copilot/skills/skill-creator/scripts/init_skill.py +0 -208
  440. package/.github/copilot/skills/skill-creator/scripts/package_skill.py +0 -99
  441. package/.github/copilot/skills/skill-creator/scripts/quick_validate.py +0 -113
  442. package/.github/copilot/skills/test-accompanied-development/SKILL.md +0 -50
  443. package/.github/copilot/skills/test-generator/SKILL.md +0 -65
  444. package/.github/copilot/skills/vercel-react-best-practices/SKILL.md +0 -109
  445. package/.github/copilot/skills/verify-hardened-docker-skill/SKILL.md +0 -442
  446. package/.github/copilot/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
  447. package/.kilocode/kilocode.md +0 -14
  448. package/.kilocode/skills/.ma-agents.json +0 -199
  449. package/.kilocode/skills/MANIFEST.yaml +0 -204
  450. package/.kilocode/skills/ai-audit-trail/SKILL.md +0 -23
  451. package/.kilocode/skills/cmake-best-practices/SKILL.md +0 -64
  452. package/.kilocode/skills/cmake-best-practices/examples/cmake.md +0 -59
  453. package/.kilocode/skills/code-documentation/SKILL.md +0 -57
  454. package/.kilocode/skills/code-documentation/examples/cpp.md +0 -29
  455. package/.kilocode/skills/code-documentation/examples/csharp.md +0 -28
  456. package/.kilocode/skills/code-documentation/examples/javascript_typescript.md +0 -28
  457. package/.kilocode/skills/code-documentation/examples/python.md +0 -57
  458. package/.kilocode/skills/code-review/SKILL.md +0 -43
  459. package/.kilocode/skills/commit-message/SKILL.md +0 -79
  460. package/.kilocode/skills/cpp-concurrency-safety/SKILL.md +0 -60
  461. package/.kilocode/skills/cpp-concurrency-safety/examples/concurrency.md +0 -73
  462. package/.kilocode/skills/cpp-const-correctness/SKILL.md +0 -63
  463. package/.kilocode/skills/cpp-const-correctness/examples/const_correctness.md +0 -54
  464. package/.kilocode/skills/cpp-memory-handling/SKILL.md +0 -42
  465. package/.kilocode/skills/cpp-memory-handling/examples/modern-cpp.md +0 -49
  466. package/.kilocode/skills/cpp-memory-handling/examples/smart-pointers.md +0 -46
  467. package/.kilocode/skills/cpp-modern-composition/SKILL.md +0 -64
  468. package/.kilocode/skills/cpp-modern-composition/examples/composition.md +0 -51
  469. package/.kilocode/skills/cpp-robust-interfaces/SKILL.md +0 -55
  470. package/.kilocode/skills/cpp-robust-interfaces/examples/interfaces.md +0 -56
  471. package/.kilocode/skills/create-hardened-docker-skill/SKILL.md +0 -637
  472. package/.kilocode/skills/create-hardened-docker-skill/scripts/create-all.sh +0 -489
  473. package/.kilocode/skills/docker-hardening-verification/SKILL.md +0 -28
  474. package/.kilocode/skills/docker-hardening-verification/scripts/verify-hardening.sh +0 -39
  475. package/.kilocode/skills/docker-image-signing/SKILL.md +0 -28
  476. package/.kilocode/skills/docker-image-signing/scripts/sign-image.sh +0 -33
  477. package/.kilocode/skills/document-revision-history/SKILL.md +0 -104
  478. package/.kilocode/skills/git-workflow-skill/SKILL.md +0 -194
  479. package/.kilocode/skills/git-workflow-skill/hooks/commit-msg +0 -61
  480. package/.kilocode/skills/git-workflow-skill/hooks/pre-commit +0 -38
  481. package/.kilocode/skills/git-workflow-skill/hooks/prepare-commit-msg +0 -56
  482. package/.kilocode/skills/git-workflow-skill/scripts/finish-feature.sh +0 -192
  483. package/.kilocode/skills/git-workflow-skill/scripts/install-hooks.sh +0 -55
  484. package/.kilocode/skills/git-workflow-skill/scripts/start-feature.sh +0 -110
  485. package/.kilocode/skills/git-workflow-skill/scripts/validate-workflow.sh +0 -229
  486. package/.kilocode/skills/js-ts-dependency-mgmt/SKILL.md +0 -49
  487. package/.kilocode/skills/js-ts-dependency-mgmt/examples/dependency_mgmt.md +0 -60
  488. package/.kilocode/skills/js-ts-security-skill/SKILL.md +0 -64
  489. package/.kilocode/skills/js-ts-security-skill/scripts/verify-security.sh +0 -136
  490. package/.kilocode/skills/logging-best-practices/SKILL.md +0 -50
  491. package/.kilocode/skills/logging-best-practices/examples/cpp.md +0 -36
  492. package/.kilocode/skills/logging-best-practices/examples/csharp.md +0 -49
  493. package/.kilocode/skills/logging-best-practices/examples/javascript.md +0 -77
  494. package/.kilocode/skills/logging-best-practices/examples/python.md +0 -57
  495. package/.kilocode/skills/logging-best-practices/references/logging-standards.md +0 -29
  496. package/.kilocode/skills/opentelemetry-best-practices/SKILL.md +0 -34
  497. package/.kilocode/skills/opentelemetry-best-practices/examples/go.md +0 -32
  498. package/.kilocode/skills/opentelemetry-best-practices/examples/javascript.md +0 -58
  499. package/.kilocode/skills/opentelemetry-best-practices/examples/python.md +0 -37
  500. package/.kilocode/skills/opentelemetry-best-practices/references/otel-standards.md +0 -37
  501. package/.kilocode/skills/python-dependency-mgmt/SKILL.md +0 -42
  502. package/.kilocode/skills/python-dependency-mgmt/examples/dependency_mgmt.md +0 -67
  503. package/.kilocode/skills/python-security-skill/SKILL.md +0 -56
  504. package/.kilocode/skills/python-security-skill/examples/security.md +0 -56
  505. package/.kilocode/skills/self-signed-cert/SKILL.md +0 -42
  506. package/.kilocode/skills/self-signed-cert/scripts/generate-cert.ps1 +0 -45
  507. package/.kilocode/skills/self-signed-cert/scripts/generate-cert.sh +0 -43
  508. package/.kilocode/skills/skill-creator/SKILL.md +0 -196
  509. package/.kilocode/skills/skill-creator/references/output-patterns.md +0 -82
  510. package/.kilocode/skills/skill-creator/references/workflows.md +0 -28
  511. package/.kilocode/skills/skill-creator/scripts/init_skill.py +0 -208
  512. package/.kilocode/skills/skill-creator/scripts/package_skill.py +0 -99
  513. package/.kilocode/skills/skill-creator/scripts/quick_validate.py +0 -113
  514. package/.kilocode/skills/test-accompanied-development/SKILL.md +0 -50
  515. package/.kilocode/skills/test-generator/SKILL.md +0 -65
  516. package/.kilocode/skills/vercel-react-best-practices/SKILL.md +0 -109
  517. package/.kilocode/skills/verify-hardened-docker-skill/SKILL.md +0 -442
  518. package/.kilocode/skills/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh +0 -439
  519. package/lib/bmad-cache/gds/src/agents/game-architect.agent.yaml +0 -44
  520. package/lib/bmad-cache/gds/src/agents/game-designer.agent.yaml +0 -45
  521. package/lib/bmad-cache/gds/src/agents/game-dev.agent.yaml +0 -49
  522. package/lib/bmad-cache/gds/src/agents/game-qa.agent.yaml +0 -63
  523. package/lib/bmad-cache/gds/src/agents/game-scrum-master.agent.yaml +0 -52
  524. package/lib/bmad-cache/gds/src/agents/game-solo-dev.agent.yaml +0 -53
  525. package/lib/bmad-cache/gds/src/agents/tech-writer/tech-writer.agent.yaml +0 -45
  526. package/lib/bmad-cache/gds/src/teams/default-party.csv +0 -12
  527. package/lib/bmad-cache/gds/src/teams/team-gamedev.yaml +0 -29
  528. package/lib/bmad-cache/gds/src/workflows/1-preproduction/brainstorm-game/bmad-skill-manifest.yaml +0 -3
  529. package/lib/bmad-cache/gds/src/workflows/1-preproduction/game-brief/bmad-skill-manifest.yaml +0 -3
  530. package/lib/bmad-cache/gds/src/workflows/2-design/gdd/bmad-skill-manifest.yaml +0 -3
  531. package/lib/bmad-cache/gds/src/workflows/2-design/narrative/bmad-skill-manifest.yaml +0 -3
  532. package/lib/bmad-cache/gds/src/workflows/3-technical/check-implementation-readiness/bmad-skill-manifest.yaml +0 -3
  533. package/lib/bmad-cache/gds/src/workflows/3-technical/create-epics-and-stories/bmad-skill-manifest.yaml +0 -3
  534. package/lib/bmad-cache/gds/src/workflows/3-technical/game-architecture/bmad-skill-manifest.yaml +0 -3
  535. package/lib/bmad-cache/gds/src/workflows/3-technical/generate-project-context/bmad-skill-manifest.yaml +0 -3
  536. package/lib/bmad-cache/gds/src/workflows/4-production/code-review/bmad-skill-manifest.yaml +0 -3
  537. package/lib/bmad-cache/gds/src/workflows/4-production/correct-course/bmad-skill-manifest.yaml +0 -3
  538. package/lib/bmad-cache/gds/src/workflows/4-production/retrospective/bmad-skill-manifest.yaml +0 -3
  539. package/lib/bmad-cache/gds/src/workflows/4-production/sprint-planning/bmad-skill-manifest.yaml +0 -3
  540. package/lib/bmad-cache/gds/src/workflows/4-production/sprint-status/bmad-skill-manifest.yaml +0 -3
  541. package/lib/bmad-cache/gds/src/workflows/document-project/bmad-skill-manifest.yaml +0 -3
  542. package/lib/bmad-cache/gds/src/workflows/gametest/automate/bmad-skill-manifest.yaml +0 -3
  543. package/lib/bmad-cache/gds/src/workflows/gametest/e2e-scaffold/bmad-skill-manifest.yaml +0 -3
  544. package/lib/bmad-cache/gds/src/workflows/gametest/performance/bmad-skill-manifest.yaml +0 -3
  545. package/lib/bmad-cache/gds/src/workflows/gametest/playtest-plan/bmad-skill-manifest.yaml +0 -3
  546. package/lib/bmad-cache/gds/src/workflows/gametest/test-design/bmad-skill-manifest.yaml +0 -3
  547. package/lib/bmad-cache/gds/src/workflows/gametest/test-framework/bmad-skill-manifest.yaml +0 -3
  548. package/lib/bmad-cache/gds/src/workflows/gametest/test-review/bmad-skill-manifest.yaml +0 -3
  549. package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/quick-spec/bmad-skill-manifest.yaml +0 -3
  550. package/lib/bmad-cache/tea/.github/CODE_OF_CONDUCT.md +0 -128
  551. package/lib/bmad-cache/tea/.github/FUNDING.yaml +0 -15
  552. package/lib/bmad-cache/tea/.github/ISSUE_TEMPLATE/config.yaml +0 -11
  553. package/lib/bmad-cache/tea/.github/ISSUE_TEMPLATE/feature_request.md +0 -70
  554. package/lib/bmad-cache/tea/.github/ISSUE_TEMPLATE/issue.md +0 -61
  555. package/lib/bmad-cache/tea/.github/workflows/docs.yaml +0 -66
  556. package/lib/bmad-cache/tea/.github/workflows/manual-release.yaml +0 -195
  557. package/lib/bmad-cache/tea/.github/workflows/quality.yaml +0 -114
  558. /package/lib/bmad-cache/gds/src/workflows/1-preproduction/{brainstorm-game → gds-brainstorm-game}/game-brain-methods.csv +0 -0
  559. /package/lib/bmad-cache/gds/src/workflows/2-design/{gdd → gds-create-gdd}/game-types.csv +0 -0
  560. /package/lib/bmad-cache/gds/src/workflows/3-technical/{game-architecture → gds-game-architecture}/architecture-patterns.yaml +0 -0
  561. /package/lib/bmad-cache/gds/src/workflows/3-technical/{game-architecture → gds-game-architecture}/decision-catalog.yaml +0 -0
  562. /package/lib/bmad-cache/gds/src/workflows/3-technical/{game-architecture → gds-game-architecture}/engine-mcps.yaml +0 -0
  563. /package/lib/bmad-cache/gds/src/workflows/3-technical/{game-architecture → gds-game-architecture}/pattern-categories.csv +0 -0
  564. /package/lib/bmad-cache/gds/src/workflows/4-production/{sprint-planning → gds-sprint-planning}/sprint-status-template.yaml +0 -0
  565. /package/lib/bmad-cache/gds/src/workflows/{document-project → gds-document-project}/documentation-requirements.csv +0 -0
  566. /package/lib/bmad-cache/gds/src/workflows/{document-project → gds-document-project}/templates/project-scan-report-schema.json +0 -0
@@ -1,489 +0,0 @@
1
- #!/bin/bash
2
- #
3
- # create-all.sh
4
- # Creates all hardened Docker configuration files
5
- #
6
-
7
- set -e
8
-
9
- # Colors for output
10
- GREEN='\033[0;32m'
11
- BLUE='\033[0;34m'
12
- YELLOW='\033[1;33m'
13
- NC='\033[0m' # No Color
14
-
15
- # Configuration
16
- APP_NAME="${1:-contacts-app}"
17
- NODE_VERSION="${2:-18.20.4-alpine3.20}"
18
- NGINX_VERSION="${3:-1.27.3-alpine3.20}"
19
-
20
- echo -e "${BLUE}🐳 Creating Hardened Docker Configuration${NC}"
21
- echo -e "${BLUE}==========================================${NC}"
22
- echo "Application: $APP_NAME"
23
- echo "Node version: $NODE_VERSION"
24
- echo "Nginx version: $NGINX_VERSION"
25
- echo ""
26
-
27
- # Check if files exist and warn
28
- check_file() {
29
- if [ -f "$1" ]; then
30
- echo -e "${YELLOW}⚠️ Warning: $1 already exists${NC}"
31
- read -p " Overwrite? (y/N): " -n 1 -r
32
- echo
33
- if [[ ! $REPLY =~ ^[Yy]$ ]]; then
34
- return 1
35
- fi
36
- fi
37
- return 0
38
- }
39
-
40
- # ============================================================================
41
- # Create Dockerfile
42
- # ============================================================================
43
- echo -e "${BLUE}Creating Dockerfile...${NC}"
44
-
45
- if check_file "Dockerfile"; then
46
- cat > Dockerfile << 'EOF'
47
- # syntax=docker/dockerfile:1
48
- # @fileoverview Multi-stage hardened Dockerfile for production deployment
49
- # @module Dockerfile
50
-
51
- # ============================================================================
52
- # Stage 1: Build
53
- # ============================================================================
54
- FROM node:NODE_VERSION AS builder
55
-
56
- # Security: Create non-root user for build stage
57
- RUN addgroup -g 1001 -S nodejs && adduser -S nodejs -u 1001
58
-
59
- # Set working directory
60
- WORKDIR /app
61
-
62
- # Copy package files with correct ownership
63
- COPY --chown=nodejs:nodejs package*.json ./
64
-
65
- # Install dependencies (production only)
66
- RUN npm ci --only=production && \
67
- npm cache clean --force
68
-
69
- # Copy source files
70
- COPY --chown=nodejs:nodejs . .
71
-
72
- # Build application
73
- RUN npm run build
74
-
75
- # ============================================================================
76
- # Stage 2: Production
77
- # ============================================================================
78
- FROM nginx:NGINX_VERSION
79
-
80
- # Security: Run as non-root user (nginx:alpine already has nginx user)
81
- RUN touch /var/run/nginx.pid && \
82
- # Create necessary directories with correct ownership
83
- mkdir -p /var/cache/nginx /var/log/nginx && \
84
- # Set ownership for nginx user
85
- chown -R nginx:nginx /var/cache/nginx /var/log/nginx /var/run/nginx.pid && \
86
- # Set correct permissions
87
- chmod -R 755 /var/cache/nginx /var/log/nginx && \
88
- # Remove default nginx files
89
- rm -rf /usr/share/nginx/html/* && \
90
- # Remove unnecessary packages (if any were added)
91
- apk del --purge apk-tools
92
-
93
- # Set working directory
94
- WORKDIR /usr/share/nginx/html
95
-
96
- # Copy build artifacts from builder stage with correct ownership
97
- COPY --from=builder --chown=nginx:nginx /app/build .
98
-
99
- # Copy nginx configuration
100
- COPY --chown=nginx:nginx nginx.conf /etc/nginx/nginx.conf
101
-
102
- # Security: Set read-only permissions for static files
103
- RUN find /usr/share/nginx/html -type f -exec chmod 444 {} \; && \
104
- find /usr/share/nginx/html -type d -exec chmod 555 {} \;
105
-
106
- # Expose ports (8080/8443 for non-root user)
107
- EXPOSE 8080 8443
108
-
109
- # Security: Switch to non-root user
110
- USER nginx
111
-
112
- # Health check
113
- HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
114
- CMD wget --quiet --tries=1 --spider http://localhost:8080/health || exit 1
115
-
116
- # Run nginx in foreground
117
- CMD ["nginx", "-g", "daemon off;"]
118
- EOF
119
-
120
- # Replace placeholders
121
- sed -i "s/NODE_VERSION/$NODE_VERSION/g" Dockerfile
122
- sed -i "s/NGINX_VERSION/$NGINX_VERSION/g" Dockerfile
123
-
124
- echo -e "${GREEN}✅ Created Dockerfile${NC}"
125
- fi
126
-
127
- # ============================================================================
128
- # Create docker-compose.yml
129
- # ============================================================================
130
- echo -e "${BLUE}Creating docker-compose.yml...${NC}"
131
-
132
- if check_file "docker-compose.yml"; then
133
- cat > docker-compose.yml << EOF
134
- version: '3.8'
135
-
136
- services:
137
- ${APP_NAME}:
138
- build:
139
- context: .
140
- dockerfile: Dockerfile
141
- container_name: ${APP_NAME}
142
-
143
- # Port mapping (host:container)
144
- ports:
145
- - "80:8080" # HTTP
146
- - "443:8443" # HTTPS
147
-
148
- # Environment variables
149
- environment:
150
- - NODE_ENV=production
151
-
152
- # Mount .env file as read-only
153
- env_file:
154
- - .env
155
-
156
- # Security: Read-only root filesystem
157
- read_only: true
158
-
159
- # Security: Tmpfs mounts for writable directories
160
- tmpfs:
161
- - /tmp
162
- - /var/cache/nginx
163
- - /var/run
164
-
165
- # Security: Drop all capabilities and add only required ones
166
- cap_drop:
167
- - ALL
168
- cap_add:
169
- - CHOWN
170
- - SETGID
171
- - SETUID
172
-
173
- # Security: Prevent privilege escalation
174
- security_opt:
175
- - no-new-privileges:true
176
-
177
- # Resource limits
178
- deploy:
179
- resources:
180
- limits:
181
- cpus: '1.0'
182
- memory: 512M
183
- reservations:
184
- cpus: '0.5'
185
- memory: 256M
186
-
187
- # Restart policy
188
- restart: unless-stopped
189
-
190
- # Health check
191
- healthcheck:
192
- test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:8080/health"]
193
- interval: 30s
194
- timeout: 10s
195
- retries: 3
196
- start_period: 40s
197
-
198
- # Network isolation
199
- networks:
200
- - ${APP_NAME}-network
201
-
202
- networks:
203
- ${APP_NAME}-network:
204
- driver: bridge
205
- EOF
206
-
207
- echo -e "${GREEN}✅ Created docker-compose.yml${NC}"
208
- fi
209
-
210
- # ============================================================================
211
- # Create nginx.conf
212
- # ============================================================================
213
- echo -e "${BLUE}Creating nginx.conf...${NC}"
214
-
215
- if check_file "nginx.conf"; then
216
- cat > nginx.conf << 'EOF'
217
- # @fileoverview Production nginx configuration with security hardening
218
- # @module nginx.conf
219
-
220
- worker_processes auto;
221
- error_log /var/log/nginx/error.log warn;
222
-
223
- events {
224
- worker_connections 1024;
225
- }
226
-
227
- http {
228
- include /etc/nginx/mime.types;
229
- default_type application/octet-stream;
230
-
231
- log_format main '$remote_addr - $remote_user [$time_local] "$request" '
232
- '$status $body_bytes_sent "$http_referer" '
233
- '"$http_user_agent" "$http_x_forwarded_for"';
234
-
235
- access_log /var/log/nginx/access.log main;
236
-
237
- sendfile on;
238
- tcp_nopush on;
239
- tcp_nodelay on;
240
- keepalive_timeout 65;
241
- types_hash_max_size 2048;
242
-
243
- # Security: Hide nginx version
244
- server_tokens off;
245
-
246
- # Gzip compression
247
- gzip on;
248
- gzip_disable "msie6";
249
- gzip_vary on;
250
- gzip_proxied any;
251
- gzip_comp_level 6;
252
- gzip_types text/plain text/css text/xml text/javascript
253
- application/json application/javascript application/xml+rss
254
- application/rss+xml font/truetype font/opentype
255
- application/vnd.ms-fontobject image/svg+xml;
256
- gzip_min_length 1000;
257
-
258
- # HTTP server - redirect to HTTPS (port 8080 for non-root)
259
- server {
260
- listen 8080;
261
- server_name _;
262
-
263
- # Allow health check on HTTP
264
- location /health {
265
- access_log off;
266
- return 200 "healthy\n";
267
- add_header Content-Type text/plain;
268
- }
269
-
270
- # Redirect all other traffic to HTTPS
271
- location / {
272
- return 301 https://$host$request_uri;
273
- }
274
- }
275
-
276
- # HTTPS server (port 8443 for non-root)
277
- server {
278
- listen 8443 ssl http2;
279
- server_name _;
280
-
281
- # SSL certificate paths (user must provide)
282
- # ssl_certificate /etc/nginx/ssl/cert.pem;
283
- # ssl_certificate_key /etc/nginx/ssl/key.pem;
284
-
285
- # SSL security settings
286
- ssl_protocols TLSv1.2 TLSv1.3;
287
- ssl_prefer_server_ciphers on;
288
- ssl_ciphers 'ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384';
289
-
290
- root /usr/share/nginx/html;
291
- index index.html;
292
-
293
- # Security headers
294
- add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; connect-src 'self' https://people.googleapis.com https://oauth2.googleapis.com; font-src 'self' data:;" always;
295
- add_header X-Content-Type-Options "nosniff" always;
296
- add_header X-Frame-Options "DENY" always;
297
- add_header X-XSS-Protection "1; mode=block" always;
298
- add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
299
-
300
- # SPA fallback routing
301
- location / {
302
- try_files $uri $uri/ /index.html;
303
- }
304
-
305
- # Cache static assets
306
- location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
307
- expires 1y;
308
- add_header Cache-Control "public, immutable";
309
- }
310
-
311
- # No caching for index.html
312
- location = /index.html {
313
- add_header Cache-Control "no-store, no-cache, must-revalidate";
314
- }
315
-
316
- # Health check endpoint
317
- location /health {
318
- access_log off;
319
- return 200 "healthy\n";
320
- add_header Content-Type text/plain;
321
- }
322
- }
323
- }
324
- EOF
325
-
326
- echo -e "${GREEN}✅ Created nginx.conf${NC}"
327
- fi
328
-
329
- # ============================================================================
330
- # Create .dockerignore
331
- # ============================================================================
332
- echo -e "${BLUE}Creating .dockerignore...${NC}"
333
-
334
- if check_file ".dockerignore"; then
335
- cat > .dockerignore << 'EOF'
336
- # Dependencies (will be installed via npm ci)
337
- node_modules/
338
- npm-debug.log*
339
- yarn.lock
340
- package-lock.json
341
-
342
- # Build outputs (will be generated in Docker build)
343
- build/
344
- dist/
345
- .cache/
346
-
347
- # Environment files (security - never bake into image)
348
- .env
349
- .env.local
350
- .env.*.local
351
-
352
- # Git (not needed in container)
353
- .git/
354
- .gitignore
355
- .gitattributes
356
-
357
- # Tests (not needed in production image)
358
- **/*.test.ts
359
- **/*.test.tsx
360
- **/*.test.js
361
- **/*.test.jsx
362
- **/__tests__/
363
- coverage/
364
- .nyc_output/
365
-
366
- # Documentation (not needed in container)
367
- *.md
368
- docs/
369
- CHANGELOG
370
- LICENSE
371
-
372
- # IDE files (not needed in container)
373
- .vscode/
374
- .idea/
375
- *.swp
376
- *.swo
377
- *.sublime-*
378
-
379
- # CI/CD (not needed in container)
380
- .github/
381
- .gitlab-ci.yml
382
- .travis.yml
383
- Jenkinsfile
384
-
385
- # Storybook (not needed in production)
386
- .storybook/
387
- storybook-static/
388
-
389
- # Misc
390
- .DS_Store
391
- Thumbs.db
392
- *.log
393
- tmp/
394
- temp/
395
-
396
- # Docker files (already in context)
397
- Dockerfile*
398
- docker-compose*.yml
399
- .dockerignore
400
-
401
- # Agent files (not needed in container)
402
- .agent/
403
- _bmad-output/
404
- EOF
405
-
406
- echo -e "${GREEN}✅ Created .dockerignore${NC}"
407
- fi
408
-
409
- # ============================================================================
410
- # Create .env.example (if doesn't exist)
411
- # ============================================================================
412
- echo -e "${BLUE}Creating .env.example (if not exists)...${NC}"
413
-
414
- if [ ! -f ".env.example" ]; then
415
- cat > .env.example << 'EOF'
416
- # Environment Configuration Template
417
- # Copy this file to .env and fill in your actual values
418
- # NEVER commit .env to git!
419
-
420
- # Google OAuth Configuration
421
- REACT_APP_GOOGLE_CLIENT_ID=<your-client-id-here>.apps.googleusercontent.com
422
-
423
- # API Configuration
424
- REACT_APP_API_BASE_URL=https://people.googleapis.com/v1
425
-
426
- # Application Environment
427
- NODE_ENV=production
428
- EOF
429
-
430
- echo -e "${GREEN}✅ Created .env.example${NC}"
431
- else
432
- echo -e "${YELLOW} .env.example already exists, skipping${NC}"
433
- fi
434
-
435
- # ============================================================================
436
- # Update .gitignore
437
- # ============================================================================
438
- echo -e "${BLUE}Updating .gitignore...${NC}"
439
-
440
- if [ -f ".gitignore" ]; then
441
- if ! grep -q "^\.env$" .gitignore; then
442
- echo "" >> .gitignore
443
- echo "# Environment variables (secrets)" >> .gitignore
444
- echo ".env" >> .gitignore
445
- echo -e "${GREEN}✅ Added .env to .gitignore${NC}"
446
- else
447
- echo -e "${YELLOW} .env already in .gitignore${NC}"
448
- fi
449
- else
450
- cat > .gitignore << 'EOF'
451
- # Environment variables (secrets)
452
- .env
453
-
454
- # Dependencies
455
- node_modules/
456
-
457
- # Build outputs
458
- build/
459
- dist/
460
-
461
- # Logs
462
- *.log
463
- EOF
464
- echo -e "${GREEN}✅ Created .gitignore${NC}"
465
- fi
466
-
467
- # ============================================================================
468
- # Summary
469
- # ============================================================================
470
- echo ""
471
- echo -e "${GREEN}✅ Hardened Docker configuration created successfully!${NC}"
472
- echo ""
473
- echo "Files created:"
474
- echo " - Dockerfile (multi-stage, non-root, hardened)"
475
- echo " - docker-compose.yml (security-hardened)"
476
- echo " - nginx.conf (production configuration)"
477
- echo " - .dockerignore (optimized build context)"
478
- echo " - .env.example (template)"
479
- echo ""
480
- echo "Next steps:"
481
- echo " 1. Copy .env.example to .env and fill in your credentials"
482
- echo " 2. Build the image: docker build -t ${APP_NAME} ."
483
- echo " 3. Scan for vulnerabilities: trivy image ${APP_NAME}"
484
- echo " 4. Start the container: docker-compose up -d"
485
- echo " 5. Verify security: docker exec ${APP_NAME} whoami (should show 'nginx')"
486
- echo ""
487
- echo "To verify hardening, run:"
488
- echo " ./.agent/develop/verify-hardened-docker-skill/scripts/verify-docker-hardening.sh ${APP_NAME}"
489
- echo ""
@@ -1,28 +0,0 @@
1
- ---
2
- name: Docker Hardening Verification
3
- description: Audits Docker images for security best practices, least privilege, and OpenShift compliance.
4
- ---
5
- # Docker Hardening Verification
6
-
7
- ## Purpose
8
- Audit Docker images to ensure they follow security best practices, specifically focusing on non-root execution and least privilege principles required for hardened clusters like OpenShift.
9
-
10
- ## Instructions
11
- 1. **Inspect Image**: Use `docker inspect` or `podman inspect` to check metadata.
12
- 2. **Verify User**:
13
- - Ensure `USER` is defined and is NOT `root` or `0`.
14
- - Recommended: Use a high-numbered UID (e.g., `1001`).
15
- 3. **Check Permissions**:
16
- - Ensure sensitive directories are not world-writable.
17
- - Check for `setuid`/`setgid` bits on binaries.
18
- 4. **OpenShift Compliance**:
19
- - Verify that the image doesn't require specific UIDs if it's meant to run with an arbitrary assigned UID (OpenShift's default).
20
- - Check if the `/etc/passwd` entry handles arbitrary UIDs (e.g., by using `nss_wrapper` or similar).
21
-
22
- ## Rules
23
- - Fail the audit if `USER root` is detected.
24
- - Flag a warning if many unnecessary packages/tools are present.
25
- - Ensure only necessary ports are exposed.
26
-
27
- ## Usage
28
- Run `scripts/verify-hardening.sh <image_name>`
@@ -1,39 +0,0 @@
1
- #!/bin/bash
2
- # verify-hardening.sh - Part of ma-agents docker-hardening-verification skill
3
-
4
- IMAGE=$1
5
-
6
- if [ -z "$IMAGE" ]; then
7
- echo "Usage: $0 <image_name>"
8
- exit 1
9
- fi
10
-
11
- echo "Auditing image: $IMAGE"
12
-
13
- # 1. Check User
14
- USER_VAL=$(docker inspect --format='{{.Config.User}}' "$IMAGE")
15
-
16
- if [ -z "$USER_VAL" ] || [ "$USER_VAL" == "root" ] || [ "$USER_VAL" == "0" ]; then
17
- echo "[FAIL] Image runs as root! Definining a non-root USER is mandatory for hardened clusters."
18
- else
19
- echo "[PASS] Image runs as user: $USER_VAL"
20
- fi
21
-
22
- # 2. Check for sensitive capabilities (simplified check)
23
- CAPS=$(docker inspect --format='{{.Config.CapAdd}}' "$IMAGE")
24
- if [ "$CAPS" != "<nil>" ] && [ -n "$CAPS" ]; then
25
- echo "[WARNING] Image has explicitly added capabilities: $CAPS"
26
- fi
27
-
28
- # 3. Check for exposed ports
29
- PORTS=$(docker inspect --format='{{range $p, $conf := .Config.ExposedPorts}}{{$p}} {{end}}' "$IMAGE")
30
- echo "[INFO] Exposed ports: ${PORTS:-none}"
31
-
32
- # 4. OpenShift specific check (arbitrary UID support)
33
- # This is a heuristic check looking for common entrypoint patterns
34
- ENTRYPOINT=$(docker inspect --format='{{.Config.Entrypoint}}' "$IMAGE")
35
- if [[ "$ENTRYPOINT" == *"bash"* ]]; then
36
- echo "[INFO] Entrypoint uses bash, manual check for UID mapping recommended."
37
- fi
38
-
39
- echo "Summary: Audit complete for $IMAGE"
@@ -1,28 +0,0 @@
1
- ---
2
- name: Docker Image Signing
3
- description: Automates the signing of Docker images using certificates and Cosign/Notary.
4
- ---
5
- # Docker Image Signing
6
-
7
- ## Purpose
8
- Ensure the integrity and authenticity of Docker images by signing them with a cryptographic key/certificate. This prevents unauthorized image substitution and ensures only trusted images are deployed.
9
-
10
- ## Instructions
11
- 1. **Tool Selection**: Use `cosign` (recommended) or `notary`.
12
- 2. **Environment Check**: Verify that the signing tool and Docker/Podman are installed.
13
- 3. **Signing Process**:
14
- - Load the provided certificate/key.
15
- - Run the signing command against the target image (using its SHA256 digest for immutability).
16
- 4. **Verification**: Always run a verification check immediately after signing.
17
-
18
- ## Rules
19
- - NEVER sign images by tag alone; use the immutable digest (e.g., `image@sha256:...`).
20
- - Private keys must be handled as secrets and never stored in the clear.
21
- - Ensure the certificate provided is valid and not expired.
22
-
23
- ## Usage
24
- Run the provided script in `scripts/sign-image.sh` with:
25
- - `IMAGE`: The image reference with digest.
26
- - `CERT`: Path to the certificate file.
27
- - `KEY`: Path to the private key file.
28
- - `PASSPHRASE`: (Optional) Key passphrase.
@@ -1,33 +0,0 @@
1
- #!/bin/bash
2
- # sign-image.sh - Part of ma-agents docker-image-signing skill
3
-
4
- IMAGE=$1
5
- CERT=$2
6
- KEY=$3
7
- PASSPHRASE=$4
8
-
9
- if [ -z "$IMAGE" ] || [ -z "$CERT" ] || [ -z "$KEY" ]; then
10
- echo "Usage: $0 <image_digest> <cert_file> <key_file> [passphrase]"
11
- exit 1
12
- fi
13
-
14
- echo "Signing image: $IMAGE"
15
-
16
- # Check for cosign
17
- if command -v cosign &> /dev/null; then
18
- echo "Using Cosign for signing..."
19
- if [ -n "$PASSPHRASE" ]; then
20
- export COSIGN_PASSWORD=$PASSPHRASE
21
- fi
22
- cosign sign --key "$KEY" --cert "$CERT" "$IMAGE"
23
- else
24
- echo "Error: cosign not found. Please install cosign to use this skill."
25
- exit 1
26
- fi
27
-
28
- if [ $? -eq 0 ]; then
29
- echo "Successfully signed $IMAGE"
30
- else
31
- echo "Failed to sign $IMAGE"
32
- exit 1
33
- fi