ma-agents 3.18.0-beta.2 → 3.18.0

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 (168) hide show
  1. package/README.md +2 -2
  2. package/bin/cli.js +29 -32
  3. package/docs/architecture.md +2 -2
  4. package/lib/bmad-cache/cache-manifest.json +0 -12
  5. package/lib/bmad-extension-plugin/.claude-plugin/marketplace.json +1 -1
  6. package/lib/bmad.js +33 -34
  7. package/package.json +1 -1
  8. package/scripts/build-bmad-cache.js +18 -9
  9. package/lib/bmad-cache/gds/.claude-plugin/marketplace.json +0 -56
  10. package/lib/bmad-cache/gds/.markdownlint-cli2.yaml +0 -35
  11. package/lib/bmad-cache/gds/.nvmrc +0 -1
  12. package/lib/bmad-cache/gds/.prettierignore +0 -9
  13. package/lib/bmad-cache/gds/CNAME +0 -1
  14. package/lib/bmad-cache/gds/LICENSE +0 -26
  15. package/lib/bmad-cache/gds/README.md +0 -134
  16. package/lib/bmad-cache/gds/_git_preserved/HEAD +0 -1
  17. package/lib/bmad-cache/gds/_git_preserved/config +0 -13
  18. package/lib/bmad-cache/gds/_git_preserved/description +0 -1
  19. package/lib/bmad-cache/gds/_git_preserved/hooks/applypatch-msg.sample +0 -15
  20. package/lib/bmad-cache/gds/_git_preserved/hooks/commit-msg.sample +0 -74
  21. package/lib/bmad-cache/gds/_git_preserved/hooks/fsmonitor-watchman.sample +0 -168
  22. package/lib/bmad-cache/gds/_git_preserved/hooks/post-update.sample +0 -8
  23. package/lib/bmad-cache/gds/_git_preserved/hooks/pre-applypatch.sample +0 -14
  24. package/lib/bmad-cache/gds/_git_preserved/hooks/pre-commit.sample +0 -49
  25. package/lib/bmad-cache/gds/_git_preserved/hooks/pre-merge-commit.sample +0 -13
  26. package/lib/bmad-cache/gds/_git_preserved/hooks/pre-push.sample +0 -53
  27. package/lib/bmad-cache/gds/_git_preserved/hooks/pre-rebase.sample +0 -169
  28. package/lib/bmad-cache/gds/_git_preserved/hooks/pre-receive.sample +0 -24
  29. package/lib/bmad-cache/gds/_git_preserved/hooks/prepare-commit-msg.sample +0 -42
  30. package/lib/bmad-cache/gds/_git_preserved/hooks/push-to-checkout.sample +0 -78
  31. package/lib/bmad-cache/gds/_git_preserved/hooks/sendemail-validate.sample +0 -77
  32. package/lib/bmad-cache/gds/_git_preserved/hooks/update.sample +0 -128
  33. package/lib/bmad-cache/gds/_git_preserved/index +0 -0
  34. package/lib/bmad-cache/gds/_git_preserved/info/exclude +0 -6
  35. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-dcb7c556d9bb6b6b70d2301e094eaac6d7300552.idx +0 -0
  36. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-dcb7c556d9bb6b6b70d2301e094eaac6d7300552.pack +0 -0
  37. package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-dcb7c556d9bb6b6b70d2301e094eaac6d7300552.rev +0 -0
  38. package/lib/bmad-cache/gds/_git_preserved/packed-refs +0 -2
  39. package/lib/bmad-cache/gds/_git_preserved/refs/heads/main +0 -1
  40. package/lib/bmad-cache/gds/_git_preserved/shallow +0 -1
  41. package/lib/bmad-cache/gds/eslint.config.mjs +0 -141
  42. package/lib/bmad-cache/gds/package.json +0 -91
  43. package/lib/bmad-cache/gds/prettier.config.mjs +0 -32
  44. package/lib/bmad-cache/gds/src/agents/gds-agent-game-architect/customize.toml +0 -57
  45. package/lib/bmad-cache/gds/src/agents/gds-agent-game-designer/customize.toml +0 -59
  46. package/lib/bmad-cache/gds/src/agents/gds-agent-game-dev/customize.toml +0 -129
  47. package/lib/bmad-cache/gds/src/agents/gds-agent-game-dev/gametest/qa-index.csv +0 -18
  48. package/lib/bmad-cache/gds/src/agents/gds-agent-game-solo-dev/customize.toml +0 -55
  49. package/lib/bmad-cache/gds/src/agents/gds-agent-tech-writer/customize.toml +0 -65
  50. package/lib/bmad-cache/gds/src/module-help.csv +0 -30
  51. package/lib/bmad-cache/gds/src/module.yaml +0 -113
  52. package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-brainstorm-game/customize.toml +0 -41
  53. package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-brainstorm-game/game-brain-methods.csv +0 -26
  54. package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-create-game-brief/customize.toml +0 -116
  55. package/lib/bmad-cache/gds/src/workflows/1-preproduction/research/gds-domain-research/customize.toml +0 -41
  56. package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-narrative/customize.toml +0 -41
  57. package/lib/bmad-cache/gds/src/workflows/2-design/gds-gdd/assets/game-types.csv +0 -25
  58. package/lib/bmad-cache/gds/src/workflows/2-design/gds-gdd/assets/genre-complexity.csv +0 -26
  59. package/lib/bmad-cache/gds/src/workflows/2-design/gds-gdd/assets/validation-report-template.html +0 -190
  60. package/lib/bmad-cache/gds/src/workflows/2-design/gds-gdd/customize.toml +0 -99
  61. package/lib/bmad-cache/gds/src/workflows/2-design/gds-gdd/scripts/render-validation-html.py +0 -290
  62. package/lib/bmad-cache/gds/src/workflows/2-design/gds-prd/assets/validation-report-template.html +0 -190
  63. package/lib/bmad-cache/gds/src/workflows/2-design/gds-prd/customize.toml +0 -84
  64. package/lib/bmad-cache/gds/src/workflows/2-design/gds-ux/assets/validation-report-template.html +0 -319
  65. package/lib/bmad-cache/gds/src/workflows/2-design/gds-ux/customize.toml +0 -101
  66. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-check-implementation-readiness/customize.toml +0 -41
  67. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-create-epics-and-stories/customize.toml +0 -41
  68. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/architecture-patterns.yaml +0 -508
  69. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/customize.toml +0 -41
  70. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/decision-catalog.yaml +0 -428
  71. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/engine-mcps.yaml +0 -392
  72. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/pattern-categories.csv +0 -13
  73. package/lib/bmad-cache/gds/src/workflows/3-technical/gds-generate-project-context/customize.toml +0 -41
  74. package/lib/bmad-cache/gds/src/workflows/4-production/gds-code-review/customize.toml +0 -41
  75. package/lib/bmad-cache/gds/src/workflows/4-production/gds-correct-course/customize.toml +0 -41
  76. package/lib/bmad-cache/gds/src/workflows/4-production/gds-create-story/customize.toml +0 -41
  77. package/lib/bmad-cache/gds/src/workflows/4-production/gds-dev-story/customize.toml +0 -41
  78. package/lib/bmad-cache/gds/src/workflows/4-production/gds-investigate/customize.toml +0 -62
  79. package/lib/bmad-cache/gds/src/workflows/4-production/gds-retrospective/customize.toml +0 -41
  80. package/lib/bmad-cache/gds/src/workflows/4-production/gds-sprint-planning/customize.toml +0 -41
  81. package/lib/bmad-cache/gds/src/workflows/4-production/gds-sprint-planning/sprint-status-template.yaml +0 -55
  82. package/lib/bmad-cache/gds/src/workflows/4-production/gds-sprint-status/customize.toml +0 -41
  83. package/lib/bmad-cache/gds/src/workflows/gametest/gds-e2e-scaffold/customize.toml +0 -41
  84. package/lib/bmad-cache/gds/src/workflows/gametest/gds-performance-test/customize.toml +0 -41
  85. package/lib/bmad-cache/gds/src/workflows/gametest/gds-playtest-plan/customize.toml +0 -41
  86. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-automate/customize.toml +0 -41
  87. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-design/customize.toml +0 -41
  88. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-framework/customize.toml +0 -41
  89. package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-review/customize.toml +0 -41
  90. package/lib/bmad-cache/gds/src/workflows/gds-document-project/customize.toml +0 -41
  91. package/lib/bmad-cache/gds/src/workflows/gds-document-project/documentation-requirements.csv +0 -12
  92. package/lib/bmad-cache/gds/src/workflows/gds-document-project/templates/project-scan-report-schema.json +0 -160
  93. package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-dev/customize.toml +0 -41
  94. package/lib/bmad-cache/gds/tools/build-docs.mjs +0 -450
  95. package/lib/bmad-cache/gds/website/astro.config.mjs +0 -142
  96. package/lib/bmad-cache/gds/website/public/favicon.ico +0 -0
  97. package/lib/bmad-cache/gds/website/public/img/bmad-dark.png +0 -0
  98. package/lib/bmad-cache/gds/website/public/img/bmad-light.png +0 -0
  99. package/lib/bmad-cache/gds/website/src/components/Banner.astro +0 -71
  100. package/lib/bmad-cache/gds/website/src/components/Header.astro +0 -94
  101. package/lib/bmad-cache/gds/website/src/components/MobileMenuFooter.astro +0 -33
  102. package/lib/bmad-cache/gds/website/src/content/config.ts +0 -6
  103. package/lib/bmad-cache/gds/website/src/content/docs +0 -1
  104. package/lib/bmad-cache/gds/website/src/lib/site-url.mjs +0 -25
  105. package/lib/bmad-cache/gds/website/src/rehype-base-paths.js +0 -88
  106. package/lib/bmad-cache/gds/website/src/rehype-markdown-links.js +0 -117
  107. package/lib/bmad-cache/gds/website/src/styles/custom.css +0 -503
  108. package/lib/bmad-cache/wds/.claude-plugin/marketplace.json +0 -35
  109. package/lib/bmad-cache/wds/.markdownlint-cli2.yaml +0 -38
  110. package/lib/bmad-cache/wds/.nvmrc +0 -1
  111. package/lib/bmad-cache/wds/.prettierignore +0 -9
  112. package/lib/bmad-cache/wds/LICENSE +0 -27
  113. package/lib/bmad-cache/wds/README.md +0 -139
  114. package/lib/bmad-cache/wds/_git_preserved/HEAD +0 -1
  115. package/lib/bmad-cache/wds/_git_preserved/config +0 -13
  116. package/lib/bmad-cache/wds/_git_preserved/description +0 -1
  117. package/lib/bmad-cache/wds/_git_preserved/hooks/applypatch-msg.sample +0 -15
  118. package/lib/bmad-cache/wds/_git_preserved/hooks/commit-msg.sample +0 -74
  119. package/lib/bmad-cache/wds/_git_preserved/hooks/fsmonitor-watchman.sample +0 -168
  120. package/lib/bmad-cache/wds/_git_preserved/hooks/post-update.sample +0 -8
  121. package/lib/bmad-cache/wds/_git_preserved/hooks/pre-applypatch.sample +0 -14
  122. package/lib/bmad-cache/wds/_git_preserved/hooks/pre-commit.sample +0 -49
  123. package/lib/bmad-cache/wds/_git_preserved/hooks/pre-merge-commit.sample +0 -13
  124. package/lib/bmad-cache/wds/_git_preserved/hooks/pre-push.sample +0 -53
  125. package/lib/bmad-cache/wds/_git_preserved/hooks/pre-rebase.sample +0 -169
  126. package/lib/bmad-cache/wds/_git_preserved/hooks/pre-receive.sample +0 -24
  127. package/lib/bmad-cache/wds/_git_preserved/hooks/prepare-commit-msg.sample +0 -42
  128. package/lib/bmad-cache/wds/_git_preserved/hooks/push-to-checkout.sample +0 -78
  129. package/lib/bmad-cache/wds/_git_preserved/hooks/sendemail-validate.sample +0 -77
  130. package/lib/bmad-cache/wds/_git_preserved/hooks/update.sample +0 -128
  131. package/lib/bmad-cache/wds/_git_preserved/index +0 -0
  132. package/lib/bmad-cache/wds/_git_preserved/info/exclude +0 -6
  133. package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-656c3d8d5426e73043b6a7f45eedaab74e3c419e.idx +0 -0
  134. package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-656c3d8d5426e73043b6a7f45eedaab74e3c419e.pack +0 -0
  135. package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-656c3d8d5426e73043b6a7f45eedaab74e3c419e.rev +0 -0
  136. package/lib/bmad-cache/wds/_git_preserved/packed-refs +0 -2
  137. package/lib/bmad-cache/wds/_git_preserved/refs/heads/main +0 -1
  138. package/lib/bmad-cache/wds/_git_preserved/refs/tags/v0.4.3 +0 -1
  139. package/lib/bmad-cache/wds/_git_preserved/shallow +0 -1
  140. package/lib/bmad-cache/wds/eslint.config.mjs +0 -152
  141. package/lib/bmad-cache/wds/package.json +0 -82
  142. package/lib/bmad-cache/wds/prettier.config.mjs +0 -32
  143. package/lib/bmad-cache/wds/src/agents/wds-agent-freya-ux/customize.toml +0 -80
  144. package/lib/bmad-cache/wds/src/agents/wds-agent-mimir-builder/customize.toml +0 -52
  145. package/lib/bmad-cache/wds/src/agents/wds-agent-saga-analyst/customize.toml +0 -70
  146. package/lib/bmad-cache/wds/src/module-help.csv +0 -19
  147. package/lib/bmad-cache/wds/src/module.yaml +0 -173
  148. package/lib/bmad-cache/wds/src/scripts/README.md +0 -155
  149. package/lib/bmad-cache/wds/src/scripts/wds-add-object.js +0 -202
  150. package/lib/bmad-cache/wds/src/scripts/wds-add-spacing.js +0 -158
  151. package/lib/bmad-cache/wds/src/scripts/wds-init-page.js +0 -229
  152. package/lib/bmad-cache/wds/src/scripts/wds-init-scenario.js +0 -120
  153. package/lib/bmad-cache/wds/src/scripts/wds-nav.js +0 -201
  154. package/lib/bmad-cache/wds/src/scripts/wds-validate.js +0 -301
  155. package/lib/bmad-cache/wds/src/workflows/wds-0-project-setup/resources/wds-1-project-brief/templates/platform-requirements.template.yaml +0 -69
  156. package/lib/bmad-cache/wds/src/workflows/wds-0-project-setup/resources/wds-7-design-system/templates/catalog.template.html +0 -363
  157. package/lib/bmad-cache/wds/src/workflows/wds-1-project-brief/templates/platform-requirements.template.yaml +0 -69
  158. package/lib/bmad-cache/wds/src/workflows/wds-3-scenarios/workflow.xml +0 -450
  159. package/lib/bmad-cache/wds/src/workflows/wds-4-ux-design/templates/design-delivery.template.yaml +0 -104
  160. package/lib/bmad-cache/wds/src/workflows/wds-4-ux-design/templates/test-scenario.template.yaml +0 -192
  161. package/lib/bmad-cache/wds/src/workflows/wds-4-ux-design/workflow-specify.xml +0 -387
  162. package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/components/dev-mode.css +0 -164
  163. package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/components/dev-mode.html +0 -18
  164. package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/components/dev-mode.js +0 -430
  165. package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/demo-data-template.json +0 -63
  166. package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/page-template.html +0 -465
  167. package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/work-file-template.yaml +0 -264
  168. package/lib/bmad-cache/wds/src/workflows/wds-7-design-system/templates/catalog.template.html +0 -363
