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 +11 -0
- package/dist/cli/index.js +4 -5
- package/package.json +1 -1
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.
|
|
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
|
|
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(
|
|
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
|
|
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.
|
|
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",
|