customize.toml 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. # DO NOT EDIT -- overwritten on every update.
  2. #
  3. # Workflow customization surface for bmad-product-brief.
  4. #
  5. # Override files (not edited here):
  6. # {project-root}/_bmad/custom/bmad-product-brief.toml (team)
  7. # {project-root}/_bmad/custom/bmad-product-brief.user.toml (personal)
  8. [workflow]
  9. # --- Configurable below. Overrides merge per BMad structural rules: ---
  10. # scalars: override wins • arrays: append
  11. # Steps to run before the standard activation (config load, greet).
  12. # Use for pre-flight loads, compliance checks, etc.
  13. activation_steps_prepend = []
  14. # Steps to run after greet but before the workflow begins.
  15. # Use for context-heavy setup that should happen once the user has been acknowledged.
  16. activation_steps_append = []
  17. # Persistent facts the workflow keeps in mind for the whole run
  18. # (standards, compliance constraints, stylistic guardrails).
  19. # Each entry is either a literal sentence, a skill prefixed with `skill:`, or a `file:`-prefixed path/glob
  20. # whose contents are loaded as facts.
  21. #
  22. # Default loads project-context.md if bmad-generate-project-context has produced one — this gives
  23. # the facilitator persistent awareness of the project's tech, domain, and constraints without
  24. # re-asking. Common opt-ins (set in team/user override TOML):
  25. # "skill:acme-co:terms-and-conditions" # a skill that contains some relevant info
  26. # "Elvis has left the building" # generic agent instruction
  27. persistent_facts = [
  28. "file:{project-root}/**/project-context.md",
  29. ]
  30. # Executed when the workflow completes (after the user has been told the
  31. # brief is ready). Accepts either a string scalar (single instruction)
  32. # or an array of instructions executed in order. Empty for none.
  33. on_complete = ""
  34. # Default brief structure. Treated as a starting point — the LLM adapts it
  35. # to the product, purpose, and domain. Override the path in team/user TOML
  36. # to enforce a different structure (e.g. regulated-industry, investor-deck).
  37. brief_template = "assets/brief-template.md"
  38. # Run folder location. The brief and optional addendum land inside `{brief_output_path}/{run_folder_pattern}/`.
  39. # Resume-check scans `{brief_output_path}` for prior unfinished runs.
  40. brief_output_path = "{planning_artifacts}/briefs"
  41. run_folder_pattern = "brief-{project_name}-{date}"
  42. # Document standards applied to human-consumed docs at finalize. Each entry is
  43. # a `skill:`, `file:`, or plain-text directive; the parent LLM applies the
  44. # findings before the user sees the draft. Encodes standards, not options.
  45. #
  46. # Examples:
  47. # "skill:bmad-editorial-review-prose"
  48. # "file:{project-root}/_bmad/style-guides/company-voice.md"
  49. # "Convert all dates to ISO 8601 format."
  50. #
  51. # Suggested order (broader passes first, narrower last):
  52. # 1. Structural (cuts, reorganization, section sizing)
  53. # 2. Content/voice/conventions (org standards, tone, terminology, compliance)
  54. # 3. Prose mechanics (grammar, clarity, typos)
  55. #
  56. # Override the array in team/user TOML to add additional standards. Append-only:
  57. # base entries cannot be removed or replaced (resolver has no removal mechanism).
  58. doc_standards = [
  59. "skill:bmad-editorial-review-structure",
  60. "skill:bmad-editorial-review-prose",
  61. ]
  62. # External-source registry. Natural-language directives describing knowledge
  63. # bases, MCP tools, or internal systems the LLM may consult during the workflow
  64. # when a relevant need surfaces. The LLM does NOT query these preemptively —
  65. # it consults them on demand (during Discovery, validation, drafting, etc.).
  66. # Each entry names the tool, the conditions for using it, and any fields the
  67. # tool needs. If a named MCP tool is unavailable at runtime, the LLM falls
  68. # back to standard behavior and notes the gap. Empty by default.
  69. #
  70. # Examples (set in team/user override TOML):
  71. # "When researching internal product context, consult corp:kb_search (database='product-docs') before web search."
  72. # "For voice-of-customer signal during Discovery, query corp:feedback_search with project={project_name}."
  73. # "When validating domain-compliance claims for a healthcare brief, cross-check against corp:hipaa_reference."
  74. external_sources = []
  75. # External-handoff routing. Natural-language directives the LLM applies at
  76. # Finalize to route outputs beyond local files (Confluence, Notion, Google
  77. # Drive, ticket systems, etc.). Each entry names the MCP tool, the destination,
  78. # and the fields the tool needs. Handoffs run after the artifact is polished
  79. # and before the final user-facing message. URLs or IDs returned by the
  80. # destination are captured and surfaced to the user. If a named tool is
  81. # unavailable at runtime, the handoff is skipped and flagged in the JSON
  82. # status; local files always exist regardless. Fires automatically — users
  83. # can opt out in their prompt for a specific run. Empty by default.
  84. #
  85. # Examples (set in team/user override TOML):
  86. # "After finalize, upload brief.md and addendum.md to Confluence via corp:confluence_upload (space_key='PROD', parent_page='Product Briefs', label='brief', author={user_name})."
  87. # "Post a ready-for-review ping to Slack via corp:slack_post (channel='#product', text='New brief: '+{confluence_url})."
  88. external_handoffs = []