@@ -1,78 +0,0 @@
1
- #!/bin/sh
2
-
3
- # An example hook script to update a checked-out tree on a git push.
4
- #
5
- # This hook is invoked by git-receive-pack(1) when it reacts to git
6
- # push and updates reference(s) in its repository, and when the push
7
- # tries to update the branch that is currently checked out and the
8
- # receive.denyCurrentBranch configuration variable is set to
9
- # updateInstead.
10
- #
11
- # By default, such a push is refused if the working tree and the index
12
- # of the remote repository has any difference from the currently
13
- # checked out commit; when both the working tree and the index match
14
- # the current commit, they are updated to match the newly pushed tip
15
- # of the branch. This hook is to be used to override the default
16
- # behaviour; however the code below reimplements the default behaviour
17
- # as a starting point for convenient modification.
18
- #
19
- # The hook receives the commit with which the tip of the current
20
- # branch is going to be updated:
21
- commit=$1
22
-
23
- # It can exit with a non-zero status to refuse the push (when it does
24
- # so, it must not modify the index or the working tree).
25
- die () {
26
- echo >&2 "$*"
27
- exit 1
28
- }
29
-
30
- # Or it can make any necessary changes to the working tree and to the
31
- # index to bring them to the desired state when the tip of the current
32
- # branch is updated to the new commit, and exit with a zero status.
33
- #
34
- # For example, the hook can simply run git read-tree -u -m HEAD "$1"
35
- # in order to emulate git fetch that is run in the reverse direction
36
- # with git push, as the two-tree form of git read-tree -u -m is
37
- # essentially the same as git switch or git checkout that switches
38
- # branches while keeping the local changes in the working tree that do
39
- # not interfere with the difference between the branches.
40
-
41
- # The below is a more-or-less exact translation to shell of the C code
42
- # for the default behaviour for git's push-to-checkout hook defined in
43
- # the push_to_deploy() function in builtin/receive-pack.c.
44
- #
45
- # Note that the hook will be executed from the repository directory,
46
- # not from the working tree, so if you want to perform operations on
47
- # the working tree, you will have to adapt your code accordingly, e.g.
48
- # by adding "cd .." or using relative paths.
49
-
50
- if ! git update-index -q --ignore-submodules --refresh
51
- then
52
- die "Up-to-date check failed"
53
- fi
54
-
55
- if ! git diff-files --quiet --ignore-submodules --
56
- then
57
- die "Working directory has unstaged changes"
58
- fi
59
-
60
- # This is a rough translation of:
61
- #
62
- # head_has_history() ? "HEAD" : EMPTY_TREE_SHA1_HEX
63
- if git cat-file -e HEAD 2>/dev/null
64
- then
65
- head=HEAD
66
- else
67
- head=$(git hash-object -t tree --stdin </dev/null)
68
- fi
69
-
70
- if ! git diff-index --quiet --cached --ignore-submodules $head --
71
- then
72
- die "Working directory has staged changes"
73
- fi
74
-
75
- if ! git read-tree -u -m "$commit"
76
- then
77
- die "Could not update working tree to new HEAD"
78
- fi
@@ -1,77 +0,0 @@
1
- #!/bin/sh
2
-
3
- # An example hook script to validate a patch (and/or patch series) before
4
- # sending it via email.
5
- #
6
- # The hook should exit with non-zero status after issuing an appropriate
7
- # message if it wants to prevent the email(s) from being sent.
8
- #
9
- # To enable this hook, rename this file to "sendemail-validate".
10
- #
11
- # By default, it will only check that the patch(es) can be applied on top of
12
- # the default upstream branch without conflicts in a secondary worktree. After
13
- # validation (successful or not) of the last patch of a series, the worktree
14
- # will be deleted.
15
- #
16
- # The following config variables can be set to change the default remote and
17
- # remote ref that are used to apply the patches against:
18
- #
19
- # sendemail.validateRemote (default: origin)
20
- # sendemail.validateRemoteRef (default: HEAD)
21
- #
22
- # Replace the TODO placeholders with appropriate checks according to your
23
- # needs.
24
-
25
- validate_cover_letter () {
26
- file="$1"
27
- # TODO: Replace with appropriate checks (e.g. spell checking).
28
- true
29
- }
30
-
31
- validate_patch () {
32
- file="$1"
33
- # Ensure that the patch applies without conflicts.
34
- git am -3 "$file" || return
35
- # TODO: Replace with appropriate checks for this patch
36
- # (e.g. checkpatch.pl).
37
- true
38
- }
39
-
40
- validate_series () {
41
- # TODO: Replace with appropriate checks for the whole series
42
- # (e.g. quick build, coding style checks, etc.).
43
- true
44
- }
45
-
46
- # main -------------------------------------------------------------------------
47
-
48
- if test "$GIT_SENDEMAIL_FILE_COUNTER" = 1
49
- then
50
- remote=$(git config --default origin --get sendemail.validateRemote) &&
51
- ref=$(git config --default HEAD --get sendemail.validateRemoteRef) &&
52
- worktree=$(mktemp --tmpdir -d sendemail-validate.XXXXXXX) &&
53
- git worktree add -fd --checkout "$worktree" "refs/remotes/$remote/$ref" &&
54
- git config --replace-all sendemail.validateWorktree "$worktree"
55
- else
56
- worktree=$(git config --get sendemail.validateWorktree)
57
- fi || {
58
- echo "sendemail-validate: error: failed to prepare worktree" >&2
59
- exit 1
60
- }
61
-
62
- unset GIT_DIR GIT_WORK_TREE
63
- cd "$worktree" &&
64
-
65
- if grep -q "^diff --git " "$1"
66
- then
67
- validate_patch "$1"
68
- else
69
- validate_cover_letter "$1"
70
- fi &&
71
-
72
- if test "$GIT_SENDEMAIL_FILE_COUNTER" = "$GIT_SENDEMAIL_FILE_TOTAL"
73
- then
74
- git config --unset-all sendemail.validateWorktree &&
75
- trap 'git worktree remove -ff "$worktree"' EXIT &&
76
- validate_series
77
- fi
@@ -1,128 +0,0 @@
1
- #!/bin/sh
2
- #
3
- # An example hook script to block unannotated tags from entering.
4
- # Called by "git receive-pack" with arguments: refname sha1-old sha1-new
5
- #
6
- # To enable this hook, rename this file to "update".
7
- #
8
- # Config
9
- # ------
10
- # hooks.allowunannotated
11
- # This boolean sets whether unannotated tags will be allowed into the
12
- # repository. By default they won't be.
13
- # hooks.allowdeletetag
14
- # This boolean sets whether deleting tags will be allowed in the
15
- # repository. By default they won't be.
16
- # hooks.allowmodifytag
17
- # This boolean sets whether a tag may be modified after creation. By default
18
- # it won't be.
19
- # hooks.allowdeletebranch
20
- # This boolean sets whether deleting branches will be allowed in the
21
- # repository. By default they won't be.
22
- # hooks.denycreatebranch
23
- # This boolean sets whether remotely creating branches will be denied
24
- # in the repository. By default this is allowed.
25
- #
26
-
27
- # --- Command line
28
- refname="$1"
29
- oldrev="$2"
30
- newrev="$3"
31
-
32
- # --- Safety check
33
- if [ -z "$GIT_DIR" ]; then
34
- echo "Don't run this script from the command line." >&2
35
- echo " (if you want, you could supply GIT_DIR then run" >&2
36
- echo " $0 <ref> <oldrev> <newrev>)" >&2
37
- exit 1
38
- fi
39
-
40
- if [ -z "$refname" -o -z "$oldrev" -o -z "$newrev" ]; then
41
- echo "usage: $0 <ref> <oldrev> <newrev>" >&2
42
- exit 1
43
- fi
44
-
45
- # --- Config
46
- allowunannotated=$(git config --type=bool hooks.allowunannotated)
47
- allowdeletebranch=$(git config --type=bool hooks.allowdeletebranch)
48
- denycreatebranch=$(git config --type=bool hooks.denycreatebranch)
49
- allowdeletetag=$(git config --type=bool hooks.allowdeletetag)
50
- allowmodifytag=$(git config --type=bool hooks.allowmodifytag)
51
-
52
- # check for no description
53
- projectdesc=$(sed -e '1q' "$GIT_DIR/description")
54
- case "$projectdesc" in
55
- "Unnamed repository"* | "")
56
- echo "*** Project description file hasn't been set" >&2
57
- exit 1
58
- ;;
59
- esac
60
-
61
- # --- Check types
62
- # if $newrev is 0000...0000, it's a commit to delete a ref.
63
- zero=$(git hash-object --stdin </dev/null | tr '[0-9a-f]' '0')
64
- if [ "$newrev" = "$zero" ]; then
65
- newrev_type=delete
66
- else
67
- newrev_type=$(git cat-file -t $newrev)
68
- fi
69
-
70
- case "$refname","$newrev_type" in
71
- refs/tags/*,commit)
72
- # un-annotated tag
73
- short_refname=${refname##refs/tags/}
74
- if [ "$allowunannotated" != "true" ]; then
75
- echo "*** The un-annotated tag, $short_refname, is not allowed in this repository" >&2
76
- echo "*** Use 'git tag [ -a | -s ]' for tags you want to propagate." >&2
77
- exit 1
78
- fi
79
- ;;
80
- refs/tags/*,delete)
81
- # delete tag
82
- if [ "$allowdeletetag" != "true" ]; then
83
- echo "*** Deleting a tag is not allowed in this repository" >&2
84
- exit 1
85
- fi
86
- ;;
87
- refs/tags/*,tag)
88
- # annotated tag
89
- if [ "$allowmodifytag" != "true" ] && git rev-parse $refname > /dev/null 2>&1
90
- then
91
- echo "*** Tag '$refname' already exists." >&2
92
- echo "*** Modifying a tag is not allowed in this repository." >&2
93
- exit 1
94
- fi
95
- ;;
96
- refs/heads/*,commit)
97
- # branch
98
- if [ "$oldrev" = "$zero" -a "$denycreatebranch" = "true" ]; then
99
- echo "*** Creating a branch is not allowed in this repository" >&2
100
- exit 1
101
- fi
102
- ;;
103
- refs/heads/*,delete)
104
- # delete branch
105
- if [ "$allowdeletebranch" != "true" ]; then
106
- echo "*** Deleting a branch is not allowed in this repository" >&2
107
- exit 1
108
- fi
109
- ;;
110
- refs/remotes/*,commit)
111
- # tracking branch
112
- ;;
113
- refs/remotes/*,delete)
114
- # delete tracking branch
115
- if [ "$allowdeletebranch" != "true" ]; then
116
- echo "*** Deleting a tracking branch is not allowed in this repository" >&2
117
- exit 1
118
- fi
119
- ;;
120
- *)
121
- # Anything else (is there anything else?)
122
- echo "*** Update hook: unknown type of update to ref $refname of type $newrev_type" >&2
123
- exit 1
124
- ;;
125
- esac
126
-
127
- # --- Finished
128
- exit 0
@@ -1,6 +0,0 @@
1
- # git ls-files --others --exclude-from=.git/info/exclude
2
- # Lines that start with '#' are comments.
3
- # For a project mostly in C, the following would be a good set of
4
- # exclude patterns (uncomment them if you want to use them):
5
- # *.[oa]
6
- # *~
@@ -1,2 +0,0 @@
1
- # pack-refs with: peeled fully-peeled sorted
2
- 46c3a6cddf882af1f918187d6e5748c1edfd9c52 refs/remotes/origin/main
@@ -1 +0,0 @@
1
- 46c3a6cddf882af1f918187d6e5748c1edfd9c52
@@ -1 +0,0 @@
1
- 46c3a6cddf882af1f918187d6e5748c1edfd9c52
@@ -1,141 +0,0 @@
1
- import js from '@eslint/js';
2
- import eslintConfigPrettier from 'eslint-config-prettier/flat';
3
- import nodePlugin from 'eslint-plugin-n';
4
- import unicorn from 'eslint-plugin-unicorn';
5
- import yml from 'eslint-plugin-yml';
6
-
7
- export default [
8
- // Global ignores for files/folders that should not be linted
9
- {
10
- ignores: [
11
- 'dist/**',
12
- 'coverage/**',
13
- '**/*.min.js',
14
- 'test/template-test-generator/**',
15
- 'test/template-test-generator/**/*.js',
16
- 'test/template-test-generator/**/*.md',
17
- 'test/fixtures/**',
18
- 'test/fixtures/**/*.yaml',
19
- '_bmad/**',
20
- '_bmad*/**',
21
- // Build output
22
- 'build/**',
23
- // Website uses ESM/Astro - separate linting ecosystem
24
- 'website/**',
25
- // Gitignored patterns
26
- 'z*/**', // z-samples, z1, z2, etc.
27
- '.claude/**',
28
- '.codex/**',
29
- '.github/chatmodes/**',
30
- '.agent/**',
31
- '.agentvibes/**',
32
- '.kiro/**',
33
- '.roo/**',
34
- 'test-project-install/**',
35
- 'sample-project/**',
36
- 'tools/template-test-generator/test-scenarios/**',
37
- 'src/modules/*/sub-modules/**',
38
- '.bundler-temp/**',
39
- ],
40
- },
41
-
42
- // Base JavaScript recommended rules
43
- js.configs.recommended,
44
-
45
- // Node.js rules
46
- ...nodePlugin.configs['flat/mixed-esm-and-cjs'],
47
-
48
- // Unicorn rules (modern best practices)
49
- unicorn.configs.recommended,
50
-
51
- // YAML linting
52
- ...yml.configs['flat/recommended'],
53
-
54
- // Place Prettier last to disable conflicting stylistic rules
55
- eslintConfigPrettier,
56
-
57
- // Project-specific tweaks
58
- {
59
- rules: {
60
- // Allow console for CLI tools in this repo
61
- 'no-console': 'off',
62
- // Enforce .yaml file extension for consistency
63
- 'yml/file-extension': [
64
- 'error',
65
- {
66
- extension: 'yaml',
67
- caseSensitive: true,
68
- },
69
- ],
70
- // Prefer double quotes in YAML wherever quoting is used, but allow the other to avoid escapes
71
- 'yml/quotes': [
72
- 'error',
73
- {
74
- prefer: 'double',
75
- avoidEscape: true,
76
- },
77
- ],
78
- // Relax some Unicorn rules that are too opinionated for this codebase
79
- 'unicorn/prevent-abbreviations': 'off',
80
- 'unicorn/no-null': 'off',
81
- },
82
- },
83
-
84
- // CLI scripts under tools/** and test/**
85
- {
86
- files: ['tools/**/*.js', 'tools/**/*.mjs', 'test/**/*.js'],
87
- rules: {
88
- // Allow CommonJS patterns for Node CLI scripts
89
- 'unicorn/prefer-module': 'off',
90
- 'unicorn/import-style': 'off',
91
- 'unicorn/no-process-exit': 'off',
92
- 'n/no-process-exit': 'off',
93
- 'unicorn/no-await-expression-member': 'off',
94
- 'unicorn/prefer-top-level-await': 'off',
95
- // Avoid failing CI on incidental unused vars in internal scripts
96
- 'no-unused-vars': 'off',
97
- // Reduce style-only churn in internal tools
98
- 'unicorn/prefer-ternary': 'off',
99
- 'unicorn/filename-case': 'off',
100
- 'unicorn/no-array-reduce': 'off',
101
- 'unicorn/no-array-callback-reference': 'off',
102
- 'unicorn/consistent-function-scoping': 'off',
103
- 'n/no-extraneous-require': 'off',
104
- 'n/no-extraneous-import': 'off',
105
- 'n/no-unpublished-require': 'off',
106
- 'n/no-unpublished-import': 'off',
107
- // Some scripts intentionally use globals provided at runtime
108
- 'no-undef': 'off',
109
- // Additional relaxed rules for legacy/internal scripts
110
- 'no-useless-catch': 'off',
111
- 'unicorn/prefer-number-properties': 'off',
112
- 'no-unreachable': 'off',
113
- 'unicorn/text-encoding-identifier-case': 'off',
114
- },
115
- },
116
-
117
- // ESLint config file should not be checked for publish-related Node rules
118
- {
119
- files: ['eslint.config.mjs'],
120
- rules: {
121
- 'n/no-unpublished-import': 'off',
122
- },
123
- },
124
-
125
- // GitHub workflow files in this repo may use empty mapping values
126
- {
127
- files: ['.github/workflows/**/*.yaml'],
128
- rules: {
129
- 'yml/no-empty-mapping-value': 'off',
130
- },
131
- },
132
-
133
- // Other GitHub YAML files may intentionally use empty values and reserved filenames
134
- {
135
- files: ['.github/**/*.yaml'],
136
- rules: {
137
- 'yml/no-empty-mapping-value': 'off',
138
- 'unicorn/filename-case': 'off',
139
- },
140
- },
141
- ];
@@ -1,91 +0,0 @@
1
- {
2
- "$schema": "https://json.schemastore.org/package.json",
3
- "name": "bmad-game-dev-studio",
4
- "version": "0.6.0",
5
- "private": true,
6
- "description": "A BMad MEthod Core Module that offers a substantial stand alone module for Game Development across multiple supported platforms",
7
- "keywords": [
8
- "bmad",
9
- "game-dev"
10
- ],
11
- "repository": {
12
- "type": "git",
13
- "url": "git+https://github.com/bmad-code-org/bmad-module-game-dev-studio.git"
14
- },
15
- "license": "MIT",
16
- "author": "Brian (BMad) Madison",
17
- "type": "module",
18
- "main": "",
19
- "scripts": {
20
- "docs:build": "node tools/build-docs.mjs",
21
- "docs:dev": "astro dev --root website",
22
- "docs:preview": "astro preview --root website",
23
- "format:check": "prettier --check \"**/*.{js,cjs,mjs,json,yaml}\"",
24
- "format:fix": "prettier --write \"**/*.{js,cjs,mjs,json,yaml}\"",
25
- "lint": "eslint . --ext .js,.cjs,.mjs,.yaml --max-warnings=0",
26
- "lint:fix": "eslint . --ext .js,.cjs,.mjs,.yaml --fix",
27
- "lint:md": "markdownlint-cli2 \"**/*.md\"",
28
- "prepare": "husky || exit 0",
29
- "release": "npm run release:patch",
30
- "release:major": "npm version major && git push --follow-tags",
31
- "release:minor": "npm version minor && git push --follow-tags",
32
- "release:patch": "npm version patch && git push --follow-tags",
33
- "release:prerelease": "npm version prerelease && git push --follow-tags",
34
- "test": "npm run lint && npm run lint:md && npm run format:check"
35
- },
36
- "lint-staged": {
37
- "*.{js,cjs,mjs}": [
38
- "npm run lint:fix",
39
- "npm run format:fix"
40
- ],
41
- "*.yaml": [
42
- "eslint --fix",
43
- "npm run format:fix"
44
- ],
45
- "*.json": [
46
- "npm run format:fix"
47
- ],
48
- "*.md": [
49
- "markdownlint-cli2"
50
- ]
51
- },
52
- "devDependencies": {
53
- "@astrojs/sitemap": "^3.6.0",
54
- "@astrojs/starlight": "^0.37.0",
55
- "@eslint/js": "^9.33.0",
56
- "archiver": "^7.0.1",
57
- "astro": "^5.16.0",
58
- "c8": "^10.1.3",
59
- "csv-parse": "^6.1.0",
60
- "eslint": "^9.33.0",
61
- "eslint-config-prettier": "^10.1.8",
62
- "eslint-plugin-n": "^17.21.3",
63
- "eslint-plugin-unicorn": "^60.0.0",
64
- "eslint-plugin-yml": "^1.18.0",
65
- "figlet": "^1.8.0",
66
- "glob": "^11.0.3",
67
- "husky": "^9.1.7",
68
- "ignore": "^7.0.5",
69
- "jest": "^30.0.4",
70
- "js-yaml": "^4.1.0",
71
- "lint-staged": "^16.1.1",
72
- "markdownlint-cli2": "^0.19.1",
73
- "ora": "^5.4.1",
74
- "prettier": "^3.7.4",
75
- "prettier-plugin-packagejson": "^2.5.19",
76
- "semver": "^7.6.3",
77
- "sharp": "^0.33.5",
78
- "wrap-ansi": "^7.0.0",
79
- "xml2js": "^0.6.2",
80
- "yaml": "^2.7.0",
81
- "yaml-eslint-parser": "^1.2.3",
82
- "yaml-lint": "^1.7.0",
83
- "zod": "^3.25.76"
84
- },
85
- "engines": {
86
- "node": ">=22.0.0"
87
- },
88
- "publishConfig": {
89
- "access": "public"
90
- }
91
- }
@@ -1,32 +0,0 @@
1
- export default {
2
- $schema: 'https://json.schemastore.org/prettierrc',
3
- printWidth: 140,
4
- tabWidth: 2,
5
- useTabs: false,
6
- semi: true,
7
- singleQuote: true,
8
- trailingComma: 'all',
9
- bracketSpacing: true,
10
- arrowParens: 'always',
11
- endOfLine: 'lf',
12
- proseWrap: 'preserve',
13
- overrides: [
14
- {
15
- files: ['*.md'],
16
- options: { proseWrap: 'preserve' },
17
- },
18
- {
19
- files: ['*.yaml'],
20
- options: { singleQuote: false },
21
- },
22
- {
23
- files: ['*.json', '*.jsonc'],
24
- options: { singleQuote: false },
25
- },
26
- {
27
- files: ['*.cjs'],
28
- options: { parser: 'babel' },
29
- },
30
- ],
31
- plugins: ['prettier-plugin-packagejson'],
32
- };
@@ -1,57 +0,0 @@
1
- # DO NOT EDIT -- overwritten on every update.
2
- #
3
- # Cloud Dragonborn, the Game Architect, is the hardcoded identity of this agent.
4
- # Customize the persona and menu below to shape behavior without
5
- # changing who the agent is.
6
-
7
- [agent]
8
- # non-configurable skill frontmatter, create a custom agent if you need a new name/title
9
- name = "Cloud Dragonborn"
10
- title = "Game Architect"
11
-
12
- # --- Configurable below. Overrides merge per BMad structural rules: ---
13
- # scalars: override wins • arrays (persistent_facts, principles, activation_steps_*): append
14
- # arrays-of-tables with `code`/`id`: replace matching items, append new ones.
15
-
16
- icon = "🏛️"
17
-
18
- activation_steps_prepend = []
19
- activation_steps_append = []
20
-
21
- persistent_facts = [
22
- "file:{project-root}/**/project-context.md",
23
- ]
24
-
25
- role = "Design scalable game architectures, engine systems, and multiplayer infrastructure that keep the implementation phase honest."
26
- identity = "Twenty years shipping 30+ titles across distributed systems, engine design, multiplayer architecture, and technical leadership — channels John Carmack's engine-architect pragmatism and Tim Sweeney's systems-level long view, lived with every bad decision long enough to name it."
27
- communication_style = "Wise sage from an RPG — calm, measured, reaching for architectural metaphors about foundations and load-bearing walls."
28
-
29
- principles = [
30
- "Architecture is about delaying decisions until the data earns them.",
31
- "Build for tomorrow without over-engineering today.",
32
- "Hours of planning save weeks of refactoring hell.",
33
- "Every system must handle the hot path at 60fps.",
34
- "Avoid Not-Invented-Here — check if the work already exists before rebuilding it.",
35
- "Validate architecture against GDD pillars and target-platform constraints.",
36
- "Document performance budgets and critical-path decisions as they're made, not after.",
37
- ]
38
-
39
- [[agent.menu]]
40
- code = "GA"
41
- description = "Produce a Scale-Adaptive Game Architecture"
42
- skill = "gds-game-architecture"
43
-
44
- [[agent.menu]]
45
- code = "PC"
46
- description = "Create an optimized project-context.md for AI agent consistency"
47
- skill = "gds-generate-project-context"
48
-
49
- [[agent.menu]]
50
- code = "CC"
51
- description = "Course-correction analysis when implementation is off-track"
52
- skill = "gds-correct-course"
53
-
54
- [[agent.menu]]
55
- code = "IR"
56
- description = "Check implementation readiness — GDD, UX, Architecture, and Epics aligned"
57
- skill = "gds-check-implementation-readiness"