skill-family-engineering-kit 0.1.0

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.
Files changed (80) hide show
  1. package/CODE_OF_CONDUCT.md +131 -0
  2. package/CONTRIBUTING.md +69 -0
  3. package/LICENSE +201 -0
  4. package/README.md +74 -0
  5. package/SECURITY.md +34 -0
  6. package/data/licensing/registry.json +211 -0
  7. package/data/licensing/schema.json +207 -0
  8. package/docs/.nojekyll +0 -0
  9. package/docs/404.html +613 -0
  10. package/docs/architecture/index.html +904 -0
  11. package/docs/assets/images/favicon.png +0 -0
  12. package/docs/assets/javascripts/bundle.d7400e89.min.js +16 -0
  13. package/docs/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
  14. package/docs/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
  15. package/docs/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
  16. package/docs/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
  17. package/docs/assets/javascripts/lunr/min/lunr.el.min.js +1 -0
  18. package/docs/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
  19. package/docs/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
  20. package/docs/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
  21. package/docs/assets/javascripts/lunr/min/lunr.he.min.js +1 -0
  22. package/docs/assets/javascripts/lunr/min/lunr.hi.min.js +1 -0
  23. package/docs/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
  24. package/docs/assets/javascripts/lunr/min/lunr.hy.min.js +1 -0
  25. package/docs/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
  26. package/docs/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
  27. package/docs/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
  28. package/docs/assets/javascripts/lunr/min/lunr.kn.min.js +1 -0
  29. package/docs/assets/javascripts/lunr/min/lunr.ko.min.js +1 -0
  30. package/docs/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
  31. package/docs/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
  32. package/docs/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
  33. package/docs/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
  34. package/docs/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
  35. package/docs/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
  36. package/docs/assets/javascripts/lunr/min/lunr.sa.min.js +1 -0
  37. package/docs/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
  38. package/docs/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
  39. package/docs/assets/javascripts/lunr/min/lunr.ta.min.js +1 -0
  40. package/docs/assets/javascripts/lunr/min/lunr.te.min.js +1 -0
  41. package/docs/assets/javascripts/lunr/min/lunr.th.min.js +1 -0
  42. package/docs/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
  43. package/docs/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
  44. package/docs/assets/javascripts/lunr/min/lunr.zh.min.js +1 -0
  45. package/docs/assets/javascripts/lunr/tinyseg.js +206 -0
  46. package/docs/assets/javascripts/lunr/wordcut.js +6708 -0
  47. package/docs/assets/javascripts/workers/search.2c215733.min.js +42 -0
  48. package/docs/assets/stylesheets/main.ec1eaa64.min.css +1 -0
  49. package/docs/assets/stylesheets/palette.ab4e12ef.min.css +1 -0
  50. package/docs/git-lifecycle/index.html +976 -0
  51. package/docs/help/index.html +907 -0
  52. package/docs/index.html +837 -0
  53. package/docs/integration/audit/baseline/audit-codes.json +62 -0
  54. package/docs/integration/audit/failure-evidence/index.html +872 -0
  55. package/docs/integration/audit/independence/index.html +841 -0
  56. package/docs/integration/audit/index.html +826 -0
  57. package/docs/integration/audit/mutation-taxonomy/index.html +1022 -0
  58. package/docs/integration/audit/schemas/audit-evidence.schema.json +182 -0
  59. package/docs/integration/audit/version-compatibility/index.html +845 -0
  60. package/docs/migration/index.html +1213 -0
  61. package/docs/quickstart/index.html +842 -0
  62. package/docs/search/search_index.json +1 -0
  63. package/docs/setup/index.html +941 -0
  64. package/docs/sitemap.xml +51 -0
  65. package/package.json +42 -0
  66. package/src/adopt-plan.mjs +594 -0
  67. package/src/check.mjs +415 -0
  68. package/src/cli.mjs +230 -0
  69. package/src/errors.mjs +144 -0
  70. package/src/gitprobe.mjs +230 -0
  71. package/src/identity-check.mjs +563 -0
  72. package/src/index.mjs +233 -0
  73. package/src/license-texts/Apache-2.0.txt +201 -0
  74. package/src/license-texts/MIT.txt +21 -0
  75. package/src/licensing.mjs +299 -0
  76. package/src/migration.mjs +427 -0
  77. package/src/projection.mjs +397 -0
  78. package/src/scaffold.mjs +178 -0
  79. package/src/skeleton.mjs +886 -0
  80. package/src/workspace.mjs +236 -0
