Merge branch 'main' into feat/validate-workflow-schema
This commit is contained in:
commit
6cd0ed3530
22
CHANGELOG.md
22
CHANGELOG.md
|
|
@ -1,5 +1,27 @@
|
||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
## [6.0.0-Beta.7]
|
||||||
|
|
||||||
|
**Release: February 4, 2026**
|
||||||
|
|
||||||
|
### 🌟 Key Highlights
|
||||||
|
|
||||||
|
1. **Direct Workflow Invocation** — Agent workflows can now be run directly via slash commands instead of only through agent orchestration
|
||||||
|
2. **Installer Workflow Support** — Installer now picks up `workflow-*.md` files, enabling multiple workflow files per directory
|
||||||
|
|
||||||
|
### 🎁 Features
|
||||||
|
|
||||||
|
* **Slash Command Workflow Access** — Research and PRD workflows now accessible via direct slash commands: `/domain-research`, `/market-research`, `/technical-research`, `/create-prd`, `/edit-prd`, `/validate-prd` (bd620e38, 731bee26)
|
||||||
|
* **Version Checking** — CLI now checks npm for newer versions and displays a warning banner when updates are available (d37ee7f2)
|
||||||
|
|
||||||
|
### ♻️ Refactoring
|
||||||
|
|
||||||
|
* **Workflow File Splitting** — Split monolithic `workflow.md` files into specific `workflow-*.md` files for individual workflow invocation (bd620e38)
|
||||||
|
* **Installer Multi-Workflow Support** — Installer manifest generator now supports `workflow-*.md` pattern, allowing multiple workflow files per directory (731bee26)
|
||||||
|
* **Internal Skill Renaming** — Renamed internal project skills to use `bmad-os-` prefix for consistent naming (5276d58b)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## [6.0.0-Beta.6]
|
## [6.0.0-Beta.6]
|
||||||
|
|
||||||
**Release: February 4, 2026**
|
**Release: February 4, 2026**
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,48 @@
|
||||||
const { program } = require('commander');
|
const { program } = require('commander');
|
||||||
const path = require('node:path');
|
const path = require('node:path');
|
||||||
const fs = require('node:fs');
|
const fs = require('node:fs');
|
||||||
|
const { execSync } = require('node:child_process');
|
||||||
|
|
||||||
|
// Check for updates - do this asynchronously so it doesn't block startup
|
||||||
|
const packageJson = require('../../package.json');
|
||||||
|
const packageName = 'bmad-method';
|
||||||
|
checkForUpdate().catch(() => {
|
||||||
|
// Silently ignore errors - version check is best-effort
|
||||||
|
});
|
||||||
|
|
||||||
|
async function checkForUpdate() {
|
||||||
|
try {
|
||||||
|
// For beta versions, check the beta tag; otherwise check latest
|
||||||
|
const isBeta =
|
||||||
|
packageJson.version.includes('Beta') ||
|
||||||
|
packageJson.version.includes('beta') ||
|
||||||
|
packageJson.version.includes('alpha') ||
|
||||||
|
packageJson.version.includes('rc');
|
||||||
|
const tag = isBeta ? 'beta' : 'latest';
|
||||||
|
|
||||||
|
const result = execSync(`npm view ${packageName}@${tag} version`, {
|
||||||
|
encoding: 'utf8',
|
||||||
|
stdio: 'pipe',
|
||||||
|
timeout: 5000,
|
||||||
|
}).trim();
|
||||||
|
|
||||||
|
if (result && result !== packageJson.version) {
|
||||||
|
console.warn('');
|
||||||
|
console.warn(' ╔═══════════════════════════════════════════════════════════════════════════════╗');
|
||||||
|
console.warn(' ║ UPDATE AVAILABLE ║');
|
||||||
|
console.warn(' ║ ║');
|
||||||
|
console.warn(` ║ You are using version ${packageJson.version} but ${result} is available. ║`);
|
||||||
|
console.warn(' ║ ║');
|
||||||
|
console.warn(' ║ To update,exir and first run: ║');
|
||||||
|
console.warn(` ║ npm cache clean --force && npx bmad-method@${tag} install ║`);
|
||||||
|
console.warn(' ║ ║');
|
||||||
|
console.warn(' ╚═══════════════════════════════════════════════════════════════════════════════╝');
|
||||||
|
console.warn('');
|
||||||
|
}
|
||||||
|
} catch {
|
||||||
|
// Silently fail - network issues or npm not available
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Fix for stdin issues when running through npm on Windows
|
// Fix for stdin issues when running through npm on Windows
|
||||||
// Ensures keyboard interaction works properly with CLI prompts
|
// Ensures keyboard interaction works properly with CLI prompts
|
||||||
|
|
@ -20,9 +62,6 @@ if (process.stdin.isTTY) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Load package.json from root for version info
|
|
||||||
const packageJson = require('../../package.json');
|
|
||||||
|
|
||||||
// Load all command modules
|
// Load all command modules
|
||||||
const commandsPath = path.join(__dirname, 'commands');
|
const commandsPath = path.join(__dirname, 'commands');
|
||||||
const commandFiles = fs.readdirSync(commandsPath).filter((file) => file.endsWith('.js'));
|
const commandFiles = fs.readdirSync(commandsPath).filter((file) => file.endsWith('.js'));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue