BMAD-METHOD/.kilocode/rules/memory-bank/tech.md

6.9 KiB

Technology Stack & Setup

Core Technologies

Runtime

  • Node.js: v20+ (required)
  • JavaScript: ES6+ with CommonJS modules
  • Package Manager: npm

Languages

  • Markdown: Agent definitions, documentation
  • YAML: Workflow configurations, settings
  • XML: Structured agent data (embedded in markdown)
  • JavaScript: CLI tools and bundler

Project Dependencies

Production Dependencies

{
  "ora": "^8.1.1",           // Elegant terminal spinners
  "chalk": "^5.3.0",         // Terminal string styling
  "prompts": "^2.4.2",       // Interactive CLI prompts
  "commander": "^12.1.0",    // CLI framework
  "yaml": "^2.6.1",          // YAML parser
  "glob": "^11.0.0",         // File pattern matching
  "fast-xml-parser": "^4.5.0" // XML parsing
}

Development Dependencies

{
  "@eslint/js": "^9.17.0",
  "eslint": "^9.17.0",
  "prettier": "^3.4.2",
  "husky": "^9.1.7",         // Git hooks
  "lint-staged": "^15.2.11"  // Pre-commit linting
}

File Structure

bmad-method/
├── package.json              # Project metadata & scripts
├── package-lock.json         # Dependency lock
├── .nvmrc                    # Node version specification
├── .npmrc                    # npm configuration
├── eslint.config.mjs         # ESLint configuration
├── prettier.config.mjs       # Prettier configuration
├── .husky/                   # Git hooks
│   └── pre-commit           # Pre-commit checks
├── src/                      # Source code
│   └── modules/             # Module implementations
│       ├── bmm/             # BMad Method module
│       ├── bmb/             # BMad Builder module
│       └── cis/             # Creative Intelligence Suite
├── tools/                    # Build & development tools
│   └── cli/                 # Installation CLI
│       ├── install.js       # Interactive installer
│       ├── bundler.js       # Module bundler
│       └── utils/           # Shared utilities
├── bmad/                     # Installed framework (runtime)
│   ├── core/                # Core framework
│   ├── _cfg/                # User customizations
│   └── {modules}/           # Installed modules
├── docs/                     # Documentation
├── test/                     # Test files
└── .kilocode/               # Kilocode AI configuration

Build & Development

Available Scripts

# Install alpha version
npx bmad-method@alpha install

# Install stable version (v4)
npx bmad-method install

# Development (from source)
npm install
npm run lint
npm run format

Code Quality

ESLint: JavaScript linting

  • Config: eslint.config.mjs
  • Rules: ES6+ standards
  • Auto-fix on pre-commit

Prettier: Code formatting

  • Config: prettier.config.mjs
  • Runs on pre-commit via lint-staged
  • Formats JS, JSON, YAML, MD

Husky: Git hooks

  • Pre-commit: Runs lint-staged
  • Ensures code quality before commits

Installation Process

User Installation Flow

  1. User runs: npx bmad-method@alpha install
  2. CLI downloads and executes installer
  3. Interactive prompts:
    • Project location
    • Module selection (BMM, BMB, CIS)
    • User configuration (name, language)
    • Game development option (for BMM)
    • IDE selection
  4. Installer generates:
    • bmad/ directory structure
    • Module files (core + selected)
    • config.yaml with user settings
    • Customization templates in _cfg/
    • IDE-specific config files
    • Manifests (agents, workflows, tasks)
  5. IDE integration setup
  6. Completion message with next steps

Technical Installation Details

Module Bundling:

  • Source in src/modules/
  • CLI bundles to distributable format
  • Copies to user's project as bmad/{module}/

Manifest Generation:

  • Scans installed agents → agent-manifest.csv
  • Scans workflows → workflow-manifest.csv
  • Scans tasks → task-manifest.csv
  • Used for runtime discovery

IDE Integration:

  • Claude Code: .claude/ directory setup
  • Cursor: .cursorrules file generation
  • VS Code: .vscode/ settings
  • Cline/Roo: Compatible formats

Configuration Files

Project Configuration

config.yaml (bmad/core/config.yaml)

user_name: "Developer Name"
communication_language: "en"
output_folder: "_docs"
project_name: "MyProject"

Agent Customization

Agent Override (bmad/_cfg/agents/agent-name.yaml)

name: "Custom Name"
description: "Custom description"
communication_style: "Custom style"
additional_instructions: "Extra behavior"

IDE Configuration

.claude/ (Claude Code)

  • Agent files as slash commands
  • Task shortcuts
  • Workflow commands

.cursorrules (Cursor)

  • Inline rules for agent behavior
  • Project-specific instructions

Development Workflow

Working with Agents

  1. Create/edit in src/modules/{module}/agents/
  2. Use XML-in-markdown format
  3. Test with IDE integration
  4. Customizations go to bmad/_cfg/agents/

Working with Workflows

  1. Create YAML in src/modules/{module}/workflows/
  2. Add instructions.md
  3. Optional: template.md, checklist.md
  4. Test with BMad Master agent
  5. Reference in agent menu items

Testing Approach

  • Manual testing via IDE integration
  • Installer testing in clean environments
  • Workflow validation with real projects
  • User feedback from alpha testers

Version Control

What to Commit

  • Source code (src/, tools/)
  • Configuration (eslint, prettier, etc.)
  • Documentation (docs/, READMEs)
  • Package files (package.json, lock)

What to Ignore (.gitignore)

  • node_modules/
  • bmad/ (installed by users)
  • IDE-specific files (user-dependent)
  • Build artifacts
  • .env files

Distribution

npm Package

  • Package: bmad-method
  • Alpha: bmad-method@alpha
  • Stable: bmad-method (v4.x currently)
  • Registry: npm public registry

Installation Sources

  1. npx: Direct from npm (recommended)
  2. GitHub: Clone and run from source
  3. Local: Development and testing

Environment Requirements

Minimum Requirements

  • Node.js: v20.0.0+
  • OS: Windows, macOS, Linux
  • IDE: Any supporting markdown or AI agents
  • Disk: ~50MB for framework + modules
  • Node.js: Latest LTS
  • IDE: Claude Code, Cursor, or VS Code with AI extensions
  • Git: For version control integration
  • Terminal: Modern with Unicode support

Troubleshooting

Common Issues

  1. Node version mismatch: Check .nvmrc, use nvm
  2. Installation fails: Clear npm cache, retry
  3. Agent not loading: Check file paths, manifests
  4. Config not found: Verify bmad/core/config.yaml exists
  5. Customization not applying: Check YAML syntax, file names

Debug Mode

  • Check installer output for errors
  • Verify manifest files were generated
  • Confirm config.yaml has all required fields
  • Test agents individually before workflows