2025-08-16 19:08:39 -05:00
|
|
|
|
const { Command } = require('commander');
|
|
|
|
|
|
const fs = require('fs-extra');
|
|
|
|
|
|
const path = require('node:path');
|
|
|
|
|
|
const process = require('node:process');
|
2025-08-09 15:33:23 -05:00
|
|
|
|
|
|
|
|
|
|
// Modularized components
|
2025-08-16 19:08:39 -05:00
|
|
|
|
const { findProjectRoot } = require('./projectRoot.js');
|
|
|
|
|
|
const { promptYesNo, promptPath } = require('./prompts.js');
|
|
|
|
|
|
const { discoverFiles, filterFiles, aggregateFileContents } = require('./files.js');
|
|
|
|
|
|
const { generateXMLOutput } = require('./xml.js');
|
|
|
|
|
|
const { calculateStatistics } = require('./stats.js');
|
Feat/flattener-tool (#337)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* docs(bmad-core): update documentation for enhanced workflow and user guide
- Fix typos and improve clarity in user guide
- Add new enhanced development workflow documentation
- Update brownfield workflow with flattened codebase instructions
- Improve consistency in documentation formatting
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* Update package.json
Removed jest as it is not needed.
* Update working-in-the-brownfield.md
added documentation for sharding docs
* perf(flattener): improve memory efficiency by streaming xml output
- Replace in-memory XML generation with streaming approach
- Add comprehensive common ignore patterns list
- Update statistics calculation to use file size instead of content length
* fix/chore: Update console.log for user-guide.md install path. Cleaned up config files/folders and updated .gitignore (#347)
* fix: Update console.log for user-guide.md install path
Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md
WHY: the actual install location of the user-guide.md is in the .bmad-core directory.
* chore: remove formatting configs and clean up gitignore
- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries
* feat: Overhaul and Enhance 2D Unity Game Dev Expansion Pack (#350)
* Updated game-sm agent to match the new core framework patterns
* feat:Created more comprehensive game story matching new format system as well
* feat:Added Game specific course correct task
* feat:Updated dod-checklist to match new DoD format
* feat:Added new Architect agent for appropriate architecture doc creation and design
* feat:Overhaul of game-architecture-tmpl template
* feat:Updated rest of templates besides level which doesnt really need it
* feat: Finished extended architecture documentation needed for new game story tasks
* feat: Updated game Developer to new format
* feat: Updated last agent to new format and updated bmad-kb. bmad-kb I did my best with but im not sure of it's valid usage in the expansion pack, the AI generated more of the file then myself. I made sure to include it due to the new core-config file
* feat: Finished updating designer agent to new format and cleaned up template linting errors
* Built dist for web bundle
* Increased expansion pack minor verison number
* Updated architecht and design for sharding built-in
* chore: bump bmad-2d-unity-game-dev version (minor)
* updated config.yaml for game-specific pieces to supplement core-config.yaml
* Updated game-core-config and epic processing for game story and game design. Initial implementation was far too generic
* chore: bump bmad-2d-unity-game-dev version (patch)
* feat: Fixed issue with multi-configs being needed. chore: bump bmad-2d-unity-game-dev version (patch)
* Chore: Built web-bundle
* feat: Added the ability to specify the unity editor install location.\nchore: bump bmad-2d-unity-game-dev version (patch)
* feat: core-config must be in two places to support inherited tasks at this time so added instructions to copy and create one in expansion pack folder as well. chore: bump bmad-2d-unity-game-dev version (patch)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* docs: update command names and agent references in documentation
- Change `*create` to `*draft` in workflow guide
- Update PM agent commands to use consistent naming
- Replace `analyst` references with `architect`
- Fix command examples to match new naming conventions
---------
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
2025-07-26 14:56:00 -05:00
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* Recursively discover all files in a directory
|
|
|
|
|
|
* @param {string} rootDir - The root directory to scan
|
|
|
|
|
|
* @returns {Promise<string[]>} Array of file paths
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* Parse .gitignore file and return ignore patterns
|
|
|
|
|
|
* @param {string} gitignorePath - Path to .gitignore file
|
|
|
|
|
|
* @returns {Promise<string[]>} Array of ignore patterns
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* Check if a file is binary using file command and heuristics
|
|
|
|
|
|
* @param {string} filePath - Path to the file
|
|
|
|
|
|
* @returns {Promise<boolean>} True if file is binary
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* Read and aggregate content from text files
|
|
|
|
|
|
* @param {string[]} files - Array of file paths
|
|
|
|
|
|
* @param {string} rootDir - The root directory
|
|
|
|
|
|
* @param {Object} spinner - Optional spinner instance for progress display
|
|
|
|
|
|
* @returns {Promise<Object>} Object containing file contents and metadata
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* Generate XML output with aggregated file contents using streaming
|
|
|
|
|
|
* @param {Object} aggregatedContent - The aggregated content object
|
|
|
|
|
|
* @param {string} outputPath - The output file path
|
|
|
|
|
|
* @returns {Promise<void>} Promise that resolves when writing is complete
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* Calculate statistics for the processed files
|
|
|
|
|
|
* @param {Object} aggregatedContent - The aggregated content object
|
|
|
|
|
|
* @param {number} xmlFileSize - The size of the generated XML file in bytes
|
|
|
|
|
|
* @returns {Object} Statistics object
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* Filter files based on .gitignore patterns
|
|
|
|
|
|
* @param {string[]} files - Array of file paths
|
|
|
|
|
|
* @param {string} rootDir - The root directory
|
|
|
|
|
|
* @returns {Promise<string[]>} Filtered array of file paths
|
|
|
|
|
|
*/
|
|
|
|
|
|
|
2025-08-09 15:33:23 -05:00
|
|
|
|
/**
|
|
|
|
|
|
* Attempt to find the project root by walking up from startDir
|
|
|
|
|
|
* Looks for common project markers like .git, package.json, pyproject.toml, etc.
|
|
|
|
|
|
* @param {string} startDir
|
|
|
|
|
|
* @returns {Promise<string|null>} project root directory or null if not found
|
|
|
|
|
|
*/
|
Feat/flattener-tool (#337)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* docs(bmad-core): update documentation for enhanced workflow and user guide
- Fix typos and improve clarity in user guide
- Add new enhanced development workflow documentation
- Update brownfield workflow with flattened codebase instructions
- Improve consistency in documentation formatting
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* Update package.json
Removed jest as it is not needed.
* Update working-in-the-brownfield.md
added documentation for sharding docs
* perf(flattener): improve memory efficiency by streaming xml output
- Replace in-memory XML generation with streaming approach
- Add comprehensive common ignore patterns list
- Update statistics calculation to use file size instead of content length
* fix/chore: Update console.log for user-guide.md install path. Cleaned up config files/folders and updated .gitignore (#347)
* fix: Update console.log for user-guide.md install path
Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md
WHY: the actual install location of the user-guide.md is in the .bmad-core directory.
* chore: remove formatting configs and clean up gitignore
- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries
* feat: Overhaul and Enhance 2D Unity Game Dev Expansion Pack (#350)
* Updated game-sm agent to match the new core framework patterns
* feat:Created more comprehensive game story matching new format system as well
* feat:Added Game specific course correct task
* feat:Updated dod-checklist to match new DoD format
* feat:Added new Architect agent for appropriate architecture doc creation and design
* feat:Overhaul of game-architecture-tmpl template
* feat:Updated rest of templates besides level which doesnt really need it
* feat: Finished extended architecture documentation needed for new game story tasks
* feat: Updated game Developer to new format
* feat: Updated last agent to new format and updated bmad-kb. bmad-kb I did my best with but im not sure of it's valid usage in the expansion pack, the AI generated more of the file then myself. I made sure to include it due to the new core-config file
* feat: Finished updating designer agent to new format and cleaned up template linting errors
* Built dist for web bundle
* Increased expansion pack minor verison number
* Updated architecht and design for sharding built-in
* chore: bump bmad-2d-unity-game-dev version (minor)
* updated config.yaml for game-specific pieces to supplement core-config.yaml
* Updated game-core-config and epic processing for game story and game design. Initial implementation was far too generic
* chore: bump bmad-2d-unity-game-dev version (patch)
* feat: Fixed issue with multi-configs being needed. chore: bump bmad-2d-unity-game-dev version (patch)
* Chore: Built web-bundle
* feat: Added the ability to specify the unity editor install location.\nchore: bump bmad-2d-unity-game-dev version (patch)
* feat: core-config must be in two places to support inherited tasks at this time so added instructions to copy and create one in expansion pack folder as well. chore: bump bmad-2d-unity-game-dev version (patch)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* docs: update command names and agent references in documentation
- Change `*create` to `*draft` in workflow guide
- Update PM agent commands to use consistent naming
- Replace `analyst` references with `architect`
- Fix command examples to match new naming conventions
---------
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
2025-07-26 14:56:00 -05:00
|
|
|
|
|
2025-08-09 15:33:23 -05:00
|
|
|
|
const program = new Command();
|
Feat/flattener-tool (#337)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* docs(bmad-core): update documentation for enhanced workflow and user guide
- Fix typos and improve clarity in user guide
- Add new enhanced development workflow documentation
- Update brownfield workflow with flattened codebase instructions
- Improve consistency in documentation formatting
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* Update package.json
Removed jest as it is not needed.
* Update working-in-the-brownfield.md
added documentation for sharding docs
* perf(flattener): improve memory efficiency by streaming xml output
- Replace in-memory XML generation with streaming approach
- Add comprehensive common ignore patterns list
- Update statistics calculation to use file size instead of content length
* fix/chore: Update console.log for user-guide.md install path. Cleaned up config files/folders and updated .gitignore (#347)
* fix: Update console.log for user-guide.md install path
Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md
WHY: the actual install location of the user-guide.md is in the .bmad-core directory.
* chore: remove formatting configs and clean up gitignore
- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries
* feat: Overhaul and Enhance 2D Unity Game Dev Expansion Pack (#350)
* Updated game-sm agent to match the new core framework patterns
* feat:Created more comprehensive game story matching new format system as well
* feat:Added Game specific course correct task
* feat:Updated dod-checklist to match new DoD format
* feat:Added new Architect agent for appropriate architecture doc creation and design
* feat:Overhaul of game-architecture-tmpl template
* feat:Updated rest of templates besides level which doesnt really need it
* feat: Finished extended architecture documentation needed for new game story tasks
* feat: Updated game Developer to new format
* feat: Updated last agent to new format and updated bmad-kb. bmad-kb I did my best with but im not sure of it's valid usage in the expansion pack, the AI generated more of the file then myself. I made sure to include it due to the new core-config file
* feat: Finished updating designer agent to new format and cleaned up template linting errors
* Built dist for web bundle
* Increased expansion pack minor verison number
* Updated architecht and design for sharding built-in
* chore: bump bmad-2d-unity-game-dev version (minor)
* updated config.yaml for game-specific pieces to supplement core-config.yaml
* Updated game-core-config and epic processing for game story and game design. Initial implementation was far too generic
* chore: bump bmad-2d-unity-game-dev version (patch)
* feat: Fixed issue with multi-configs being needed. chore: bump bmad-2d-unity-game-dev version (patch)
* Chore: Built web-bundle
* feat: Added the ability to specify the unity editor install location.\nchore: bump bmad-2d-unity-game-dev version (patch)
* feat: core-config must be in two places to support inherited tasks at this time so added instructions to copy and create one in expansion pack folder as well. chore: bump bmad-2d-unity-game-dev version (patch)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* docs: update command names and agent references in documentation
- Change `*create` to `*draft` in workflow guide
- Update PM agent commands to use consistent naming
- Replace `analyst` references with `architect`
- Fix command examples to match new naming conventions
---------
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
2025-07-26 14:56:00 -05:00
|
|
|
|
|
2025-08-09 15:33:23 -05:00
|
|
|
|
program
|
2025-08-16 19:08:39 -05:00
|
|
|
|
.name('bmad-flatten')
|
2025-09-28 23:17:07 -05:00
|
|
|
|
.description('BMad-Method codebase flattener tool')
|
2025-08-16 19:08:39 -05:00
|
|
|
|
.version('1.0.0')
|
|
|
|
|
|
.option('-i, --input <path>', 'Input directory to flatten', process.cwd())
|
|
|
|
|
|
.option('-o, --output <path>', 'Output file path', 'flattened-codebase.xml')
|
2025-08-09 15:33:23 -05:00
|
|
|
|
.action(async (options) => {
|
|
|
|
|
|
let inputDir = path.resolve(options.input);
|
|
|
|
|
|
let outputPath = path.resolve(options.output);
|
|
|
|
|
|
|
|
|
|
|
|
// Detect if user explicitly provided -i/--input or -o/--output
|
|
|
|
|
|
const argv = process.argv.slice(2);
|
2025-09-28 23:17:07 -05:00
|
|
|
|
const userSpecifiedInput = argv.some((a) => a === '-i' || a === '--input' || a.startsWith('--input='));
|
|
|
|
|
|
const userSpecifiedOutput = argv.some((a) => a === '-o' || a === '--output' || a.startsWith('--output='));
|
2025-08-16 19:08:39 -05:00
|
|
|
|
const noPathArguments = !userSpecifiedInput && !userSpecifiedOutput;
|
2025-08-09 15:33:23 -05:00
|
|
|
|
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (noPathArguments) {
|
2025-08-09 15:33:23 -05:00
|
|
|
|
const detectedRoot = await findProjectRoot(process.cwd());
|
2025-09-28 23:17:07 -05:00
|
|
|
|
const suggestedOutput = detectedRoot ? path.join(detectedRoot, 'flattened-codebase.xml') : path.resolve('flattened-codebase.xml');
|
2025-08-09 15:33:23 -05:00
|
|
|
|
|
|
|
|
|
|
if (detectedRoot) {
|
|
|
|
|
|
const useDefaults = await promptYesNo(
|
|
|
|
|
|
`Detected project root at "${detectedRoot}". Use it as input and write output to "${suggestedOutput}"?`,
|
|
|
|
|
|
true,
|
|
|
|
|
|
);
|
|
|
|
|
|
if (useDefaults) {
|
|
|
|
|
|
inputDir = detectedRoot;
|
|
|
|
|
|
outputPath = suggestedOutput;
|
|
|
|
|
|
} else {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
inputDir = await promptPath('Enter input directory path', process.cwd());
|
2025-09-28 23:17:07 -05:00
|
|
|
|
outputPath = await promptPath('Enter output file path', path.join(inputDir, 'flattened-codebase.xml'));
|
Feat/flattener-tool (#337)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* docs(bmad-core): update documentation for enhanced workflow and user guide
- Fix typos and improve clarity in user guide
- Add new enhanced development workflow documentation
- Update brownfield workflow with flattened codebase instructions
- Improve consistency in documentation formatting
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* Update package.json
Removed jest as it is not needed.
* Update working-in-the-brownfield.md
added documentation for sharding docs
* perf(flattener): improve memory efficiency by streaming xml output
- Replace in-memory XML generation with streaming approach
- Add comprehensive common ignore patterns list
- Update statistics calculation to use file size instead of content length
* fix/chore: Update console.log for user-guide.md install path. Cleaned up config files/folders and updated .gitignore (#347)
* fix: Update console.log for user-guide.md install path
Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md
WHY: the actual install location of the user-guide.md is in the .bmad-core directory.
* chore: remove formatting configs and clean up gitignore
- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries
* feat: Overhaul and Enhance 2D Unity Game Dev Expansion Pack (#350)
* Updated game-sm agent to match the new core framework patterns
* feat:Created more comprehensive game story matching new format system as well
* feat:Added Game specific course correct task
* feat:Updated dod-checklist to match new DoD format
* feat:Added new Architect agent for appropriate architecture doc creation and design
* feat:Overhaul of game-architecture-tmpl template
* feat:Updated rest of templates besides level which doesnt really need it
* feat: Finished extended architecture documentation needed for new game story tasks
* feat: Updated game Developer to new format
* feat: Updated last agent to new format and updated bmad-kb. bmad-kb I did my best with but im not sure of it's valid usage in the expansion pack, the AI generated more of the file then myself. I made sure to include it due to the new core-config file
* feat: Finished updating designer agent to new format and cleaned up template linting errors
* Built dist for web bundle
* Increased expansion pack minor verison number
* Updated architecht and design for sharding built-in
* chore: bump bmad-2d-unity-game-dev version (minor)
* updated config.yaml for game-specific pieces to supplement core-config.yaml
* Updated game-core-config and epic processing for game story and game design. Initial implementation was far too generic
* chore: bump bmad-2d-unity-game-dev version (patch)
* feat: Fixed issue with multi-configs being needed. chore: bump bmad-2d-unity-game-dev version (patch)
* Chore: Built web-bundle
* feat: Added the ability to specify the unity editor install location.\nchore: bump bmad-2d-unity-game-dev version (patch)
* feat: core-config must be in two places to support inherited tasks at this time so added instructions to copy and create one in expansion pack folder as well. chore: bump bmad-2d-unity-game-dev version (patch)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* docs: update command names and agent references in documentation
- Change `*create` to `*draft` in workflow guide
- Update PM agent commands to use consistent naming
- Replace `analyst` references with `architect`
- Fix command examples to match new naming conventions
---------
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
2025-07-26 14:56:00 -05:00
|
|
|
|
}
|
2025-08-09 15:33:23 -05:00
|
|
|
|
} else {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log('Could not auto-detect a project root.');
|
|
|
|
|
|
inputDir = await promptPath('Enter input directory path', process.cwd());
|
2025-09-28 23:17:07 -05:00
|
|
|
|
outputPath = await promptPath('Enter output file path', path.join(inputDir, 'flattened-codebase.xml'));
|
Feat/flattener-tool (#337)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* docs(bmad-core): update documentation for enhanced workflow and user guide
- Fix typos and improve clarity in user guide
- Add new enhanced development workflow documentation
- Update brownfield workflow with flattened codebase instructions
- Improve consistency in documentation formatting
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* Update package.json
Removed jest as it is not needed.
* Update working-in-the-brownfield.md
added documentation for sharding docs
* perf(flattener): improve memory efficiency by streaming xml output
- Replace in-memory XML generation with streaming approach
- Add comprehensive common ignore patterns list
- Update statistics calculation to use file size instead of content length
* fix/chore: Update console.log for user-guide.md install path. Cleaned up config files/folders and updated .gitignore (#347)
* fix: Update console.log for user-guide.md install path
Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md
WHY: the actual install location of the user-guide.md is in the .bmad-core directory.
* chore: remove formatting configs and clean up gitignore
- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries
* feat: Overhaul and Enhance 2D Unity Game Dev Expansion Pack (#350)
* Updated game-sm agent to match the new core framework patterns
* feat:Created more comprehensive game story matching new format system as well
* feat:Added Game specific course correct task
* feat:Updated dod-checklist to match new DoD format
* feat:Added new Architect agent for appropriate architecture doc creation and design
* feat:Overhaul of game-architecture-tmpl template
* feat:Updated rest of templates besides level which doesnt really need it
* feat: Finished extended architecture documentation needed for new game story tasks
* feat: Updated game Developer to new format
* feat: Updated last agent to new format and updated bmad-kb. bmad-kb I did my best with but im not sure of it's valid usage in the expansion pack, the AI generated more of the file then myself. I made sure to include it due to the new core-config file
* feat: Finished updating designer agent to new format and cleaned up template linting errors
* Built dist for web bundle
* Increased expansion pack minor verison number
* Updated architecht and design for sharding built-in
* chore: bump bmad-2d-unity-game-dev version (minor)
* updated config.yaml for game-specific pieces to supplement core-config.yaml
* Updated game-core-config and epic processing for game story and game design. Initial implementation was far too generic
* chore: bump bmad-2d-unity-game-dev version (patch)
* feat: Fixed issue with multi-configs being needed. chore: bump bmad-2d-unity-game-dev version (patch)
* Chore: Built web-bundle
* feat: Added the ability to specify the unity editor install location.\nchore: bump bmad-2d-unity-game-dev version (patch)
* feat: core-config must be in two places to support inherited tasks at this time so added instructions to copy and create one in expansion pack folder as well. chore: bump bmad-2d-unity-game-dev version (patch)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* docs: update command names and agent references in documentation
- Change `*create` to `*draft` in workflow guide
- Update PM agent commands to use consistent naming
- Replace `analyst` references with `architect`
- Fix command examples to match new naming conventions
---------
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
2025-07-26 14:56:00 -05:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-09 15:33:23 -05:00
|
|
|
|
// Ensure output directory exists
|
|
|
|
|
|
await fs.ensureDir(path.dirname(outputPath));
|
Feat/flattener-tool (#337)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* docs(bmad-core): update documentation for enhanced workflow and user guide
- Fix typos and improve clarity in user guide
- Add new enhanced development workflow documentation
- Update brownfield workflow with flattened codebase instructions
- Improve consistency in documentation formatting
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* Update package.json
Removed jest as it is not needed.
* Update working-in-the-brownfield.md
added documentation for sharding docs
* perf(flattener): improve memory efficiency by streaming xml output
- Replace in-memory XML generation with streaming approach
- Add comprehensive common ignore patterns list
- Update statistics calculation to use file size instead of content length
* fix/chore: Update console.log for user-guide.md install path. Cleaned up config files/folders and updated .gitignore (#347)
* fix: Update console.log for user-guide.md install path
Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md
WHY: the actual install location of the user-guide.md is in the .bmad-core directory.
* chore: remove formatting configs and clean up gitignore
- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries
* feat: Overhaul and Enhance 2D Unity Game Dev Expansion Pack (#350)
* Updated game-sm agent to match the new core framework patterns
* feat:Created more comprehensive game story matching new format system as well
* feat:Added Game specific course correct task
* feat:Updated dod-checklist to match new DoD format
* feat:Added new Architect agent for appropriate architecture doc creation and design
* feat:Overhaul of game-architecture-tmpl template
* feat:Updated rest of templates besides level which doesnt really need it
* feat: Finished extended architecture documentation needed for new game story tasks
* feat: Updated game Developer to new format
* feat: Updated last agent to new format and updated bmad-kb. bmad-kb I did my best with but im not sure of it's valid usage in the expansion pack, the AI generated more of the file then myself. I made sure to include it due to the new core-config file
* feat: Finished updating designer agent to new format and cleaned up template linting errors
* Built dist for web bundle
* Increased expansion pack minor verison number
* Updated architecht and design for sharding built-in
* chore: bump bmad-2d-unity-game-dev version (minor)
* updated config.yaml for game-specific pieces to supplement core-config.yaml
* Updated game-core-config and epic processing for game story and game design. Initial implementation was far too generic
* chore: bump bmad-2d-unity-game-dev version (patch)
* feat: Fixed issue with multi-configs being needed. chore: bump bmad-2d-unity-game-dev version (patch)
* Chore: Built web-bundle
* feat: Added the ability to specify the unity editor install location.\nchore: bump bmad-2d-unity-game-dev version (patch)
* feat: core-config must be in two places to support inherited tasks at this time so added instructions to copy and create one in expansion pack folder as well. chore: bump bmad-2d-unity-game-dev version (patch)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* docs: update command names and agent references in documentation
- Change `*create` to `*draft` in workflow guide
- Update PM agent commands to use consistent naming
- Replace `analyst` references with `architect`
- Fix command examples to match new naming conventions
---------
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
2025-07-26 14:56:00 -05:00
|
|
|
|
|
|
|
|
|
|
try {
|
2025-07-27 18:02:08 -05:00
|
|
|
|
// Verify input directory exists
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (!(await fs.pathExists(inputDir))) {
|
2025-07-27 18:02:08 -05:00
|
|
|
|
console.error(`❌ Error: Input directory does not exist: ${inputDir}`);
|
|
|
|
|
|
process.exit(1);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
Feat/flattener-tool (#337)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* docs(bmad-core): update documentation for enhanced workflow and user guide
- Fix typos and improve clarity in user guide
- Add new enhanced development workflow documentation
- Update brownfield workflow with flattened codebase instructions
- Improve consistency in documentation formatting
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* Update package.json
Removed jest as it is not needed.
* Update working-in-the-brownfield.md
added documentation for sharding docs
* perf(flattener): improve memory efficiency by streaming xml output
- Replace in-memory XML generation with streaming approach
- Add comprehensive common ignore patterns list
- Update statistics calculation to use file size instead of content length
* fix/chore: Update console.log for user-guide.md install path. Cleaned up config files/folders and updated .gitignore (#347)
* fix: Update console.log for user-guide.md install path
Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md
WHY: the actual install location of the user-guide.md is in the .bmad-core directory.
* chore: remove formatting configs and clean up gitignore
- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries
* feat: Overhaul and Enhance 2D Unity Game Dev Expansion Pack (#350)
* Updated game-sm agent to match the new core framework patterns
* feat:Created more comprehensive game story matching new format system as well
* feat:Added Game specific course correct task
* feat:Updated dod-checklist to match new DoD format
* feat:Added new Architect agent for appropriate architecture doc creation and design
* feat:Overhaul of game-architecture-tmpl template
* feat:Updated rest of templates besides level which doesnt really need it
* feat: Finished extended architecture documentation needed for new game story tasks
* feat: Updated game Developer to new format
* feat: Updated last agent to new format and updated bmad-kb. bmad-kb I did my best with but im not sure of it's valid usage in the expansion pack, the AI generated more of the file then myself. I made sure to include it due to the new core-config file
* feat: Finished updating designer agent to new format and cleaned up template linting errors
* Built dist for web bundle
* Increased expansion pack minor verison number
* Updated architecht and design for sharding built-in
* chore: bump bmad-2d-unity-game-dev version (minor)
* updated config.yaml for game-specific pieces to supplement core-config.yaml
* Updated game-core-config and epic processing for game story and game design. Initial implementation was far too generic
* chore: bump bmad-2d-unity-game-dev version (patch)
* feat: Fixed issue with multi-configs being needed. chore: bump bmad-2d-unity-game-dev version (patch)
* Chore: Built web-bundle
* feat: Added the ability to specify the unity editor install location.\nchore: bump bmad-2d-unity-game-dev version (patch)
* feat: core-config must be in two places to support inherited tasks at this time so added instructions to copy and create one in expansion pack folder as well. chore: bump bmad-2d-unity-game-dev version (patch)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* docs: update command names and agent references in documentation
- Change `*create` to `*draft` in workflow guide
- Update PM agent commands to use consistent naming
- Replace `analyst` references with `architect`
- Fix command examples to match new naming conventions
---------
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
2025-07-26 14:56:00 -05:00
|
|
|
|
// Import ora dynamically
|
2025-08-16 19:08:39 -05:00
|
|
|
|
const { default: ora } = await import('ora');
|
Feat/flattener-tool (#337)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* docs(bmad-core): update documentation for enhanced workflow and user guide
- Fix typos and improve clarity in user guide
- Add new enhanced development workflow documentation
- Update brownfield workflow with flattened codebase instructions
- Improve consistency in documentation formatting
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* Update package.json
Removed jest as it is not needed.
* Update working-in-the-brownfield.md
added documentation for sharding docs
* perf(flattener): improve memory efficiency by streaming xml output
- Replace in-memory XML generation with streaming approach
- Add comprehensive common ignore patterns list
- Update statistics calculation to use file size instead of content length
* fix/chore: Update console.log for user-guide.md install path. Cleaned up config files/folders and updated .gitignore (#347)
* fix: Update console.log for user-guide.md install path
Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md
WHY: the actual install location of the user-guide.md is in the .bmad-core directory.
* chore: remove formatting configs and clean up gitignore
- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries
* feat: Overhaul and Enhance 2D Unity Game Dev Expansion Pack (#350)
* Updated game-sm agent to match the new core framework patterns
* feat:Created more comprehensive game story matching new format system as well
* feat:Added Game specific course correct task
* feat:Updated dod-checklist to match new DoD format
* feat:Added new Architect agent for appropriate architecture doc creation and design
* feat:Overhaul of game-architecture-tmpl template
* feat:Updated rest of templates besides level which doesnt really need it
* feat: Finished extended architecture documentation needed for new game story tasks
* feat: Updated game Developer to new format
* feat: Updated last agent to new format and updated bmad-kb. bmad-kb I did my best with but im not sure of it's valid usage in the expansion pack, the AI generated more of the file then myself. I made sure to include it due to the new core-config file
* feat: Finished updating designer agent to new format and cleaned up template linting errors
* Built dist for web bundle
* Increased expansion pack minor verison number
* Updated architecht and design for sharding built-in
* chore: bump bmad-2d-unity-game-dev version (minor)
* updated config.yaml for game-specific pieces to supplement core-config.yaml
* Updated game-core-config and epic processing for game story and game design. Initial implementation was far too generic
* chore: bump bmad-2d-unity-game-dev version (patch)
* feat: Fixed issue with multi-configs being needed. chore: bump bmad-2d-unity-game-dev version (patch)
* Chore: Built web-bundle
* feat: Added the ability to specify the unity editor install location.\nchore: bump bmad-2d-unity-game-dev version (patch)
* feat: core-config must be in two places to support inherited tasks at this time so added instructions to copy and create one in expansion pack folder as well. chore: bump bmad-2d-unity-game-dev version (patch)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* docs: update command names and agent references in documentation
- Change `*create` to `*draft` in workflow guide
- Update PM agent commands to use consistent naming
- Replace `analyst` references with `architect`
- Fix command examples to match new naming conventions
---------
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
2025-07-26 14:56:00 -05:00
|
|
|
|
|
|
|
|
|
|
// Start file discovery with spinner
|
2025-08-16 19:08:39 -05:00
|
|
|
|
const discoverySpinner = ora('🔍 Discovering files...').start();
|
2025-07-27 18:02:08 -05:00
|
|
|
|
const files = await discoverFiles(inputDir);
|
|
|
|
|
|
const filteredFiles = await filterFiles(files, inputDir);
|
2025-08-16 19:08:39 -05:00
|
|
|
|
discoverySpinner.succeed(`📁 Found ${filteredFiles.length} files to include`);
|
2025-08-08 15:54:47 +03:00
|
|
|
|
|
Feat/flattener-tool (#337)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* docs(bmad-core): update documentation for enhanced workflow and user guide
- Fix typos and improve clarity in user guide
- Add new enhanced development workflow documentation
- Update brownfield workflow with flattened codebase instructions
- Improve consistency in documentation formatting
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* Update package.json
Removed jest as it is not needed.
* Update working-in-the-brownfield.md
added documentation for sharding docs
* perf(flattener): improve memory efficiency by streaming xml output
- Replace in-memory XML generation with streaming approach
- Add comprehensive common ignore patterns list
- Update statistics calculation to use file size instead of content length
* fix/chore: Update console.log for user-guide.md install path. Cleaned up config files/folders and updated .gitignore (#347)
* fix: Update console.log for user-guide.md install path
Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md
WHY: the actual install location of the user-guide.md is in the .bmad-core directory.
* chore: remove formatting configs and clean up gitignore
- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries
* feat: Overhaul and Enhance 2D Unity Game Dev Expansion Pack (#350)
* Updated game-sm agent to match the new core framework patterns
* feat:Created more comprehensive game story matching new format system as well
* feat:Added Game specific course correct task
* feat:Updated dod-checklist to match new DoD format
* feat:Added new Architect agent for appropriate architecture doc creation and design
* feat:Overhaul of game-architecture-tmpl template
* feat:Updated rest of templates besides level which doesnt really need it
* feat: Finished extended architecture documentation needed for new game story tasks
* feat: Updated game Developer to new format
* feat: Updated last agent to new format and updated bmad-kb. bmad-kb I did my best with but im not sure of it's valid usage in the expansion pack, the AI generated more of the file then myself. I made sure to include it due to the new core-config file
* feat: Finished updating designer agent to new format and cleaned up template linting errors
* Built dist for web bundle
* Increased expansion pack minor verison number
* Updated architecht and design for sharding built-in
* chore: bump bmad-2d-unity-game-dev version (minor)
* updated config.yaml for game-specific pieces to supplement core-config.yaml
* Updated game-core-config and epic processing for game story and game design. Initial implementation was far too generic
* chore: bump bmad-2d-unity-game-dev version (patch)
* feat: Fixed issue with multi-configs being needed. chore: bump bmad-2d-unity-game-dev version (patch)
* Chore: Built web-bundle
* feat: Added the ability to specify the unity editor install location.\nchore: bump bmad-2d-unity-game-dev version (patch)
* feat: core-config must be in two places to support inherited tasks at this time so added instructions to copy and create one in expansion pack folder as well. chore: bump bmad-2d-unity-game-dev version (patch)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* docs: update command names and agent references in documentation
- Change `*create` to `*draft` in workflow guide
- Update PM agent commands to use consistent naming
- Replace `analyst` references with `architect`
- Fix command examples to match new naming conventions
---------
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
2025-07-26 14:56:00 -05:00
|
|
|
|
// Process files with progress tracking
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log('Reading file contents');
|
|
|
|
|
|
const processingSpinner = ora('📄 Processing files...').start();
|
2025-09-28 23:17:07 -05:00
|
|
|
|
const aggregatedContent = await aggregateFileContents(filteredFiles, inputDir, processingSpinner);
|
|
|
|
|
|
processingSpinner.succeed(`✅ Processed ${aggregatedContent.processedFiles}/${filteredFiles.length} files`);
|
Feat/flattener-tool (#337)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* docs(bmad-core): update documentation for enhanced workflow and user guide
- Fix typos and improve clarity in user guide
- Add new enhanced development workflow documentation
- Update brownfield workflow with flattened codebase instructions
- Improve consistency in documentation formatting
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* Update package.json
Removed jest as it is not needed.
* Update working-in-the-brownfield.md
added documentation for sharding docs
* perf(flattener): improve memory efficiency by streaming xml output
- Replace in-memory XML generation with streaming approach
- Add comprehensive common ignore patterns list
- Update statistics calculation to use file size instead of content length
* fix/chore: Update console.log for user-guide.md install path. Cleaned up config files/folders and updated .gitignore (#347)
* fix: Update console.log for user-guide.md install path
Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md
WHY: the actual install location of the user-guide.md is in the .bmad-core directory.
* chore: remove formatting configs and clean up gitignore
- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries
* feat: Overhaul and Enhance 2D Unity Game Dev Expansion Pack (#350)
* Updated game-sm agent to match the new core framework patterns
* feat:Created more comprehensive game story matching new format system as well
* feat:Added Game specific course correct task
* feat:Updated dod-checklist to match new DoD format
* feat:Added new Architect agent for appropriate architecture doc creation and design
* feat:Overhaul of game-architecture-tmpl template
* feat:Updated rest of templates besides level which doesnt really need it
* feat: Finished extended architecture documentation needed for new game story tasks
* feat: Updated game Developer to new format
* feat: Updated last agent to new format and updated bmad-kb. bmad-kb I did my best with but im not sure of it's valid usage in the expansion pack, the AI generated more of the file then myself. I made sure to include it due to the new core-config file
* feat: Finished updating designer agent to new format and cleaned up template linting errors
* Built dist for web bundle
* Increased expansion pack minor verison number
* Updated architecht and design for sharding built-in
* chore: bump bmad-2d-unity-game-dev version (minor)
* updated config.yaml for game-specific pieces to supplement core-config.yaml
* Updated game-core-config and epic processing for game story and game design. Initial implementation was far too generic
* chore: bump bmad-2d-unity-game-dev version (patch)
* feat: Fixed issue with multi-configs being needed. chore: bump bmad-2d-unity-game-dev version (patch)
* Chore: Built web-bundle
* feat: Added the ability to specify the unity editor install location.\nchore: bump bmad-2d-unity-game-dev version (patch)
* feat: core-config must be in two places to support inherited tasks at this time so added instructions to copy and create one in expansion pack folder as well. chore: bump bmad-2d-unity-game-dev version (patch)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* docs: update command names and agent references in documentation
- Change `*create` to `*draft` in workflow guide
- Update PM agent commands to use consistent naming
- Replace `analyst` references with `architect`
- Fix command examples to match new naming conventions
---------
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
2025-07-26 14:56:00 -05:00
|
|
|
|
if (aggregatedContent.errors.length > 0) {
|
|
|
|
|
|
console.log(`Errors: ${aggregatedContent.errors.length}`);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Generate XML output using streaming
|
2025-08-16 19:08:39 -05:00
|
|
|
|
const xmlSpinner = ora('🔧 Generating XML output...').start();
|
2025-07-27 18:02:08 -05:00
|
|
|
|
await generateXMLOutput(aggregatedContent, outputPath);
|
2025-08-16 19:08:39 -05:00
|
|
|
|
xmlSpinner.succeed('📝 XML generation completed');
|
Feat/flattener-tool (#337)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* docs(bmad-core): update documentation for enhanced workflow and user guide
- Fix typos and improve clarity in user guide
- Add new enhanced development workflow documentation
- Update brownfield workflow with flattened codebase instructions
- Improve consistency in documentation formatting
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* Update package.json
Removed jest as it is not needed.
* Update working-in-the-brownfield.md
added documentation for sharding docs
* perf(flattener): improve memory efficiency by streaming xml output
- Replace in-memory XML generation with streaming approach
- Add comprehensive common ignore patterns list
- Update statistics calculation to use file size instead of content length
* fix/chore: Update console.log for user-guide.md install path. Cleaned up config files/folders and updated .gitignore (#347)
* fix: Update console.log for user-guide.md install path
Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md
WHY: the actual install location of the user-guide.md is in the .bmad-core directory.
* chore: remove formatting configs and clean up gitignore
- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries
* feat: Overhaul and Enhance 2D Unity Game Dev Expansion Pack (#350)
* Updated game-sm agent to match the new core framework patterns
* feat:Created more comprehensive game story matching new format system as well
* feat:Added Game specific course correct task
* feat:Updated dod-checklist to match new DoD format
* feat:Added new Architect agent for appropriate architecture doc creation and design
* feat:Overhaul of game-architecture-tmpl template
* feat:Updated rest of templates besides level which doesnt really need it
* feat: Finished extended architecture documentation needed for new game story tasks
* feat: Updated game Developer to new format
* feat: Updated last agent to new format and updated bmad-kb. bmad-kb I did my best with but im not sure of it's valid usage in the expansion pack, the AI generated more of the file then myself. I made sure to include it due to the new core-config file
* feat: Finished updating designer agent to new format and cleaned up template linting errors
* Built dist for web bundle
* Increased expansion pack minor verison number
* Updated architecht and design for sharding built-in
* chore: bump bmad-2d-unity-game-dev version (minor)
* updated config.yaml for game-specific pieces to supplement core-config.yaml
* Updated game-core-config and epic processing for game story and game design. Initial implementation was far too generic
* chore: bump bmad-2d-unity-game-dev version (patch)
* feat: Fixed issue with multi-configs being needed. chore: bump bmad-2d-unity-game-dev version (patch)
* Chore: Built web-bundle
* feat: Added the ability to specify the unity editor install location.\nchore: bump bmad-2d-unity-game-dev version (patch)
* feat: core-config must be in two places to support inherited tasks at this time so added instructions to copy and create one in expansion pack folder as well. chore: bump bmad-2d-unity-game-dev version (patch)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* docs: update command names and agent references in documentation
- Change `*create` to `*draft` in workflow guide
- Update PM agent commands to use consistent naming
- Replace `analyst` references with `architect`
- Fix command examples to match new naming conventions
---------
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
2025-07-26 14:56:00 -05:00
|
|
|
|
|
|
|
|
|
|
// Calculate and display statistics
|
2025-07-27 18:02:08 -05:00
|
|
|
|
const outputStats = await fs.stat(outputPath);
|
2025-08-16 19:08:39 -05:00
|
|
|
|
const stats = await calculateStatistics(aggregatedContent, outputStats.size, inputDir);
|
Feat/flattener-tool (#337)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* docs(bmad-core): update documentation for enhanced workflow and user guide
- Fix typos and improve clarity in user guide
- Add new enhanced development workflow documentation
- Update brownfield workflow with flattened codebase instructions
- Improve consistency in documentation formatting
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* Update package.json
Removed jest as it is not needed.
* Update working-in-the-brownfield.md
added documentation for sharding docs
* perf(flattener): improve memory efficiency by streaming xml output
- Replace in-memory XML generation with streaming approach
- Add comprehensive common ignore patterns list
- Update statistics calculation to use file size instead of content length
* fix/chore: Update console.log for user-guide.md install path. Cleaned up config files/folders and updated .gitignore (#347)
* fix: Update console.log for user-guide.md install path
Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md
WHY: the actual install location of the user-guide.md is in the .bmad-core directory.
* chore: remove formatting configs and clean up gitignore
- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries
* feat: Overhaul and Enhance 2D Unity Game Dev Expansion Pack (#350)
* Updated game-sm agent to match the new core framework patterns
* feat:Created more comprehensive game story matching new format system as well
* feat:Added Game specific course correct task
* feat:Updated dod-checklist to match new DoD format
* feat:Added new Architect agent for appropriate architecture doc creation and design
* feat:Overhaul of game-architecture-tmpl template
* feat:Updated rest of templates besides level which doesnt really need it
* feat: Finished extended architecture documentation needed for new game story tasks
* feat: Updated game Developer to new format
* feat: Updated last agent to new format and updated bmad-kb. bmad-kb I did my best with but im not sure of it's valid usage in the expansion pack, the AI generated more of the file then myself. I made sure to include it due to the new core-config file
* feat: Finished updating designer agent to new format and cleaned up template linting errors
* Built dist for web bundle
* Increased expansion pack minor verison number
* Updated architecht and design for sharding built-in
* chore: bump bmad-2d-unity-game-dev version (minor)
* updated config.yaml for game-specific pieces to supplement core-config.yaml
* Updated game-core-config and epic processing for game story and game design. Initial implementation was far too generic
* chore: bump bmad-2d-unity-game-dev version (patch)
* feat: Fixed issue with multi-configs being needed. chore: bump bmad-2d-unity-game-dev version (patch)
* Chore: Built web-bundle
* feat: Added the ability to specify the unity editor install location.\nchore: bump bmad-2d-unity-game-dev version (patch)
* feat: core-config must be in two places to support inherited tasks at this time so added instructions to copy and create one in expansion pack folder as well. chore: bump bmad-2d-unity-game-dev version (patch)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* docs: update command names and agent references in documentation
- Change `*create` to `*draft` in workflow guide
- Update PM agent commands to use consistent naming
- Replace `analyst` references with `architect`
- Fix command examples to match new naming conventions
---------
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
2025-07-26 14:56:00 -05:00
|
|
|
|
|
|
|
|
|
|
// Display completion summary
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log('\n📊 Completion Summary:');
|
2025-09-28 23:17:07 -05:00
|
|
|
|
console.log(`✅ Successfully processed ${filteredFiles.length} files into ${path.basename(outputPath)}`);
|
2025-07-27 18:02:08 -05:00
|
|
|
|
console.log(`📁 Output file: ${outputPath}`);
|
Feat/flattener-tool (#337)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* docs(bmad-core): update documentation for enhanced workflow and user guide
- Fix typos and improve clarity in user guide
- Add new enhanced development workflow documentation
- Update brownfield workflow with flattened codebase instructions
- Improve consistency in documentation formatting
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* Update package.json
Removed jest as it is not needed.
* Update working-in-the-brownfield.md
added documentation for sharding docs
* perf(flattener): improve memory efficiency by streaming xml output
- Replace in-memory XML generation with streaming approach
- Add comprehensive common ignore patterns list
- Update statistics calculation to use file size instead of content length
* fix/chore: Update console.log for user-guide.md install path. Cleaned up config files/folders and updated .gitignore (#347)
* fix: Update console.log for user-guide.md install path
Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md
WHY: the actual install location of the user-guide.md is in the .bmad-core directory.
* chore: remove formatting configs and clean up gitignore
- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries
* feat: Overhaul and Enhance 2D Unity Game Dev Expansion Pack (#350)
* Updated game-sm agent to match the new core framework patterns
* feat:Created more comprehensive game story matching new format system as well
* feat:Added Game specific course correct task
* feat:Updated dod-checklist to match new DoD format
* feat:Added new Architect agent for appropriate architecture doc creation and design
* feat:Overhaul of game-architecture-tmpl template
* feat:Updated rest of templates besides level which doesnt really need it
* feat: Finished extended architecture documentation needed for new game story tasks
* feat: Updated game Developer to new format
* feat: Updated last agent to new format and updated bmad-kb. bmad-kb I did my best with but im not sure of it's valid usage in the expansion pack, the AI generated more of the file then myself. I made sure to include it due to the new core-config file
* feat: Finished updating designer agent to new format and cleaned up template linting errors
* Built dist for web bundle
* Increased expansion pack minor verison number
* Updated architecht and design for sharding built-in
* chore: bump bmad-2d-unity-game-dev version (minor)
* updated config.yaml for game-specific pieces to supplement core-config.yaml
* Updated game-core-config and epic processing for game story and game design. Initial implementation was far too generic
* chore: bump bmad-2d-unity-game-dev version (patch)
* feat: Fixed issue with multi-configs being needed. chore: bump bmad-2d-unity-game-dev version (patch)
* Chore: Built web-bundle
* feat: Added the ability to specify the unity editor install location.\nchore: bump bmad-2d-unity-game-dev version (patch)
* feat: core-config must be in two places to support inherited tasks at this time so added instructions to copy and create one in expansion pack folder as well. chore: bump bmad-2d-unity-game-dev version (patch)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* docs: update command names and agent references in documentation
- Change `*create` to `*draft` in workflow guide
- Update PM agent commands to use consistent naming
- Replace `analyst` references with `architect`
- Fix command examples to match new naming conventions
---------
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
2025-07-26 14:56:00 -05:00
|
|
|
|
console.log(`📏 Total source size: ${stats.totalSize}`);
|
|
|
|
|
|
console.log(`📄 Generated XML size: ${stats.xmlSize}`);
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log(`📝 Total lines of code: ${stats.totalLines.toLocaleString()}`);
|
Feat/flattener-tool (#337)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* docs(bmad-core): update documentation for enhanced workflow and user guide
- Fix typos and improve clarity in user guide
- Add new enhanced development workflow documentation
- Update brownfield workflow with flattened codebase instructions
- Improve consistency in documentation formatting
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* Update package.json
Removed jest as it is not needed.
* Update working-in-the-brownfield.md
added documentation for sharding docs
* perf(flattener): improve memory efficiency by streaming xml output
- Replace in-memory XML generation with streaming approach
- Add comprehensive common ignore patterns list
- Update statistics calculation to use file size instead of content length
* fix/chore: Update console.log for user-guide.md install path. Cleaned up config files/folders and updated .gitignore (#347)
* fix: Update console.log for user-guide.md install path
Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md
WHY: the actual install location of the user-guide.md is in the .bmad-core directory.
* chore: remove formatting configs and clean up gitignore
- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries
* feat: Overhaul and Enhance 2D Unity Game Dev Expansion Pack (#350)
* Updated game-sm agent to match the new core framework patterns
* feat:Created more comprehensive game story matching new format system as well
* feat:Added Game specific course correct task
* feat:Updated dod-checklist to match new DoD format
* feat:Added new Architect agent for appropriate architecture doc creation and design
* feat:Overhaul of game-architecture-tmpl template
* feat:Updated rest of templates besides level which doesnt really need it
* feat: Finished extended architecture documentation needed for new game story tasks
* feat: Updated game Developer to new format
* feat: Updated last agent to new format and updated bmad-kb. bmad-kb I did my best with but im not sure of it's valid usage in the expansion pack, the AI generated more of the file then myself. I made sure to include it due to the new core-config file
* feat: Finished updating designer agent to new format and cleaned up template linting errors
* Built dist for web bundle
* Increased expansion pack minor verison number
* Updated architecht and design for sharding built-in
* chore: bump bmad-2d-unity-game-dev version (minor)
* updated config.yaml for game-specific pieces to supplement core-config.yaml
* Updated game-core-config and epic processing for game story and game design. Initial implementation was far too generic
* chore: bump bmad-2d-unity-game-dev version (patch)
* feat: Fixed issue with multi-configs being needed. chore: bump bmad-2d-unity-game-dev version (patch)
* Chore: Built web-bundle
* feat: Added the ability to specify the unity editor install location.\nchore: bump bmad-2d-unity-game-dev version (patch)
* feat: core-config must be in two places to support inherited tasks at this time so added instructions to copy and create one in expansion pack folder as well. chore: bump bmad-2d-unity-game-dev version (patch)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* docs: update command names and agent references in documentation
- Change `*create` to `*draft` in workflow guide
- Update PM agent commands to use consistent naming
- Replace `analyst` references with `architect`
- Fix command examples to match new naming conventions
---------
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
2025-07-26 14:56:00 -05:00
|
|
|
|
console.log(`🔢 Estimated tokens: ${stats.estimatedTokens}`);
|
2025-09-28 23:17:07 -05:00
|
|
|
|
console.log(`📊 File breakdown: ${stats.textFiles} text, ${stats.binaryFiles} binary, ${stats.errorFiles} errors\n`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
|
|
|
|
|
|
// Ask user if they want detailed stats + markdown report
|
2025-09-28 23:17:07 -05:00
|
|
|
|
const generateDetailed = await promptYesNo('Generate detailed stats (console + markdown) now?', true);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
|
|
|
|
|
|
if (generateDetailed) {
|
|
|
|
|
|
// Additional detailed stats
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log('\n📈 Size Percentiles:');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
console.log(
|
2025-08-16 19:08:39 -05:00
|
|
|
|
` Avg: ${Math.round(stats.avgFileSize).toLocaleString()} B, Median: ${Math.round(
|
|
|
|
|
|
stats.medianFileSize,
|
|
|
|
|
|
).toLocaleString()} B, p90: ${stats.p90.toLocaleString()} B, p95: ${stats.p95.toLocaleString()} B, p99: ${stats.p99.toLocaleString()} B`,
|
2025-08-16 08:03:28 -05:00
|
|
|
|
);
|
|
|
|
|
|
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (Array.isArray(stats.histogram) && stats.histogram.length > 0) {
|
|
|
|
|
|
console.log('\n🧮 Size Histogram:');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
for (const b of stats.histogram.slice(0, 2)) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log(` ${b.label}: ${b.count} files, ${b.bytes.toLocaleString()} bytes`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
if (stats.histogram.length > 2) {
|
|
|
|
|
|
console.log(` … and ${stats.histogram.length - 2} more buckets`);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (Array.isArray(stats.byExtension) && stats.byExtension.length > 0) {
|
2025-08-16 08:03:28 -05:00
|
|
|
|
const topExt = stats.byExtension.slice(0, 2);
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log('\n📦 Top Extensions:');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
for (const e of topExt) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
const pct = stats.totalBytes ? (e.bytes / stats.totalBytes) * 100 : 0;
|
2025-09-28 23:17:07 -05:00
|
|
|
|
console.log(` ${e.ext}: ${e.count} files, ${e.bytes.toLocaleString()} bytes (${pct.toFixed(2)}%)`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
if (stats.byExtension.length > 2) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log(` … and ${stats.byExtension.length - 2} more extensions`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (Array.isArray(stats.byDirectory) && stats.byDirectory.length > 0) {
|
2025-08-16 08:03:28 -05:00
|
|
|
|
const topDir = stats.byDirectory.slice(0, 2);
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log('\n📂 Top Directories:');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
for (const d of topDir) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
const pct = stats.totalBytes ? (d.bytes / stats.totalBytes) * 100 : 0;
|
2025-09-28 23:17:07 -05:00
|
|
|
|
console.log(` ${d.dir}: ${d.count} files, ${d.bytes.toLocaleString()} bytes (${pct.toFixed(2)}%)`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
if (stats.byDirectory.length > 2) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log(` … and ${stats.byDirectory.length - 2} more directories`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (Array.isArray(stats.depthDistribution) && stats.depthDistribution.length > 0) {
|
|
|
|
|
|
console.log('\n🌳 Depth Distribution:');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
const dd = stats.depthDistribution.slice(0, 2);
|
2025-08-16 19:08:39 -05:00
|
|
|
|
let line = ' ' + dd.map((d) => `${d.depth}:${d.count}`).join(' ');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
if (stats.depthDistribution.length > 2) {
|
|
|
|
|
|
line += ` … +${stats.depthDistribution.length - 2} more`;
|
|
|
|
|
|
}
|
|
|
|
|
|
console.log(line);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (Array.isArray(stats.longestPaths) && stats.longestPaths.length > 0) {
|
|
|
|
|
|
console.log('\n🧵 Longest Paths:');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
for (const p of stats.longestPaths.slice(0, 2)) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log(` ${p.path} (${p.length} chars, ${p.size.toLocaleString()} bytes)`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
if (stats.longestPaths.length > 2) {
|
|
|
|
|
|
console.log(` … and ${stats.longestPaths.length - 2} more paths`);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (stats.temporal) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log('\n⏱️ Temporal:');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
if (stats.temporal.oldest) {
|
2025-09-28 23:17:07 -05:00
|
|
|
|
console.log(` Oldest: ${stats.temporal.oldest.path} (${stats.temporal.oldest.mtime})`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
if (stats.temporal.newest) {
|
2025-09-28 23:17:07 -05:00
|
|
|
|
console.log(` Newest: ${stats.temporal.newest.path} (${stats.temporal.newest.mtime})`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
if (Array.isArray(stats.temporal.ageBuckets)) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log(' Age buckets:');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
for (const b of stats.temporal.ageBuckets.slice(0, 2)) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log(` ${b.label}: ${b.count} files, ${b.bytes.toLocaleString()} bytes`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
if (stats.temporal.ageBuckets.length > 2) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log(` … and ${stats.temporal.ageBuckets.length - 2} more buckets`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (stats.quality) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log('\n✅ Quality Signals:');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
console.log(` Zero-byte files: ${stats.quality.zeroByteFiles}`);
|
|
|
|
|
|
console.log(` Empty text files: ${stats.quality.emptyTextFiles}`);
|
|
|
|
|
|
console.log(` Hidden files: ${stats.quality.hiddenFiles}`);
|
|
|
|
|
|
console.log(` Symlinks: ${stats.quality.symlinks}`);
|
|
|
|
|
|
console.log(
|
2025-09-28 23:17:07 -05:00
|
|
|
|
` Large files (>= ${(stats.quality.largeThreshold / (1024 * 1024)).toFixed(0)} MB): ${stats.quality.largeFilesCount}`,
|
2025-08-16 08:03:28 -05:00
|
|
|
|
);
|
2025-09-28 23:17:07 -05:00
|
|
|
|
console.log(` Suspiciously large files (>= 100 MB): ${stats.quality.suspiciousLargeFilesCount}`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (Array.isArray(stats.duplicateCandidates) && stats.duplicateCandidates.length > 0) {
|
|
|
|
|
|
console.log('\n🧬 Duplicate Candidates:');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
for (const d of stats.duplicateCandidates.slice(0, 2)) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log(` ${d.reason}: ${d.count} files @ ${d.size.toLocaleString()} bytes`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
if (stats.duplicateCandidates.length > 2) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log(` … and ${stats.duplicateCandidates.length - 2} more groups`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (typeof stats.compressibilityRatio === 'number') {
|
2025-09-28 23:17:07 -05:00
|
|
|
|
console.log(`\n🗜️ Compressibility ratio (sampled): ${(stats.compressibilityRatio * 100).toFixed(2)}%`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (stats.git && stats.git.isRepo) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log('\n🔧 Git:');
|
2025-09-28 23:17:07 -05:00
|
|
|
|
console.log(` Tracked: ${stats.git.trackedCount} files, ${stats.git.trackedBytes.toLocaleString()} bytes`);
|
|
|
|
|
|
console.log(` Untracked: ${stats.git.untrackedCount} files, ${stats.git.untrackedBytes.toLocaleString()} bytes`);
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (Array.isArray(stats.git.lfsCandidates) && stats.git.lfsCandidates.length > 0) {
|
|
|
|
|
|
console.log(' LFS candidates (top 2):');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
for (const f of stats.git.lfsCandidates.slice(0, 2)) {
|
|
|
|
|
|
console.log(` ${f.path} (${f.size.toLocaleString()} bytes)`);
|
|
|
|
|
|
}
|
|
|
|
|
|
if (stats.git.lfsCandidates.length > 2) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.log(` … and ${stats.git.lfsCandidates.length - 2} more`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (Array.isArray(stats.largestFiles) && stats.largestFiles.length > 0) {
|
|
|
|
|
|
console.log('\n📚 Largest Files (top 2):');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
for (const f of stats.largestFiles.slice(0, 2)) {
|
|
|
|
|
|
// Show LOC for text files when available; omit ext and mtime
|
2025-08-16 19:08:39 -05:00
|
|
|
|
let locStr = '';
|
2025-08-16 08:03:28 -05:00
|
|
|
|
if (!f.isBinary && Array.isArray(aggregatedContent?.textFiles)) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
const tf = aggregatedContent.textFiles.find((t) => t.path === f.path);
|
|
|
|
|
|
if (tf && typeof tf.lines === 'number') {
|
2025-08-16 08:03:28 -05:00
|
|
|
|
locStr = `, LOC: ${tf.lines.toLocaleString()}`;
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-09-28 23:17:07 -05:00
|
|
|
|
console.log(` ${f.path} – ${f.sizeFormatted} (${f.percentOfTotal.toFixed(2)}%)${locStr}`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
if (stats.largestFiles.length > 2) {
|
|
|
|
|
|
console.log(` … and ${stats.largestFiles.length - 2} more files`);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Write a comprehensive markdown report next to the XML
|
|
|
|
|
|
{
|
2025-09-28 23:17:07 -05:00
|
|
|
|
const mdPath = outputPath.endsWith('.xml') ? outputPath.replace(/\.xml$/i, '.stats.md') : outputPath + '.stats.md';
|
2025-08-16 08:03:28 -05:00
|
|
|
|
try {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
const pct = (num, den) => (den ? (num / den) * 100 : 0);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
const md = [];
|
|
|
|
|
|
md.push(
|
2025-08-16 19:08:39 -05:00
|
|
|
|
`# 🧾 Flatten Stats for ${path.basename(outputPath)}`,
|
|
|
|
|
|
'',
|
|
|
|
|
|
'## 📊 Summary',
|
|
|
|
|
|
`- Total source size: ${stats.totalSize}`,
|
|
|
|
|
|
`- Generated XML size: ${stats.xmlSize}`,
|
2025-08-16 08:03:28 -05:00
|
|
|
|
`- Total lines of code: ${stats.totalLines.toLocaleString()}`,
|
2025-08-16 19:08:39 -05:00
|
|
|
|
`- Estimated tokens: ${stats.estimatedTokens}`,
|
2025-08-16 08:03:28 -05:00
|
|
|
|
`- File breakdown: ${stats.textFiles} text, ${stats.binaryFiles} binary, ${stats.errorFiles} errors`,
|
2025-08-16 19:08:39 -05:00
|
|
|
|
'',
|
|
|
|
|
|
'## 📈 Size Percentiles',
|
|
|
|
|
|
`Avg: ${Math.round(stats.avgFileSize).toLocaleString()} B, Median: ${Math.round(
|
|
|
|
|
|
stats.medianFileSize,
|
|
|
|
|
|
).toLocaleString()} B, p90: ${stats.p90.toLocaleString()} B, p95: ${stats.p95.toLocaleString()} B, p99: ${stats.p99.toLocaleString()} B`,
|
|
|
|
|
|
'',
|
2025-08-16 08:03:28 -05:00
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
// Histogram
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (Array.isArray(stats.histogram) && stats.histogram.length > 0) {
|
2025-09-28 23:17:07 -05:00
|
|
|
|
md.push('## 🧮 Size Histogram', '| Bucket | Files | Bytes |', '| --- | ---: | ---: |');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
for (const b of stats.histogram) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push(`| ${b.label} | ${b.count} | ${b.bytes.toLocaleString()} |`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push('');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Top Extensions
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (Array.isArray(stats.byExtension) && stats.byExtension.length > 0) {
|
2025-09-28 23:17:07 -05:00
|
|
|
|
md.push('## 📦 Top Extensions by Bytes (Top 20)', '| Ext | Files | Bytes | % of total |', '| --- | ---: | ---: | ---: |');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
for (const e of stats.byExtension.slice(0, 20)) {
|
|
|
|
|
|
const p = pct(e.bytes, stats.totalBytes);
|
2025-09-28 23:17:07 -05:00
|
|
|
|
md.push(`| ${e.ext} | ${e.count} | ${e.bytes.toLocaleString()} | ${p.toFixed(2)}% |`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push('');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Top Directories
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (Array.isArray(stats.byDirectory) && stats.byDirectory.length > 0) {
|
|
|
|
|
|
md.push(
|
|
|
|
|
|
'## 📂 Top Directories by Bytes (Top 20)',
|
|
|
|
|
|
'| Directory | Files | Bytes | % of total |',
|
|
|
|
|
|
'| --- | ---: | ---: | ---: |',
|
|
|
|
|
|
);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
for (const d of stats.byDirectory.slice(0, 20)) {
|
|
|
|
|
|
const p = pct(d.bytes, stats.totalBytes);
|
2025-09-28 23:17:07 -05:00
|
|
|
|
md.push(`| ${d.dir} | ${d.count} | ${d.bytes.toLocaleString()} | ${p.toFixed(2)}% |`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push('');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Depth distribution
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (Array.isArray(stats.depthDistribution) && stats.depthDistribution.length > 0) {
|
|
|
|
|
|
md.push('## 🌳 Depth Distribution', '| Depth | Count |', '| ---: | ---: |');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
for (const d of stats.depthDistribution) {
|
|
|
|
|
|
md.push(`| ${d.depth} | ${d.count} |`);
|
|
|
|
|
|
}
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push('');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Longest paths
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (Array.isArray(stats.longestPaths) && stats.longestPaths.length > 0) {
|
2025-09-28 23:17:07 -05:00
|
|
|
|
md.push('## 🧵 Longest Paths (Top 25)', '| Path | Length | Bytes |', '| --- | ---: | ---: |');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
for (const pth of stats.longestPaths) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push(`| ${pth.path} | ${pth.length} | ${pth.size.toLocaleString()} |`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push('');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Temporal
|
|
|
|
|
|
if (stats.temporal) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push('## ⏱️ Temporal');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
if (stats.temporal.oldest) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push(`- Oldest: ${stats.temporal.oldest.path} (${stats.temporal.oldest.mtime})`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
if (stats.temporal.newest) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push(`- Newest: ${stats.temporal.newest.path} (${stats.temporal.newest.mtime})`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
if (Array.isArray(stats.temporal.ageBuckets)) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push('', '| Age | Files | Bytes |', '| --- | ---: | ---: |');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
for (const b of stats.temporal.ageBuckets) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push(`| ${b.label} | ${b.count} | ${b.bytes.toLocaleString()} |`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push('');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Quality signals
|
|
|
|
|
|
if (stats.quality) {
|
|
|
|
|
|
md.push(
|
2025-08-16 19:08:39 -05:00
|
|
|
|
'## ✅ Quality Signals',
|
|
|
|
|
|
`- Zero-byte files: ${stats.quality.zeroByteFiles}`,
|
|
|
|
|
|
`- Empty text files: ${stats.quality.emptyTextFiles}`,
|
|
|
|
|
|
`- Hidden files: ${stats.quality.hiddenFiles}`,
|
|
|
|
|
|
`- Symlinks: ${stats.quality.symlinks}`,
|
|
|
|
|
|
`- Large files (>= ${(stats.quality.largeThreshold / (1024 * 1024)).toFixed(0)} MB): ${stats.quality.largeFilesCount}`,
|
2025-08-16 08:03:28 -05:00
|
|
|
|
`- Suspiciously large files (>= 100 MB): ${stats.quality.suspiciousLargeFilesCount}`,
|
2025-08-16 19:08:39 -05:00
|
|
|
|
'',
|
2025-08-16 08:03:28 -05:00
|
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Duplicates
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (Array.isArray(stats.duplicateCandidates) && stats.duplicateCandidates.length > 0) {
|
2025-09-28 23:17:07 -05:00
|
|
|
|
md.push('## 🧬 Duplicate Candidates', '| Reason | Files | Size (bytes) |', '| --- | ---: | ---: |');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
for (const d of stats.duplicateCandidates) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push(`| ${d.reason} | ${d.count} | ${d.size.toLocaleString()} |`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push('', '### 🧬 Duplicate Groups Details');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
let dupIndex = 1;
|
|
|
|
|
|
for (const d of stats.duplicateCandidates) {
|
2025-09-28 23:17:07 -05:00
|
|
|
|
md.push(`#### Group ${dupIndex}: ${d.count} files @ ${d.size.toLocaleString()} bytes (${d.reason})`);
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (Array.isArray(d.files) && d.files.length > 0) {
|
2025-08-16 08:03:28 -05:00
|
|
|
|
for (const fp of d.files) {
|
|
|
|
|
|
md.push(`- ${fp}`);
|
|
|
|
|
|
}
|
|
|
|
|
|
} else {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push('- (file list unavailable)');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push('');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
dupIndex++;
|
|
|
|
|
|
}
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push('');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Compressibility
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (typeof stats.compressibilityRatio === 'number') {
|
2025-09-28 23:17:07 -05:00
|
|
|
|
md.push('## 🗜️ Compressibility', `Sampled compressibility ratio: ${(stats.compressibilityRatio * 100).toFixed(2)}%`, '');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Git
|
|
|
|
|
|
if (stats.git && stats.git.isRepo) {
|
|
|
|
|
|
md.push(
|
2025-08-16 19:08:39 -05:00
|
|
|
|
'## 🔧 Git',
|
2025-08-16 08:03:28 -05:00
|
|
|
|
`- Tracked: ${stats.git.trackedCount} files, ${stats.git.trackedBytes.toLocaleString()} bytes`,
|
|
|
|
|
|
`- Untracked: ${stats.git.untrackedCount} files, ${stats.git.untrackedBytes.toLocaleString()} bytes`,
|
|
|
|
|
|
);
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (Array.isArray(stats.git.lfsCandidates) && stats.git.lfsCandidates.length > 0) {
|
|
|
|
|
|
md.push('', '### 📦 LFS Candidates (Top 20)', '| Path | Bytes |', '| --- | ---: |');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
for (const f of stats.git.lfsCandidates.slice(0, 20)) {
|
|
|
|
|
|
md.push(`| ${f.path} | ${f.size.toLocaleString()} |`);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push('');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// Largest Files
|
2025-08-16 19:08:39 -05:00
|
|
|
|
if (Array.isArray(stats.largestFiles) && stats.largestFiles.length > 0) {
|
2025-09-28 23:17:07 -05:00
|
|
|
|
md.push('## 📚 Largest Files (Top 50)', '| Path | Size | % of total | LOC |', '| --- | ---: | ---: | ---: |');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
for (const f of stats.largestFiles) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
let loc = '';
|
|
|
|
|
|
if (!f.isBinary && Array.isArray(aggregatedContent?.textFiles)) {
|
|
|
|
|
|
const tf = aggregatedContent.textFiles.find((t) => t.path === f.path);
|
|
|
|
|
|
if (tf && typeof tf.lines === 'number') {
|
2025-08-16 08:03:28 -05:00
|
|
|
|
loc = tf.lines.toLocaleString();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
2025-09-28 23:17:07 -05:00
|
|
|
|
md.push(`| ${f.path} | ${f.sizeFormatted} | ${f.percentOfTotal.toFixed(2)}% | ${loc} |`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
2025-08-16 19:08:39 -05:00
|
|
|
|
md.push('');
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
|
2025-08-16 19:08:39 -05:00
|
|
|
|
await fs.writeFile(mdPath, md.join('\n'));
|
2025-08-16 08:03:28 -05:00
|
|
|
|
console.log(`\n🧾 Detailed stats report written to: ${mdPath}`);
|
2025-08-16 19:08:39 -05:00
|
|
|
|
} catch (error) {
|
|
|
|
|
|
console.warn(`⚠️ Failed to write stats markdown: ${error.message}`);
|
2025-08-16 08:03:28 -05:00
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
Feat/flattener-tool (#337)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* docs(bmad-core): update documentation for enhanced workflow and user guide
- Fix typos and improve clarity in user guide
- Add new enhanced development workflow documentation
- Update brownfield workflow with flattened codebase instructions
- Improve consistency in documentation formatting
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* Update package.json
Removed jest as it is not needed.
* Update working-in-the-brownfield.md
added documentation for sharding docs
* perf(flattener): improve memory efficiency by streaming xml output
- Replace in-memory XML generation with streaming approach
- Add comprehensive common ignore patterns list
- Update statistics calculation to use file size instead of content length
* fix/chore: Update console.log for user-guide.md install path. Cleaned up config files/folders and updated .gitignore (#347)
* fix: Update console.log for user-guide.md install path
Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md
WHY: the actual install location of the user-guide.md is in the .bmad-core directory.
* chore: remove formatting configs and clean up gitignore
- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries
* feat: Overhaul and Enhance 2D Unity Game Dev Expansion Pack (#350)
* Updated game-sm agent to match the new core framework patterns
* feat:Created more comprehensive game story matching new format system as well
* feat:Added Game specific course correct task
* feat:Updated dod-checklist to match new DoD format
* feat:Added new Architect agent for appropriate architecture doc creation and design
* feat:Overhaul of game-architecture-tmpl template
* feat:Updated rest of templates besides level which doesnt really need it
* feat: Finished extended architecture documentation needed for new game story tasks
* feat: Updated game Developer to new format
* feat: Updated last agent to new format and updated bmad-kb. bmad-kb I did my best with but im not sure of it's valid usage in the expansion pack, the AI generated more of the file then myself. I made sure to include it due to the new core-config file
* feat: Finished updating designer agent to new format and cleaned up template linting errors
* Built dist for web bundle
* Increased expansion pack minor verison number
* Updated architecht and design for sharding built-in
* chore: bump bmad-2d-unity-game-dev version (minor)
* updated config.yaml for game-specific pieces to supplement core-config.yaml
* Updated game-core-config and epic processing for game story and game design. Initial implementation was far too generic
* chore: bump bmad-2d-unity-game-dev version (patch)
* feat: Fixed issue with multi-configs being needed. chore: bump bmad-2d-unity-game-dev version (patch)
* Chore: Built web-bundle
* feat: Added the ability to specify the unity editor install location.\nchore: bump bmad-2d-unity-game-dev version (patch)
* feat: core-config must be in two places to support inherited tasks at this time so added instructions to copy and create one in expansion pack folder as well. chore: bump bmad-2d-unity-game-dev version (patch)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* docs: update command names and agent references in documentation
- Change `*create` to `*draft` in workflow guide
- Update PM agent commands to use consistent naming
- Replace `analyst` references with `architect`
- Fix command examples to match new naming conventions
---------
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
2025-07-26 14:56:00 -05:00
|
|
|
|
} catch (error) {
|
2025-08-16 19:08:39 -05:00
|
|
|
|
console.error('❌ Critical error:', error.message);
|
|
|
|
|
|
console.error('An unexpected error occurred.');
|
Feat/flattener-tool (#337)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* docs(bmad-core): update documentation for enhanced workflow and user guide
- Fix typos and improve clarity in user guide
- Add new enhanced development workflow documentation
- Update brownfield workflow with flattened codebase instructions
- Improve consistency in documentation formatting
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* Update package.json
Removed jest as it is not needed.
* Update working-in-the-brownfield.md
added documentation for sharding docs
* perf(flattener): improve memory efficiency by streaming xml output
- Replace in-memory XML generation with streaming approach
- Add comprehensive common ignore patterns list
- Update statistics calculation to use file size instead of content length
* fix/chore: Update console.log for user-guide.md install path. Cleaned up config files/folders and updated .gitignore (#347)
* fix: Update console.log for user-guide.md install path
Changed
IMPORTANT: Please read the user guide installed at docs/user-guilde.md
to
IMPORTANT: Please read the user guide installed at .bmad-core/user-guide.md
WHY: the actual install location of the user-guide.md is in the .bmad-core directory.
* chore: remove formatting configs and clean up gitignore
- Delete husky pre-commit hook and prettier config files
- Remove VS Code chat/copilot settings
- Reorganize and clean up gitignore entries
* feat: Overhaul and Enhance 2D Unity Game Dev Expansion Pack (#350)
* Updated game-sm agent to match the new core framework patterns
* feat:Created more comprehensive game story matching new format system as well
* feat:Added Game specific course correct task
* feat:Updated dod-checklist to match new DoD format
* feat:Added new Architect agent for appropriate architecture doc creation and design
* feat:Overhaul of game-architecture-tmpl template
* feat:Updated rest of templates besides level which doesnt really need it
* feat: Finished extended architecture documentation needed for new game story tasks
* feat: Updated game Developer to new format
* feat: Updated last agent to new format and updated bmad-kb. bmad-kb I did my best with but im not sure of it's valid usage in the expansion pack, the AI generated more of the file then myself. I made sure to include it due to the new core-config file
* feat: Finished updating designer agent to new format and cleaned up template linting errors
* Built dist for web bundle
* Increased expansion pack minor verison number
* Updated architecht and design for sharding built-in
* chore: bump bmad-2d-unity-game-dev version (minor)
* updated config.yaml for game-specific pieces to supplement core-config.yaml
* Updated game-core-config and epic processing for game story and game design. Initial implementation was far too generic
* chore: bump bmad-2d-unity-game-dev version (patch)
* feat: Fixed issue with multi-configs being needed. chore: bump bmad-2d-unity-game-dev version (patch)
* Chore: Built web-bundle
* feat: Added the ability to specify the unity editor install location.\nchore: bump bmad-2d-unity-game-dev version (patch)
* feat: core-config must be in two places to support inherited tasks at this time so added instructions to copy and create one in expansion pack folder as well. chore: bump bmad-2d-unity-game-dev version (patch)
* This PR introduces a powerful new Codebase Flattener Tool that aggregates entire codebases into AI-optimized XML format, making it easy to share project context with AI assistants for analysis, debugging, and development assistance.
- AI-Optimized XML Output : Generates clean, structured XML specifically designed for AI model consumption
- Smart File Discovery : Recursive file scanning with intelligent filtering using glob patterns
- Binary File Detection : Automatically identifies and excludes binary files, focusing on source code
- Progress Tracking : Real-time progress indicators with comprehensive completion statistics
- Flexible Output : Customizable output file location and naming via CLI arguments
- Gitignore Integration : Automatically respects .gitignore patterns to exclude unnecessary files
- CDATA Handling : Proper XML CDATA sections with escape sequence handling for ]]> patterns
- Content Indentation : Beautiful XML formatting with properly indented file content (4-space indentation)
- Error Handling : Robust error handling with detailed logging for problematic files
- Hierarchical Formatting : Clean XML structure with proper indentation and formatting
- File Content Preservation : Maintains original file formatting within indented CDATA sections
- Exclusion Logic : Prevents self-inclusion of output files ( flattened-codebase.xml , repomix-output.xml )
- tools/flattener/main.js - Complete flattener implementation with CLI interface
- package.json - Added new dependencies (glob, minimatch, fs-extra, commander, ora, chalk)
- package-lock.json - Updated dependency tree
- .gitignore - Added exclusions for flattener outputs
- README.md - Comprehensive documentation with usage examples
- docs/bmad-workflow-guide.md - Integration guidance
- tools/cli.js - CLI integration
- .vscode/settings.json - SonarLint configuration
```
current directory
npm run flatten
npm run flatten -- --output my-project.xml
npm run flatten -- -o /path/to/output/codebase.xml
```
The tool provides comprehensive completion summaries including:
- File count and breakdown (text/binary/errors)
- Source code size and generated XML size
- Total lines of code and estimated token count
- Processing progress and performance metrics
- Bug Fix : Corrected typo in exclusion patterns ( repromix-output.xml → repomix-output.xml )
- Performance : Efficient file processing with streaming and progress indicators
- Reliability : Comprehensive error handling and validation
- Maintainability : Clean, well-documented code with modular functions
- AI Integration : Perfect for sharing codebase context with AI assistants
- Code Reviews : Streamlined code review process with complete project context
- Documentation : Enhanced project documentation and analysis capabilities
- Development Workflow : Improved development assistance and debugging support
This tool significantly enhances the BMad-Method framework's AI integration capabilities, providing developers with a seamless way to share complete project context for enhanced AI-assisted development workflows.
* chore: remove unused files and configurations
- Delete deprecated bmad workflow guide and roomodes file
- Remove sonarlint project configuration
- Downgrade ora dependency version
- Remove jest test script
* docs: update command names and agent references in documentation
- Change `*create` to `*draft` in workflow guide
- Update PM agent commands to use consistent naming
- Replace `analyst` references with `architect`
- Fix command examples to match new naming conventions
---------
Co-authored-by: PinkyD <paulbeanjr@gmail.com>
2025-07-26 14:56:00 -05:00
|
|
|
|
process.exit(1);
|
|
|
|
|
|
}
|
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
if (require.main === module) {
|
|
|
|
|
|
program.parse();
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
module.exports = program;
|