@wpmoo/toolkit 0.9.28 → 0.9.29
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 +16 -1
- package/dist/help.js +8 -2
- package/docs/1-0-readiness.md +33 -39
- package/docs/command-reference.md +9 -2
- package/docs/handoff.md +8 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -64,6 +64,9 @@ Short alias:
|
|
|
64
64
|
npx wpmoo
|
|
65
65
|
```
|
|
66
66
|
|
|
67
|
+
Optional short alias: `npx wpmoo`. Use `npx @wpmoo/toolkit` for documentation,
|
|
68
|
+
scripts, and automation.
|
|
69
|
+
|
|
67
70
|
Deprecated compatibility aliases:
|
|
68
71
|
|
|
69
72
|
```bash
|
|
@@ -71,7 +74,10 @@ npx @wpmoo/odoo
|
|
|
71
74
|
npx @wpmoo/odoo-dev
|
|
72
75
|
```
|
|
73
76
|
|
|
74
|
-
Deprecated package paths `npx @wpmoo/odoo` and `npx @wpmoo/odoo-dev` remain
|
|
77
|
+
Deprecated package paths `npx @wpmoo/odoo` and `npx @wpmoo/odoo-dev` remain
|
|
78
|
+
available through the 1.x line as compatibility aliases that redirect to
|
|
79
|
+
`@wpmoo/toolkit`. Removing either compatibility alias requires a future major
|
|
80
|
+
release and prior notice.
|
|
75
81
|
|
|
76
82
|
When the current directory is not already a WPMoo environment, the CLI opens the create flow. It asks for a product slug, Odoo version, and environment folder. The default environment folder is `./<product>_dev`.
|
|
77
83
|
|
|
@@ -196,6 +202,13 @@ JSON variant exposes a versioned PostgreSQL diagnostics contract.
|
|
|
196
202
|
`postgres` payload; individual fields are optional so automation can safely handle
|
|
197
203
|
environments where PostgreSQL does not expose a metric.
|
|
198
204
|
|
|
205
|
+
JSON compatibility policy:
|
|
206
|
+
|
|
207
|
+
- Automation should ignore unknown JSON fields.
|
|
208
|
+
- Minor and patch releases may add optional fields without a breaking release.
|
|
209
|
+
- Removing, renaming, or changing the meaning of a documented field requires a
|
|
210
|
+
major release or a `schemaVersion` bump.
|
|
211
|
+
|
|
199
212
|
## Release Artifacts
|
|
200
213
|
|
|
201
214
|
WPMoo Toolkit releases are valid when the required npm artifacts publish
|
|
@@ -219,6 +232,8 @@ warning while keeping the scoped package release valid.
|
|
|
219
232
|
packages are valid.
|
|
220
233
|
- **Smoke expectation**: run `npm run smoke:published -- "$VERSION"` after the
|
|
221
234
|
release tag workflow completes.
|
|
235
|
+
- **1.0 release smoke**: For `1.0.0`, generated-environment acceptance smoke is
|
|
236
|
+
required before the release is considered final.
|
|
222
237
|
|
|
223
238
|
## Documentation
|
|
224
239
|
|
package/dist/help.js
CHANGED
|
@@ -76,8 +76,9 @@ Options:
|
|
|
76
76
|
|
|
77
77
|
Package aliases:
|
|
78
78
|
npx @wpmoo/toolkit is the official package path.
|
|
79
|
-
npx wpmoo is
|
|
80
|
-
npx @wpmoo/odoo and npx @wpmoo/odoo-dev remain deprecated compatibility aliases.
|
|
79
|
+
npx wpmoo is an optional best-effort short alias; use @wpmoo/toolkit for automation.
|
|
80
|
+
npx @wpmoo/odoo and npx @wpmoo/odoo-dev remain deprecated compatibility aliases through 1.x.
|
|
81
|
+
Removing a compatibility alias requires a future major release and prior notice.
|
|
81
82
|
|
|
82
83
|
Daily actions:
|
|
83
84
|
Daily actions must be run from a generated environment root containing .wpmoo/odoo.json.
|
|
@@ -160,6 +161,11 @@ Machine-readable JSON output:
|
|
|
160
161
|
doctor --json --postgres includes a structured postgres object for automation.
|
|
161
162
|
Incomplete or malformed PostgreSQL metric rows are reported as unavailable diagnostics.
|
|
162
163
|
|
|
164
|
+
JSON compatibility policy:
|
|
165
|
+
Automation should ignore unknown fields.
|
|
166
|
+
Minor and patch releases may add optional fields.
|
|
167
|
+
Removing, renaming, or changing the meaning of a documented field requires a major release or schemaVersion bump.
|
|
168
|
+
|
|
163
169
|
Example:
|
|
164
170
|
npx @wpmoo/toolkit create \\
|
|
165
171
|
--product odoo_sample_module \\
|
package/docs/1-0-readiness.md
CHANGED
|
@@ -11,13 +11,11 @@ Ready:
|
|
|
11
11
|
- Generated environments use local `./moo` for daily commands.
|
|
12
12
|
- Direct commands cover create, status, doctor, source, repository, module,
|
|
13
13
|
service, database, snapshot, restore, lint, and POT workflows.
|
|
14
|
-
-
|
|
14
|
+
- Compatibility aliases remain available through the 1.x line:
|
|
15
15
|
`npx @wpmoo/odoo` and `npx @wpmoo/odoo-dev`.
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
- Whether the optional unscoped `npx wpmoo` short alias should be promoted,
|
|
20
|
-
kept best-effort, or removed from public examples before `1.0.0`.
|
|
16
|
+
- The optional unscoped `npx wpmoo` short alias remains best-effort and
|
|
17
|
+
warning-only. User-facing examples may mention it as optional, but
|
|
18
|
+
documentation, scripts, and automation should use `npx @wpmoo/toolkit`.
|
|
21
19
|
|
|
22
20
|
## Stable JSON Contracts
|
|
23
21
|
|
|
@@ -29,11 +27,10 @@ Ready:
|
|
|
29
27
|
- `doctor --json --postgres` exposes a versioned `postgres` payload with
|
|
30
28
|
`contractVersion` and diagnostics `schemaVersion`.
|
|
31
29
|
- PostgreSQL diagnostics treat unavailable optional metrics as optional fields.
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
-
|
|
36
|
-
whether minor additive fields are allowed without a major release.
|
|
30
|
+
- Post-1.0 JSON contracts allow additive optional fields in minor and patch
|
|
31
|
+
releases.
|
|
32
|
+
- Automation should ignore unknown JSON fields.
|
|
33
|
+
- Breaking JSON changes require a major release or a schemaVersion bump.
|
|
37
34
|
|
|
38
35
|
## Deprecated Alias Policy
|
|
39
36
|
|
|
@@ -44,11 +41,9 @@ Ready:
|
|
|
44
41
|
releases.
|
|
45
42
|
- The optional `wpmoo` short alias is warning-only and does not determine
|
|
46
43
|
release validity.
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
- Set an explicit deprecation horizon for compatibility aliases after `1.0.0`,
|
|
51
|
-
or commit to maintaining them indefinitely.
|
|
44
|
+
- Compatibility aliases remain available through the 1.x line.
|
|
45
|
+
- Removing a compatibility alias requires a future major release and prior
|
|
46
|
+
notice.
|
|
52
47
|
|
|
53
48
|
## Generated File Compatibility
|
|
54
49
|
|
|
@@ -61,11 +56,10 @@ Ready:
|
|
|
61
56
|
- PostgreSQL 18 mount compatibility is documented and doctor can apply safe
|
|
62
57
|
mount-target fixes.
|
|
63
58
|
- Generated `./moo` delegates daily commands and keeps local guard behavior.
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
pre-1.0 releases.
|
|
59
|
+
- Generated environments created by pre-1.0 releases are supported through safe
|
|
60
|
+
reset and doctor-guided generated-file migration checks.
|
|
61
|
+
- Generated-file migration support must preserve product source repositories,
|
|
62
|
+
`.env` files, database dumps, and Docker volumes.
|
|
69
63
|
|
|
70
64
|
## Stage And Production Policy
|
|
71
65
|
|
|
@@ -79,11 +73,9 @@ Ready:
|
|
|
79
73
|
- `restore-snapshot --dry-run`, `doctor`, and `doctor --postgres` remain safe
|
|
80
74
|
preview/read-only paths.
|
|
81
75
|
- Migration-risk lifecycle commands can require `WPMOO_ALLOW_MIGRATIONS=1`.
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
- Decide whether stage/prod approvals should gain a timestamped confirmation
|
|
86
|
-
file or continue to rely on environment variables only.
|
|
76
|
+
- Environment-variable approvals remain supported through 1.x.
|
|
77
|
+
- Timestamped approval files may be added as an additive safety layer, not as a
|
|
78
|
+
replacement for env flags in 1.x.
|
|
87
79
|
|
|
88
80
|
## Release Artifact Policy
|
|
89
81
|
|
|
@@ -97,11 +89,8 @@ Ready:
|
|
|
97
89
|
the current version already exists.
|
|
98
90
|
- `npm run smoke:published -- "$VERSION"` is the preferred published package
|
|
99
91
|
smoke check.
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
- Decide whether release smoke should include a generated-environment acceptance
|
|
104
|
-
run by default for `1.0.0` tags.
|
|
92
|
+
- Generated-environment acceptance smoke is mandatory for a 1.0.0 release
|
|
93
|
+
candidate.
|
|
105
94
|
|
|
106
95
|
## Current Audit
|
|
107
96
|
|
|
@@ -119,11 +108,16 @@ Completed checks:
|
|
|
119
108
|
markers in `README.md`, `docs`, or `src`.
|
|
120
109
|
- Local markdown link review passed across `README.md` and `docs/*.md`.
|
|
121
110
|
|
|
122
|
-
Final
|
|
123
|
-
|
|
124
|
-
-
|
|
125
|
-
|
|
126
|
-
-
|
|
127
|
-
|
|
128
|
-
-
|
|
129
|
-
|
|
111
|
+
Final policy decisions:
|
|
112
|
+
|
|
113
|
+
- JSON compatibility permits additive optional fields in minor and patch
|
|
114
|
+
releases; breaking changes require a major release or schemaVersion bump.
|
|
115
|
+
- Compatibility aliases remain available through the 1.x line; removal requires
|
|
116
|
+
a future major release and prior notice.
|
|
117
|
+
- Pre-1.0 generated environments are supported through safe reset and
|
|
118
|
+
doctor-guided generated-file migration checks that preserve source code and
|
|
119
|
+
local runtime data.
|
|
120
|
+
- Environment-variable approvals remain supported through 1.x; timestamped
|
|
121
|
+
approval files may be added only as an additive safety layer.
|
|
122
|
+
- Generated-environment acceptance smoke is mandatory for a `1.0.0` release
|
|
123
|
+
candidate.
|
|
@@ -3,7 +3,11 @@
|
|
|
3
3
|
Use `npx @wpmoo/toolkit ...` for package/operator commands. Use `./moo ...`
|
|
4
4
|
inside a generated environment for daily local commands. The deprecated
|
|
5
5
|
compatibility aliases `npx @wpmoo/odoo` and `npx @wpmoo/odoo-dev` redirect to
|
|
6
|
-
the toolkit package; new automation should use `@wpmoo/toolkit`.
|
|
6
|
+
the toolkit package; new automation should use `@wpmoo/toolkit`. Deprecated
|
|
7
|
+
compatibility aliases remain available through the 1.x line. Removing a
|
|
8
|
+
compatibility alias requires a future major release and prior notice. The
|
|
9
|
+
unscoped `npx wpmoo` short alias is optional and best-effort; scripts should use
|
|
10
|
+
`npx @wpmoo/toolkit`.
|
|
7
11
|
|
|
8
12
|
## Package Commands
|
|
9
13
|
|
|
@@ -65,6 +69,10 @@ Current JSON contract notes:
|
|
|
65
69
|
- `doctor --json --postgres` adds `postgres.contractVersion` and a PostgreSQL
|
|
66
70
|
diagnostics object with its own `schemaVersion`.
|
|
67
71
|
- PostgreSQL fields are optional when a metric is unavailable.
|
|
72
|
+
- Automation should ignore unknown JSON fields.
|
|
73
|
+
- Minor and patch releases may add optional fields without a breaking release.
|
|
74
|
+
- Removing, renaming, or changing the meaning of a documented field requires a
|
|
75
|
+
major release or a `schemaVersion` bump.
|
|
68
76
|
|
|
69
77
|
## Environment Variables
|
|
70
78
|
|
|
@@ -107,4 +115,3 @@ Prefer read-only and dry-run commands first:
|
|
|
107
115
|
./moo doctor --postgres
|
|
108
116
|
./moo restore-snapshot --dry-run before-change devel
|
|
109
117
|
```
|
|
110
|
-
|
package/docs/handoff.md
CHANGED
|
@@ -60,6 +60,14 @@ Suggested smoke check:
|
|
|
60
60
|
npm run smoke:published -- "$VERSION"
|
|
61
61
|
```
|
|
62
62
|
|
|
63
|
+
For a 1.0.0 tag, run generated-environment acceptance smoke with
|
|
64
|
+
WPMOO_SMOKE_ENVIRONMENT=1. Treat the release as final only after that smoke
|
|
65
|
+
passes:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
WPMOO_SMOKE_ENVIRONMENT=1 npm run smoke:published -- "$VERSION"
|
|
69
|
+
```
|
|
70
|
+
|
|
63
71
|
Current command standard:
|
|
64
72
|
|
|
65
73
|
- Use `npx @wpmoo/toolkit ...` for package/operator commands.
|