create-yss-spec 3.3.3 → 3.3.4
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/README.md
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
用于初始化、接管已有项目并持续同步 `yss-spec-project-template` 研发管理资产的 npm CLI。
|
|
4
4
|
|
|
5
|
-
源码候选版本:`3.3.
|
|
5
|
+
源码候选版本:`3.3.4`。当前固定模板为 `yss-spec-project-template@46b29114de53cf4d8d92123006b211d7b3a5a142`;CLI 运行时不会拉取模板仓库。`npm create yss-spec@latest` 获取的是实际已发布 npm 包,发布版本请以 `npm view create-yss-spec version` 为准。
|
|
6
6
|
|
|
7
7
|
## 本版模板能力
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
本版修复生成型 Skill 锁在 `init`、`attach`、`sync` 最终校验前未自动重建的问题。CLI 会在同一事务内刷新 `skills-lock.json`,再运行项目实例校验;刷新或校验失败仍恢复同步前状态。版本升级只完成 GitHub 源码交付,npm 发布状态仍以 registry 为准。
|
|
10
10
|
|
|
11
11
|
## 快速开始
|
|
12
12
|
|
package/package.json
CHANGED
package/src/api/_sync-service.js
CHANGED
|
@@ -14,7 +14,10 @@ const { buildLegacyMigrationPlan } = require("../template/migration-runtime");
|
|
|
14
14
|
const { classifyRemovedFiles } = require("../template/prune-planner");
|
|
15
15
|
const { decorateMetadataOwnership } = require("../template/ownership-metadata");
|
|
16
16
|
const { decorateMetadataLifecycle } = require("../template/lifecycle-metadata");
|
|
17
|
-
const {
|
|
17
|
+
const {
|
|
18
|
+
refreshGeneratedProjectInstance,
|
|
19
|
+
verifyGeneratedProjectInstance,
|
|
20
|
+
} = require("../template/verification-runtime");
|
|
18
21
|
const {
|
|
19
22
|
PACKAGE_ROOT,
|
|
20
23
|
PACKAGE_MANIFEST,
|
|
@@ -172,6 +175,7 @@ function applySyncContext(context, { force = false, prune = false } = {}) {
|
|
|
172
175
|
...affectedPathsForManagedOperations(managedToApply),
|
|
173
176
|
...affectedPathsForMigration(migrationPlan),
|
|
174
177
|
...syncPlan.pruned,
|
|
178
|
+
"skills-lock.json",
|
|
175
179
|
TEMPLATE_METADATA_FILENAME,
|
|
176
180
|
],
|
|
177
181
|
execute: (transaction) => {
|
|
@@ -183,6 +187,7 @@ function applySyncContext(context, { force = false, prune = false } = {}) {
|
|
|
183
187
|
transaction.remove(targetPath(targetDir, relativePath));
|
|
184
188
|
}
|
|
185
189
|
verifyGeneratedSyncInstance(targetDir);
|
|
190
|
+
refreshGeneratedProjectInstance(targetDir);
|
|
186
191
|
verifyGeneratedProjectInstance(targetDir);
|
|
187
192
|
const nextMetadata = decorateMetadataLifecycle(
|
|
188
193
|
decorateMetadataOwnership(buildNextSyncMetadata(metadata, syncPlan)),
|
package/src/commands/attach.js
CHANGED
|
@@ -23,7 +23,10 @@ const {
|
|
|
23
23
|
buildMetadata,
|
|
24
24
|
writeTemplateMetadata,
|
|
25
25
|
} = require("../template/instance-runtime");
|
|
26
|
-
const {
|
|
26
|
+
const {
|
|
27
|
+
refreshGeneratedProjectInstance,
|
|
28
|
+
verifyGeneratedAttach,
|
|
29
|
+
} = require("../template/verification-runtime");
|
|
27
30
|
|
|
28
31
|
function assertRequiredOptions(options) {
|
|
29
32
|
if (!options.projectName) {
|
|
@@ -243,6 +246,7 @@ function runAttach(argv = []) {
|
|
|
243
246
|
affectedPaths: [
|
|
244
247
|
...affectedPathsForManagedOperations(managedToApply),
|
|
245
248
|
...affectedPathsForMigration(migrationPlan),
|
|
249
|
+
"skills-lock.json",
|
|
246
250
|
TEMPLATE_METADATA_FILENAME,
|
|
247
251
|
],
|
|
248
252
|
execute: (transaction) => {
|
|
@@ -250,6 +254,7 @@ function runAttach(argv = []) {
|
|
|
250
254
|
applyManagedOperation(operation, transaction);
|
|
251
255
|
}
|
|
252
256
|
applyMigrationOperations(migrationPlan, transaction);
|
|
257
|
+
refreshGeneratedProjectInstance(targetDir);
|
|
253
258
|
verifyGeneratedAttach(targetDir);
|
|
254
259
|
writeTemplateMetadata(
|
|
255
260
|
targetDir,
|
package/src/commands/init.js
CHANGED
|
@@ -27,6 +27,7 @@ const {
|
|
|
27
27
|
} = require("../template/ownership-runtime");
|
|
28
28
|
const {
|
|
29
29
|
initializeGitRepository,
|
|
30
|
+
refreshGeneratedProjectInstance,
|
|
30
31
|
verifyGeneratedInit,
|
|
31
32
|
} = require("../template/verification-runtime");
|
|
32
33
|
|
|
@@ -162,12 +163,14 @@ async function runInit(argv = []) {
|
|
|
162
163
|
operation: "init",
|
|
163
164
|
affectedPaths: [
|
|
164
165
|
...desiredOperations.map((operation) => operation.relativePath),
|
|
166
|
+
"skills-lock.json",
|
|
165
167
|
TEMPLATE_METADATA_FILENAME,
|
|
166
168
|
],
|
|
167
169
|
execute: (transaction) => {
|
|
168
170
|
for (const operation of desiredOperations) {
|
|
169
171
|
applyManagedOperation(operation, transaction);
|
|
170
172
|
}
|
|
173
|
+
refreshGeneratedProjectInstance(targetDir);
|
|
171
174
|
verifyGeneratedInit(targetDir);
|
|
172
175
|
writeTemplateMetadata(
|
|
173
176
|
targetDir,
|
|
@@ -134,6 +134,10 @@ function verifyGeneratedAttach(targetDir) {
|
|
|
134
134
|
runTemplateVerification(targetDir, "scripts/verify-project-instance", []);
|
|
135
135
|
}
|
|
136
136
|
|
|
137
|
+
function refreshGeneratedProjectInstance(targetDir) {
|
|
138
|
+
runTemplateVerification(targetDir, "scripts/update-skill-lock", []);
|
|
139
|
+
}
|
|
140
|
+
|
|
137
141
|
module.exports = {
|
|
138
142
|
verificationEnvironment,
|
|
139
143
|
initializeGitRepository,
|
|
@@ -142,5 +146,6 @@ module.exports = {
|
|
|
142
146
|
verifyGeneratedInstance,
|
|
143
147
|
verifyGeneratedInit,
|
|
144
148
|
verifyGeneratedAttach,
|
|
149
|
+
refreshGeneratedProjectInstance,
|
|
145
150
|
verifyGeneratedProjectInstance: verifyGeneratedAttach,
|
|
146
151
|
};
|
package/template.snapshot.json
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
"templateName": "yss-spec-project-template",
|
|
4
4
|
"templateSource": "github:iloveZzz/yss-spec-project-template",
|
|
5
5
|
"templateRepository": "https://github.com/iloveZzz/yss-spec-project-template.git",
|
|
6
|
-
"requestedRef": "
|
|
7
|
-
"templateCommit": "
|
|
6
|
+
"requestedRef": "3e15bf3920520c1402e58ef78f303dc0353a1c99",
|
|
7
|
+
"templateCommit": "3e15bf3920520c1402e58ef78f303dc0353a1c99",
|
|
8
8
|
"manifestHash": "d194bb318a47c9c53b04292e97805c563ef7b296c2ca9b507cca498be7f52afe",
|
|
9
9
|
"encodedPaths": {
|
|
10
10
|
".codex/skills/data-analytics/.gitignore": ".codex/skills/data-analytics/__yss_dotfile__.gitignore",
|
|
@@ -13,5 +13,5 @@
|
|
|
13
13
|
".gitignore": "__yss_dotfile__.gitignore"
|
|
14
14
|
},
|
|
15
15
|
"snapshotHash": "6fe2b0f7444fdf19d3d23eca1c334195c551de01349d79ff0a1e468a3bb973f0",
|
|
16
|
-
"generatedAt": "2026-09-
|
|
16
|
+
"generatedAt": "2026-09-10T11:14:18.595Z"
|
|
17
17
|
}
|