@aipt/idp-deploy 0.1.3 → 0.1.5

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 (75) hide show
  1. package/README.md +2 -0
  2. package/docs/application-config-workspace.md +13 -0
  3. package/docs/command-reference.md +10 -0
  4. package/docs/config-dir-security.md +3 -0
  5. package/docs/features/bench-deployment-ownership-reception/DESIGN.md +63 -0
  6. package/docs/features/bench-deployment-ownership-reception/IMPLEMENTATION-PLAN.md +35 -0
  7. package/docs/features/cli-package-distribution/DESIGN.md +6 -0
  8. package/docs/features/developer-delivery-environment-model/ACCEPTANCE.md +48 -0
  9. package/docs/features/developer-delivery-environment-model/DESIGN.md +110 -0
  10. package/docs/features/developer-delivery-environment-model/IMPLEMENTATION-PLAN.md +46 -0
  11. package/docs/features/kubernetes-gitops-deployment-backend/DESIGN.md +472 -0
  12. package/docs/features/kubernetes-gitops-deployment-backend/FOUNDATION-ARCHITECTURE.md +201 -0
  13. package/docs/features/kubernetes-gitops-deployment-backend/IMPLEMENTATION-PLAN.md +43 -0
  14. package/docs/features/kubernetes-gitops-deployment-backend/PREIMAGE.json +18 -0
  15. package/docs/features/local-source-compose-deployment/DESIGN.md +74 -0
  16. package/docs/features/local-source-compose-deployment/IMPLEMENTATION-PLAN.md +13 -0
  17. package/docs/features/smartgo-managed-business-profile/DESIGN-ADDENDUM-01-HOST-OCI-LAYOUT-ORAS-FALLBACK.md +78 -0
  18. package/docs/features/smartgo-managed-business-profile/DESIGN-ADDENDUM-02-SMARTGO-BACKUP-RECOVERY-HEALTH.md +57 -0
  19. package/docs/features/smartgo-managed-business-profile/DESIGN-ADDENDUM-03-OCI-CAPABLE-BUILDER.md +35 -0
  20. package/docs/features/smartgo-managed-business-profile/DESIGN.md +131 -0
  21. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-01.md +25 -0
  22. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-02.md +14 -0
  23. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-03.md +16 -0
  24. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-04.md +24 -0
  25. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-05.md +27 -0
  26. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-06.md +22 -0
  27. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-07.md +23 -0
  28. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-08.md +24 -0
  29. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-09.md +25 -0
  30. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-10.md +20 -0
  31. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-11.md +21 -0
  32. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-12.md +20 -0
  33. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-13.md +25 -0
  34. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-14.md +25 -0
  35. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-15.md +25 -0
  36. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-16.md +24 -0
  37. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-17.md +25 -0
  38. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-18.md +22 -0
  39. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-19.md +23 -0
  40. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-20.md +22 -0
  41. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-21.md +40 -0
  42. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-22.md +34 -0
  43. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-23.md +29 -0
  44. package/docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN.md +53 -0
  45. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-01.json +11 -0
  46. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-02.json +10 -0
  47. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-03.json +10 -0
  48. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-04.json +14 -0
  49. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-05.json +10 -0
  50. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-06.json +11 -0
  51. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-07.json +11 -0
  52. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-08.json +11 -0
  53. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-09.json +11 -0
  54. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-10.json +11 -0
  55. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-11.json +11 -0
  56. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-12.json +11 -0
  57. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-13.json +11 -0
  58. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-14.json +11 -0
  59. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-15.json +11 -0
  60. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-16.json +11 -0
  61. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-17.json +11 -0
  62. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-18.json +11 -0
  63. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-19.json +14 -0
  64. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-20.json +21 -0
  65. package/docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-21.json +13 -0
  66. package/docs/features/smartgo-managed-business-profile/PREIMAGE.json +26 -0
  67. package/docs/features/workbench-readonly-project-bindings/DESIGN.md +17 -0
  68. package/docs/features/workbench-readonly-project-bindings/IMPLEMENTATION-PLAN.md +11 -0
  69. package/docs/features/workspace-application-config-root/DESIGN.md +11 -0
  70. package/docs/local-deployment.md +3 -0
  71. package/docs/troubleshooting.md +10 -0
  72. package/docs/vibe-delivery.md +3 -0
  73. package/documentation-manifest.json +14 -0
  74. package/package.json +3 -2
  75. package/src/cli.mjs +5 -0
