Migrate Antigravity installer to native skills

This commit is contained in:
Alex Verkhovsky 2026-03-06 04:42:28 -07:00
parent abd67187a3
commit baeb607430
3 changed files with 62 additions and 12 deletions

View File

@ -275,9 +275,56 @@ async function runTests() {
console.log(''); console.log('');
// ============================================================ // ============================================================
// Test 6: QA Agent Compilation // Test 6: Antigravity Native Skills Install
// ============================================================ // ============================================================
console.log(`${colors.yellow}Test Suite 6: QA Agent Compilation${colors.reset}\n`); console.log(`${colors.yellow}Test Suite 6: Antigravity Native Skills${colors.reset}\n`);
try {
clearCache();
const platformCodes = await loadPlatformCodes();
const antigravityInstaller = platformCodes.platforms.antigravity?.installer;
assert(antigravityInstaller?.target_dir === '.agent/skills', 'Antigravity target_dir uses native skills path');
assert(antigravityInstaller?.skill_format === true, 'Antigravity installer enables native skill output');
assert(
Array.isArray(antigravityInstaller?.legacy_targets) && antigravityInstaller.legacy_targets.includes('.agent/workflows'),
'Antigravity installer cleans legacy workflow output',
);
const tempProjectDir = await fs.mkdtemp(path.join(os.tmpdir(), 'bmad-antigravity-test-'));
const installedBmadDir = await findInstalledBmadDir(projectRoot);
const legacyDir = path.join(tempProjectDir, '.agent', 'workflows', 'bmad-legacy-dir');
await fs.ensureDir(legacyDir);
await fs.writeFile(path.join(tempProjectDir, '.agent', 'workflows', 'bmad-legacy.md'), 'legacy\n');
await fs.writeFile(path.join(legacyDir, 'SKILL.md'), 'legacy\n');
const ideManager = new IdeManager();
await ideManager.ensureInitialized();
const result = await ideManager.setup('antigravity', tempProjectDir, installedBmadDir, {
silent: true,
selectedModules: ['bmm'],
});
assert(result.success === true, 'Antigravity setup succeeds against temp project');
const skillFile = path.join(tempProjectDir, '.agent', 'skills', 'bmad-master', 'SKILL.md');
assert(await fs.pathExists(skillFile), 'Antigravity install writes SKILL.md directory output');
assert(!(await fs.pathExists(path.join(tempProjectDir, '.agent', 'workflows'))), 'Antigravity setup removes legacy workflows dir');
await fs.remove(tempProjectDir);
} catch (error) {
assert(false, 'Antigravity native skills migration test succeeds', error.message);
}
console.log('');
// ============================================================
// Test 7: QA Agent Compilation
// ============================================================
console.log(`${colors.yellow}Test Suite 7: QA Agent Compilation${colors.reset}\n`);
try { try {
const builder = new YamlXmlBuilder(); const builder = new YamlXmlBuilder();

View File

@ -20,8 +20,11 @@ platforms:
category: ide category: ide
description: "Google's AI development environment" description: "Google's AI development environment"
installer: installer:
target_dir: .agent/workflows legacy_targets:
- .agent/workflows
target_dir: .agent/skills
template_type: antigravity template_type: antigravity
skill_format: true
auggie: auggie:
name: "Auggie" name: "Auggie"

View File

@ -46,7 +46,7 @@ Support assumption: full Agent Skills support. BMAD currently installs legacy co
- [x] Test reinstall/upgrade from legacy command output - [x] Test reinstall/upgrade from legacy command output
- [x] Confirm no ancestor conflict protection is needed because a child workspace surfaced child `.cursor/skills` entries but not a parent-only skill during manual verification - [x] Confirm no ancestor conflict protection is needed because a child workspace surfaced child `.cursor/skills` entries but not a parent-only skill during manual verification
- [ ] Implement/extend automated tests - [ ] Implement/extend automated tests
- [ ] Commit - [x] Commit
## Windsurf ## Windsurf
@ -76,15 +76,15 @@ Support assumption: full Agent Skills support. BMAD currently installs workflow
## Google Antigravity ## Google Antigravity
Support assumption: full Agent Skills support. BMAD currently installs workflows to `.agent/workflows`; target should move to `.agent/skills`. Support assumption: full Agent Skills support. Antigravity docs confirm workspace skills at `.agent/skills/<skill-folder>/` and global skills at `~/.gemini/antigravity/skills/<skill-folder>/`. BMAD has now migrated from `.agent/workflows` to `.agent/skills`.
- [ ] Confirm Antigravity native skills path and project/global precedence - [x] Confirm Antigravity native skills path and project/global precedence
- [ ] Implement installer migration to native skills output - [x] Implement installer migration to native skills output
- [ ] Add legacy cleanup for `.agent/workflows` - [x] Add legacy cleanup for `.agent/workflows`
- [ ] Test fresh install - [x] Test fresh install
- [ ] Test reinstall/upgrade from legacy workflow output - [x] Test reinstall/upgrade from legacy workflow output
- [ ] Confirm ancestor conflict protection where applicable - [ ] Confirm ancestor conflict protection where applicable because Antigravity docs do not state whether parent-directory `.agent/skills` are inherited; `/tmp/antigravity-ancestor-repro` should be used for manual app verification instead of guessing
- [ ] Implement/extend automated tests - [x] Implement/extend automated tests
- [ ] Commit - [ ] Commit
## Auggie ## Auggie