contract-driven-delivery 2.0.2 → 2.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.0.3] - 2026-04-30
4
+
5
+ ### Fixed
6
+
7
+ - `cdd-kit update` now syncs all installed skills (`cdd-new`, `cdd-close`,
8
+ `cdd-resume`, `cdd-init`, `contract-driven-delivery`) instead of only
9
+ `contract-driven-delivery`. Previously the four standalone skills were silently
10
+ left stale after an npm upgrade.
11
+ - Backup path corrected from `.cdd-kit-backup/<ts>/skill/` to `.../skills/`
12
+ to cover all skill directories.
13
+
3
14
  ## [2.0.2] - 2026-04-30
4
15
 
5
16
  ### Added
package/dist/cli/index.js CHANGED
@@ -11691,9 +11691,8 @@ async function update(opts) {
11691
11691
  }
11692
11692
  const provider = inferProvider(cwd, requestedProvider);
11693
11693
  const updateClaudeAssets = provider === "claude" || provider === "both";
11694
- const skillDest = join6(SKILLS_HOME, "contract-driven-delivery");
11695
11694
  const agentDiff = updateClaudeAssets ? diffDir(ASSET.agents, AGENTS_HOME) : [];
11696
- const skillDiff = updateClaudeAssets ? diffDir(ASSET.skill, skillDest) : [];
11695
+ const skillDiff = updateClaudeAssets ? readdirSync3(ASSET.skills, { withFileTypes: true }).filter((d) => d.isDirectory()).flatMap((d) => diffDir(join6(ASSET.skills, d.name), join6(SKILLS_HOME, d.name))) : [];
11697
11696
  const toWrite = [...agentDiff, ...skillDiff].filter((e) => e.action !== "skip");
11698
11697
  const toAdd = toWrite.filter((e) => e.action === "add");
11699
11698
  const toOver = toWrite.filter((e) => e.action === "overwrite");
@@ -11702,7 +11701,7 @@ async function update(opts) {
11702
11701
  log.info(`Provider: ${provider}`);
11703
11702
  if (updateClaudeAssets) {
11704
11703
  log.info(`Dry-run diff \u2014 agents: ${AGENTS_HOME}`);
11705
- log.info(`Dry-run diff \u2014 skill: ${skillDest}`);
11704
+ log.info(`Dry-run diff \u2014 skills: ${SKILLS_HOME}`);
11706
11705
  } else {
11707
11706
  log.info("Codex provider has no global cdd-kit assets to update.");
11708
11707
  log.info("Project files are preserved; run cdd-kit init --local-only --provider codex to add missing local guidance.");
@@ -11737,7 +11736,7 @@ async function update(opts) {
11737
11736
  log.info(`Backing up to ${backupRoot} \u2026`);
11738
11737
  }
11739
11738
  backupDir(AGENTS_HOME, join6(backupRoot, "agents"));
11740
- backupDir(skillDest, join6(backupRoot, "skill"));
11739
+ backupDir(SKILLS_HOME, join6(backupRoot, "skills"));
11741
11740
  if (!quiet)
11742
11741
  log.ok(`Backup complete: ${backupRoot}`);
11743
11742
  if (!quiet)
@@ -11751,7 +11750,7 @@ async function update(opts) {
11751
11750
  log.ok(`${agentCount} agent file(s) updated.`);
11752
11751
  totalSynced += agentCount;
11753
11752
  if (!quiet)
11754
- log.info(`Updating skill \u2192 ${skillDest}`);
11753
+ log.info(`Updating skills \u2192 ${SKILLS_HOME}`);
11755
11754
  const skillCount = applyDir(skillDiff);
11756
11755
  if (!quiet)
11757
11756
  log.ok(`${skillCount} skill file(s) updated.`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "contract-driven-delivery",
3
- "version": "2.0.2",
3
+ "version": "2.0.3",
4
4
  "description": "Contract-driven delivery kit for AI coding agents with deterministic context indexes, manifest-backed read-scope governance, and orchestrated contracts-first delivery.",
5
5
  "keywords": [
6
6
  "contract-driven",