Six fixes from CodeRabbit + Augment review on the OpenCode command
pointer generation:
- skipTarget no longer suppresses installCommandPointers in multi-IDE
shared-target_dir batches. Pointers live in a per-IDE directory and
are not deduped across peers, so OpenCode must still generate them
even when a peer (e.g. openhands) won the .agents/skills write race.
- skipTarget no longer suppresses cleanupCommandPointers either, so
partial uninstalls leave no stale pointers when a peer remains.
- canonicalId is validated as a safe basename before being interpolated
into a file path (defense in depth against a malformed manifest entry
writing outside commands_target_dir).
- yamlSafeSingleLine now quotes descriptions starting with `[` or `{`
so YAML doesn't parse them as a sequence/map.
- Per-record fs.writeFile failures are caught and counted (writeFailures)
rather than aborting the whole IDE install — pointer files are a
non-essential adjunct to the skill copy.
- Generator-shaped pointer files are refreshed when the manifest
description changes; hand-modified files (body diverges from the
generator pattern) are still preserved unless forceCommands is set.
Tests: extends Suite 8 with description-update propagation; adds new
Suite 40c covering OpenCode + openhands batches in both orderings plus
partial-IDE uninstall pointer cleanup. 308 tests pass (was 296).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| adversarial-review-tests | ||
| fixtures/file-refs-csv | ||
| README.md | ||
| test-file-refs-csv.js | ||
| test-installation-components.js | ||
| test-installer-channels.js | ||
| test-rehype-plugins.mjs | ||
| test-workflow-path-regex.js | ||
README.md
Test Suite
Tests for the BMAD-METHOD tooling infrastructure.
Quick Start
# Run all quality checks
npm run quality
# Run individual test suites
npm run test:install # Installation component tests
npm run test:refs # File reference CSV tests
npm run validate:refs # File reference validation (strict)
Test Scripts
Installation Component Tests
File: test/test-installation-components.js
Validates that the installer compiles and assembles agents correctly.
File Reference Tests
File: test/test-file-refs-csv.js
Tests the CSV-based file reference validation logic.
Test Fixtures
Located in test/fixtures/:
test/fixtures/
└── file-refs-csv/ # Fixtures for file reference CSV tests