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.
- package/README.md +2 -2
- package/bin/cli.js +29 -32
- package/docs/architecture.md +2 -2
- package/lib/bmad-cache/cache-manifest.json +0 -12
- package/lib/bmad-extension-plugin/.claude-plugin/marketplace.json +1 -1
- package/lib/bmad.js +33 -34
- package/package.json +1 -1
- package/scripts/build-bmad-cache.js +18 -9
- package/lib/bmad-cache/gds/.claude-plugin/marketplace.json +0 -56
- package/lib/bmad-cache/gds/.markdownlint-cli2.yaml +0 -35
- package/lib/bmad-cache/gds/.nvmrc +0 -1
- package/lib/bmad-cache/gds/.prettierignore +0 -9
- package/lib/bmad-cache/gds/CNAME +0 -1
- package/lib/bmad-cache/gds/LICENSE +0 -26
- package/lib/bmad-cache/gds/README.md +0 -134
- package/lib/bmad-cache/gds/_git_preserved/HEAD +0 -1
- package/lib/bmad-cache/gds/_git_preserved/config +0 -13
- package/lib/bmad-cache/gds/_git_preserved/description +0 -1
- package/lib/bmad-cache/gds/_git_preserved/hooks/applypatch-msg.sample +0 -15
- package/lib/bmad-cache/gds/_git_preserved/hooks/commit-msg.sample +0 -74
- package/lib/bmad-cache/gds/_git_preserved/hooks/fsmonitor-watchman.sample +0 -168
- package/lib/bmad-cache/gds/_git_preserved/hooks/post-update.sample +0 -8
- package/lib/bmad-cache/gds/_git_preserved/hooks/pre-applypatch.sample +0 -14
- package/lib/bmad-cache/gds/_git_preserved/hooks/pre-commit.sample +0 -49
- package/lib/bmad-cache/gds/_git_preserved/hooks/pre-merge-commit.sample +0 -13
- package/lib/bmad-cache/gds/_git_preserved/hooks/pre-push.sample +0 -53
- package/lib/bmad-cache/gds/_git_preserved/hooks/pre-rebase.sample +0 -169
- package/lib/bmad-cache/gds/_git_preserved/hooks/pre-receive.sample +0 -24
- package/lib/bmad-cache/gds/_git_preserved/hooks/prepare-commit-msg.sample +0 -42
- package/lib/bmad-cache/gds/_git_preserved/hooks/push-to-checkout.sample +0 -78
- package/lib/bmad-cache/gds/_git_preserved/hooks/sendemail-validate.sample +0 -77
- package/lib/bmad-cache/gds/_git_preserved/hooks/update.sample +0 -128
- package/lib/bmad-cache/gds/_git_preserved/index +0 -0
- package/lib/bmad-cache/gds/_git_preserved/info/exclude +0 -6
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-dcb7c556d9bb6b6b70d2301e094eaac6d7300552.idx +0 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-dcb7c556d9bb6b6b70d2301e094eaac6d7300552.pack +0 -0
- package/lib/bmad-cache/gds/_git_preserved/objects/pack/pack-dcb7c556d9bb6b6b70d2301e094eaac6d7300552.rev +0 -0
- package/lib/bmad-cache/gds/_git_preserved/packed-refs +0 -2
- package/lib/bmad-cache/gds/_git_preserved/refs/heads/main +0 -1
- package/lib/bmad-cache/gds/_git_preserved/shallow +0 -1
- package/lib/bmad-cache/gds/eslint.config.mjs +0 -141
- package/lib/bmad-cache/gds/package.json +0 -91
- package/lib/bmad-cache/gds/prettier.config.mjs +0 -32
- package/lib/bmad-cache/gds/src/agents/gds-agent-game-architect/customize.toml +0 -57
- package/lib/bmad-cache/gds/src/agents/gds-agent-game-designer/customize.toml +0 -59
- package/lib/bmad-cache/gds/src/agents/gds-agent-game-dev/customize.toml +0 -129
- package/lib/bmad-cache/gds/src/agents/gds-agent-game-dev/gametest/qa-index.csv +0 -18
- package/lib/bmad-cache/gds/src/agents/gds-agent-game-solo-dev/customize.toml +0 -55
- package/lib/bmad-cache/gds/src/agents/gds-agent-tech-writer/customize.toml +0 -65
- package/lib/bmad-cache/gds/src/module-help.csv +0 -30
- package/lib/bmad-cache/gds/src/module.yaml +0 -113
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-brainstorm-game/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-brainstorm-game/game-brain-methods.csv +0 -26
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-create-game-brief/customize.toml +0 -116
- package/lib/bmad-cache/gds/src/workflows/1-preproduction/research/gds-domain-research/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-create-narrative/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-gdd/assets/game-types.csv +0 -25
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-gdd/assets/genre-complexity.csv +0 -26
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-gdd/assets/validation-report-template.html +0 -190
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-gdd/customize.toml +0 -99
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-gdd/scripts/render-validation-html.py +0 -290
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-prd/assets/validation-report-template.html +0 -190
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-prd/customize.toml +0 -84
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-ux/assets/validation-report-template.html +0 -319
- package/lib/bmad-cache/gds/src/workflows/2-design/gds-ux/customize.toml +0 -101
- package/lib/bmad-cache/gds/src/workflows/3-technical/gds-check-implementation-readiness/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/3-technical/gds-create-epics-and-stories/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/architecture-patterns.yaml +0 -508
- package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/decision-catalog.yaml +0 -428
- package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/engine-mcps.yaml +0 -392
- package/lib/bmad-cache/gds/src/workflows/3-technical/gds-game-architecture/pattern-categories.csv +0 -13
- package/lib/bmad-cache/gds/src/workflows/3-technical/gds-generate-project-context/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-code-review/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-correct-course/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-create-story/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-dev-story/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-investigate/customize.toml +0 -62
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-retrospective/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-sprint-planning/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-sprint-planning/sprint-status-template.yaml +0 -55
- package/lib/bmad-cache/gds/src/workflows/4-production/gds-sprint-status/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/gametest/gds-e2e-scaffold/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/gametest/gds-performance-test/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/gametest/gds-playtest-plan/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-automate/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-design/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-framework/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/gametest/gds-test-review/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/gds-document-project/customize.toml +0 -41
- package/lib/bmad-cache/gds/src/workflows/gds-document-project/documentation-requirements.csv +0 -12
- package/lib/bmad-cache/gds/src/workflows/gds-document-project/templates/project-scan-report-schema.json +0 -160
- package/lib/bmad-cache/gds/src/workflows/gds-quick-flow/gds-quick-dev/customize.toml +0 -41
- package/lib/bmad-cache/gds/tools/build-docs.mjs +0 -450
- package/lib/bmad-cache/gds/website/astro.config.mjs +0 -142
- package/lib/bmad-cache/gds/website/public/favicon.ico +0 -0
- package/lib/bmad-cache/gds/website/public/img/bmad-dark.png +0 -0
- package/lib/bmad-cache/gds/website/public/img/bmad-light.png +0 -0
- package/lib/bmad-cache/gds/website/src/components/Banner.astro +0 -71
- package/lib/bmad-cache/gds/website/src/components/Header.astro +0 -94
- package/lib/bmad-cache/gds/website/src/components/MobileMenuFooter.astro +0 -33
- package/lib/bmad-cache/gds/website/src/content/config.ts +0 -6
- package/lib/bmad-cache/gds/website/src/content/docs +0 -1
- package/lib/bmad-cache/gds/website/src/lib/site-url.mjs +0 -25
- package/lib/bmad-cache/gds/website/src/rehype-base-paths.js +0 -88
- package/lib/bmad-cache/gds/website/src/rehype-markdown-links.js +0 -117
- package/lib/bmad-cache/gds/website/src/styles/custom.css +0 -503
- package/lib/bmad-cache/wds/.claude-plugin/marketplace.json +0 -35
- package/lib/bmad-cache/wds/.markdownlint-cli2.yaml +0 -38
- package/lib/bmad-cache/wds/.nvmrc +0 -1
- package/lib/bmad-cache/wds/.prettierignore +0 -9
- package/lib/bmad-cache/wds/LICENSE +0 -27
- package/lib/bmad-cache/wds/README.md +0 -139
- package/lib/bmad-cache/wds/_git_preserved/HEAD +0 -1
- package/lib/bmad-cache/wds/_git_preserved/config +0 -13
- package/lib/bmad-cache/wds/_git_preserved/description +0 -1
- package/lib/bmad-cache/wds/_git_preserved/hooks/applypatch-msg.sample +0 -15
- package/lib/bmad-cache/wds/_git_preserved/hooks/commit-msg.sample +0 -74
- package/lib/bmad-cache/wds/_git_preserved/hooks/fsmonitor-watchman.sample +0 -168
- package/lib/bmad-cache/wds/_git_preserved/hooks/post-update.sample +0 -8
- package/lib/bmad-cache/wds/_git_preserved/hooks/pre-applypatch.sample +0 -14
- package/lib/bmad-cache/wds/_git_preserved/hooks/pre-commit.sample +0 -49
- package/lib/bmad-cache/wds/_git_preserved/hooks/pre-merge-commit.sample +0 -13
- package/lib/bmad-cache/wds/_git_preserved/hooks/pre-push.sample +0 -53
- package/lib/bmad-cache/wds/_git_preserved/hooks/pre-rebase.sample +0 -169
- package/lib/bmad-cache/wds/_git_preserved/hooks/pre-receive.sample +0 -24
- package/lib/bmad-cache/wds/_git_preserved/hooks/prepare-commit-msg.sample +0 -42
- package/lib/bmad-cache/wds/_git_preserved/hooks/push-to-checkout.sample +0 -78
- package/lib/bmad-cache/wds/_git_preserved/hooks/sendemail-validate.sample +0 -77
- package/lib/bmad-cache/wds/_git_preserved/hooks/update.sample +0 -128
- package/lib/bmad-cache/wds/_git_preserved/index +0 -0
- package/lib/bmad-cache/wds/_git_preserved/info/exclude +0 -6
- package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-656c3d8d5426e73043b6a7f45eedaab74e3c419e.idx +0 -0
- package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-656c3d8d5426e73043b6a7f45eedaab74e3c419e.pack +0 -0
- package/lib/bmad-cache/wds/_git_preserved/objects/pack/pack-656c3d8d5426e73043b6a7f45eedaab74e3c419e.rev +0 -0
- package/lib/bmad-cache/wds/_git_preserved/packed-refs +0 -2
- package/lib/bmad-cache/wds/_git_preserved/refs/heads/main +0 -1
- package/lib/bmad-cache/wds/_git_preserved/refs/tags/v0.4.3 +0 -1
- package/lib/bmad-cache/wds/_git_preserved/shallow +0 -1
- package/lib/bmad-cache/wds/eslint.config.mjs +0 -152
- package/lib/bmad-cache/wds/package.json +0 -82
- package/lib/bmad-cache/wds/prettier.config.mjs +0 -32
- package/lib/bmad-cache/wds/src/agents/wds-agent-freya-ux/customize.toml +0 -80
- package/lib/bmad-cache/wds/src/agents/wds-agent-mimir-builder/customize.toml +0 -52
- package/lib/bmad-cache/wds/src/agents/wds-agent-saga-analyst/customize.toml +0 -70
- package/lib/bmad-cache/wds/src/module-help.csv +0 -19
- package/lib/bmad-cache/wds/src/module.yaml +0 -173
- package/lib/bmad-cache/wds/src/scripts/README.md +0 -155
- package/lib/bmad-cache/wds/src/scripts/wds-add-object.js +0 -202
- package/lib/bmad-cache/wds/src/scripts/wds-add-spacing.js +0 -158
- package/lib/bmad-cache/wds/src/scripts/wds-init-page.js +0 -229
- package/lib/bmad-cache/wds/src/scripts/wds-init-scenario.js +0 -120
- package/lib/bmad-cache/wds/src/scripts/wds-nav.js +0 -201
- package/lib/bmad-cache/wds/src/scripts/wds-validate.js +0 -301
- package/lib/bmad-cache/wds/src/workflows/wds-0-project-setup/resources/wds-1-project-brief/templates/platform-requirements.template.yaml +0 -69
- package/lib/bmad-cache/wds/src/workflows/wds-0-project-setup/resources/wds-7-design-system/templates/catalog.template.html +0 -363
- package/lib/bmad-cache/wds/src/workflows/wds-1-project-brief/templates/platform-requirements.template.yaml +0 -69
- package/lib/bmad-cache/wds/src/workflows/wds-3-scenarios/workflow.xml +0 -450
- package/lib/bmad-cache/wds/src/workflows/wds-4-ux-design/templates/design-delivery.template.yaml +0 -104
- package/lib/bmad-cache/wds/src/workflows/wds-4-ux-design/templates/test-scenario.template.yaml +0 -192
- package/lib/bmad-cache/wds/src/workflows/wds-4-ux-design/workflow-specify.xml +0 -387
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/components/dev-mode.css +0 -164
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/components/dev-mode.html +0 -18
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/components/dev-mode.js +0 -430
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/demo-data-template.json +0 -63
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/page-template.html +0 -465
- package/lib/bmad-cache/wds/src/workflows/wds-5-agentic-development/templates/work-file-template.yaml +0 -264
- package/lib/bmad-cache/wds/src/workflows/wds-7-design-system/templates/catalog.template.html +0 -363
package/lib/bmad-cache/gds/src/workflows/1-preproduction/gds-create-game-brief/customize.toml
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
# DO NOT EDIT -- overwritten on every update.
|
|
2
|
-
#
|
|
3
|
-
# Workflow customization surface for gds-create-game-brief.
|
|
4
|
-
#
|
|
5
|
-
# Override files (not edited here):
|
|
6
|
-
# {project-root}/_bmad/custom/gds-create-game-brief.toml (team)
|
|
7
|
-
# {project-root}/_bmad/custom/gds-create-game-brief.user.toml (personal)
|
|
8
|
-
|
|
9
|
-
[workflow]
|
|
10
|
-
|
|
11
|
-
# --- Configurable below. Overrides merge per BMad structural rules: ---
|
|
12
|
-
# scalars: override wins • arrays: append
|
|
13
|
-
|
|
14
|
-
# Steps to run before the standard activation (config load, greet).
|
|
15
|
-
# Use for pre-flight loads, compliance checks, etc.
|
|
16
|
-
activation_steps_prepend = []
|
|
17
|
-
|
|
18
|
-
# Steps to run after greet but before the workflow begins.
|
|
19
|
-
# Use for context-heavy setup that should happen once the user has been acknowledged.
|
|
20
|
-
activation_steps_append = []
|
|
21
|
-
|
|
22
|
-
# Persistent facts the workflow keeps in mind for the whole run
|
|
23
|
-
# (studio standards, platform constraints, stylistic guardrails).
|
|
24
|
-
# Each entry is either a literal sentence, a skill prefixed with `skill:`, or a
|
|
25
|
-
# `file:`-prefixed path/glob whose contents are loaded as facts. Empty by default.
|
|
26
|
-
#
|
|
27
|
-
# Common opt-ins (set in team/user override TOML):
|
|
28
|
-
# "file:{project-root}/**/project-context.md" # load project context if gds-generate-project-context produced one
|
|
29
|
-
# "skill:acme-studio:brand-and-rating-guidelines" # a skill that contains studio info
|
|
30
|
-
# "Every game brief must anchor on a single core fantasy players can describe in one sentence."
|
|
31
|
-
persistent_facts = []
|
|
32
|
-
|
|
33
|
-
# Executed when the workflow completes (after the user has been told the
|
|
34
|
-
# brief is ready). Accepts either a string scalar (single instruction)
|
|
35
|
-
# or an array of instructions executed in order. Empty for none.
|
|
36
|
-
on_complete = ""
|
|
37
|
-
|
|
38
|
-
# Default game-brief structure. Treated as a starting point — the LLM adapts it
|
|
39
|
-
# to the game, purpose, and genre. Override the path in team/user TOML to enforce
|
|
40
|
-
# a different structure (e.g. live-service, narrative-heavy, mobile-F2P).
|
|
41
|
-
brief_template = "assets/brief-template.md"
|
|
42
|
-
|
|
43
|
-
# Run folder location. The brief and optional addendum land inside
|
|
44
|
-
# `{brief_output_path}/{run_folder_pattern}/`. Resume-check scans
|
|
45
|
-
# `{brief_output_path}` for prior unfinished runs.
|
|
46
|
-
brief_output_path = "{planning_artifacts}/briefs"
|
|
47
|
-
run_folder_pattern = "brief-{project_name}-{date}"
|
|
48
|
-
|
|
49
|
-
# Polish passes applied to human-consumed docs at finalize. Each entry is a
|
|
50
|
-
# `skill:`, `file:`, or plain-text directive run as a parallel subagent against
|
|
51
|
-
# the draft; findings are applied before the user sees it. Encodes standards,
|
|
52
|
-
# not options.
|
|
53
|
-
#
|
|
54
|
-
# Examples:
|
|
55
|
-
# "skill:bmad-editorial-review-prose"
|
|
56
|
-
# "file:{project-root}/_bmad/style-guides/studio-voice.md"
|
|
57
|
-
# "Convert all dates to ISO 8601 format."
|
|
58
|
-
#
|
|
59
|
-
# Suggested order (broader passes first, narrower last):
|
|
60
|
-
# 1. Structural (cuts, reorganization, section sizing)
|
|
61
|
-
# 2. Content/voice/conventions (studio standards, tone, terminology, rating)
|
|
62
|
-
# 3. Prose mechanics (grammar, clarity, typos)
|
|
63
|
-
#
|
|
64
|
-
# Override the array in team/user TOML to add additional standards. Append-only:
|
|
65
|
-
# base entries cannot be removed or replaced (resolver has no removal mechanism).
|
|
66
|
-
polish_passes = [
|
|
67
|
-
"skill:bmad-editorial-review-structure",
|
|
68
|
-
"skill:bmad-editorial-review-prose",
|
|
69
|
-
]
|
|
70
|
-
|
|
71
|
-
# Reviewer panel applied at finalize, after polish_passes. Each entry is a
|
|
72
|
-
# `skill:`, `file:`, or plain-text directive run as a parallel subagent that
|
|
73
|
-
# critiques the draft and returns findings (it does not silently rewrite).
|
|
74
|
-
# Prefix an entry with `required:` to make it a hard gate — the workflow will
|
|
75
|
-
# not present the brief as final until that reviewer passes or the user waives
|
|
76
|
-
# it. `finalize_reviewers` is an alias surface for the same gate. Empty by default.
|
|
77
|
-
#
|
|
78
|
-
# Examples (set in team/user override TOML):
|
|
79
|
-
# "skill:acme-studio:greenlight-review"
|
|
80
|
-
# "required:Confirm the core fantasy is stated in a single sentence and the MVP is truly minimal."
|
|
81
|
-
# "When the brief targets a rated platform, cross-check content against corp:rating_reference."
|
|
82
|
-
reviewers = []
|
|
83
|
-
finalize_reviewers = []
|
|
84
|
-
|
|
85
|
-
# Name or directive of the single reviewer treated as the required gate when
|
|
86
|
-
# not expressed inline via a `required:` prefix above. Empty by default.
|
|
87
|
-
required_reviewer = ""
|
|
88
|
-
|
|
89
|
-
# External-source registry. Natural-language directives describing knowledge
|
|
90
|
-
# bases, MCP tools, or internal systems the LLM may consult during the workflow
|
|
91
|
-
# when a relevant need surfaces. The LLM does NOT query these preemptively — it
|
|
92
|
-
# consults them on demand (during Discovery, validation, drafting, etc.). Each
|
|
93
|
-
# entry names the tool, the conditions for using it, and any fields it needs.
|
|
94
|
-
# If a named MCP tool is unavailable at runtime, the LLM falls back to standard
|
|
95
|
-
# behavior and notes the gap. Empty by default.
|
|
96
|
-
#
|
|
97
|
-
# Examples (set in team/user override TOML):
|
|
98
|
-
# "When researching genre context, consult corp:kb_search (database='game-design-docs') before web search."
|
|
99
|
-
# "For player-sentiment signal during Discovery, query corp:wishlist_search with project={project_name}."
|
|
100
|
-
# "When validating platform-rating claims, cross-check against corp:rating_reference."
|
|
101
|
-
external_sources = []
|
|
102
|
-
|
|
103
|
-
# External-handoff routing. Natural-language directives the LLM applies at
|
|
104
|
-
# Finalize to route outputs beyond local files (Confluence, Notion, Google
|
|
105
|
-
# Drive, ticket systems, etc.). Each entry names the MCP tool, the destination,
|
|
106
|
-
# and the fields it needs. Handoffs run after the artifact is polished and
|
|
107
|
-
# before the final user-facing message. URLs or IDs returned by the destination
|
|
108
|
-
# are captured and surfaced to the user. If a named tool is unavailable at
|
|
109
|
-
# runtime, the handoff is skipped and flagged in the JSON status; local files
|
|
110
|
-
# always exist regardless. Fires automatically — users can opt out in their
|
|
111
|
-
# prompt for a specific run. Empty by default.
|
|
112
|
-
#
|
|
113
|
-
# Examples (set in team/user override TOML):
|
|
114
|
-
# "After finalize, upload brief.md and addendum.md to Confluence via corp:confluence_upload (space_key='GAME', parent_page='Game Briefs', label='brief', author={user_name})."
|
|
115
|
-
# "Post a ready-for-review ping to Slack via corp:slack_post (channel='#game-design', text='New game brief: '+{confluence_url})."
|
|
116
|
-
external_handoffs = []
|
package/lib/bmad-cache/gds/src/workflows/1-preproduction/research/gds-domain-research/customize.toml
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# DO NOT EDIT -- overwritten on every update.
|
|
2
|
-
#
|
|
3
|
-
# Workflow customization surface for gds-domain-research. Mirrors the
|
|
4
|
-
# agent customization shape under the [workflow] namespace.
|
|
5
|
-
|
|
6
|
-
[workflow]
|
|
7
|
-
|
|
8
|
-
# --- Configurable below. Overrides merge per BMad structural rules: ---
|
|
9
|
-
# scalars: override wins • arrays (persistent_facts, activation_steps_*): append
|
|
10
|
-
# arrays-of-tables with `code`/`id`: replace matching items, append new ones.
|
|
11
|
-
|
|
12
|
-
# Steps to run before the standard activation (config load, greet).
|
|
13
|
-
# Overrides append. Use for pre-flight loads, compliance checks, etc.
|
|
14
|
-
|
|
15
|
-
activation_steps_prepend = []
|
|
16
|
-
|
|
17
|
-
# Steps to run after greet but before the workflow begins.
|
|
18
|
-
# Overrides append. Use for context-heavy setup that should happen
|
|
19
|
-
# once the user has been acknowledged.
|
|
20
|
-
|
|
21
|
-
activation_steps_append = []
|
|
22
|
-
|
|
23
|
-
# Persistent facts the workflow keeps in mind for the whole run
|
|
24
|
-
# (standards, compliance constraints, stylistic guardrails).
|
|
25
|
-
# Distinct from the runtime memory sidecar — these are static context
|
|
26
|
-
# loaded on activation. Overrides append.
|
|
27
|
-
#
|
|
28
|
-
# Each entry is either:
|
|
29
|
-
# - a literal sentence, e.g. "Domain research must cite primary sources and distinguish fact from interpretation."
|
|
30
|
-
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
|
-
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
|
-
|
|
33
|
-
persistent_facts = [
|
|
34
|
-
"file:{project-root}/**/project-context.md",
|
|
35
|
-
]
|
|
36
|
-
|
|
37
|
-
# Scalar: executed when the workflow reaches Step 6,
|
|
38
|
-
# after the final outputs are produced. Override wins.
|
|
39
|
-
# Leave empty for no custom post-completion behavior.
|
|
40
|
-
|
|
41
|
-
on_complete = ""
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
# DO NOT EDIT -- overwritten on every update.
|
|
2
|
-
#
|
|
3
|
-
# Workflow customization surface for gds-create-narrative. Mirrors the
|
|
4
|
-
# agent customization shape under the [workflow] namespace.
|
|
5
|
-
|
|
6
|
-
[workflow]
|
|
7
|
-
|
|
8
|
-
# --- Configurable below. Overrides merge per BMad structural rules: ---
|
|
9
|
-
# scalars: override wins • arrays (persistent_facts, activation_steps_*): append
|
|
10
|
-
# arrays-of-tables with `code`/`id`: replace matching items, append new ones.
|
|
11
|
-
|
|
12
|
-
# Steps to run before the standard activation (config load, greet).
|
|
13
|
-
# Overrides append. Use for pre-flight loads, compliance checks, etc.
|
|
14
|
-
|
|
15
|
-
activation_steps_prepend = []
|
|
16
|
-
|
|
17
|
-
# Steps to run after greet but before the workflow begins.
|
|
18
|
-
# Overrides append. Use for context-heavy setup that should happen
|
|
19
|
-
# once the user has been acknowledged.
|
|
20
|
-
|
|
21
|
-
activation_steps_append = []
|
|
22
|
-
|
|
23
|
-
# Persistent facts the workflow keeps in mind for the whole run
|
|
24
|
-
# (standards, compliance constraints, stylistic guardrails).
|
|
25
|
-
# Distinct from the runtime memory sidecar — these are static context
|
|
26
|
-
# loaded on activation. Overrides append.
|
|
27
|
-
#
|
|
28
|
-
# Each entry is either:
|
|
29
|
-
# - a literal sentence, e.g. "Narrative must serve the core gameplay loop, not compete with it."
|
|
30
|
-
# - a file reference prefixed with `file:`, e.g. "file:{project-root}/docs/standards.md"
|
|
31
|
-
# (glob patterns are supported; the file's contents are loaded and treated as facts).
|
|
32
|
-
|
|
33
|
-
persistent_facts = [
|
|
34
|
-
"file:{project-root}/**/project-context.md",
|
|
35
|
-
]
|
|
36
|
-
|
|
37
|
-
# Scalar: executed when the workflow reaches Step 11 (Complete),
|
|
38
|
-
# after the final outputs are produced. Override wins.
|
|
39
|
-
# Leave empty for no custom post-completion behavior.
|
|
40
|
-
|
|
41
|
-
on_complete = ""
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
id,name,description,genre_tags,fragment_file
|
|
2
|
-
action-platformer,Action Platformer,"Side-scrolling or 3D platforming with combat mechanics","action,platformer,combat,movement",action-platformer.md
|
|
3
|
-
puzzle,Puzzle,"Logic-based challenges and problem-solving","puzzle,logic,cerebral",puzzle.md
|
|
4
|
-
rpg,RPG,"Character progression, stats, inventory, quests","rpg,stats,inventory,quests,narrative",rpg.md
|
|
5
|
-
strategy,Strategy,"Resource management, tactical decisions, long-term planning","strategy,tactics,resources,planning",strategy.md
|
|
6
|
-
shooter,Shooter,"Projectile combat, aiming mechanics, arena/level design","shooter,combat,aiming,fps,tps",shooter.md
|
|
7
|
-
adventure,Adventure,"Story-driven exploration and narrative","adventure,narrative,exploration,story",adventure.md
|
|
8
|
-
simulation,Simulation,"Realistic systems, management, building","simulation,management,sandbox,systems",simulation.md
|
|
9
|
-
roguelike,Roguelike,"Procedural generation, permadeath, run-based progression","roguelike,procedural,permadeath,runs",roguelike.md
|
|
10
|
-
moba,MOBA,"Multiplayer team battles, hero/champion selection, lanes","moba,multiplayer,pvp,heroes,lanes",moba.md
|
|
11
|
-
fighting,Fighting,"1v1 combat, combos, frame data, competitive","fighting,combat,competitive,combos,pvp",fighting.md
|
|
12
|
-
racing,Racing,"Vehicle control, tracks, speed, lap times","racing,vehicles,tracks,speed",racing.md
|
|
13
|
-
sports,Sports,"Team-based or individual sports simulation","sports,teams,realistic,physics",sports.md
|
|
14
|
-
survival,Survival,"Resource gathering, crafting, persistent threats","survival,crafting,resources,danger",survival.md
|
|
15
|
-
horror,Horror,"Atmosphere, tension, limited resources, fear mechanics","horror,atmosphere,tension,fear",horror.md
|
|
16
|
-
idle-incremental,Idle/Incremental,"Passive progression, upgrades, automation","idle,incremental,automation,progression",idle-incremental.md
|
|
17
|
-
card-game,Card Game,"Deck building, card mechanics, turn-based strategy","card,deck-building,strategy,turns",card-game.md
|
|
18
|
-
tower-defense,Tower Defense,"Wave-based defense, tower placement, resource management","tower-defense,waves,placement,strategy",tower-defense.md
|
|
19
|
-
metroidvania,Metroidvania,"Interconnected world, ability gating, exploration","metroidvania,exploration,abilities,interconnected",metroidvania.md
|
|
20
|
-
visual-novel,Visual Novel,"Narrative choices, branching story, dialogue","visual-novel,narrative,choices,story",visual-novel.md
|
|
21
|
-
rhythm,Rhythm,"Music synchronization, timing-based gameplay","rhythm,music,timing,beats",rhythm.md
|
|
22
|
-
turn-based-tactics,Turn-Based Tactics,"Grid-based movement, turn order, positioning","tactics,turn-based,grid,positioning",turn-based-tactics.md
|
|
23
|
-
sandbox,Sandbox,"Creative freedom, building, minimal objectives","sandbox,creative,building,freedom",sandbox.md
|
|
24
|
-
text-based,Text-Based,"Text input/output, parser or choice-based","text,parser,interactive-fiction,mud",text-based.md
|
|
25
|
-
party-game,Party Game,"Local multiplayer, minigames, casual fun","party,multiplayer,minigames,casual",party-game.md
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
genre,signals,complexity,key_concerns,required_knowledge,suggested_workflow,special_sections
|
|
2
|
-
action-platformer,"platformer,jump,dash,combat,precision,side-scroller,movement",high,"Frame-perfect feel values;Hit/hurt box conventions;Coyote time and input buffers;Checkpoint cadence;Level flow and gating","Platformer movement feel;Hitbox design;Level pacing;Difficulty curve via geometry","genre-research","movement_feel_table;combat_specs;level_gating;difficulty_curve"
|
|
3
|
-
rpg,"rpg,stats,inventory,quests,leveling,party,dialogue,skills",high,"Stat system coherence;Leveling curve;Inventory rules;Quest state machine;Save/load scope;Dialogue variables","Stat design and balancing;Economy and loot tables;Quest scripting patterns;Save-state boundaries;Branching narrative","genre-research","stat_system;leveling_curve;inventory_rules;quest_state_machine;save_model"
|
|
4
|
-
roguelike,"roguelike,procedural,permadeath,runs,seeded,meta-progression",high,"Run structure;Seed determinism;Meta vs in-run progression;Balance bands across runs;Player retention hooks","Procedural generation patterns;Meta-progression design;Seed management;Per-run difficulty scaling","genre-research","run_structure;meta_progression;seed_determinism;balance_bands"
|
|
5
|
-
shooter,"shooter,fps,tps,aim,projectile,recoil,weapons,gunplay",high,"Weapon feel (TTK, recoil, spread);Netcode (if multiplayer);Hitreg model;Map flow and choke points;Spawn logic","Gunplay tuning;Netcode model selection;Hitreg design;Map readability;Spawn algorithms","genre-research","weapon_feel_table;netcode_model;hitreg_spec;map_flow"
|
|
6
|
-
moba,"moba,lanes,heroes,champions,team,jungle,ranked,pvp",high,"Hero kit diversity;Lane/map balance;Matchmaking and MMR;Tick rate and latency tolerance;Role identity","MOBA kit design;Map/lane pacing;Matchmaking systems;Anti-toxicity tooling;Esports readiness","genre-research","hero_kit_matrix;map_pacing;matchmaking_model;tick_rate_spec"
|
|
7
|
-
fighting,"fighting,combos,frame data,neutral,counter,competitive,1v1",high,"Frame data accuracy;Rollback netcode;Input parsing;Combo system boundaries;Training mode completeness","Frame data theory;Rollback netcode;Input buffer design;Competitive balance","genre-research","frame_data_tables;netcode_model;input_spec;training_mode"
|
|
8
|
-
survival,"survival,crafting,hunger,thirst,resources,base-building,danger",high,"Resource scarcity curves;Day/night or seasonal cycles;Base persistence;Hostile threat pacing;Multi-session continuity","Crafting tree design;Resource economy;Threat AI pacing;Persistence model","genre-research","resource_economy;crafting_tree;threat_pacing;persistence_model"
|
|
9
|
-
simulation,"simulation,management,tycoon,systems,building,sandbox",high,"System interaction clarity;Long-tail balance;Emergent behavior handling;Save-scum mitigation;End-state definition","Systems design and interaction;Balance for long sessions;Emergent gameplay;End-state or open-endedness","genre-research","systems_map;balance_long_tail;emergence_boundaries;end_state"
|
|
10
|
-
strategy,"strategy,rts,4x,turn-based,tactics,resources,units",medium,"Unit role clarity;Economy tempo;Map-based balance;AI design;Turn/tick pacing","Unit design and counters;Economy curves;Strategic AI;Pacing","genre-research","unit_matrix;economy_tempo;ai_design;pacing_model"
|
|
11
|
-
horror,"horror,tension,atmosphere,fear,scare,jumpscare,psychological",medium,"Atmosphere and audio design;Scare pacing (not spam);Resource scarcity;Save-point pressure;Narrative framing","Horror pacing;Audio/atmosphere design;Tension escalation;Narrative framing","genre-research","atmosphere_design;scare_pacing;resource_scarcity;save_model"
|
|
12
|
-
metroidvania,"metroidvania,exploration,abilities,interconnected,gating,backtracking",medium,"Ability-based gating graph;Map readability;Backtracking pacing;Upgrade pacing;Softlock prevention","Gating graphs;Map design;Upgrade pacing;Softlock analysis","genre-research","gating_graph;map_design;upgrade_pacing;softlock_prevention"
|
|
13
|
-
adventure,"adventure,story,narrative,exploration,puzzle,point-and-click",medium,"Narrative branching clarity;Puzzle fairness;Pacing of reveals;Replayability of choices;Inventory/clue tracking","Narrative design;Puzzle design;Pacing;Choice architecture","genre-research","narrative_structure;puzzle_fairness;pacing;choice_architecture"
|
|
14
|
-
puzzle,"puzzle,logic,solve,brain,match,pattern",medium,"Solution-space guarantees;Hint system design;Difficulty ramp;Level generation (if procedural);Tutorialization","Puzzle theory;Hint systems;Difficulty curves;Tutorial flow","genre-research","solution_space;hint_system;difficulty_ramp;tutorialization"
|
|
15
|
-
racing,"racing,track,vehicle,speed,lap,drift,kart",medium,"Vehicle handling model;Track design language;AI rubber-banding policy;Power-up balance (if any);Multiplayer desync","Vehicle physics;Track design;AI driver design;Netcode","genre-research","vehicle_handling;track_design;ai_driver_model;mp_model"
|
|
16
|
-
sports,"sports,team,ball,realism,physics,athlete",medium,"Rule fidelity vs arcade feel;Physics consistency;Season/career mode;Roster data pipelines;Multiplayer integrity","Sport rules modeling;Physics tuning;Career systems;Online integrity","genre-research","rule_model;physics_spec;career_mode;online_integrity"
|
|
17
|
-
card-game,"card,deck,hand,draw,ccg,tcg,deckbuilder",medium,"Card-pool balance;Rarity and economy;Draw mechanics;Anti-infinite-loop rules;New-player experience","Card design;Deck construction rules;Economy (for CCGs);Format rotation","genre-research","card_pool_balance;economy_model;draw_rules;nux_flow"
|
|
18
|
-
tower-defense,"tower-defense,wave,tower,placement,lane",medium,"Wave pacing;Tower role distinction;Map/path balance;Economy per wave;Endless-mode scaling","Wave design;Tower taxonomy;Economy curves;Endless scaling","genre-research","wave_pacing;tower_matrix;economy_per_wave;endless_scaling"
|
|
19
|
-
visual-novel,"visual-novel,choice,branching,dialogue,narrative,ending",medium,"Branching structure;Variable/flag system;Rewind/save model;Route coverage;Localization budget","Branching narrative;Flag systems;Save models;Route design;Localization","genre-research","branching_structure;flag_system;save_model;route_coverage"
|
|
20
|
-
rhythm,"rhythm,music,beat,timing,note,chart",medium,"Timing window accuracy;Audio latency calibration;Chart authoring pipeline;Difficulty tiers;Song-licensing or content pipeline","Rhythm game feel;Audio engineering;Chart authoring tools;Difficulty tiering","genre-research","timing_windows;latency_calibration;chart_pipeline;difficulty_tiers"
|
|
21
|
-
turn-based-tactics,"tactics,grid,turns,positioning,squad",medium,"Grid rules (pathing, LOS, height);Turn order determination;Action economy;Enemy AI;Mission variety","Tactics grid rules;Action economy;Enemy AI patterns;Mission design","genre-research","grid_rules;action_economy;enemy_ai;mission_variety"
|
|
22
|
-
idle-incremental,"idle,incremental,clicker,automation,progression",low,"Progression pacing;Reset/prestige mechanics;Offline gains;Long-session balance;Content runway","Progression curves;Prestige design;Offline economy;Monetization (if applicable)","genre-research","progression_pacing;prestige_model;offline_gains"
|
|
23
|
-
sandbox,"sandbox,build,create,freedom,minimal goals",low,"Creative tool depth;Performance at scale;Saving/sharing user content;Optional goals;UGC moderation","Creative tools;Performance at scale;UGC pipelines;Moderation","genre-research","creative_tools;perf_at_scale;ugc_pipeline"
|
|
24
|
-
party-game,"party,minigame,local-multiplayer,casual",low,"Minigame variety;Controller/ input sharing;Round pacing;Accessibility;Drop-in/drop-out","Minigame design;Local MP patterns;Pacing;Accessibility","genre-research","minigame_roster;local_mp_model;round_pacing"
|
|
25
|
-
text-based,"text,parser,interactive-fiction,mud",low,"Parser coverage vs choice-based;World state tracking;Save model;Readability on target devices","Parser design or choice architecture;World state;Save models","genre-research","parser_or_choice;world_state;save_model"
|
|
26
|
-
general,"",low,"Standard gameplay concerns;Basic pacing;Target-platform feel","General game design practices","continue","standard_sections"
|
package/lib/bmad-cache/gds/src/workflows/2-design/gds-gdd/assets/validation-report-template.html
DELETED
|
@@ -1,190 +0,0 @@
|
|
|
1
|
-
<!DOCTYPE html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<meta charset="utf-8">
|
|
5
|
-
<title>GDD Validation: $prd_name</title>
|
|
6
|
-
<style>
|
|
7
|
-
:root {
|
|
8
|
-
--bg: #fafaf9;
|
|
9
|
-
--surface: #ffffff;
|
|
10
|
-
--border: #e7e5e4;
|
|
11
|
-
--text: #1c1917;
|
|
12
|
-
--muted: #78716c;
|
|
13
|
-
--pass: #22c55e;
|
|
14
|
-
--warn: #eab308;
|
|
15
|
-
--fail: #ef4444;
|
|
16
|
-
--na: #94a3b8;
|
|
17
|
-
--sev-low: #64748b;
|
|
18
|
-
--sev-medium: #ca8a04;
|
|
19
|
-
--sev-high: #ea580c;
|
|
20
|
-
--sev-critical: #dc2626;
|
|
21
|
-
--grade-exc: #16a34a;
|
|
22
|
-
--grade-good: #65a30d;
|
|
23
|
-
--grade-fair: #d97706;
|
|
24
|
-
--grade-poor: #dc2626;
|
|
25
|
-
}
|
|
26
|
-
* { box-sizing: border-box; }
|
|
27
|
-
html, body { margin: 0; padding: 0; }
|
|
28
|
-
body {
|
|
29
|
-
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif;
|
|
30
|
-
background: var(--bg);
|
|
31
|
-
color: var(--text);
|
|
32
|
-
line-height: 1.55;
|
|
33
|
-
font-size: 15px;
|
|
34
|
-
}
|
|
35
|
-
.container { max-width: 960px; margin: 0 auto; padding: 32px 24px 64px; }
|
|
36
|
-
|
|
37
|
-
header.report-header {
|
|
38
|
-
display: flex;
|
|
39
|
-
align-items: center;
|
|
40
|
-
justify-content: space-between;
|
|
41
|
-
gap: 24px;
|
|
42
|
-
padding-bottom: 16px;
|
|
43
|
-
border-bottom: 1px solid var(--border);
|
|
44
|
-
margin-bottom: 24px;
|
|
45
|
-
}
|
|
46
|
-
.title h1 { margin: 0; font-size: 22px; font-weight: 600; letter-spacing: -0.01em; }
|
|
47
|
-
.title .subtitle { color: var(--muted); font-size: 13px; margin-top: 4px; font-family: ui-monospace, "SF Mono", Menlo, monospace; }
|
|
48
|
-
.grade {
|
|
49
|
-
padding: 10px 18px;
|
|
50
|
-
border-radius: 8px;
|
|
51
|
-
font-weight: 600;
|
|
52
|
-
color: white;
|
|
53
|
-
font-size: 15px;
|
|
54
|
-
white-space: nowrap;
|
|
55
|
-
}
|
|
56
|
-
.grade-excellent { background: var(--grade-exc); }
|
|
57
|
-
.grade-good { background: var(--grade-good); }
|
|
58
|
-
.grade-fair { background: var(--grade-fair); }
|
|
59
|
-
.grade-poor { background: var(--grade-poor); }
|
|
60
|
-
|
|
61
|
-
.synthesis {
|
|
62
|
-
background: var(--surface);
|
|
63
|
-
border: 1px solid var(--border);
|
|
64
|
-
border-left: 3px solid var(--muted);
|
|
65
|
-
border-radius: 8px;
|
|
66
|
-
padding: 16px 20px;
|
|
67
|
-
margin-bottom: 24px;
|
|
68
|
-
color: var(--text);
|
|
69
|
-
font-size: 15px;
|
|
70
|
-
}
|
|
71
|
-
.synthesis:empty { display: none; }
|
|
72
|
-
|
|
73
|
-
.scoreboard {
|
|
74
|
-
background: var(--surface);
|
|
75
|
-
border: 1px solid var(--border);
|
|
76
|
-
border-radius: 8px;
|
|
77
|
-
padding: 18px 20px;
|
|
78
|
-
margin-bottom: 24px;
|
|
79
|
-
}
|
|
80
|
-
.score-bar { margin: 0 0 14px; line-height: 0; }
|
|
81
|
-
.score-stats { display: flex; gap: 22px; font-size: 14px; flex-wrap: wrap; }
|
|
82
|
-
.score-stats span { display: inline-flex; align-items: center; gap: 6px; }
|
|
83
|
-
.score-stats .dot { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
|
|
84
|
-
.dot-pass { background: var(--pass); }
|
|
85
|
-
.dot-warn { background: var(--warn); }
|
|
86
|
-
.dot-fail { background: var(--fail); }
|
|
87
|
-
.dot-na { background: var(--na); }
|
|
88
|
-
.total-count { margin-left: auto; color: var(--muted); }
|
|
89
|
-
|
|
90
|
-
section.category { margin-bottom: 16px; }
|
|
91
|
-
section.category details {
|
|
92
|
-
background: var(--surface);
|
|
93
|
-
border: 1px solid var(--border);
|
|
94
|
-
border-radius: 8px;
|
|
95
|
-
overflow: hidden;
|
|
96
|
-
}
|
|
97
|
-
section.category summary {
|
|
98
|
-
padding: 14px 20px;
|
|
99
|
-
cursor: pointer;
|
|
100
|
-
user-select: none;
|
|
101
|
-
list-style: none;
|
|
102
|
-
}
|
|
103
|
-
section.category summary::-webkit-details-marker { display: none; }
|
|
104
|
-
section.category summary::before {
|
|
105
|
-
content: "▸";
|
|
106
|
-
display: inline-block;
|
|
107
|
-
margin-right: 10px;
|
|
108
|
-
color: var(--muted);
|
|
109
|
-
transition: transform 0.15s ease;
|
|
110
|
-
}
|
|
111
|
-
section.category details[open] summary::before { transform: rotate(90deg); }
|
|
112
|
-
section.category summary h2 { display: inline; margin: 0; font-size: 16px; font-weight: 600; letter-spacing: -0.005em; }
|
|
113
|
-
section.category .count { color: var(--muted); font-weight: 400; margin-left: 6px; font-size: 14px; }
|
|
114
|
-
|
|
115
|
-
article.finding { padding: 16px 20px; border-top: 1px solid var(--border); }
|
|
116
|
-
article.finding-fail { background: rgba(239, 68, 68, 0.025); }
|
|
117
|
-
article.finding header {
|
|
118
|
-
display: flex;
|
|
119
|
-
align-items: center;
|
|
120
|
-
gap: 10px;
|
|
121
|
-
flex-wrap: wrap;
|
|
122
|
-
margin-bottom: 8px;
|
|
123
|
-
}
|
|
124
|
-
.badge {
|
|
125
|
-
font-size: 10.5px;
|
|
126
|
-
padding: 3px 8px;
|
|
127
|
-
border-radius: 4px;
|
|
128
|
-
font-weight: 600;
|
|
129
|
-
text-transform: uppercase;
|
|
130
|
-
letter-spacing: 0.04em;
|
|
131
|
-
line-height: 1.4;
|
|
132
|
-
}
|
|
133
|
-
.badge-pass { background: rgba(34, 197, 94, 0.12); color: #15803d; }
|
|
134
|
-
.badge-warn { background: rgba(234, 179, 8, 0.14); color: #854d0e; }
|
|
135
|
-
.badge-fail { background: rgba(239, 68, 68, 0.12); color: #b91c1c; }
|
|
136
|
-
.badge-na { background: rgba(148, 163, 184, 0.16); color: #475569; }
|
|
137
|
-
.badge-sev-low { background: rgba(100, 116, 139, 0.12); color: var(--sev-low); }
|
|
138
|
-
.badge-sev-medium { background: rgba(202, 138, 4, 0.14); color: var(--sev-medium); }
|
|
139
|
-
.badge-sev-high { background: rgba(234, 88, 12, 0.14); color: var(--sev-high); }
|
|
140
|
-
.badge-sev-critical { background: rgba(220, 38, 38, 0.14); color: var(--sev-critical); }
|
|
141
|
-
.finding-id { font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: 12px; color: var(--muted); }
|
|
142
|
-
.finding-title { margin: 0; font-size: 15px; font-weight: 500; flex: 1; min-width: 200px; }
|
|
143
|
-
.finding-location, .finding-note, .finding-fix { margin-top: 6px; font-size: 14px; color: var(--text); }
|
|
144
|
-
.finding-location strong, .finding-fix strong { color: var(--muted); font-weight: 500; }
|
|
145
|
-
|
|
146
|
-
footer.report-footer {
|
|
147
|
-
margin-top: 40px;
|
|
148
|
-
padding-top: 16px;
|
|
149
|
-
border-top: 1px solid var(--border);
|
|
150
|
-
font-size: 12px;
|
|
151
|
-
color: var(--muted);
|
|
152
|
-
font-family: ui-monospace, "SF Mono", Menlo, monospace;
|
|
153
|
-
}
|
|
154
|
-
footer .meta { display: flex; gap: 24px; flex-wrap: wrap; }
|
|
155
|
-
</style>
|
|
156
|
-
</head>
|
|
157
|
-
<body>
|
|
158
|
-
<div class="container">
|
|
159
|
-
<header class="report-header">
|
|
160
|
-
<div class="title">
|
|
161
|
-
<h1>$prd_name — GDD Validation Report</h1>
|
|
162
|
-
<div class="subtitle">$prd_path</div>
|
|
163
|
-
</div>
|
|
164
|
-
<div class="grade $grade_class">$grade</div>
|
|
165
|
-
</header>
|
|
166
|
-
|
|
167
|
-
<div class="synthesis">$overall_synthesis</div>
|
|
168
|
-
|
|
169
|
-
<div class="scoreboard">
|
|
170
|
-
<div class="score-bar">$score_svg</div>
|
|
171
|
-
<div class="score-stats">
|
|
172
|
-
<span><span class="dot dot-pass"></span>$passed pass</span>
|
|
173
|
-
<span><span class="dot dot-warn"></span>$warned warn</span>
|
|
174
|
-
<span><span class="dot dot-fail"></span>$failed fail</span>
|
|
175
|
-
<span><span class="dot dot-na"></span>$na n/a</span>
|
|
176
|
-
<span class="total-count">$total items checked</span>
|
|
177
|
-
</div>
|
|
178
|
-
</div>
|
|
179
|
-
|
|
180
|
-
$categories_html
|
|
181
|
-
|
|
182
|
-
<footer class="report-footer">
|
|
183
|
-
<div class="meta">
|
|
184
|
-
<span>Checklist: $checklist_path</span>
|
|
185
|
-
<span>Generated: $timestamp</span>
|
|
186
|
-
</div>
|
|
187
|
-
</footer>
|
|
188
|
-
</div>
|
|
189
|
-
</body>
|
|
190
|
-
</html>
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
# DO NOT EDIT -- overwritten on every update.
|
|
2
|
-
#
|
|
3
|
-
# Workflow customization surface for gds-gdd.
|
|
4
|
-
#
|
|
5
|
-
# Override files (not edited here):
|
|
6
|
-
# {project-root}/_bmad/custom/gds-gdd.toml (team)
|
|
7
|
-
# {project-root}/_bmad/custom/gds-gdd.user.toml (personal)
|
|
8
|
-
|
|
9
|
-
[workflow]
|
|
10
|
-
|
|
11
|
-
# --- Configurable below. Overrides merge per BMad structural rules: ---
|
|
12
|
-
# scalars: override wins • arrays: append
|
|
13
|
-
|
|
14
|
-
# Steps to run before the standard activation (config load, greet).
|
|
15
|
-
# Use for pre-flight loads, compliance checks, etc.
|
|
16
|
-
activation_steps_prepend = []
|
|
17
|
-
|
|
18
|
-
# Steps to run after greet but before the workflow begins.
|
|
19
|
-
# Use for context-heavy setup that should happen once the user has been acknowledged.
|
|
20
|
-
activation_steps_append = []
|
|
21
|
-
|
|
22
|
-
# Persistent facts the workflow keeps in mind for the whole run
|
|
23
|
-
# (standards, compliance constraints, stylistic guardrails).
|
|
24
|
-
# Each entry is either a literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed
|
|
25
|
-
# path/glob whose contents are loaded as facts.
|
|
26
|
-
#
|
|
27
|
-
# Default loads project-context.md if gds-generate-project-context has produced one — this gives
|
|
28
|
-
# the facilitator persistent awareness of the project's tech, domain, and constraints without
|
|
29
|
-
# re-asking. Common opt-ins (set in team/user override TOML):
|
|
30
|
-
# "skill:acme-studio:house-game-pillars" # a skill that contains relevant info
|
|
31
|
-
# "Every mechanic in the GDD must trace back to a documented pillar." # generic agent instruction
|
|
32
|
-
persistent_facts = [
|
|
33
|
-
"file:{project-root}/**/project-context.md",
|
|
34
|
-
]
|
|
35
|
-
|
|
36
|
-
# Executed when the workflow completes (after the user has been told the
|
|
37
|
-
# GDD is ready). Accepts either a string scalar (single instruction)
|
|
38
|
-
# or an array of instructions executed in order. Empty for none.
|
|
39
|
-
on_complete = ""
|
|
40
|
-
|
|
41
|
-
# Default GDD structure. Treated as a starting point — the LLM adapts it
|
|
42
|
-
# to the game type and project scope. The {{GAME_TYPE_SPECIFIC_SECTIONS}}
|
|
43
|
-
# slot is filled from the matched genre guide. Override the path in
|
|
44
|
-
# team/user TOML to enforce a different structure (e.g. studio-standard GDD).
|
|
45
|
-
gdd_template = "assets/gdd-template.md"
|
|
46
|
-
|
|
47
|
-
# Validation checklist used at the Validate intent and at Finalize step 3.
|
|
48
|
-
# A subagent walks the checklist against gdd.md and returns structured findings.
|
|
49
|
-
# The genre and game-type checks read game_types_csv and genre_complexity_csv.
|
|
50
|
-
# Override the path in team/user TOML to enforce a studio-specific checklist.
|
|
51
|
-
validation_checklist = "assets/gdd-validation-checklist.md"
|
|
52
|
-
|
|
53
|
-
# HTML template used to render validation findings into a styled, scannable
|
|
54
|
-
# report. The renderer (scripts/render-validation-html.py) substitutes
|
|
55
|
-
# structured findings + summary stats into this template; the template is
|
|
56
|
-
# fully overridable to match studio branding. The default uses inline CSS, no
|
|
57
|
-
# external dependencies, and native HTML <details> for collapse — no JS.
|
|
58
|
-
validation_report_template = "assets/validation-report-template.html"
|
|
59
|
-
|
|
60
|
-
# Game-type taxonomy. Drives game-type detection during Discovery and the
|
|
61
|
-
# game-type cross-reference check during Validate. Columns: id, name,
|
|
62
|
-
# description, genre_tags, fragment_file. Each fragment_file names a genre
|
|
63
|
-
# guide under assets/game-types/ that scaffolds the GameType Specific Design
|
|
64
|
-
# section. Override the path in team/user TOML to extend the taxonomy.
|
|
65
|
-
game_types_csv = "assets/game-types.csv"
|
|
66
|
-
|
|
67
|
-
# Genre-complexity ratings. Drives the genre-compliance check during Validate
|
|
68
|
-
# and tells Discovery which genres carry must-document conventions. Columns:
|
|
69
|
-
# genre, signals, complexity, key_concerns, required_knowledge,
|
|
70
|
-
# suggested_workflow, special_sections.
|
|
71
|
-
genre_complexity_csv = "assets/genre-complexity.csv"
|
|
72
|
-
|
|
73
|
-
# Run folder location. The GDD, epics file, decision log, and optional
|
|
74
|
-
# validation report all land inside `{output_dir}/{output_folder_name}/`.
|
|
75
|
-
output_dir = "{planning_artifacts}/gdds"
|
|
76
|
-
output_folder_name = "gdd-{project_name}-{date}"
|
|
77
|
-
|
|
78
|
-
# Document standards applied to human-consumed docs at Finalize. Each entry is
|
|
79
|
-
# a `skill:`, `file:`, or plain-text directive; the parent LLM applies the
|
|
80
|
-
# findings before the user sees the draft. Empty by default — Game Dev Studio
|
|
81
|
-
# ships no editorial-review skills. Add your own in team/user override TOML:
|
|
82
|
-
# "skill:my-studio:editorial-review-prose"
|
|
83
|
-
# "file:{project-root}/_bmad/style-guides/studio-voice.md"
|
|
84
|
-
# "Convert all dates to ISO 8601 format."
|
|
85
|
-
doc_standards = []
|
|
86
|
-
|
|
87
|
-
# External-source registry. Natural-language directives describing knowledge
|
|
88
|
-
# bases, MCP tools, or internal systems the LLM may consult during the workflow
|
|
89
|
-
# when a relevant need surfaces. The LLM does NOT query these preemptively —
|
|
90
|
-
# it consults them on demand. If a named MCP tool is unavailable at runtime,
|
|
91
|
-
# the LLM falls back to standard behavior and notes the gap. Empty by default.
|
|
92
|
-
external_sources = []
|
|
93
|
-
|
|
94
|
-
# External-handoff routing. Natural-language directives the LLM applies at
|
|
95
|
-
# Finalize to route outputs beyond local files (Confluence, Notion, Google
|
|
96
|
-
# Drive, ticket systems, etc.). Handoffs run after the artifact is polished
|
|
97
|
-
# and before the final user-facing message. URLs or IDs returned by the
|
|
98
|
-
# destination are captured and surfaced to the user. Empty by default.
|
|
99
|
-
external_handoffs = []
|