@@ -0,0 +1,11 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "feature": "smartgo-managed-business-profile",
4
+ "addendum": 12,
5
+ "capturedAt": "2026-09-01T00:14:53.000+08:00",
6
+ "files": [
7
+ { "path": "src/release.mjs", "sha256": "fff7124576b39ed344fa27ac46beff81a88e3ef05d91802aa5dd1c027fe5b595" },
8
+ { "path": "tests/release.test.mjs", "sha256": "96316626153f7afad61e6d31abe12557795762f6d8b3985a774dd3ad5597e796" },
9
+ { "path": "README.md", "sha256": "0fa458062087401133e2480d4e1aea6d26cbdb4c491bd69f684afe101326a7ea" }
10
+ ]
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "feature": "smartgo-managed-business-profile",
4
+ "addendum": 13,
5
+ "capturedAt": "2026-09-01T00:26:48.000+08:00",
6
+ "files": [
7
+ { "path": "src/release.mjs", "sha256": "4b3e29b16e381eea3b530c5b4817d9291f0c2dbef21451940e7d2a5c7d60e851" },
8
+ { "path": "tests/release.test.mjs", "sha256": "d8eeee7bfaebdf32ccbf456096b701b01af8119800974bfed5c02383ddc48236" },
9
+ { "path": "README.md", "sha256": "4783a7dbab346d5e2999177cae4c688072301fe7e948d9b2d738a763edceb965" }
10
+ ]
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "feature": "smartgo-managed-business-profile",
4
+ "addendum": 14,
5
+ "capturedAt": "2026-09-01T02:10:00.000+08:00",
6
+ "files": [
7
+ { "path": "src/release.mjs", "sha256": "ff3f720bd5c0a6e50ea6df13c8854f82478c8821bf37184bc728e6ea60789fec" },
8
+ { "path": "tests/release.test.mjs", "sha256": "4de8c92979f3eaeeec1eb824544cb49b42ccef6e070688765b56e77c2a5cd8e2" },
9
+ { "path": "README.md", "sha256": "ed34388d6e360cd0a3868a30109a693cdf1ff2a3bc4be3c8babf92ea7b772a93" }
10
+ ]
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "feature": "smartgo-managed-business-profile",
4
+ "addendum": 15,
5
+ "capturedAt": "2026-09-01T02:48:00.000+08:00",
6
+ "files": [
7
+ { "path": "src/release.mjs", "sha256": "765c8ff258f95365028563894b7278d04a7e475529625f465c15083e863533ff" },
8
+ { "path": "tests/release.test.mjs", "sha256": "94321f36949bccaa47c8a8e6fae8f38aa3a03b8d9d914f5ade68b62e995e86dd" },
9
+ { "path": "README.md", "sha256": "968e432e78a1e081a660b32cd4c49ef3e6ae0c23f9540e3e7383bc0505e3564b" }
10
+ ]
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "feature": "smartgo-managed-business-profile",
4
+ "addendum": 16,
5
+ "capturedAt": "2026-09-01T03:34:00.000+08:00",
6
+ "files": [
7
+ { "path": "src/release.mjs", "sha256": "af2dac160ceb050b94d37d87e420e3090788b5b6f20b7e715fe65ac308242119" },
8
+ { "path": "tests/release.test.mjs", "sha256": "20f61e670051d30578dd7ad7d5e45f15aaecad53f6aa67201c66e22b42293393" },
9
+ { "path": "README.md", "sha256": "ecbc2362cd9a96c6230a6b569e011333d6ef2cd7fd14107e301da5b31041edca" }
10
+ ]
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "feature": "smartgo-managed-business-profile",
4
+ "addendum": 17,
5
+ "capturedAt": "2026-09-01T01:35:12.000+08:00",
6
+ "files": [
7
+ { "path": "src/release.mjs", "sha256": "2383c59f1d4d7672040bf85236421b8e0bb6042a53845e64ef54c2ca88c251a9" },
8
+ { "path": "tests/release.test.mjs", "sha256": "fbe65c091396f757109478485a335a7dcca52492b9ae6ee199b7a71811d02531" },
9
+ { "path": "README.md", "sha256": "1aba6e4c9a2336d16510c99039061feed80979bad52307731158ad50158940d5" }
10
+ ]
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "feature": "smartgo-managed-business-profile",
4
+ "addendum": 18,
5
+ "capturedAt": "2026-09-01T01:52:00.000+08:00",
6
+ "files": [
7
+ { "path": "src/release.mjs", "sha256": "6c2bcc88a55f9e65962cfc0506a087490ae73657742d23c2e27e10bd532f14fc" },
8
+ { "path": "tests/release.test.mjs", "sha256": "5028f4b78c65d1d968059b84a525bb4b6cd67264cdaecbc57f6abf5e4356c6b5" },
9
+ { "path": "README.md", "sha256": "34ba3e8ed30963b974d9bc667c0275edb37eb4c6c4791ad7e30362037a38b9ef" }
10
+ ]
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "feature": "smartgo-managed-business-profile",
4
+ "addendum": 19,
5
+ "capturedAt": "2026-09-01T02:03:00.000+08:00",
6
+ "files": [
7
+ { "path": "src/release.mjs", "sha256": "37efdb29950f6272badf8d451a06fe17361c705321db0213fc1d3033e8259ac8" },
8
+ { "path": "tests/release.test.mjs", "sha256": "a82aad48c9bcaf893360cf0b2500a273c213c0977ea71e798a13e3a6b6a92cb2" },
9
+ { "path": "README.md", "sha256": "17f13244534ad025d697b354ecb34643671b5bfeff1bc76124b4fd7f984c017d" }
10
+ ]
11
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "feature": "smartgo-managed-business-profile",
4
+ "addendum": 20,
5
+ "capturedAt": "2026-09-01T02:15:00.000+08:00",
6
+ "files": [
7
+ { "path": "src/release.mjs", "sha256": "56c11d0d339753f97e365ce40ea72209ef6303ce58db771378f002e157df7c6b" },
8
+ { "path": "tests/release.test.mjs", "sha256": "769b83f933926b1b6c31ec00e8d380feb500faafbb0e85b34afffd5e3ee909b7" },
9
+ { "path": "README.md", "sha256": "eb216d96cff071a4ac5c88bcdd4019d012416b9797bf97e8db5c34c3fd887eba" }
10
+ ]
11
+ }
@@ -0,0 +1,14 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "feature": "smartgo-managed-business-profile",
4
+ "addendum": 21,
5
+ "capturedAt": "2026-09-01T03:05:00.000+08:00",
6
+ "files": [
7
+ { "path": "src/release.mjs", "sha256": "98ef06adbc290d431a6f1b181749e50c344a471ba28d5a38edf8774e29b841ed" },
8
+ { "path": "src/config.mjs", "sha256": "c12b98069cb0caf493ee048eeb82dec70f976346f265eb60755f3a2b594e3b2f" },
9
+ { "path": "tests/release.test.mjs", "sha256": "177ff0c4700d36dc4b3a7b8b369ed8769fa14a771f4305a86285f9539c37365f" },
10
+ { "path": "tests/config.test.mjs", "sha256": "c980fda9b396b2d12b045915891d284e864fea2366712c0f7e8da63360c45e42" },
11
+ { "path": "tests/helpers.mjs", "sha256": "368bab9a259e84c0a71c86bda90b896df0d4402e4eac105f6c8b798f2dd72a77" },
12
+ { "path": "README.md", "sha256": "e8c05d2aa445f311afc811381603ebad64dd85143f1a66565cec45a0aae45cb6" }
13
+ ]
14
+ }
@@ -0,0 +1,21 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "feature": "smartgo-managed-business-profile",
4
+ "addendum": 22,
5
+ "capturedAt": "2026-09-01T05:15:00.000+08:00",
6
+ "files": [
7
+ {
8
+ "path": "src/operations.mjs",
9
+ "sha256": "d840110c25c61da1172282b5a466657221f198443a7d8cb2795794d778f438fc"
10
+ },
11
+ {
12
+ "path": "tests/operations.test.mjs",
13
+ "sha256": "3359aedf2b35b20ce4411320af2cd2c0413abe2cdb2ba1444a2b78d26a13c784"
14
+ }
15
+ ],
16
+ "absent": [
17
+ "docs/features/smartgo-managed-business-profile/DESIGN-ADDENDUM-02-SMARTGO-BACKUP-RECOVERY-HEALTH.md",
18
+ "docs/features/smartgo-managed-business-profile/IMPLEMENTATION-PLAN-ADDENDUM-22.md",
19
+ "docs/features/smartgo-managed-business-profile/PREIMAGE-ADDENDUM-20.json"
20
+ ]
21
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "feature": "smartgo-managed-business-profile",
4
+ "addendum": 23,
5
+ "capturedAt": "2026-09-01T04:40:00.000+08:00",
6
+ "files": [
7
+ { "path": "src/config.mjs", "sha256": "1ef2d7432cebb9f81e00cf32e3ec7ab689448df4d5f2ecf3efd1c5c5721ed357" },
8
+ { "path": "src/release.mjs", "sha256": "18980799e8f8e2eba955efac14f48541bdbab526b882bc01dc49d338401dd4e3" },
9
+ { "path": "tests/config.test.mjs", "sha256": "d03f33344fba0ca97fce4e519dc903670f8afd3bb44aed935812b1d4368a37d1" },
10
+ { "path": "tests/release.test.mjs", "sha256": "1e026f0a5a9a0c52e09db9b3584a589293a153f602b0e753b51ee8aa8ce8b55f" },
11
+ { "path": "README.md", "sha256": "df28f1436cd8baaf503f1b39fac24604c79312a3977d8a4ee8c033f2e698daf9" }
12
+ ]
13
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "feature": "smartgo-managed-business-profile",
4
+ "capturedAt": "2026-08-31T00:00:00.000+08:00",
5
+ "files": [
6
+ { "path": "README.md", "sha256": "a9a2eef052e3b65aac85653771bd2d4c51fdffa781f84dcbddee5829a4812759" },
7
+ { "path": "package.json", "sha256": "bad042a22be8ec722875575731f38f24598ad038d9d2eae070988da3b007b2c6" },
8
+ { "path": "release/defaults.v1.json", "sha256": "3d270bae167d8ab4ec223cb4d0538490481350f9f38ed1709816715a69d7d5c3" },
9
+ { "path": "src/cli.mjs", "sha256": "44ea555fdbc9efaf9f77a955a0ad49a10c94d974d1270ad1de1b010f74186351" },
10
+ { "path": "src/compose.mjs", "sha256": "25109849e95a430fc1f068d80011f60333edc4526771bf1af5aa8111243a2a9a" },
11
+ { "path": "src/config.mjs", "sha256": "e2804d7c9199fd097d4796bc392fdfb1e8b38ad4e1f13060c5a6e37e8a9b3e6c" },
12
+ { "path": "src/image-lock.mjs", "sha256": "97c35c76bc861f8d899878421accd20112dfc6228286c468bc6625fffd9a63de" },
13
+ { "path": "src/images.mjs", "sha256": "c00781aff744de6131071dee0e1a1d67948579c421817d79439449878ad700aa" },
14
+ { "path": "src/operations.mjs", "sha256": "9a04fb71cdc9071e99bcf5cdbc3444d7a1cd0da316e80c819ecca6024a0a397c" },
15
+ { "path": "src/profiles.mjs", "sha256": "a437a33c823e29164a3be43d26e46cc796f18f8115ead523eaa37a864241d0c1" },
16
+ { "path": "src/release.mjs", "sha256": "c7cd3c5ddaf8eb0a0ea35388d8137127af5f4c2c94f6fa7837baf6db3ca46c86" },
17
+ { "path": "src/render.mjs", "sha256": "f0f084a0d1451b37fae409d8207dba58cbbdb029520e14c68948db3edcedb890" },
18
+ { "path": "tests/compose.test.mjs", "sha256": "597f17790f228b0a263414b04a9d89507eeac73588bcb6968f8567f579fc8e18" },
19
+ { "path": "tests/config.test.mjs", "sha256": "2a0b293e68289fcae260a5373200c892ede44d94bff0ea11422ed3fa15c6ce56" },
20
+ { "path": "tests/helpers.mjs", "sha256": "e21c3c42ae352e62e499ea8ef7f665869568a117134a643cec1d28988a329d96" },
21
+ { "path": "tests/images.test.mjs", "sha256": "0dee707b0ec6625bc7a3e85f6a9e228e44293ffc538a67c7a70abd3ce80d1b36" },
22
+ { "path": "tests/operations.test.mjs", "sha256": "5979cb2c0fe1f43ccf13387857259eeee93e34a1d11ff19b0bd27004771049ce" },
23
+ { "path": "tests/release.test.mjs", "sha256": "db9cefd189ca70d78884c41dcd69d703baefb97253bb6d91886c154d29a250a5" },
24
+ { "path": "tests/render.test.mjs", "sha256": "40de48dcbef91206c77961281c3f10384493251e9cc662bb34aa0031fd87a965" }
25
+ ]
26
+ }
@@ -0,0 +1,17 @@
1
+ # Docker 开发工作台只读项目 Binding 设计
2
+
3
+ - 状态:approved
4
+ - Feature:`idp.workbench-readonly-project-bindings/v1`
5
+
6
+ idp-deploy 从仓库外 Config Dir 中的受管项目 Binding 生成独立 Compose override。每个仓库项固定 project id、宿主 realpath、容器路径 `/workspaces/<id>` 与 `read-only` 访问;每个可部署应用再用 `configBindings` 声明仓库内相对路径和该应用独享的外部 Config Dir。monorepo 的多个应用不得共享 Config Dir。禁止根目录、HOME、符号链接、路径逃逸、重复目标和可写挂载。
7
+
8
+ 部署控制面将不含 Secret 的容器路径清单以 `DYYTO_WORKBENCH_PROJECT_BINDINGS_FILE` 只读投影给工作台。工作台按最长应用路径找到正确的 Config Dir,使用 `project-readonly` 模式,仅能在自身 SQLite 中登记已批准仓库并执行只读检查,不能修改项目或配置文件。Binding Apply 保存 Preimage/CAS;变化后重建 Workbench 服务并验证项目和配置 Mounts 的 RW=false。
9
+
10
+ 正式入口:
11
+
12
+ ```text
13
+ idpctl workbench projects init
14
+ idpctl workbench projects plan --file <Config Dir内candidate> --output <Plan>
15
+ idpctl workbench projects apply --plan <Plan>
16
+ idpctl workbench projects verify
17
+ ```
@@ -0,0 +1,11 @@
1
+ # Docker 开发工作台只读项目 Binding 实施计划
2
+
3
+ - 状态:approved
4
+ - Plan ID:`idp.workbench-readonly-project-bindings@1`
5
+
6
+ 1. 定义仓库外 candidate、不可变 Plan、运行投影和 Evidence。
7
+ 2. 校验宿主目录、目标路径、只读访问和危险宽目录。
8
+ 3. Render 独立 Compose override,并为 Workbench 设置 project-readonly 模式。
9
+ 4. Apply 保存 Preimage/CAS并显式重建;Verify核对容器只读Mount。
10
+ 5. 增加失败、漂移、重复、移除、Apex fixture 和命令文档。
11
+
@@ -0,0 +1,11 @@
1
+ # Workspace Application Config Root 设计
2
+
3
+ - 状态:approved
4
+ - 批准依据:用户确认 `APP_CONFIG_DIR` 是所有业务应用/工作区配置的总根,并要求工程命令集先支持后发布。
5
+ - Feature:`idp.workspace-application-config-root/v1`
6
+
7
+ `APP_CONFIG_DIR` 永远表示业务配置总根,不表示某个应用最终目录。Workspace 中的可部署单元确定性映射到 `<root>/<workspace-id>/<unit-path>/<environment>`;单应用仓库映射到 `<root>/<application-id>/<environment>`。默认环境为 `local`。显式 `--application-config-dir` 仅作为兼容覆盖,必须是最终目录。
8
+
9
+ 本地 Docker 以 Workspace 为 Source/Build 边界,以 Application unit 为配置与运行身份。`--workspace-root` 必须是包含项目的真实 Workspace Root,Compose 和全部 build context 必须位于该边界内。Plan 固化 Workspace、unit、配置目录、源码摘要和 Compose 摘要;Apply 前全部复验。
10
+
11
+ Workbench 只登记 Workspace 一次,应用 Config Binding 独立投影。Candidate 可以省略 `applicationConfigDir`,由 `APP_CONFIG_DIR`、项目 id、unit path 和 `local` 自动推导;绝对路径仍允许作为兼容覆盖。
@@ -0,0 +1,3 @@
1
+ # 业务应用本地 Docker 部署
2
+
3
+ 设置仓库外 `IDP_CONFIG_DIR` 与 `APP_CONFIG_DIR`,先运行 `idpctl app config-init`,再运行 `idpctl local app plan`、`apply`、`verify`。本地模式直接使用 Compose 构建,不推送远程 OCI;生产交付仍要求不可变多架构镜像摘要。
@@ -0,0 +1,10 @@
1
+ # idpctl 诊断
2
+
3
+ 出现 `IDP_ARGUMENT_UNKNOWN` 时执行:
4
+
5
+ ```bash
6
+ type -a idpctl
7
+ idpctl --version --json
8
+ ```
9
+
10
+ 若版本低于项目 `.dyyto/toolchain.lock.json`,重新运行 Dyyto Bootstrap 安装锁定版本并执行 `hash -r`。`--workspace-root` 从 `@aipt/idp-deploy@0.1.4` 起属于 `app config-init` 的正式参数;路径必须为绝对路径,且 `--project` 必须位于工作区根内。
@@ -0,0 +1,3 @@
1
+ # Vibe Coding 交付接口
2
+
3
+ 编码 Agent 从 Dyyto Context 获得交付意图,不直接修改运行环境。部署写入必须来自精确批准的 idpctl Plan;输入、Compose、配置或源码变化后旧 Plan 自动失效。
@@ -0,0 +1,14 @@
1
+ {
2
+ "schemaVersion": 1,
3
+ "package": "@aipt/idp-deploy",
4
+ "version": "0.1.5",
5
+ "documents": [
6
+ { "id": "config-dir-security", "path": "docs/config-dir-security.md", "digest": "sha256:057b3f07104255812d2f26f59842c42f995305c64c5494889fee59772041e324" },
7
+ { "id": "local-deployment", "path": "docs/local-deployment.md", "digest": "sha256:4d86d7e7ed8619fa750430989afefe71e033673adedb924bb60b4272d7d2e3f6" },
8
+ { "id": "vibe-delivery", "path": "docs/vibe-delivery.md", "digest": "sha256:3e6dee64c85417c1402ad3d9433e24c223acef584bc2f71cec0711085e5438e6" },
9
+ { "id": "restore-runbook", "path": "docs/restore-runbook.md", "digest": "sha256:e8e7bc6ac7da6f870a5edeae237b5431f40a5480a68eb41465903e49f5dd3ca0" },
10
+ { "id": "application-config-workspace", "path": "docs/application-config-workspace.md", "digest": "sha256:d5ae60d7ef71422721b9fe34aaf11ad118d7e4a9ffacd9832aa69c259ef927f8" },
11
+ { "id": "idpctl-command-reference", "path": "docs/command-reference.md", "digest": "sha256:5871ddc5fe36347f140f14308f9482a00bdd107aaf041cbf7e4c8afecd010e83" },
12
+ { "id": "idpctl-troubleshooting", "path": "docs/troubleshooting.md", "digest": "sha256:db2f18eb19fb98e81edf6ea2789fcd72c5158d733a7e93b9fe9f1c34c4632d10" }
13
+ ]
14
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aipt/idp-deploy",
3
- "version": "0.1.3",
3
+ "version": "0.1.5",
4
4
  "description": "IDP 私有化部署、外部配置、备份恢复与交付编排 CLI。",
5
5
  "type": "module",
6
6
  "bin": {
@@ -13,7 +13,8 @@
13
13
  "contracts",
14
14
  "release",
15
15
  "governance",
16
- "docs/restore-runbook.md",
16
+ "docs",
17
+ "documentation-manifest.json",
17
18
  "README.md",
18
19
  "deploy.sh"
19
20
  ],
package/src/cli.mjs CHANGED
@@ -19,6 +19,7 @@ import { applyLocalSourceDeployment, createLocalSourcePlan, initializeApplicatio
19
19
  import { applyWorkbenchProjectsPlan, createWorkbenchProjectsPlan, initializeWorkbenchProjects, verifyWorkbenchProjects } from './workbench-projects.mjs';
20
20
 
21
21
  const repositoryRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
22
+ const cliVersion = JSON.parse(fs.readFileSync(path.join(repositoryRoot, 'package.json'), 'utf8')).version;
22
23
 
23
24
  export function configRootFrom(args, { environment = process.env } = {}) {
24
25
  const index = args.indexOf('--config-dir');
@@ -83,6 +84,10 @@ function print(value) {
83
84
 
84
85
  export async function main(args) {
85
86
  const [command, subcommand] = args;
87
+ if (command === '--version' || command === 'version') {
88
+ print(args.includes('--json') ? { schemaVersion: 1, command: 'version', version: cliVersion, executable: process.argv[1] } : cliVersion);
89
+ return;
90
+ }
86
91
  if (!command || ['help', '--help', '-h'].includes(command)) {
87
92
  process.stdout.write('本地项目命令:\n app config-init --project <绝对项目目录> [--workspace-root <绝对目录>] [--environment local]\n local app plan --project <绝对目录> [--workspace-root <绝对目录>] --compose-file <绝对文件> --output <应用Config Dir/plans/local-applications/...>\n local app apply|verify|stop --plan <绝对文件>\n local app remove --plan <绝对文件> --confirm <application-id>\n\nAPP_CONFIG_DIR是全部业务工作区/应用配置总根;显式--application-config-dir仅兼容覆盖最终应用目录。\n\n');
88
93
  process.stdout.write('Docker工作台项目命令:\n workbench projects init\n workbench projects plan --dyyto-root <绝对目录> --file <candidate> --output <Plan>\n workbench projects apply --plan <Plan>\n workbench projects verify\n\n');