@@ -0,0 +1,837 @@
1
+
2
+ <!doctype html>
3
+ <html lang="zh" class="no-js">
4
+ <head>
5
+
6
+ <meta charset="utf-8">
7
+ <meta name="viewport" content="width=device-width,initial-scale=1">
8
+
9
+ <meta name="description" content="Skill Family 生命周期公共工程基础设施父工作区">
10
+
11
+
12
+
13
+ <link rel="canonical" href="https://ifoohoo.github.io/skill-family-engineering-kit/">
14
+
15
+
16
+
17
+ <link rel="next" href="setup/">
18
+
19
+
20
+
21
+
22
+
23
+ <link rel="icon" href="assets/images/favicon.png">
24
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.7.7">
25
+
26
+
27
+
28
+ <title>Skill Family Foundation</title>
29
+
30
+
31
+
32
+ <link rel="stylesheet" href="assets/stylesheets/main.ec1eaa64.min.css">
33
+
34
+
35
+ <link rel="stylesheet" href="assets/stylesheets/palette.ab4e12ef.min.css">
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+ <script>__md_scope=new URL(".",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
49
+
50
+
51
+
52
+
53
+
54
+ </head>
55
+
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+ <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo">
65
+
66
+
67
+ <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
68
+ <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
69
+ <label class="md-overlay" for="__drawer"></label>
70
+ <div data-md-component="skip">
71
+
72
+
73
+ <a href="#Skill-Family-Foundation-Workspace" class="md-skip">
74
+ 跳转至
75
+ </a>
76
+
77
+ </div>
78
+ <div data-md-component="announce">
79
+
80
+ </div>
81
+
82
+
83
+
84
+
85
+
86
+
87
+ <header class="md-header md-header--shadow" data-md-component="header">
88
+ <nav class="md-header__inner md-grid" aria-label="页眉">
89
+ <a href="." title="Skill Family Foundation" class="md-header__button md-logo" aria-label="Skill Family Foundation" data-md-component="logo">
90
+
91
+
92
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
93
+
94
+ </a>
95
+ <label class="md-header__button md-icon" for="__drawer">
96
+
97
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
98
+ </label>
99
+ <div class="md-header__title" data-md-component="header-title">
100
+ <div class="md-header__ellipsis">
101
+ <div class="md-header__topic">
102
+ <span class="md-ellipsis">
103
+ Skill Family Foundation
104
+ </span>
105
+ </div>
106
+ <div class="md-header__topic" data-md-component="header-topic">
107
+ <span class="md-ellipsis">
108
+
109
+ 首页
110
+
111
+ </span>
112
+ </div>
113
+ </div>
114
+ </div>
115
+
116
+
117
+ <form class="md-header__option" data-md-component="palette">
118
+
119
+
120
+
121
+
122
+ <input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="切换到深色模式" type="radio" name="__palette" id="__palette_0">
123
+
124
+ <label class="md-header__button md-icon" title="切换到深色模式" for="__palette_1" hidden>
125
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
126
+ </label>
127
+
128
+
129
+
130
+
131
+
132
+ <input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="indigo" data-md-color-accent="indigo" aria-label="切换到浅色模式" type="radio" name="__palette" id="__palette_1">
133
+
134
+ <label class="md-header__button md-icon" title="切换到浅色模式" for="__palette_0" hidden>
135
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
136
+ </label>
137
+
138
+
139
+ </form>
140
+
141
+
142
+
143
+ <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
144
+
145
+
146
+
147
+
148
+
149
+ <label class="md-header__button md-icon" for="__search">
150
+
151
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
152
+ </label>
153
+ <div class="md-search" data-md-component="search" role="dialog">
154
+ <label class="md-search__overlay" for="__search"></label>
155
+ <div class="md-search__inner" role="search">
156
+ <form class="md-search__form" name="search">
157
+ <input type="text" class="md-search__input" name="query" aria-label="搜索" placeholder="搜索" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
158
+ <label class="md-search__icon md-icon" for="__search">
159
+
160
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
161
+
162
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
163
+ </label>
164
+ <nav class="md-search__options" aria-label="查找">
165
+
166
+ <button type="reset" class="md-search__icon md-icon" title="清空当前内容" aria-label="清空当前内容" tabindex="-1">
167
+
168
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
169
+ </button>
170
+ </nav>
171
+
172
+ </form>
173
+ <div class="md-search__output">
174
+ <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
175
+ <div class="md-search-result" data-md-component="search-result">
176
+ <div class="md-search-result__meta">
177
+ 正在初始化搜索引擎
178
+ </div>
179
+ <ol class="md-search-result__list" role="presentation"></ol>
180
+ </div>
181
+ </div>
182
+ </div>
183
+ </div>
184
+ </div>
185
+
186
+
187
+
188
+ </nav>
189
+
190
+ </header>
191
+
192
+ <div class="md-container" data-md-component="container">
193
+
194
+
195
+
196
+
197
+
198
+
199
+ <main class="md-main" data-md-component="main">
200
+ <div class="md-main__inner md-grid">
201
+
202
+
203
+
204
+ <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
205
+ <div class="md-sidebar__scrollwrap">
206
+ <div class="md-sidebar__inner">
207
+
208
+
209
+
210
+
211
+ <nav class="md-nav md-nav--primary" aria-label="导航栏" data-md-level="0">
212
+ <label class="md-nav__title" for="__drawer">
213
+ <a href="." title="Skill Family Foundation" class="md-nav__button md-logo" aria-label="Skill Family Foundation" data-md-component="logo">
214
+
215
+
216
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54"/></svg>
217
+
218
+ </a>
219
+ Skill Family Foundation
220
+ </label>
221
+
222
+ <ul class="md-nav__list" data-md-scrollfix>
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+
232
+ <li class="md-nav__item md-nav__item--active">
233
+
234
+ <input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
235
+
236
+
237
+
238
+
239
+
240
+ <label class="md-nav__link md-nav__link--active" for="__toc">
241
+
242
+
243
+
244
+ <span class="md-ellipsis">
245
+
246
+
247
+ 首页
248
+
249
+
250
+
251
+ </span>
252
+
253
+
254
+
255
+ <span class="md-nav__icon md-icon"></span>
256
+ </label>
257
+
258
+ <a href="." class="md-nav__link md-nav__link--active">
259
+
260
+
261
+
262
+ <span class="md-ellipsis">
263
+
264
+
265
+ 首页
266
+
267
+
268
+
269
+ </span>
270
+
271
+
272
+
273
+ </a>
274
+
275
+
276
+
277
+ <nav class="md-nav md-nav--secondary" aria-label="目录">
278
+
279
+
280
+
281
+
282
+
283
+
284
+ <label class="md-nav__title" for="__toc">
285
+ <span class="md-nav__icon md-icon"></span>
286
+ 目录
287
+ </label>
288
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
289
+
290
+ <li class="md-nav__item">
291
+ <a href="#当前状态" class="md-nav__link">
292
+ <span class="md-ellipsis">
293
+
294
+ 当前状态
295
+
296
+ </span>
297
+ </a>
298
+
299
+ </li>
300
+
301
+ <li class="md-nav__item">
302
+ <a href="#首版组成" class="md-nav__link">
303
+ <span class="md-ellipsis">
304
+
305
+ 首版组成
306
+
307
+ </span>
308
+ </a>
309
+
310
+ </li>
311
+
312
+ <li class="md-nav__item">
313
+ <a href="#文档地图" class="md-nav__link">
314
+ <span class="md-ellipsis">
315
+
316
+ 文档地图
317
+
318
+ </span>
319
+ </a>
320
+
321
+ </li>
322
+
323
+ <li class="md-nav__item">
324
+ <a href="#写作边界" class="md-nav__link">
325
+ <span class="md-ellipsis">
326
+
327
+ 写作边界
328
+
329
+ </span>
330
+ </a>
331
+
332
+ </li>
333
+
334
+ </ul>
335
+
336
+ </nav>
337
+
338
+ </li>
339
+
340
+
341
+
342
+
343
+
344
+
345
+
346
+
347
+
348
+ <li class="md-nav__item">
349
+ <a href="setup/" class="md-nav__link">
350
+
351
+
352
+
353
+ <span class="md-ellipsis">
354
+
355
+
356
+ 安装与环境
357
+
358
+
359
+
360
+ </span>
361
+
362
+
363
+
364
+ </a>
365
+ </li>
366
+
367
+
368
+
369
+
370
+
371
+
372
+
373
+
374
+
375
+ <li class="md-nav__item">
376
+ <a href="quickstart/" class="md-nav__link">
377
+
378
+
379
+
380
+ <span class="md-ellipsis">
381
+
382
+
383
+ 快速开始
384
+
385
+
386
+
387
+ </span>
388
+
389
+
390
+
391
+ </a>
392
+ </li>
393
+
394
+
395
+
396
+
397
+
398
+
399
+
400
+
401
+
402
+ <li class="md-nav__item">
403
+ <a href="git-lifecycle/" class="md-nav__link">
404
+
405
+
406
+
407
+ <span class="md-ellipsis">
408
+
409
+
410
+ Git 生命周期指南
411
+
412
+
413
+
414
+ </span>
415
+
416
+
417
+
418
+ </a>
419
+ </li>
420
+
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+
429
+ <li class="md-nav__item">
430
+ <a href="help/" class="md-nav__link">
431
+
432
+
433
+
434
+ <span class="md-ellipsis">
435
+
436
+
437
+ 能力与诊断
438
+
439
+
440
+
441
+ </span>
442
+
443
+
444
+
445
+ </a>
446
+ </li>
447
+
448
+
449
+
450
+
451
+
452
+
453
+
454
+
455
+
456
+ <li class="md-nav__item">
457
+ <a href="architecture/" class="md-nav__link">
458
+
459
+
460
+
461
+ <span class="md-ellipsis">
462
+
463
+
464
+ 架构边界
465
+
466
+
467
+
468
+ </span>
469
+
470
+
471
+
472
+ </a>
473
+ </li>
474
+
475
+
476
+
477
+
478
+
479
+
480
+
481
+
482
+
483
+ <li class="md-nav__item">
484
+ <a href="migration/" class="md-nav__link">
485
+
486
+
487
+
488
+ <span class="md-ellipsis">
489
+
490
+
491
+ 存量采用与迁移
492
+
493
+
494
+
495
+ </span>
496
+
497
+
498
+
499
+ </a>
500
+ </li>
501
+
502
+
503
+
504
+
505
+
506
+
507
+
508
+
509
+
510
+ <li class="md-nav__item">
511
+ <a href="integration/audit/" class="md-nav__link">
512
+
513
+
514
+
515
+ <span class="md-ellipsis">
516
+
517
+
518
+ 独立审计集成
519
+
520
+
521
+
522
+ </span>
523
+
524
+
525
+
526
+ </a>
527
+ </li>
528
+
529
+
530
+
531
+
532
+
533
+
534
+
535
+
536
+
537
+ <li class="md-nav__item">
538
+ <a href="integration/audit/mutation-taxonomy/" class="md-nav__link">
539
+
540
+
541
+
542
+ <span class="md-ellipsis">
543
+
544
+
545
+ 审计变异分类学
546
+
547
+
548
+
549
+ </span>
550
+
551
+
552
+
553
+ </a>
554
+ </li>
555
+
556
+
557
+
558
+
559
+
560
+
561
+
562
+
563
+
564
+ <li class="md-nav__item">
565
+ <a href="integration/audit/independence/" class="md-nav__link">
566
+
567
+
568
+
569
+ <span class="md-ellipsis">
570
+
571
+
572
+ 审计独立性证明
573
+
574
+
575
+
576
+ </span>
577
+
578
+
579
+
580
+ </a>
581
+ </li>
582
+
583
+
584
+
585
+
586
+
587
+
588
+
589
+
590
+
591
+ <li class="md-nav__item">
592
+ <a href="integration/audit/version-compatibility/" class="md-nav__link">
593
+
594
+
595
+
596
+ <span class="md-ellipsis">
597
+
598
+
599
+ 审计版本兼容定义
600
+
601
+
602
+
603
+ </span>
604
+
605
+
606
+
607
+ </a>
608
+ </li>
609
+
610
+
611
+
612
+
613
+
614
+
615
+
616
+
617
+
618
+ <li class="md-nav__item">
619
+ <a href="integration/audit/failure-evidence/" class="md-nav__link">
620
+
621
+
622
+
623
+ <span class="md-ellipsis">
624
+
625
+
626
+ 审计失败证据与 AUD 码
627
+
628
+
629
+
630
+ </span>
631
+
632
+
633
+
634
+ </a>
635
+ </li>
636
+
637
+
638
+
639
+ </ul>
640
+ </nav>
641
+ </div>
642
+ </div>
643
+ </div>
644
+
645
+
646
+
647
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
648
+ <div class="md-sidebar__scrollwrap">
649
+ <div class="md-sidebar__inner">
650
+
651
+
652
+ <nav class="md-nav md-nav--secondary" aria-label="目录">
653
+
654
+
655
+
656
+
657
+
658
+
659
+ <label class="md-nav__title" for="__toc">
660
+ <span class="md-nav__icon md-icon"></span>
661
+ 目录
662
+ </label>
663
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
664
+
665
+ <li class="md-nav__item">
666
+ <a href="#当前状态" class="md-nav__link">
667
+ <span class="md-ellipsis">
668
+
669
+ 当前状态
670
+
671
+ </span>
672
+ </a>
673
+
674
+ </li>
675
+
676
+ <li class="md-nav__item">
677
+ <a href="#首版组成" class="md-nav__link">
678
+ <span class="md-ellipsis">
679
+
680
+ 首版组成
681
+
682
+ </span>
683
+ </a>
684
+
685
+ </li>
686
+
687
+ <li class="md-nav__item">
688
+ <a href="#文档地图" class="md-nav__link">
689
+ <span class="md-ellipsis">
690
+
691
+ 文档地图
692
+
693
+ </span>
694
+ </a>
695
+
696
+ </li>
697
+
698
+ <li class="md-nav__item">
699
+ <a href="#写作边界" class="md-nav__link">
700
+ <span class="md-ellipsis">
701
+
702
+ 写作边界
703
+
704
+ </span>
705
+ </a>
706
+
707
+ </li>
708
+
709
+ </ul>
710
+
711
+ </nav>
712
+ </div>
713
+ </div>
714
+ </div>
715
+
716
+
717
+
718
+ <div class="md-content" data-md-component="content">
719
+
720
+ <article class="md-content__inner md-typeset">
721
+
722
+
723
+
724
+
725
+
726
+ <h1 id="Skill-Family-Foundation-Workspace">Skill Family Foundation Workspace<a class="headerlink" href="#Skill-Family-Foundation-Workspace" title="Permanent link">&para;</a></h1>
727
+ <p>Skill Family 生命周期的公共工程基础设施父工作区。本仓提供机器契约(Contracts)、Node 薄运行时(Harness)、工程工具包(Engineering Kit)、Profile SPI、完全虚构的通用样例(fixture)和工程文档骨架。</p>
728
+ <h2 id="当前状态">当前状态<a class="headerlink" href="#当前状态" title="Permanent link">&para;</a></h2>
729
+ <p>本仓是一套<strong>开发中的首版骨架</strong>。版本、发布、Pages 与 Git 等动态状态唯一见 当前产品状态;许可证已批准为 Apache License 2.0,版权主体为广州市风荷科技有限公司,规范全文见根级 <code>LICENSE</code>。</p>
730
+ <p>本工作区永久 private,是唯一开发真源;公开边界只有三个版本化发布镜像与 npm tarball,钉住的消费坐标与发布状态唯一见 当前产品状态。</p>
731
+ <p>产品级的唯一状态页是 当前产品状态,由 <code>node scripts/docs/fact-check.mjs</code> 对照机器真源机械校验;其他页面不承载第二套状态口径。</p>
732
+ <h2 id="首版组成">首版组成<a class="headerlink" href="#首版组成" title="Permanent link">&para;</a></h2>
733
+ <table>
734
+ <thead>
735
+ <tr>
736
+ <th>组成</th>
737
+ <th>路径</th>
738
+ <th>职责</th>
739
+ </tr>
740
+ </thead>
741
+ <tbody>
742
+ <tr>
743
+ <td>Contracts</td>
744
+ <td><code>packages/skill-family-contracts</code></td>
745
+ <td>机器可执行工程结构和机制协议的唯一权威</td>
746
+ </tr>
747
+ <tr>
748
+ <td>Harness</td>
749
+ <td><code>packages/skill-family-harness-node</code></td>
750
+ <td>只实现 Contracts 定义的机制协议,不拥有业务语义</td>
751
+ </tr>
752
+ <tr>
753
+ <td>Engineering Kit</td>
754
+ <td><code>packages/skill-family-engineering-kit</code></td>
755
+ <td>只提供 <code>scaffold</code>、<code>adopt-plan</code>、<code>projection</code>、<code>check</code> 四个顶层命令</td>
756
+ </tr>
757
+ <tr>
758
+ <td>Profile 种子</td>
759
+ <td><code>profiles/public-plugin</code></td>
760
+ <td>公开插件形态的 Profile 种子</td>
761
+ </tr>
762
+ <tr>
763
+ <td>虚构样例</td>
764
+ <td><code>fixtures/generic-profile-extension-conformance</code></td>
765
+ <td>完全虚构的扩展一致性样例</td>
766
+ </tr>
767
+ </tbody>
768
+ </table>
769
+ <p>包清单、Profile、fixture 与顶层命令以 <code>.foundation/skeleton-manifest.json</code> 为机器真源;工具版本锁定见 <code>.foundation/version-lock.json</code>。</p>
770
+ <h2 id="文档地图">文档地图<a class="headerlink" href="#文档地图" title="Permanent link">&para;</a></h2>
771
+ <ul>
772
+ <li><a href="setup/">安装与环境</a>——工具版本 pin、安装与文档站点构建</li>
773
+ <li><a href="quickstart/">快速开始</a>——从本地验证到试运行的最短路径</li>
774
+ <li><a href="help/">能力与诊断</a>——Kit 四命令、退出码与故障排查</li>
775
+ <li><a href="architecture/">架构边界</a>——分层、唯一权威、预算与文档事实检查</li>
776
+ <li>当前产品状态——唯一产品状态页</li>
777
+ <li><a href="git-lifecycle/">Git 生命周期指南</a>——分支、提交、推送与发布的授权边界</li>
778
+ </ul>
779
+ <h2 id="写作边界">写作边界<a class="headerlink" href="#写作边界" title="Permanent link">&para;</a></h2>
780
+ <p>文档只消费机器真源构成的冻结事实包(manifest、package.json、Contracts 登记等),由 <code>node scripts/docs/fact-check.mjs</code> 机械校验。模型名、凭据和调度信息不进入文档,也不进入 Contracts;详见 <a href="architecture/#文档系统与事实检查">架构边界</a>。</p>
781
+
782
+
783
+
784
+
785
+
786
+
787
+
788
+
789
+
790
+
791
+
792
+
793
+
794
+ </article>
795
+ </div>
796
+
797
+
798
+ <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
799
+ </div>
800
+
801
+ </main>
802
+
803
+ <footer class="md-footer">
804
+
805
+ <div class="md-footer-meta md-typeset">
806
+ <div class="md-footer-meta__inner md-grid">
807
+ <div class="md-copyright">
808
+
809
+
810
+ Made with
811
+ <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
812
+ Material for MkDocs
813
+ </a>
814
+
815
+ </div>
816
+
817
+ </div>
818
+ </div>
819
+ </footer>
820
+
821
+ </div>
822
+ <div class="md-dialog" data-md-component="dialog">
823
+ <div class="md-dialog__inner md-typeset"></div>
824
+ </div>
825
+
826
+
827
+
828
+
829
+
830
+ <script id="__config" type="application/json">{"annotate": null, "base": ".", "features": [], "search": "assets/javascripts/workers/search.2c215733.min.js", "tags": null, "translations": {"clipboard.copied": "\u5df2\u590d\u5236", "clipboard.copy": "\u590d\u5236", "search.result.more.one": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.more.other": "\u5728\u8be5\u9875\u4e0a\u8fd8\u6709 # \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.none": "\u6ca1\u6709\u627e\u5230\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.one": "\u627e\u5230 1 \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.other": "# \u4e2a\u7b26\u5408\u6761\u4ef6\u7684\u7ed3\u679c", "search.result.placeholder": "\u952e\u5165\u4ee5\u5f00\u59cb\u641c\u7d22", "search.result.term.missing": "\u7f3a\u5c11", "select.version": "\u9009\u62e9\u5f53\u524d\u7248\u672c"}, "version": null}</script>
831
+
832
+
833
+ <script src="assets/javascripts/bundle.d7400e89.min.js"></script>
834
+
835
+
836
+ </body>
837
+ </html>