@cloudkinetix/bmad-enhanced
Version:
Cloud-Kinetix enhanced fork of BMAD-METHOD - Breakthrough Method of Agile AI-driven Development with robust versioning and unified validation.
54 lines (43 loc) • 1.57 kB
JavaScript
const fs = require('fs');
const path = require('path');
function updateReadmeVersion() {
const packagePath = path.join(__dirname, '..', 'package.json');
const readmePath = path.join(__dirname, '..', 'README.md');
try {
// Get current version from package.json
const packageJson = JSON.parse(fs.readFileSync(packagePath, 'utf8'));
const currentVersion = packageJson.version;
const majorMinor = currentVersion.split('.').slice(0, 2).join('.');
// Read README
let readme = fs.readFileSync(readmePath, 'utf8');
// Update version references
// Pattern 1: "Latest CK Version: X.X.X"
readme = readme.replace(
/### 🆕 Latest CK Version: \d+\.\d+\.\d+/g,
`### 🆕 Latest CK Version: ${currentVersion}`
);
// Pattern 2: "LATEST: vX.X.X"
readme = readme.replace(
/#### 🎉 \*\*LATEST: v\d+\.\d+\.\d+/g,
`#### 🎉 **LATEST: v${currentVersion}`
);
// Pattern 3: "New vX.X.X" in feature announcements
readme = readme.replace(
/> 🎉 \*\*New v\d+\.\d+\.\d+\*\*/g,
`> 🎉 **New v${majorMinor}**`
);
// Write updated README
fs.writeFileSync(readmePath, readme);
console.log(`✅ Updated README.md with version ${currentVersion}`);
return true;
} catch (error) {
console.error(`❌ Failed to update README: ${error.message}`);
return false;
}
}
// Run if called directly
if (require.main === module) {
process.exit(updateReadmeVersion() ? 0 : 1);
}
module.exports = { updateReadmeVersion };