diff --git a/.github/workflows/bundle-latest.yaml b/.github/workflows/bundle-latest.yaml index c581754c..29018d57 100644 --- a/.github/workflows/bundle-latest.yaml +++ b/.github/workflows/bundle-latest.yaml @@ -100,8 +100,55 @@ jobs: fi done - # Create index.html for GitHub Pages - cat > dist/bundles/index.html << 'EOF' + # Generate index.html dynamically based on actual bundles + TIMESTAMP=$(date -u +"%Y-%m-%d %H:%M UTC") + COMMIT_SHA=$(git rev-parse --short HEAD) + + # Function to generate agent links for a module + generate_agent_links() { + local module=$1 + local agent_dir="dist/bundles/$module/agents" + + if [ ! -d "$agent_dir" ]; then + echo "" + return + fi + + local links="" + local count=0 + + # Find all XML files and generate links + for xml_file in "$agent_dir"/*.xml; do + if [ -f "$xml_file" ]; then + local agent_name=$(basename "$xml_file" .xml) + # Convert filename to display name (pm -> PM, tech-writer -> Tech Writer) + local display_name=$(echo "$agent_name" | sed 's/-/ /g' | awk '{for(i=1;i<=NF;i++) $i=toupper(substr($i,1,1)) tolower(substr($i,2));}1') + + if [ $count -gt 0 ]; then + links="$links | " + fi + links="$links$display_name" + count=$((count + 1)) + fi + done + + echo "$links" + } + + # Generate agent links for each module + BMM_LINKS=$(generate_agent_links "bmm") + BMB_LINKS=$(generate_agent_links "bmb") + CIS_LINKS=$(generate_agent_links "cis") + BMGD_LINKS=$(generate_agent_links "bmgd") + + # Count agents for bulk downloads + BMM_COUNT=$(find dist/bundles/bmm/agents -name '*.xml' 2>/dev/null | wc -l | tr -d ' ') + BMB_COUNT=$(find dist/bundles/bmb/agents -name '*.xml' 2>/dev/null | wc -l | tr -d ' ') + CIS_COUNT=$(find dist/bundles/cis/agents -name '*.xml' 2>/dev/null | wc -l | tr -d ' ') + BMGD_COUNT=$(find dist/bundles/bmgd/agents -name '*.xml' 2>/dev/null | wc -l | tr -d ' ') + + # Create index.html + cat > dist/bundles/index.html << EOF @@ -132,41 +179,78 @@ jobs:

Available Modules

+ EOF + + # Add BMM section if agents exist + if [ -n "$BMM_LINKS" ]; then + cat >> dist/bundles/index.html << EOF

BMM (BMad Method)

- PM | - Architect | - TEA | - Developer | - Analyst | - Scrum Master | - UX Designer | - Tech Writer
+ $BMM_LINKS
📁 Browse All | 📦 Download Zip
+ EOF + fi + + # Add BMB section if agents exist + if [ -n "$BMB_LINKS" ]; then + cat >> dist/bundles/index.html << EOF +
+

BMB (BMad Builder)

+
+ $BMB_LINKS
+ 📁 Browse All | 📦 Download Zip +
+
+ + EOF + fi + + # Add CIS section if agents exist + if [ -n "$CIS_LINKS" ]; then + cat >> dist/bundles/index.html << EOF

CIS (Creative Intelligence Suite)

+ $CIS_LINKS
📁 Browse Agents | 📦 Download Zip
+ EOF + fi + + # Add BMGD section if agents exist + if [ -n "$BMGD_LINKS" ]; then + cat >> dist/bundles/index.html << EOF

BMGD (Game Development)

+ $BMGD_LINKS
📁 Browse Agents | 📦 Download Zip
+ EOF + fi + + # Add bulk downloads section + cat >> dist/bundles/index.html << EOF

Bulk Downloads

Download all agents for a module as a zip archive:

Usage

@@ -184,12 +268,6 @@ jobs: EOF - # Replace placeholders - TIMESTAMP=$(date -u +"%Y-%m-%d %H:%M UTC") - COMMIT_SHA=$(git rev-parse --short HEAD) - sed -i "s/\$TIMESTAMP/$TIMESTAMP/" dist/bundles/index.html - sed -i "s/\$COMMIT_SHA/$COMMIT_SHA/" dist/bundles/index.html - - name: Checkout bmad-bundles repo uses: actions/checkout@v4 with: diff --git a/src/modules/bmm/agents/dev.agent.yaml b/src/modules/bmm/agents/dev.agent.yaml index 097ecccf..c44fc2ee 100644 --- a/src/modules/bmm/agents/dev.agent.yaml +++ b/src/modules/bmm/agents/dev.agent.yaml @@ -1,6 +1,7 @@ # Dev Implementation Agent Definition (v6) agent: + webskip: true metadata: id: "{bmad_folder}/bmm/agents/dev.md" name: Amelia diff --git a/src/modules/bmm/agents/tea.agent.yaml b/src/modules/bmm/agents/tea.agent.yaml index b48a27d4..b1c77a47 100644 --- a/src/modules/bmm/agents/tea.agent.yaml +++ b/src/modules/bmm/agents/tea.agent.yaml @@ -1,6 +1,7 @@ # Test Architect + Quality Advisor Agent Definition agent: + webskip: true metadata: id: "{bmad_folder}/bmm/agents/tea.md" name: Murat