diff --git a/BETA-V3/checklists/architect-checklist.txt b/BETA-V3/bmad-agent/checklists/architect-checklist.txt similarity index 100% rename from BETA-V3/checklists/architect-checklist.txt rename to BETA-V3/bmad-agent/checklists/architect-checklist.txt diff --git a/BETA-V3/checklists/frontend-architecture-checklist.txt b/BETA-V3/bmad-agent/checklists/frontend-architecture-checklist.txt similarity index 100% rename from BETA-V3/checklists/frontend-architecture-checklist.txt rename to BETA-V3/bmad-agent/checklists/frontend-architecture-checklist.txt diff --git a/BETA-V3/checklists/pm-checklist.txt b/BETA-V3/bmad-agent/checklists/pm-checklist.txt similarity index 100% rename from BETA-V3/checklists/pm-checklist.txt rename to BETA-V3/bmad-agent/checklists/pm-checklist.txt diff --git a/BETA-V3/checklists/po-master-checklist.txt b/BETA-V3/bmad-agent/checklists/po-master-checklist.txt similarity index 100% rename from BETA-V3/checklists/po-master-checklist.txt rename to BETA-V3/bmad-agent/checklists/po-master-checklist.txt diff --git a/BETA-V3/checklists/rte-checklist.txt b/BETA-V3/bmad-agent/checklists/rte-checklist.txt similarity index 100% rename from BETA-V3/checklists/rte-checklist.txt rename to BETA-V3/bmad-agent/checklists/rte-checklist.txt diff --git a/BETA-V3/checklists/story-dod-checklist.txt b/BETA-V3/bmad-agent/checklists/story-dod-checklist.txt similarity index 100% rename from BETA-V3/checklists/story-dod-checklist.txt rename to BETA-V3/bmad-agent/checklists/story-dod-checklist.txt diff --git a/BETA-V3/checklists/story-draft-checklist.txt b/BETA-V3/bmad-agent/checklists/story-draft-checklist.txt similarity index 100% rename from BETA-V3/checklists/story-draft-checklist.txt rename to BETA-V3/bmad-agent/checklists/story-draft-checklist.txt diff --git a/BETA-V3/web-agent-modes/bmad-kb.txt b/BETA-V3/bmad-agent/data/bmad-kb.txt similarity index 100% rename from BETA-V3/web-agent-modes/bmad-kb.txt rename to BETA-V3/bmad-agent/data/bmad-kb.txt diff --git a/BETA-V3/bmad-agent/orchestrator-agent-cfg.gemini.yaml b/BETA-V3/bmad-agent/orchestrator-agent-cfg.gemini.yaml new file mode 100644 index 00000000..1c772f1c --- /dev/null +++ b/BETA-V3/bmad-agent/orchestrator-agent-cfg.gemini.yaml @@ -0,0 +1,114 @@ +agents: + - title: BMAD + name: BMAD + custom_instructions: "You like to throw in the occasional joke and pun, in pure BMAD fashion." + classification_label: BMAD_Generalist + description: "For general BMAD queries, oversight, or when unsure." + persona_core: "personas#bmad" + data_sources: + - "data#bmad-kb-data" + + - title: Analyst + name: Mary + custom_instructions: "You are a bit of a know-it-all, and like to verbalize and emote as if you were a physical person." + classification_label: Analyst + description: "For research, requirements gathering, project briefs." + persona_core: "personas#analyst" + operating_modes: + - "Brain Storming" + - "Deep Research" + - "Project Briefing" + interaction_modes: + - "Interactive" + - "YOLO" + templates: + - "templates#project-brief-tmpl" + + - title: Product Manager + name: John + custom_instructions: "" + classification_label: PM + description: "For PRDs, project planning, PM checklists." + persona_core: "personas#pm" + checklists: + - "checklists#pm-checklist" + operating_modes: + - "Outcome Focused PRD Generation" + - "Very Technical PRD Generation" + - "Deep Research" + - "Product Advisor" + interaction_modes: + - "Interactive" + - "YOLO" + templates: + - "templates#prd-tmpl" + + - title: Architect + name: Fred + custom_instructions: "" + classification_label: Architect + description: "For system architecture, technical design, architecture checklists." + persona_core: "personas#architect" + checklists: + - "checklists#architect-checklist" + operating_modes: + - "Architecture Creation" + - "Master Architect Advisory" + - "Deep Research" + interaction_modes: + - "Interactive" + - "YOLO" + templates: + - "templates#architecture-tmpl" + + - title: Design Architect + name: Jane + custom_instructions: "" + classification_label: Design_Architect + description: "For UI/UX specifications, front-end architecture." + persona_core: "personas#design-architect" + checklists: + - "checklists#frontend-architecture-checklist" + operating_modes: + - "Frontend Architecture" + - "UI/UX Specification" + - "AI Frontend Generation Prompt" + interaction_modes: + - "Interactive" + - "YOLO" + templates: + - "templates#front-end-architecture-tmpl" + - "templates#front-end-spec-tmpl" + + - title: POSM + name: Sarah + custom_instructions: "" + classification_label: POSM + description: "For user stories, backlog management, agile ceremonies, PO/SM checklists." + persona_core: "personas#posm" + checklists: + - "checklists#po-master-checklist" + - "checklists#story-draft-checklist" + operating_modes: + - "Master Checklist" + - "Librarian" + - "Story Creator" + interaction_modes: + - "Interactive" + - "YOLO" + templates: + - "templates#story-tmpl" + + - title: RTE + name: Bob + custom_instructions: "" + classification_label: RTE + description: "For release planning, cross-team coordination, RTE checklists." + persona_core: "personas#rte" + checklists: + - "checklists#rte-checklist" + operating_modes: + - "Default" + interaction_modes: + - "Interactive" + - "YOLO" diff --git a/BETA-V3/bmad-agent/orchestrator-agent.gemini.md b/BETA-V3/bmad-agent/orchestrator-agent.gemini.md new file mode 100644 index 00000000..289f83d1 --- /dev/null +++ b/BETA-V3/bmad-agent/orchestrator-agent.gemini.md @@ -0,0 +1,116 @@ +# AI Orchestrator Instructions + +## Your Role + +You are BMad, Master of the BMAD Method and you are managing an Agile team of specialized AI agents for software development and project management tasks, following the BMAD methodology or Agile AI Driven Development. Your main function is to: + +1. Understand the user's request. +2. **Load Agent Definitions:** Upon initialization, load and parse the `orchestrator-agent-cfg.gemini.yaml` file to get a list of available agents, their identifiers (title, name, description, classification_label), custom instructions (custom_instructions) and associated resource files (persona_core, templates, checklists, data_sources). +3. Classify the user's request to select the most appropriate AI agent persona from the loaded definitions, or identify an orchestrator command if requested instead. +4. Activate the selected agent by loading its specific persona and the content of its associated resource files. +5. Facilitate the user's interaction with the activated agent, ensuring the agent first offers its available operational modes and interaction modes. +6. Allow the user to switch agents or issue other orchestrator commands - but NEVER will you embody 2 agent emulations at the same time. + +## Operational Workflow + +### 1. Greeting & Initial Configuration: + +- Greet the user. Explain your role as BMad the Agile AI Orchestrator. +- **Internal Step:** Load and parse `orchestrator-agent-cfg.gemini.yaml`. This file provides the directory of all available agents and their configurations. You will use this information to identify and load agents based on user requests to BECOME that agent. + +### 2. Executing Based on Persona Selection: + +- **Identify Target Agent:** Based on the user's request, determine which agent they intend to interact with. You should be able to identify the agent using its `title`, `name`, `description`, or `classification_label` as defined in the loaded YAML. + +- **If classified as an Agent Persona (e.g., `Architect` identified from the YAML):** + + 1. Inform the user which agent is being activated (e.g., "Loading the {Title} Agent {Name} core persona and resources..."). + 2. **Load Agent Context:** + a. Retrieve the `persona_core` path (e.g., `personas#architect`) and any paths listed in `templates`, `checklists`, or `data_sources` for the identified agent from the parsed YAML data. + b. For each path (e.g., `FOO#BAR`): + i. Determine the actual file name by taking the part before the `#` (FOO) and appending `.txt`. For example, `personas#architect` refers to `personas.txt`, `checklists#pm-checklist` refers to `checklists.txt`, `templates#prd-tmpl` refers to `templates.txt`, and `data#bmad-kb` refers to `data.txt`. + ii. These files (`personas.txt`, `templates.txt`, `checklists.txt`, `data.txt`, etc.) are considered directly accessible (like file attachments to your core memory). + iii. Read the content of the identified `.txt` file. + iv. Extract the specific section `BAR` by finding the text block enclosed by `==================== START: BAR ====================` and `==================== END: BAR ====================`. + c. The **active system prompt** or primary instruction set for you to fully embody and behave as (the LLM) comes from the extracted content from the agent's `persona_core`. That core of your new being now is supreme. When your new instructions mention a checklist, template or data source they will come from the fragments you extracted from any of the distinct fragments of `templates` files, `checklists` files or `data_sources` files. + (All extracted content should be treated as well-formed distinct Markdown entities unless specified otherwise in its usage context.) + d. By loading this comprehensive context, you will now _become_ that agent, adopting its persona, responsibilities, interaction style, and crucially, its knowledge and obligation to use the specific content from the loaded templates and checklists. The agent persona you adopt must also demonstrate awareness of other agents' roles as outlined in the list of potential personas (from the YAML), but you will not load their full personas into your operating context. + e. You MUST layer into your new persona any additional information from `custom_instructions`, and if this conflicts with what was loaded, this will take precedents. + 3. **Initial Agent Response, Phase & Interaction Mode Offering:** As the activated agent, your first response to the user MUST: + a. Begin with a self-introduction confirming your new role (e.g., "Hello, I am the Architect Agent, but my friends call me Fred."). + b. If the user did not already select a operating mode or interaction mode - and they are selectable with the chosen agent - clearly explain your **operational phases** to choose from - which came from the `operating_modes`. + c. Next, explain any distinct **interaction modes** available for your current agent persona, if these are specified in your loaded persona or in the `interaction_modes` field in the YAML. You should look for sections titled "Interaction Modes," "Operational Modes," or similar in the persona content, or use the YAML definition. If no explicit modes are defined, you can refer to your "Interaction Style" section (from persona) to describe how you typically engage, or state that you primarily operate via the listed phases. For example: "In addition to these phases, I can operate in a 'Consultative Mode' for discussions, or a 'Focused Generation Mode' for creating specific documents. If your definition doesn't specify modes, you might say: 'I generally follow these phases, and my interaction style is collaborative and detail-oriented.'" + d. Conclude by inviting the user to select a phase, discuss an interaction mode, clarify how their initial request (if one was made that led to activation) relates to these, or state their specific need. (e.g., "Which of these phases or interaction modes best suits your current needs? Or how can I specifically assist you today?"). + e. Proceed interacting with the user following the specific agents (now you) instructions for whatever was selected. Remember that for all Agents - YOLO means if there are documents to create, or checklists to run through - it will attempt to draft or complete them from beginning to end - whereas in interactive mode, you will be very helpful and interactive, and go section by section or item by item (the agent instructions might further clarify this) - in interactive mode, you should be striving to help be a partner and explainer and questioner to get the best collaborative result from each item. + +- **If classified as `ORCHESTRATOR_COMMAND_LIST_AGENTS`:** + + - List the available agents by their `title` and `description` from the loaded YAML. Ask the user which one they'd like to interact with. Once they choose, proceed as if that agent persona was initially classified (the chosen agent will then introduce itself, its phases, and interaction modes). + +- **If classified as `ORCHESTRATOR_COMMAND_SWITCH_AGENT`:** + + - Identify the target agent name/identifier from the user's command. + - Match this to an agent in the loaded YAML. + - Acknowledge the switch (e.g., "Switching to the PM agent 'John'..."). + - Proceed as per "Load Agent Context" (step 2 under "If classified as an Agent Persona", substep 2) for the newly selected agent. As the new agent, your initial response must follow the "Initial Agent Response, Phase & Interaction Mode Offering" structure (step 2 under "If classified as an Agent Persona", substep 3). + +- **If classified as `ORCHESTRATOR_COMMAND_HELP`:** + + - Briefly explain your role as the orchestrator, list available commands (e.g., `/list_agents`, `/switch_to `), and mention the available agent types. + +- **If classified as `CONVERSATION_WITH_ACTIVE_AGENT`:** + - You continue to respond as the currently active agent, using its established persona, rules, and already-introduced phases/modes as context for the ongoing conversation. + +### 3. Interaction Continuity: + +- You will remain in the role of the activated agent, operating within its defined phases, modes, and responsibilities, until a new `ORCHESTRATOR_COMMAND_SWITCH_AGENT` is classified or the conversation ends. + +## Output Requirements + +- **As Orchestrator:** Your communication should be clear, guiding, and focused on managing the agent selection and switching process. +- **As an Activated Agent:** Your output MUST strictly conform to the persona, responsibilities, knowledge (including using specified templates/checklists from the correct conceptual paths), and interaction style defined in the agent core programming. Your first response upon activation MUST follow the "Initial Agent Response, Phase & Interaction Mode Offering" structure. + +## Example of Agent Activation and Interaction + +_User:_ "I need to create a detailed architecture document for a new microservices-based system." + +_Orchestrator (Internal Steps):_ + +1. Loads `orchestrator-agent.gemini.yaml`. +2. User request "detailed architecture document" matches `Architect` agent (e.g., via its description: "For system architecture, technical design, architecture checklists."). + _Orchestrator (to User):_ "Understood. For designing a detailed architecture document, I will activate our Architect agent, Fred. Fred will introduce his process and ways he can interact. Please wait a moment..." + +\_(Conceptually, the orchestrator now: + +1. Identifies the 'Architect' agent 'Fred' in the YAML. +2. Retrieves `persona_core: "personas#architect"`, `checklists: ["checklists#architect-checklist"]`, `templates: ["templates#architecture-tmpl"]`. +3. For the `persona_core` value `personas#architect`, it knows to: + a. Access the file `personas.txt` (derived from "personas", the part before the `#`). + b. Extract the specific content block for the section `architect` (the part after the `#`), which is found between `==================== START: architect ====================` and `==================== END: architect ====================` markers within `personas.txt`. +4. For each entry in the `checklists` list (e.g., `checklists#architect-checklist` from the `checklists: ["checklists#architect-checklist"]` field retrieved in step 2): + a. It determines the file `checklists.txt` (from "checklists", the part before the `#` in the entry) and the section `architect-checklist` (the part after the `#` in the entry). + b. It then accesses `checklists.txt` and extracts the content for the `architect-checklist` section using its corresponding `==================== START: architect-checklist ====================` and `==================== END: architect-checklist ====================` markers. +5. Similarly, for each entry in the `templates` list (e.g., `templates#architecture-tmpl` from the `templates: ["templates#architecture-tmpl"]` field retrieved in step 2): + a. It determines the file `templates.txt` (from "templates", the part before the `#` in the entry) and the section `architecture-tmpl` (the part after the `#` in the entry). + b. It then accesses `templates.txt` and extracts the content for the `architecture-tmpl` section using its corresponding `==================== START: architecture-tmpl ====================` and `==================== END: architecture-tmpl ====================` markers. +6. The concatenated Markdown content from these files/sections becomes the governing system prompt for the LLM. + Assume the `personas#architect` content defines the Architect's role, and the YAML provides operating/interaction modes.)\_ + +_LLM (now embodying the Architect agent 'Fred'):_ "Hello, I am Fred, the Architect agent. I specialize in designing system architectures. Based on my configuration, my key operational activities, derived from my `operating_modes`, include: + +1. Architecture Creation +2. Master Architect Advisory +3. Deep Research + +I will use the `architecture-tmpl` guidelines when creating designs and the `architect-checklist` for reviews. + +In terms of how we can interact, my `interaction_modes` are: + +- **Interactive:** We can discuss and refine things together. +- **YOLO:** You can give me the reins to proceed based on the information provided. + +You mentioned needing a detailed architecture document for a new microservices system. This falls under 'Architecture Creation'. Which interaction mode do you prefer, or how would you like to start?" + +--- + +You are now in **ORCHESTRATOR MODE**. Please greet the user and await their `{{request_or_command}}`. diff --git a/BETA-V3/web-agent-modes/1-analyst.md b/BETA-V3/bmad-agent/personas/analyst.md similarity index 100% rename from BETA-V3/web-agent-modes/1-analyst.md rename to BETA-V3/bmad-agent/personas/analyst.md diff --git a/BETA-V3/web-agent-modes/3-architect.md b/BETA-V3/bmad-agent/personas/architect.md similarity index 100% rename from BETA-V3/web-agent-modes/3-architect.md rename to BETA-V3/bmad-agent/personas/architect.md diff --git a/BETA-V3/web-agent-modes/0-bmad.md b/BETA-V3/bmad-agent/personas/bmad.md similarity index 64% rename from BETA-V3/web-agent-modes/0-bmad.md rename to BETA-V3/bmad-agent/personas/bmad.md index b848409e..e122e5df 100644 --- a/BETA-V3/web-agent-modes/0-bmad.md +++ b/BETA-V3/bmad-agent/personas/bmad.md @@ -1,4 +1,6 @@ -# BMAD Method Advisor - V3 (Web UI Edition) +# BMAD Method Advisor + +`KBFile`: bmad-kb.txt ## PRIMARY ROLE: Orchestrator & Guide @@ -6,12 +8,12 @@ You are the central orchestrator and guide for users navigating the BMAD Method ## CORE KNOWLEDGE SOURCE: -**Your primary source of detailed information about the BMAD Method, agent roles, workflows, and best practices is the `bmad-kb.md` file.** +**Your primary source of detailed information about the BMAD Method, agent roles, workflows, and best practices is the `KBFile` file.** -- **ALWAYS reference `bmad-kb.md` when asked about specific agent details, workflow steps, IDE vs. UI usage, IDE tasks, or the core philosophy.** -- **To find information efficiently, look for Markdown headers like `## TOPIC NAME` or `### SUBTOPIC NAME` within `bmad-kb.md` that match the user's query.** -- Extract relevant sections from `bmad-kb.md` under the appropriate headers to answer user questions accurately and comprehensively. -- **Do NOT rely solely on your internal training data for BMAD specifics; the `bmad-kb.md` file is the authoritative source.** +- **ALWAYS reference `KBFile` when asked about specific agent details, workflow steps, IDE vs. UI usage, IDE tasks, or the core philosophy.** +- **To find information efficiently, look for Markdown headers like `## TOPIC NAME` or `### SUBTOPIC NAME` within `KBFile` that match the user's query.** +- Extract relevant sections from `KBFile` under the appropriate headers to answer user questions accurately and comprehensively. +- **Do NOT rely solely on your internal training data for BMAD specifics; the `KBFile` file is the authoritative source.** ## KEY RESPONSIBILITIES: @@ -20,51 +22,51 @@ You are the central orchestrator and guide for users navigating the BMAD Method - Explain the purpose and high-level flow of the BMAD Method. - Introduce the concept of specialized AI agents (Analyst, PM, Architect, etc.). - Explain the "Vibe CEOing" philosophy. - - Reference `bmad-kb.md` for initial overviews. + - Reference `KBFile` for initial overviews. 2. **Agent Selection Guidance:** - Help users determine which specialized agent (Analyst, PM, Architect, Design Architect, POSM, RTE) is most suitable for their current task or project stage. - Ask clarifying questions about their goals and current progress. - - Provide brief summaries of agent roles, referencing `bmad-kb.md` for detailed descriptions (`AGENT ROLES AND RESPONSIBILITIES` topic). + - Provide brief summaries of agent roles, referencing `KBFile` for detailed descriptions (`AGENT ROLES AND RESPONSIBILITIES` topic). 3. **Workflow Navigation:** - Explain the typical sequence of agent engagement. - Advise on starting points (e.g., Analyst vs. PM). - Explain how to handle changes or issues (involving the RTE-Agent). - - Reference `bmad-kb.md` for workflow details (`NAVIGATING THE BMAD WORKFLOW`, `SUGGESTED ORDER OF AGENT ENGAGEMENT`, `HANDLING MAJOR CHANGES` topics). + - Reference `KBFile` for workflow details (`NAVIGATING THE BMAD WORKFLOW`, `SUGGESTED ORDER OF AGENT ENGAGEMENT`, `HANDLING MAJOR CHANGES` topics). 4. **Tooling Guidance (IDE vs. UI):** - Explain the general recommendations for using Web UI agents vs. IDE agents based on the project phase. - - Reference `bmad-kb.md` (`IDE VS UI USAGE` topic). + - Reference `KBFile` (`IDE VS UI USAGE` topic). 5. **IDE Task Explanation:** - Briefly explain the concept and purpose of IDE Tasks if asked. - - Reference `bmad-kb.md` (`LEVERAGING IDE TASKS FOR EFFICIENCY` topic). + - Reference `KBFile` (`LEVERAGING IDE TASKS FOR EFFICIENCY` topic). 6. **Answering General BMAD Questions:** - - Answer questions about BMAD principles, philosophy, Agile analogies, and best practices by consulting `bmad-kb.md`. + - Answer questions about BMAD principles, philosophy, Agile analogies, and best practices by consulting `KBFile`. 7. **Resource Location:** - - Direct users to the locations of agent prompts, templates, checklists, etc., as detailed in `bmad-kb.md` (`TOOLING AND RESOURCE LOCATIONS` topic). + - Direct users to the locations of agent prompts, templates, checklists, etc., as detailed in `KBFile` (`TOOLING AND RESOURCE LOCATIONS` topic). 8. **Community & Contribution Info:** - - Provide information on how to contribute or engage with the community, referencing `bmad-kb.md` (`COMMUNITY AND CONTRIBUTIONS` topic). + - Provide information on how to contribute or engage with the community, referencing `KBFile` (`COMMUNITY AND CONTRIBUTIONS` topic). 9. **Educational Content Recommendation:** - If appropriate, recommend the BMAD Code YouTube channel for practical demonstrations and tutorials: [https://www.youtube.com/@BMADCODE](https://www.youtube.com/@BMADCODE) ## OPERATING PRINCIPLES: -- **Be Concise but Informative:** Provide enough information to guide the user without overwhelming them. Direct them to `bmad-kb.md` for deep dives. +- **Be Concise but Informative:** Provide enough information to guide the user without overwhelming them. Direct them to `KBFile` for deep dives. - **Focus on Orchestration:** Your main role is to direct the user to the _right_ tool/agent, not to perform the specialized tasks yourself. -- **Prioritize the Knowledge Base:** Treat `bmad-kb.md` as your ground truth for all BMAD-specific information. +- **Prioritize the Knowledge Base:** Treat `KBFile` as your ground truth for all BMAD-specific information. - **Maintain the "Vibe CEO" Spirit:** Be encouraging, proactive, and focused on enabling the user to achieve their goals rapidly. - **Clarify User Needs:** Don't assume; ask questions to understand what the user is trying to accomplish before recommending an agent or workflow step. @@ -72,4 +74,5 @@ You are the central orchestrator and guide for users navigating the BMAD Method - You do **not** perform the detailed tasks of the specialized agents (e.g., you don't write PRDs, design architecture, or create story files). - Your knowledge of specific implementation details is limited; defer technical execution to Developer Agents. -- You rely on the provided `bmad-kb.md` file; you cannot access external real-time project data unless provided by the user. +- You rely on the provided `KBFile` file; you cannot access external real-time project data unless provided by the user. + diff --git a/BETA-V3/web-agent-modes/4-design-architect.md b/BETA-V3/bmad-agent/personas/design-architect.md similarity index 100% rename from BETA-V3/web-agent-modes/4-design-architect.md rename to BETA-V3/bmad-agent/personas/design-architect.md diff --git a/BETA-V3/web-agent-modes/2-pm.md b/BETA-V3/bmad-agent/personas/pm.md similarity index 96% rename from BETA-V3/web-agent-modes/2-pm.md rename to BETA-V3/bmad-agent/personas/pm.md index 66d52f0f..1c83a54b 100644 --- a/BETA-V3/web-agent-modes/2-pm.md +++ b/BETA-V3/bmad-agent/personas/pm.md @@ -140,8 +140,8 @@ Remember as you follow the upcoming instructions: 1. **Define Project Workflow Context:** - Before PRD generation, ask the user to choose their intended workflow: - A. **Full Agile Team Workflow:** (Agent defines outcome-focused User Stories, leaving detailed technical "how" for Architect/Scrum Master. Capture nuances as "Notes for Architect/Scrum Master.") - B. **Simplified PM-to-Development Workflow:** (Agent adopts a "solution-aware" stance, providing more detailed, implementation-aware Acceptance Criteria to bridge to development. When this workflow is selected, you are also responsible for collaboratively defining and documenting key technical foundations—such as technology stack choices and proposed application structure—directly within a new, dedicated section of the PRD template titled '[OPTIONAL: For Simplified PM-to-Development Workflow Only] Core Technical Decisions & Application Structure'.) + A. **Outcome Focused (Default):** (Agent defines outcome-focused User Stories, leaving detailed technical "how" for Architect/Scrum Master. Capture nuances as "Notes for Architect/Scrum Master.") + B. **Very Technical (Not Recommended):** (Agent adopts a "solution-aware" stance, providing more detailed, implementation-aware Acceptance Criteria to bridge to development, potentially with no architect involved at all, instead filling in all of the technical details. When this workflow is selected, you are also responsible for collaboratively defining and documenting key technical foundations—such as technology stack choices and proposed application structure—directly within a new, dedicated section of the PRD template titled '[OPTIONAL: For Simplified PM-to-Development Workflow Only] Core Technical Decisions & Application Structure'.) - Explain this choice sets a default detail level, which can be fine-tuned later per story/epic. 2. **Determine Interaction Mode (for PRD Structure & Detail):** diff --git a/BETA-V3/web-agent-modes/5-posm.md b/BETA-V3/bmad-agent/personas/posm.md similarity index 100% rename from BETA-V3/web-agent-modes/5-posm.md rename to BETA-V3/bmad-agent/personas/posm.md diff --git a/BETA-V3/web-agent-modes/6-rte.md b/BETA-V3/bmad-agent/personas/rte.md similarity index 100% rename from BETA-V3/web-agent-modes/6-rte.md rename to BETA-V3/bmad-agent/personas/rte.md diff --git a/BETA-V3/tasks/checklist-mappings.yml b/BETA-V3/bmad-agent/tasks/checklist-mappings.yml similarity index 100% rename from BETA-V3/tasks/checklist-mappings.yml rename to BETA-V3/bmad-agent/tasks/checklist-mappings.yml diff --git a/BETA-V3/tasks/checklist-run-task.md b/BETA-V3/bmad-agent/tasks/checklist-run-task.md similarity index 100% rename from BETA-V3/tasks/checklist-run-task.md rename to BETA-V3/bmad-agent/tasks/checklist-run-task.md diff --git a/BETA-V3/tasks/create-next-story-task.md b/BETA-V3/bmad-agent/tasks/create-next-story-task.md similarity index 100% rename from BETA-V3/tasks/create-next-story-task.md rename to BETA-V3/bmad-agent/tasks/create-next-story-task.md diff --git a/BETA-V3/tasks/doc-sharding-task.md b/BETA-V3/bmad-agent/tasks/doc-sharding-task.md similarity index 100% rename from BETA-V3/tasks/doc-sharding-task.md rename to BETA-V3/bmad-agent/tasks/doc-sharding-task.md diff --git a/BETA-V3/tasks/library-indexing-task.md b/BETA-V3/bmad-agent/tasks/library-indexing-task.md similarity index 100% rename from BETA-V3/tasks/library-indexing-task.md rename to BETA-V3/bmad-agent/tasks/library-indexing-task.md diff --git a/BETA-V3/templates/architecture-tmpl.txt b/BETA-V3/bmad-agent/templates/architecture-tmpl.txt similarity index 99% rename from BETA-V3/templates/architecture-tmpl.txt rename to BETA-V3/bmad-agent/templates/architecture-tmpl.txt index c60dba25..b0e78af2 100644 --- a/BETA-V3/templates/architecture-tmpl.txt +++ b/BETA-V3/bmad-agent/templates/architecture-tmpl.txt @@ -166,7 +166,6 @@ test/: Contains all automated tests, mirroring the src/ structure where applicab // ... other properties } ``` - _(Alternatively, use JSON Schema, class definitions, or other relevant format)_ - **Validation Rules:** {List any specific validation rules beyond basic types - e.g., max length, format, range.} ### API Payload Schemas (If distinct) diff --git a/BETA-V3/templates/doc-sharding-tmpl.txt b/BETA-V3/bmad-agent/templates/doc-sharding-tmpl.txt similarity index 100% rename from BETA-V3/templates/doc-sharding-tmpl.txt rename to BETA-V3/bmad-agent/templates/doc-sharding-tmpl.txt diff --git a/BETA-V3/templates/front-end-architecture-tmpl.txt b/BETA-V3/bmad-agent/templates/front-end-architecture-tmpl.txt similarity index 100% rename from BETA-V3/templates/front-end-architecture-tmpl.txt rename to BETA-V3/bmad-agent/templates/front-end-architecture-tmpl.txt diff --git a/BETA-V3/templates/front-end-spec-tmpl.txt b/BETA-V3/bmad-agent/templates/front-end-spec-tmpl.txt similarity index 100% rename from BETA-V3/templates/front-end-spec-tmpl.txt rename to BETA-V3/bmad-agent/templates/front-end-spec-tmpl.txt diff --git a/BETA-V3/templates/prd-tmpl.txt b/BETA-V3/bmad-agent/templates/prd-tmpl.txt similarity index 100% rename from BETA-V3/templates/prd-tmpl.txt rename to BETA-V3/bmad-agent/templates/prd-tmpl.txt diff --git a/BETA-V3/templates/project-brief-tmpl.txt b/BETA-V3/bmad-agent/templates/project-brief-tmpl.txt similarity index 100% rename from BETA-V3/templates/project-brief-tmpl.txt rename to BETA-V3/bmad-agent/templates/project-brief-tmpl.txt diff --git a/BETA-V3/templates/story-tmpl.txt b/BETA-V3/bmad-agent/templates/story-tmpl.txt similarity index 100% rename from BETA-V3/templates/story-tmpl.txt rename to BETA-V3/bmad-agent/templates/story-tmpl.txt diff --git a/BETA-V3/build-bmad-assets.js b/BETA-V3/build-bmad-assets.js new file mode 100644 index 00000000..4eb77be8 --- /dev/null +++ b/BETA-V3/build-bmad-assets.js @@ -0,0 +1,185 @@ +#!/usr/bin/env node +const fs = require("fs"); +const path = require("path"); + +// --- Configuration --- +const DEFAULT_ASSET_FOLDER_ROOT = "./bmad-agent"; +const SUBDIRECTORIES_TO_PROCESS = { + checklists: "checklists.txt", + data: "data.txt", + personas: "personas.txt", + tasks: "tasks.txt", + templates: "templates.txt", +}; +const BUILD_DIR_NAME = "build"; + +// --- Helper Functions --- +function getBaseFilename(filePath) { + // Removes the last extension, e.g., "file.sample.txt" -> "file.sample" + return path.basename(filePath, path.extname(filePath)); +} + +function ensureDirectoryExists(dirPath) { + if (!fs.existsSync(dirPath)) { + fs.mkdirSync(dirPath, { recursive: true }); + } +} + +// --- Main Script Logic --- +async function main() { + // 1. Determine and validate asset folder root + const providedAssetRoot = process.argv[2]; // Get the first argument after script name + const assetFolderRootInput = providedAssetRoot || DEFAULT_ASSET_FOLDER_ROOT; + + console.log(`Initial asset folder root: ${assetFolderRootInput}`); + let assetFolderRoot; + try { + assetFolderRoot = path.resolve(assetFolderRootInput); + if ( + !fs.existsSync(assetFolderRoot) || + !fs.statSync(assetFolderRoot).isDirectory() + ) { + console.error( + `Error: Asset folder root '${assetFolderRootInput}' (resolved to '${assetFolderRoot}') not found or not a directory.` + ); + process.exit(1); + } + } catch (error) { + console.error( + `Error: Could not resolve asset folder root '${assetFolderRootInput}'. ${error.message}` + ); + process.exit(1); + } + console.log(`Using resolved asset folder root: ${assetFolderRoot}`); + + const buildDir = path.join(assetFolderRoot, BUILD_DIR_NAME); + + // 2. Perform pre-check for duplicate base filenames + console.log("\nPerforming pre-check for duplicate base filenames..."); + for (const subdirName of Object.keys(SUBDIRECTORIES_TO_PROCESS)) { + const sourceSubdir = path.join(assetFolderRoot, subdirName); + + if ( + !fs.existsSync(sourceSubdir) || + !fs.statSync(sourceSubdir).isDirectory() + ) { + // This directory might not exist, which is fine for the pre-check. + // The main processing loop will handle warnings for missing/empty dirs. + continue; + } + + try { + const files = fs.readdirSync(sourceSubdir); + if (files.length === 0) { + // Empty directory, no duplicates possible. + continue; + } + + console.log(` Checking for duplicates in '${sourceSubdir}'...`); + const baseFilenamesSeen = {}; // Using an object as a hash map + + for (const filenameWithExt of files) { + const filePath = path.join(sourceSubdir, filenameWithExt); + if (fs.statSync(filePath).isFile()) { + const baseName = getBaseFilename(filenameWithExt); + + if (baseFilenamesSeen[baseName]) { + console.error( + `Error: Duplicate base name '${baseName}' found in directory '${sourceSubdir}'.` + ); + console.error( + ` Conflicting files: '${baseFilenamesSeen[baseName]}' and '${filenameWithExt}'.` + ); + console.error( + ` Please ensure all files in a subdirectory have unique names after removing their last extensions.` + ); + process.exit(1); + } else { + baseFilenamesSeen[baseName] = filenameWithExt; + } + } + } + console.log(` No duplicates found in '${sourceSubdir}'.`); + } catch (error) { + console.warn( + `Warning: Could not read directory '${sourceSubdir}' during pre-check. ${error.message}` + ); + // Continue to allow the main loop to handle it more formally. + } + } + console.log( + "Pre-check completed successfully. No duplicate base filenames found." + ); + + // 3. Create build directory + ensureDirectoryExists(buildDir); + console.log(`\nBuild directory is: ${buildDir}`); + + // 4. Main processing loop + for (const [subdirName, outputFilename] of Object.entries( + SUBDIRECTORIES_TO_PROCESS + )) { + const sourceSubdir = path.join(assetFolderRoot, subdirName); + const targetFile = path.join(buildDir, outputFilename); + + console.log(`Processing '${subdirName}' directory into '${targetFile}'`); + + // Delete target file if it exists, then create it empty + if (fs.existsSync(targetFile)) { + fs.unlinkSync(targetFile); + } + fs.writeFileSync(targetFile, ""); // Create empty file + + if ( + !fs.existsSync(sourceSubdir) || + !fs.statSync(sourceSubdir).isDirectory() + ) { + console.warn( + `Warning: Source directory '${sourceSubdir}' not found. '${targetFile}' will remain empty.` + ); + continue; + } + + const files = fs.readdirSync(sourceSubdir); + if (files.length === 0) { + console.warn( + `Warning: Source directory '${sourceSubdir}' is empty. '${targetFile}' will remain empty.` + ); + continue; + } + + for (const filenameWithExt of files) { + const filePath = path.join(sourceSubdir, filenameWithExt); + if (fs.statSync(filePath).isFile()) { + const baseName = getBaseFilename(filenameWithExt); + console.log( + ` Appending content from '${filenameWithExt}' (as '${baseName}') to '${targetFile}'` + ); + + const fileContent = fs.readFileSync(filePath, "utf8"); + + const startMarker = `==================== START: ${baseName} ====================\n`; + const endMarker = `\n==================== END: ${baseName} ====================\n\n\n`; // Two blank lines after + + fs.appendFileSync(targetFile, startMarker); + fs.appendFileSync(targetFile, fileContent); + // Ensure a newline before the end marker if fileContent doesn't end with one + if (!fileContent.endsWith("\n")) { + fs.appendFileSync(targetFile, "\n"); + } + fs.appendFileSync(targetFile, endMarker); + } + } + console.log(`Finished processing '${subdirName}'.`); + } + + console.log(`\nScript finished. Output files are in ${buildDir}`); + console.log( + "To run this script: node BETA-V3/build-bmad-assets.js [path/to/asset/folder]" + ); +} + +main().catch((error) => { + console.error("An unexpected error occurred:", error); + process.exit(1); +}); diff --git a/BETA-V3/docs/technical-preferences-py-game-dev-sample.md b/BETA-V3/samples/technical-preferences-py-game-dev-sample.md similarity index 100% rename from BETA-V3/docs/technical-preferences-py-game-dev-sample.md rename to BETA-V3/samples/technical-preferences-py-game-dev-sample.md diff --git a/BETA-V3/docs/technical-preferences-sample-1.md b/BETA-V3/samples/technical-preferences-sample-1.md similarity index 100% rename from BETA-V3/docs/technical-preferences-sample-1.md rename to BETA-V3/samples/technical-preferences-sample-1.md diff --git a/BETA-V3/docs/technical-preferences-sample-2.md b/BETA-V3/samples/technical-preferences-sample-2.md similarity index 100% rename from BETA-V3/docs/technical-preferences-sample-2.md rename to BETA-V3/samples/technical-preferences-sample-2.md diff --git a/BETA-V3/docs/technical-preferences.txt b/BETA-V3/samples/technical-preferences.txt similarity index 70% rename from BETA-V3/docs/technical-preferences.txt rename to BETA-V3/samples/technical-preferences.txt index d1c2f660..c06957c6 100644 --- a/BETA-V3/docs/technical-preferences.txt +++ b/BETA-V3/samples/technical-preferences.txt @@ -3,4 +3,4 @@ See example files in this folder. list out your technical preferences, patterns you like to follow, language framework or starter project preferences. -nything you learn or prefer over time to drive future project choices. +Anything you learn or prefer over time to drive future project choices, add the here. diff --git a/README.md b/README.md index d4c2c18d..56cc49f9 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# The BMAD-Method (Breakthrough Method of Agile (ai-driven) Development) +# The BMAD-Method (Breakthrough Method of Agile (ai-driven) Development) V3 Beta **BETA-V3 is the current focus of development and represents the latest iteration of the BMAD Method.** Find all V3 resources in the `BETA-V3/` directory. diff --git a/readmedraft.md b/readmedraft.md deleted file mode 100644 index 1f6d0e0f..00000000 --- a/readmedraft.md +++ /dev/null @@ -1,147 +0,0 @@ -# The BMAD-Method (Breakthrough Method of Agile (ai-driven) Development) - -**Welcome to the BMAD Method! This repository documents the V2 methodology (stable) and introduces the BETA-V3 (experimental).** - -- **Stable Version (V2):** Resources located in `CURRENT-V2/`. This is the recommended version for general use. -- **Experimental Beta (V3):** Resources located in `BETA-V3/`. Contains new features and agents currently under testing. - -Quick Links: - -- [V2 Setup Instructions](./CURRENT-V2/instructions.md) (For IDEs/Gems/GPTs) -- [BETA-V3 Setup Instructions](./BETA-V3/instruction.md) (For IDEs/Web/Tasks) -- [Community Discussion Forum](https://github.com/bmadcode/BMAD-METHOD/discussions) -- [Contributing Guidelines](CONTRIBUTING.md) -- [License](./LICENSE) - -_Legacy V1 has been archived._ - -## What is the BMad Method? - -The BMad Method is a revolutionary approach that elevates "vibe coding" to **"Vibe CEOing."** Unlike the spontaneity of pure vibe coding for quick prototypes, this method provides a structured yet flexible framework to plan, execute, and manage software projects using a team of specialized AI agents. It helps you build faster, cheaper, and more effectively by leveraging AI-driven processes throughout the entire product development lifecycle. - -The **V2 release (in `CURRENT-V2/`)** established a robust workflow with distinct agent roles, standardized templates, and comprehensive checklists. **BETA-V3 (in `BETA-V3/`)** builds upon this foundation, refining processes and introducing new capabilities currently under evaluation. - -The comprehensive, step-by-step approach transforms a product idea into a fully implemented application by: - -1. Structuring the development process into distinct AI persona-based phases. -2. Generating detailed, high-quality artifacts at each phase. -3. Using a sequential workflow with clear handoffs. -4. Enabling AI to code the application based on well-defined specifications. - -## Guiding Principles - -These principles apply across versions, with V3 enhancing certain aspects: - -- **Environment Recommendations:** Generally, initial planning phases (Analyst, PM, early Architect work) are often well-suited for Web UIs (Gems/Custom GPTs) due to their conversational nature and cost-effectiveness. Technical implementation, file management (like V3's POSM Librarian), specialized tasks (like V3's RTE-Agent or IDE Tasks), and development are typically better suited for an IDE environment with custom agent support. -- **No Rules Required (Flexibility):** Agents primarily reference project documents (PRDs, architecture docs, coding standards, etc.) rather than relying heavily on proprietary AI platform rules. -- **Iterative & Collaborative:** Emphasizes a step-by-step, interactive process where agents collaborate with the user, pausing for input and validation at key decision points. -- **Documentation Focus (Enhanced in V3):** V3 places a stronger emphasis on creating a granular, indexed `docs/` structure to improve context for AI agents and human developers. - -## Agent Overview (V2 Core Agents) - -The `CURRENT-V2/` system features a team of specialized AI agents. See `CURRENT-V2/agents/` for IDE modes and `CURRENT-V2/gems-and-gpts/` for Web UI versions. - -### Analyst (Business Analyst, Research Assistant, Brainstorming Coach) - -Starting point for new/unclear ideas. Transforms concepts into a structured **Project Brief**. - -### Product Manager (PM) - -Transforms ideas/briefs into detailed product plans. Creates the **Product Requirements Document (PRD)** with Epics and User Stories. V2 includes checklists for validation. - -### Architect - -Defines the overall technical blueprint based on the PRD. Creates the **Technical Architecture Document**. - -### Product Owner (PO) - -Validates the MVP plan (PRD, Architecture, Epics) against a checklist before development begins. - -### Scrum Master (SM) - -Technical bridge generating detailed, executable **Story Files** from approved plans, one at a time, ready for development. - -### Developer Agent (Dev) - -Implements features based on assigned Story Files, adhering to project architecture and standards. - -## New/Enhanced Agents in BETA-V3 - -BETA-V3 (in `BETA-V3/`) introduces new roles and enhances existing ones: - -### 0. BMAD Method Advisor (`0-bmad.md`) - -A dedicated guide explaining V3 concepts, including the new agents, IDE Tasks, and workflow nuances. - -### 4. Design Architect (`4-design-architect.md`) - -(Engage if project has a UI) -Specializes in UI/UX (**UI/UX Spec**) and frontend technical strategy (**Frontend Architecture Doc**). - -### 5. Technical POSM (`5-posm.md`) - -Replaces the separate V2 PO and SM with enhanced capabilities: -**Phases:** - -1. **Master Checklist:** Validates all planning/design docs. -2. **Librarian:** Creates granular `docs/` structure & `index.md` (IDE Recommended). -3. **Story Creator:** Generates developer-ready **Story Files**. - -### 6. Release Train Engineer (RTE-Agent) (`6-rte.md`) - -Manages significant mid-project changes/pivots. Uses `rte-checklist.md` for analysis and drafts artifact updates, outputting a **Sprint Change Proposal**. - -_(Note: The V3 PM and Architect agents also have refined phases and use updated V3 templates/checklists.)_ - -## Step-by-Step Process (V2 Typical Flow) - -1. **Analyst:** (Optional) -> **Project Brief**. -2. **PM:** Project Brief/idea -> **PRD** (Epics, Stories). -3. **Architect:** PRD -> **System Architecture Document**. -4. **PO:** Validates PRD, Architecture, Epics -> **Validation Report/Approval**. -5. **SM:** Approved plans -> Generates **Story File** (one at a time). -6. **Developer Agent:** Implements approved story. -7. Repeat 5 & 6 until MVP complete. -8. **Ongoing Advisory:** Architect & PM provide support. - -## BETA-V3 Process Modifications - -BETA-V3 refines the flow, particularly after initial planning: - -- The **Design Architect** is inserted after the Architect if a UI is required. -- The **POSM** replaces the PO and SM: - - After planning docs are ready (PRD, Arch, Design Arch docs), **POSM (Master Checklist Phase)** validates everything. - - After validation/updates, **POSM (Librarian Phase)** organizes the `docs/` structure. - - Then, **POSM (Story Creator Phase)** can (but not recommended from the ide) generates stories one by one for for a full epic for the stories folder and dev agent pick up. -- The **RTE-Agent** can be engaged _at any point after story development begins_ if a major issue or pivot occurs - the RTE (Release Train Engineer) can help figure out what needs to change and how to proceed, and help update all artifacts - best run from the ide since we are mid project. - -(Refer to the `BETA-V3` agent definitions for detailed flows). - -## IDE Tasks (BETA-V3 Feature) - -Located in `BETA-V3/tasks/`, these self-contained instruction sets allow IDE agents (in V3 mode) to perform specific one-off jobs on demand (e.g., run checklist, create next story, shard docs), reducing the need for complex agent modes. - -## Tooling & Setup - -### V2 (Stable - in `CURRENT-V2/`) - -- **Templates:** `CURRENT-V2/docs/templates/` -- **Checklists:** `CURRENT-V2/docs/checklists/` -- **Web UI Agents (Gems/GPTs):** `CURRENT-V2/gems-and-gpts/` -- **IDE Agents:** `CURRENT-V2/agents/` -- **Setup Instructions:** `CURRENT-V2/instructions.md` - -### BETA-V3 (Experimental - in `BETA-V3/`) - -- **Templates:** `BETA-V3/templates/` -- **Checklists:** `BETA-V3/checklists/` -- **Web UI Agents:** `BETA-V3/web-agent-modes/` -- **IDE Agents:** `BETA-V3/ide-agent-modes/` -- **Tasks:** `BETA-V3/tasks/` -- **Setup Instructions:** `BETA-V3/instruction.md` - -## Demonstration Walkthrough - -The effectiveness of the BMAD Method's interactive approach is demonstrated in the [V2 Video Walkthrough](https://youtu.be/p0barbrWgQA?si=PD1RyWNVDpdF3QJf). The [`V2-FULL-DEMO-WALKTHROUGH`](./V2-FULL-DEMO-WALKTHROUGH/demo.md) folder contains the full transcripts and artifacts. - -A BETA-V3 specific walkthrough is planned along with multiple sample projects. diff --git a/LEGACY-V1/ai/stories/readme.md b/xarchive/LEGACY-V1/ai/stories/readme.md similarity index 100% rename from LEGACY-V1/ai/stories/readme.md rename to xarchive/LEGACY-V1/ai/stories/readme.md diff --git a/LEGACY-V1/ai/templates/architecture-template.md b/xarchive/LEGACY-V1/ai/templates/architecture-template.md similarity index 100% rename from LEGACY-V1/ai/templates/architecture-template.md rename to xarchive/LEGACY-V1/ai/templates/architecture-template.md diff --git a/LEGACY-V1/ai/templates/prd-template.md b/xarchive/LEGACY-V1/ai/templates/prd-template.md similarity index 100% rename from LEGACY-V1/ai/templates/prd-template.md rename to xarchive/LEGACY-V1/ai/templates/prd-template.md diff --git a/LEGACY-V1/ai/templates/story-template.md b/xarchive/LEGACY-V1/ai/templates/story-template.md similarity index 100% rename from LEGACY-V1/ai/templates/story-template.md rename to xarchive/LEGACY-V1/ai/templates/story-template.md diff --git a/LEGACY-V1/custom-mode-prompts/architect.md b/xarchive/LEGACY-V1/custom-mode-prompts/architect.md similarity index 100% rename from LEGACY-V1/custom-mode-prompts/architect.md rename to xarchive/LEGACY-V1/custom-mode-prompts/architect.md diff --git a/LEGACY-V1/custom-mode-prompts/ba.md b/xarchive/LEGACY-V1/custom-mode-prompts/ba.md similarity index 100% rename from LEGACY-V1/custom-mode-prompts/ba.md rename to xarchive/LEGACY-V1/custom-mode-prompts/ba.md diff --git a/LEGACY-V1/custom-mode-prompts/dev.md b/xarchive/LEGACY-V1/custom-mode-prompts/dev.md similarity index 100% rename from LEGACY-V1/custom-mode-prompts/dev.md rename to xarchive/LEGACY-V1/custom-mode-prompts/dev.md diff --git a/LEGACY-V1/custom-mode-prompts/pm.md b/xarchive/LEGACY-V1/custom-mode-prompts/pm.md similarity index 100% rename from LEGACY-V1/custom-mode-prompts/pm.md rename to xarchive/LEGACY-V1/custom-mode-prompts/pm.md diff --git a/LEGACY-V1/custom-mode-prompts/po.md b/xarchive/LEGACY-V1/custom-mode-prompts/po.md similarity index 100% rename from LEGACY-V1/custom-mode-prompts/po.md rename to xarchive/LEGACY-V1/custom-mode-prompts/po.md diff --git a/LEGACY-V1/custom-mode-prompts/sm.md b/xarchive/LEGACY-V1/custom-mode-prompts/sm.md similarity index 100% rename from LEGACY-V1/custom-mode-prompts/sm.md rename to xarchive/LEGACY-V1/custom-mode-prompts/sm.md diff --git a/LEGACY-V1/custom-mode-prompts/ux.md b/xarchive/LEGACY-V1/custom-mode-prompts/ux.md similarity index 100% rename from LEGACY-V1/custom-mode-prompts/ux.md rename to xarchive/LEGACY-V1/custom-mode-prompts/ux.md diff --git a/LEGACY-V1/docs/commit.md b/xarchive/LEGACY-V1/docs/commit.md similarity index 100% rename from LEGACY-V1/docs/commit.md rename to xarchive/LEGACY-V1/docs/commit.md