From e2a216477c4337f773bbef4069965be873a994c1 Mon Sep 17 00:00:00 2001 From: Brian Madison Date: Mon, 9 Jun 2025 00:02:58 -0500 Subject: [PATCH] commands create custom entities with a . at the start of the file name keeping them gitignored by default. --- .gitignore | 13 +++++++++++++ bmad-core/utils/create-agent.md | 5 +++++ bmad-core/utils/create-expansion-pack.md | 24 ++++++++++++++++-------- bmad-core/utils/create-ide-agent.md | 3 +++ bmad-core/utils/create-team.md | 3 +++ 5 files changed, 40 insertions(+), 8 deletions(-) diff --git a/.gitignore b/.gitignore index d572d90c..362e11a1 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,16 @@ Thumbs.db .env CLAUDE.md + +# User-created content (prefixed with .) +# These allow users to create custom content without conflicts +expansion-packs/.* +agents/.* +agent-teams/.* +agent-team-workflows/.* +bmad-core/personas/.* +bmad-core/tasks/.* +bmad-core/templates/.* +bmad-core/checklists/.* +bmad-core/data/.* +bmad-core/ide-agents/.* \ No newline at end of file diff --git a/bmad-core/utils/create-agent.md b/bmad-core/utils/create-agent.md index 06cc2ee7..8df8392f 100644 --- a/bmad-core/utils/create-agent.md +++ b/bmad-core/utils/create-agent.md @@ -2,6 +2,8 @@ This utility helps you create a new BMAD agent for web platforms (Gemini, ChatGPT, etc.). +**Note for User-Created Agents**: If you're creating a custom agent for your own use (not part of the core BMAD system), prefix the agent ID with a period (e.g., `.data-analyst`) to ensure it's gitignored and won't conflict with repository updates. + ## Process Follow these steps to create a new agent: @@ -37,6 +39,7 @@ Determine what the agent can do: ### 4. Create the Persona File Create `/bmad-core/personas/{agent-id}.md` with this structure: +(For user-created agents, use `/bmad-core/personas/.{agent-id}.md`) ```markdown # {Agent Name} - {Title} @@ -75,6 +78,7 @@ Create `/bmad-core/personas/{agent-id}.md` with this structure: ### 5. Create the Agent Configuration Create `/agents/{agent-id}.yml` with this structure: +(For user-created agents, use `/agents/.{agent-id}.yml`) ```yaml agent: @@ -103,6 +107,7 @@ dependencies: ### 6. Create Any New Tasks If new tasks were identified, create them in `/bmad-core/tasks/{task-name}.md` +(For user-created tasks, use `/bmad-core/tasks/.{task-name}.md`) ### 7. Test and Validate diff --git a/bmad-core/utils/create-expansion-pack.md b/bmad-core/utils/create-expansion-pack.md index 047943bf..37cf47f8 100644 --- a/bmad-core/utils/create-expansion-pack.md +++ b/bmad-core/utils/create-expansion-pack.md @@ -73,9 +73,11 @@ For each checklist: #### 3.1 Create Directory Structure +**IMPORTANT**: User-created expansion packs should start with a period (.) to ensure they are gitignored and don't conflict with repo updates. + ``` expansion-packs/ -└── {pack-name}/ +└── .{pack-name}/ ├── manifest.yml ├── README.md ├── agents/ @@ -104,14 +106,20 @@ description: >- author: {Your name or organization} bmad_version: "4.0.0" -# Files to install +# Files to install (with . prefix for gitignore) files: - source: agents/{agent-id}.yml - destination: agents/{agent-id}.yml + destination: agents/.{agent-id}.yml - source: personas/{agent-id}.md - destination: bmad-core/personas/{agent-id}.md + destination: bmad-core/personas/.{agent-id}.md - source: tasks/{task-name}.md - destination: bmad-core/tasks/{task-name}.md + destination: bmad-core/tasks/.{task-name}.md + - source: templates/{template-name}.md + destination: bmad-core/templates/.{template-name}.md + - source: checklists/{checklist-name}.md + destination: bmad-core/checklists/.{checklist-name}.md + - source: ide-agents/{agent-id}.ide.md + destination: bmad-core/ide-agents/.{agent-id}.ide.md # ... more files # Optional: Update existing teams @@ -176,15 +184,15 @@ Include: #### 5.2 Test Installation -1. Run `node tools/install-expansion-pack.js {pack-name}` -2. Verify all files copied correctly +1. Run `node tools/install-expansion-pack.js .{pack-name}` +2. Verify all files copied correctly (should have . prefix) 3. Build agents to test configurations 4. Run sample scenarios ## Example: Healthcare Expansion Pack ``` -healthcare/ +.healthcare/ ├── manifest.yml ├── README.md ├── agents/ diff --git a/bmad-core/utils/create-ide-agent.md b/bmad-core/utils/create-ide-agent.md index 6a6b1524..c4672393 100644 --- a/bmad-core/utils/create-ide-agent.md +++ b/bmad-core/utils/create-ide-agent.md @@ -2,6 +2,8 @@ This utility helps you create a new BMAD agent optimized for IDE environments (Cursor, Windsurf, etc.). +**Note for User-Created IDE Agents**: If you're creating a custom IDE agent for your own use (not part of the core BMAD system), prefix the agent ID with a period (e.g., `.api-expert`) to ensure it's gitignored and won't conflict with repository updates. + ## Important Constraints IDE agents must be **compact and efficient** (target: under 2000 characters) to work well as slash commands. @@ -36,6 +38,7 @@ Be selective - IDE agents should be specialized: ### 4. Create the Compact IDE Agent Create `/bmad-core/ide-agents/{agent-id}.ide.md` with this structure: +(For user-created agents, use `/bmad-core/ide-agents/.{agent-id}.ide.md`) ```markdown # {Slash Command} diff --git a/bmad-core/utils/create-team.md b/bmad-core/utils/create-team.md index aa9ae742..2fae5cce 100644 --- a/bmad-core/utils/create-team.md +++ b/bmad-core/utils/create-team.md @@ -4,6 +4,8 @@ This utility helps you create a NEW BMAD team bundle by combining existing agent **Important**: This utility is for CREATING new teams, not for listing what agents are available in the current bundle. To see agents in the current bundle, use `/agent-list`. +**Note for User-Created Teams**: If you're creating a custom team for your own use (not part of the core BMAD system), prefix the team ID with a period (e.g., `.team-frontend`) to ensure it's gitignored and won't conflict with repository updates. + ## Process ### 1. Define Team Basics @@ -57,6 +59,7 @@ Consider: ### 5. Create Team Configuration Create `/agent-teams/{team-id}.yml`: +(For user-created teams, use `/agent-teams/.{team-id}.yml`) ```yaml bundle: