@procedures/docker 0.1.0 → 0.2.1

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/dist/index.d.ts CHANGED
@@ -31,5 +31,5 @@ export type { DockerRunInput, DockerBuildInput, DockerPullInput, DockerExecInput
31
31
  export type { DockerLogItem } from "./procedures/docker/logs.js";
32
32
  export { DockerRunInputSchema, DockerBuildInputSchema, DockerPullInputSchema, DockerExecInputSchema, DockerStopInputSchema, DockerRmInputSchema, DockerPsInputSchema, DockerLogsInputSchema, DockerComposeUpInputSchema, DockerComposeDownInputSchema, } from "./types.js";
33
33
  export { dockerRun, dockerBuild, dockerPull, dockerExec, dockerStop, dockerRm, dockerPs, dockerLogs, dockerComposeUp, dockerComposeDown, } from "./procedures/docker/index.js";
34
- export { registerDockerProcedures } from "./register.js";
34
+ export { registerDockerProcedures } from "./module.js";
35
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,eAAe,EACf,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAEjE,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,eAAe,EACf,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
package/dist/index.js CHANGED
@@ -31,5 +31,5 @@ export { DockerRunInputSchema, DockerBuildInputSchema, DockerPullInputSchema, Do
31
31
  // Procedures
32
32
  export { dockerRun, dockerBuild, dockerPull, dockerExec, dockerStop, dockerRm, dockerPs, dockerLogs, dockerComposeUp, dockerComposeDown, } from "./procedures/docker/index.js";
33
33
  // Registration
34
- export { registerDockerProcedures } from "./register.js";
34
+ export { registerDockerProcedures } from "./module.js";
35
35
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAkBH,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB,aAAa;AACb,OAAO,EACL,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,eAAe,EACf,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAEtC,eAAe;AACf,OAAO,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAkBH,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,YAAY,CAAC;AAEpB,aAAa;AACb,OAAO,EACL,SAAS,EACT,WAAW,EACX,UAAU,EACV,UAAU,EACV,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,UAAU,EACV,eAAe,EACf,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AAEtC,eAAe;AACf,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
package/dist/module.d.ts CHANGED
@@ -6,11 +6,17 @@
6
6
  * Provides docker.run, docker.build, docker.pull, docker.exec, docker.stop,
7
7
  * docker.rm, docker.ps, docker.logs, docker.compose.up, docker.compose.down procedures.
8
8
  */
9
- import { type ProcedureModule } from "@procedures/client";
9
+ import { type ProcedureModule, type ProcedureRegistry } from "@procedures/client";
10
10
  /**
11
11
  * The module of this package, for `createRegistry()`: its procedures as data. Importing this
12
12
  * file registers nothing. (`register.ts` registers the same procedures in the global registry.)
13
13
  */
14
14
  export declare const dockerModule: ProcedureModule;
15
15
  export default dockerModule;
16
+ /**
17
+ * This function registers the procedures of @procedures/docker, and of the modules that it requires, in
18
+ * a registry. The default is the global registry. Importing this file registers nothing: the
19
+ * `./register` entry starts this function (ARCHITECTURE-PROPOSALS-2026-10, P9).
20
+ */
21
+ export declare function registerDockerProcedures(registry?: ProcedureRegistry): void;
16
22
  //# sourceMappingURL=module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAA6C,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAiNrG;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,eAWR,CAAC;eAEL,YAAY"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAA6C,KAAK,eAAe,EAAuC,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAqOlK;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,eAWR,CAAC;eAEL,YAAY;AAE3B;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,GAAE,iBAAsC,GAAG,IAAI,CAE/F"}
package/dist/module.js CHANGED
@@ -6,7 +6,7 @@
6
6
  * Provides docker.run, docker.build, docker.pull, docker.exec, docker.stop,
7
7
  * docker.rm, docker.ps, docker.logs, docker.compose.up, docker.compose.down procedures.
8
8
  */
9
- import { createProcedure, zodAdapter, defineModule } from "@procedures/client";
9
+ import { createProcedure, zodAdapter, defineModule, PROCEDURE_REGISTRY, registerModules } from "@procedures/client";
10
10
  import shellModule from "@procedures/shell/module";
11
11
  import { dockerRun, dockerBuild, dockerPull, dockerExec, dockerStop, dockerRm, dockerPs, dockerLogs, dockerComposeUp, dockerComposeDown, } from "./procedures/docker/index.js";
12
12
  import { DockerRunInputSchema, DockerBuildInputSchema, DockerPullInputSchema, DockerExecInputSchema, DockerStopInputSchema, DockerRmInputSchema, DockerPsInputSchema, DockerLogsInputSchema, DockerComposeUpInputSchema, DockerComposeDownInputSchema, DockerCommandOutputSchema, DockerLogsOutputSchema, } from "./types.js";
@@ -20,6 +20,9 @@ const dockerRunProcedure = createProcedure()
20
20
  .meta({
21
21
  description: "Run a Docker container",
22
22
  calls: ["shell.run"],
23
+ // The container runs the image and command of the caller. The volumes give it host files, and
24
+ // docker pulls a missing image.
25
+ effects: { reads: ["docker", "fs", "network"], writes: ["docker", "fs", "process"] },
23
26
  args: ["image"],
24
27
  shorts: { name: "n", detach: "d" },
25
28
  output: "json",
@@ -35,6 +38,9 @@ const dockerBuildProcedure = createProcedure()
35
38
  .meta({
36
39
  description: "Build a Docker image",
37
40
  calls: ["shell.run"],
41
+ // The RUN steps of the Dockerfile are code of the project. Docker reads the context and pulls
42
+ // the base images. The tag goes to the new image, and the earlier image stays.
43
+ effects: { reads: ["docker", "fs", "network"], writes: ["docker", "process"], destructive: false },
38
44
  args: ["context"],
39
45
  shorts: { tag: "t", dockerfile: "f" },
40
46
  output: "json",
@@ -50,6 +56,7 @@ const dockerPullProcedure = createProcedure()
50
56
  .meta({
51
57
  description: "Pull a Docker image",
52
58
  calls: ["shell.run"],
59
+ effects: { reads: ["docker", "network"], writes: ["docker"], destructive: false, idempotent: true },
53
60
  args: ["image"],
54
61
  output: "json",
55
62
  })
@@ -64,6 +71,8 @@ const dockerExecProcedure = createProcedure()
64
71
  .meta({
65
72
  description: "Execute command in a running container",
66
73
  calls: ["shell.run"],
74
+ // The container runs the command of the caller
75
+ effects: { reads: ["docker"], writes: ["docker", "process"] },
67
76
  args: ["container", "command"],
68
77
  shorts: { interactive: "i", tty: "t", workdir: "w" },
69
78
  output: "json",
@@ -79,6 +88,8 @@ const dockerStopProcedure = createProcedure()
79
88
  .meta({
80
89
  description: "Stop running container(s)",
81
90
  calls: ["shell.run"],
91
+ // The stop of a stopped container changes nothing
92
+ effects: { reads: ["docker"], writes: ["docker"], idempotent: true },
82
93
  args: ["containers"],
83
94
  shorts: { time: "t" },
84
95
  output: "json",
@@ -94,6 +105,7 @@ const dockerRmProcedure = createProcedure()
94
105
  .meta({
95
106
  description: "Remove container(s)",
96
107
  calls: ["shell.run"],
108
+ effects: { reads: ["docker"], writes: ["docker"] },
97
109
  args: ["containers"],
98
110
  shorts: { force: "f", volumes: "v" },
99
111
  output: "json",
@@ -109,6 +121,7 @@ const dockerPsProcedure = createProcedure()
109
121
  .meta({
110
122
  description: "List containers",
111
123
  calls: ["shell.run"],
124
+ effects: { reads: ["docker"], writes: [] },
112
125
  shorts: { all: "a", filter: "f", format: "F" },
113
126
  output: "json",
114
127
  })
@@ -124,6 +137,7 @@ const dockerLogsProcedure = createProcedure()
124
137
  .meta({
125
138
  description: "Get container logs",
126
139
  calls: ["shell.run", "shell.stream"],
140
+ effects: { reads: ["docker"], writes: [] },
127
141
  args: ["container"],
128
142
  shorts: { follow: "f", tail: "n", timestamps: "t" },
129
143
  output: "json",
@@ -139,6 +153,9 @@ const dockerComposeUpProcedure = createProcedure()
139
153
  .meta({
140
154
  description: "Start services with docker compose",
141
155
  calls: ["shell.run"],
156
+ // The compose file of the caller sets the images, the commands and the host folders of the
157
+ // services. An up can replace the containers of changed services.
158
+ effects: { reads: ["docker", "fs", "network"], writes: ["docker", "fs", "process"] },
142
159
  shorts: { file: "f", detach: "d", build: "b" },
143
160
  output: "json",
144
161
  })
@@ -153,6 +170,9 @@ const dockerComposeDownProcedure = createProcedure()
153
170
  .meta({
154
171
  description: "Stop services with docker compose",
155
172
  calls: ["shell.run"],
173
+ // It removes the containers of the project, and with volumes: true its volumes. A second down
174
+ // changes nothing.
175
+ effects: { reads: ["docker", "fs"], writes: ["docker"], idempotent: true },
156
176
  shorts: { file: "f", volumes: "v" },
157
177
  output: "json",
158
178
  })
@@ -180,4 +200,12 @@ export const dockerModule = defineModule("@procedures/docker", [
180
200
  dockerComposeDownProcedure,
181
201
  ], [shellModule]);
182
202
  export default dockerModule;
203
+ /**
204
+ * This function registers the procedures of @procedures/docker, and of the modules that it requires, in
205
+ * a registry. The default is the global registry. Importing this file registers nothing: the
206
+ * `./register` entry starts this function (ARCHITECTURE-PROPOSALS-2026-10, P9).
207
+ */
208
+ export function registerDockerProcedures(registry = PROCEDURE_REGISTRY) {
209
+ registerModules(registry, [dockerModule]);
210
+ }
183
211
  //# sourceMappingURL=module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,7 @@
1
1
  /**
2
- * Importing this file registers the procedures of @procedures/docker in the global registry
3
- * (DECISIONS-2026-10, "Every package root registers its procedures"). The procedures as data
4
- * are in `module.ts`, which registers nothing: a host with its own registry uses that one.
2
+ * Importing this file registers the procedures of @procedures/docker, and of the modules that it
3
+ * requires, in the global registry: `import "@procedures/docker/register"`. The package root and the
4
+ * `./module` entry register nothing (ARCHITECTURE-PROPOSALS-2026-10, P9).
5
5
  */
6
- import "@procedures/shell";
7
6
  export * from "./module.js";
8
- export declare function registerDockerProcedures(): void;
9
7
  //# sourceMappingURL=register.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,mBAAmB,CAAC;AAK3B,cAAc,aAAa,CAAC;AAE5B,wBAAgB,wBAAwB,IAAI,IAAI,CAE/C"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,cAAc,aAAa,CAAC"}
package/dist/register.js CHANGED
@@ -1,16 +1,9 @@
1
1
  /**
2
- * Importing this file registers the procedures of @procedures/docker in the global registry
3
- * (DECISIONS-2026-10, "Every package root registers its procedures"). The procedures as data
4
- * are in `module.ts`, which registers nothing: a host with its own registry uses that one.
2
+ * Importing this file registers the procedures of @procedures/docker, and of the modules that it
3
+ * requires, in the global registry: `import "@procedures/docker/register"`. The package root and the
4
+ * `./module` entry register nothing (ARCHITECTURE-PROPOSALS-2026-10, P9).
5
5
  */
6
- // Import shell dependency to ensure shell.exec is registered
7
- import "@procedures/shell";
8
- import { registerProcedures } from "@procedures/client";
9
- import { dockerModule } from "./module.js";
6
+ import { registerDockerProcedures } from "./module.js";
10
7
  export * from "./module.js";
11
- export function registerDockerProcedures() {
12
- registerProcedures(dockerModule.procedures);
13
- }
14
- // Auto-register when this module is loaded
15
8
  registerDockerProcedures();
16
9
  //# sourceMappingURL=register.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6DAA6D;AAC7D,OAAO,mBAAmB,CAAC;AAE3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,cAAc,aAAa,CAAC;AAE5B,MAAM,UAAU,wBAAwB;IACtC,kBAAkB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;AAC9C,CAAC;AAED,2CAA2C;AAC3C,wBAAwB,EAAE,CAAC"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,cAAc,aAAa,CAAC;AAE5B,wBAAwB,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package",
3
3
  "name": "@procedures/docker",
4
- "version": "0.1.0",
4
+ "version": "0.2.1",
5
5
  "description": "Docker and Docker Compose as typed procedures: ps, run, exec, logs (streaming), build, pull, stop, rm, compose up and down, run with argv and no shell injection.",
6
6
  "keywords": [
7
7
  "docker",
@@ -34,6 +34,10 @@
34
34
  "types": "./dist/module.d.ts",
35
35
  "import": "./dist/module.js"
36
36
  },
37
+ "./register": {
38
+ "types": "./dist/register.d.ts",
39
+ "import": "./dist/register.js"
40
+ },
37
41
  "./register.js": {
38
42
  "import": "./dist/register.js"
39
43
  }
@@ -47,7 +51,6 @@
47
51
  "CHANGELOG.md"
48
52
  ],
49
53
  "sideEffects": [
50
- "./dist/index.js",
51
54
  "./dist/register.js"
52
55
  ],
53
56
  "engines": {
@@ -58,8 +61,8 @@
58
61
  "provenance": true
59
62
  },
60
63
  "dependencies": {
61
- "@procedures/client": "0.1.0",
62
- "@procedures/shell": "0.1.0",
64
+ "@procedures/client": "0.2.1",
65
+ "@procedures/shell": "0.2.1",
63
66
  "zod": "^4.6.5"
64
67
  },
65
68
  "devDependencies": {
package/src/index.ts CHANGED
@@ -72,4 +72,4 @@ export {
72
72
  } from "./procedures/docker/index.js";
73
73
 
74
74
  // Registration
75
- export { registerDockerProcedures } from "./register.js";
75
+ export { registerDockerProcedures } from "./module.js";
package/src/module.ts CHANGED
@@ -8,7 +8,7 @@
8
8
  */
9
9
 
10
10
 
11
- import { createProcedure, zodAdapter, defineModule, type ProcedureModule } from "@procedures/client";
11
+ import { createProcedure, zodAdapter, defineModule, type ProcedureModule, PROCEDURE_REGISTRY, registerModules, type ProcedureRegistry } from "@procedures/client";
12
12
  import shellModule from "@procedures/shell/module";
13
13
  import {
14
14
  dockerRun,
@@ -61,6 +61,9 @@ const dockerRunProcedure = createProcedure()
61
61
  .meta({
62
62
  description: "Run a Docker container",
63
63
  calls: ["shell.run"],
64
+ // The container runs the image and command of the caller. The volumes give it host files, and
65
+ // docker pulls a missing image.
66
+ effects: { reads: ["docker", "fs", "network"], writes: ["docker", "fs", "process"] },
64
67
  args: ["image"],
65
68
  shorts: { name: "n", detach: "d" },
66
69
  output: "json",
@@ -77,6 +80,9 @@ const dockerBuildProcedure = createProcedure()
77
80
  .meta({
78
81
  description: "Build a Docker image",
79
82
  calls: ["shell.run"],
83
+ // The RUN steps of the Dockerfile are code of the project. Docker reads the context and pulls
84
+ // the base images. The tag goes to the new image, and the earlier image stays.
85
+ effects: { reads: ["docker", "fs", "network"], writes: ["docker", "process"], destructive: false },
80
86
  args: ["context"],
81
87
  shorts: { tag: "t", dockerfile: "f" },
82
88
  output: "json",
@@ -93,6 +99,7 @@ const dockerPullProcedure = createProcedure()
93
99
  .meta({
94
100
  description: "Pull a Docker image",
95
101
  calls: ["shell.run"],
102
+ effects: { reads: ["docker", "network"], writes: ["docker"], destructive: false, idempotent: true },
96
103
  args: ["image"],
97
104
  output: "json",
98
105
  })
@@ -108,6 +115,8 @@ const dockerExecProcedure = createProcedure()
108
115
  .meta({
109
116
  description: "Execute command in a running container",
110
117
  calls: ["shell.run"],
118
+ // The container runs the command of the caller
119
+ effects: { reads: ["docker"], writes: ["docker", "process"] },
111
120
  args: ["container", "command"],
112
121
  shorts: { interactive: "i", tty: "t", workdir: "w" },
113
122
  output: "json",
@@ -124,6 +133,8 @@ const dockerStopProcedure = createProcedure()
124
133
  .meta({
125
134
  description: "Stop running container(s)",
126
135
  calls: ["shell.run"],
136
+ // The stop of a stopped container changes nothing
137
+ effects: { reads: ["docker"], writes: ["docker"], idempotent: true },
127
138
  args: ["containers"],
128
139
  shorts: { time: "t" },
129
140
  output: "json",
@@ -140,6 +151,7 @@ const dockerRmProcedure = createProcedure()
140
151
  .meta({
141
152
  description: "Remove container(s)",
142
153
  calls: ["shell.run"],
154
+ effects: { reads: ["docker"], writes: ["docker"] },
143
155
  args: ["containers"],
144
156
  shorts: { force: "f", volumes: "v" },
145
157
  output: "json",
@@ -156,6 +168,7 @@ const dockerPsProcedure = createProcedure()
156
168
  .meta({
157
169
  description: "List containers",
158
170
  calls: ["shell.run"],
171
+ effects: { reads: ["docker"], writes: [] },
159
172
  shorts: { all: "a", filter: "f", format: "F" },
160
173
  output: "json",
161
174
  })
@@ -172,6 +185,7 @@ const dockerLogsProcedure = createProcedure()
172
185
  .meta({
173
186
  description: "Get container logs",
174
187
  calls: ["shell.run", "shell.stream"],
188
+ effects: { reads: ["docker"], writes: [] },
175
189
  args: ["container"],
176
190
  shorts: { follow: "f", tail: "n", timestamps: "t" },
177
191
  output: "json",
@@ -190,6 +204,9 @@ const dockerComposeUpProcedure = createProcedure()
190
204
  .meta({
191
205
  description: "Start services with docker compose",
192
206
  calls: ["shell.run"],
207
+ // The compose file of the caller sets the images, the commands and the host folders of the
208
+ // services. An up can replace the containers of changed services.
209
+ effects: { reads: ["docker", "fs", "network"], writes: ["docker", "fs", "process"] },
193
210
  shorts: { file: "f", detach: "d", build: "b" },
194
211
  output: "json",
195
212
  })
@@ -205,6 +222,9 @@ const dockerComposeDownProcedure = createProcedure()
205
222
  .meta({
206
223
  description: "Stop services with docker compose",
207
224
  calls: ["shell.run"],
225
+ // It removes the containers of the project, and with volumes: true its volumes. A second down
226
+ // changes nothing.
227
+ effects: { reads: ["docker", "fs"], writes: ["docker"], idempotent: true },
208
228
  shorts: { file: "f", volumes: "v" },
209
229
  output: "json",
210
230
  })
@@ -235,3 +255,12 @@ export const dockerModule: ProcedureModule = defineModule("@procedures/docker",
235
255
  ], [shellModule]);
236
256
 
237
257
  export default dockerModule;
258
+
259
+ /**
260
+ * This function registers the procedures of @procedures/docker, and of the modules that it requires, in
261
+ * a registry. The default is the global registry. Importing this file registers nothing: the
262
+ * `./register` entry starts this function (ARCHITECTURE-PROPOSALS-2026-10, P9).
263
+ */
264
+ export function registerDockerProcedures(registry: ProcedureRegistry = PROCEDURE_REGISTRY): void {
265
+ registerModules(registry, [dockerModule]);
266
+ }
package/src/register.ts CHANGED
@@ -1,20 +1,11 @@
1
1
  /**
2
- * Importing this file registers the procedures of @procedures/docker in the global registry
3
- * (DECISIONS-2026-10, "Every package root registers its procedures"). The procedures as data
4
- * are in `module.ts`, which registers nothing: a host with its own registry uses that one.
2
+ * Importing this file registers the procedures of @procedures/docker, and of the modules that it
3
+ * requires, in the global registry: `import "@procedures/docker/register"`. The package root and the
4
+ * `./module` entry register nothing (ARCHITECTURE-PROPOSALS-2026-10, P9).
5
5
  */
6
6
 
7
- // Import shell dependency to ensure shell.exec is registered
8
- import "@procedures/shell";
9
-
10
- import { registerProcedures } from "@procedures/client";
11
- import { dockerModule } from "./module.js";
7
+ import { registerDockerProcedures } from "./module.js";
12
8
 
13
9
  export * from "./module.js";
14
10
 
15
- export function registerDockerProcedures(): void {
16
- registerProcedures(dockerModule.procedures);
17
- }
18
-
19
- // Auto-register when this module is loaded
20
11
  registerDockerProcedures();