@treeseed/cli 0.10.21 → 0.11.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.
- package/README.md +89 -116
- package/dist/cli/handlers/audit.js +28 -3
- package/dist/cli/handlers/capacity.js +2 -2
- package/dist/cli/handlers/destroy.js +6 -1
- package/dist/cli/handlers/dev.js +16 -2
- package/dist/cli/handlers/doctor.js +13 -3
- package/dist/cli/handlers/hosting.d.ts +2 -0
- package/dist/cli/handlers/hosting.js +257 -0
- package/dist/cli/handlers/operations.d.ts +2 -0
- package/dist/cli/handlers/operations.js +46 -0
- package/dist/cli/handlers/package-image.d.ts +10 -0
- package/dist/cli/handlers/package-image.js +132 -0
- package/dist/cli/handlers/package.d.ts +2 -0
- package/dist/cli/handlers/package.js +14 -0
- package/dist/cli/handlers/projects.js +3 -3
- package/dist/cli/handlers/ready.d.ts +2 -0
- package/dist/cli/handlers/ready.js +84 -0
- package/dist/cli/handlers/reconcile.d.ts +2 -0
- package/dist/cli/handlers/reconcile.js +157 -0
- package/dist/cli/handlers/release.js +12 -3
- package/dist/cli/handlers/save.js +12 -2
- package/dist/cli/handlers/seed.js +2 -2
- package/dist/cli/handlers/stage.js +8 -2
- package/dist/cli/handlers/status.js +30 -1
- package/dist/cli/handlers/tool-wrapper.js +71 -3
- package/dist/cli/handlers/treedx.d.ts +2 -0
- package/dist/cli/handlers/treedx.js +310 -0
- package/dist/cli/handlers/workflow.d.ts +40 -0
- package/dist/cli/handlers/workflow.js +41 -0
- package/dist/cli/operations-registry.js +300 -34
- package/dist/cli/registry.d.ts +6 -0
- package/dist/cli/registry.js +12 -0
- package/dist/cli/runtime.js +17 -2
- package/package.json +3 -3
|
@@ -25,6 +25,8 @@ const DEV_RUNTIME_OPTIONS = [
|
|
|
25
25
|
{ name: "host", flags: "--host <host>", description: "Host for the web dev server.", kind: "string" },
|
|
26
26
|
{ name: "port", flags: "--port <port>", description: "Port for the web dev server.", kind: "string" },
|
|
27
27
|
{ name: "webRuntime", flags: "--web-runtime <mode>", description: "Choose the local web runtime. Use local for Astro hot reload or provider for provider parity.", kind: "enum", values: ["auto", "local", "provider"] },
|
|
28
|
+
{ name: "app", flags: "--app <app-id>", description: "Select a discovered Treeseed app for local dev, such as web or api.", kind: "string" },
|
|
29
|
+
{ name: "api", flags: "--api <mode>", description: "Choose whether the web app uses a local API app or a configured remote API.", kind: "enum", values: ["auto", "local", "remote"] },
|
|
28
30
|
{ name: "apiHost", flags: "--api-host <host>", description: "Host used to construct the local API URL.", kind: "string" },
|
|
29
31
|
{ name: "apiPort", flags: "--api-port <port>", description: "Port for the local API server.", kind: "string" },
|
|
30
32
|
{ name: "setup", flags: "--setup <mode>", description: "Control automatic local runtime setup.", kind: "enum", values: ["auto", "check", "off"] },
|
|
@@ -377,25 +379,32 @@ const CLI_COMMAND_OVERLAYS = /* @__PURE__ */ new Map([
|
|
|
377
379
|
{ name: "hotfix", flags: "--hotfix", description: "Allow save on main for an explicit hotfix.", kind: "boolean" },
|
|
378
380
|
{ name: "preview", flags: "--preview", description: "Create or refresh the branch preview during save.", kind: "boolean" },
|
|
379
381
|
{ name: "worktreeMode", flags: "--worktree <mode>", description: "Control managed workflow worktrees.", kind: "enum", values: ["auto", "on", "off"] },
|
|
382
|
+
{ name: "lane", flags: "--lane <mode>", description: "Select save lane: fast local checkpoint or promotion-grade hosted checks.", kind: "enum", values: ["fast", "promotion"] },
|
|
380
383
|
{ name: "ciMode", flags: "--ci <mode>", description: "Control hosted GitHub Actions waits.", kind: "enum", values: ["auto", "hosted", "off"] },
|
|
381
384
|
{ name: "verifyMode", flags: "--verify <mode>", description: "Control save verification depth.", kind: "enum", values: ["fast", "local", "hosted", "both", "skip"] },
|
|
385
|
+
{ name: "releaseCandidate", flags: "--release-candidate <mode>", description: "Control staging save release-candidate checks.", kind: "enum", values: ["hybrid", "strict", "skip"] },
|
|
382
386
|
{ name: "verifyDeployedResources", flags: "--verify-deployed-resources", description: "Also wait for hosted deployment checks that verify provider resources.", kind: "boolean" },
|
|
383
387
|
{ name: "workspaceLinks", flags: "--workspace-links <mode>", description: "Control local workspace package links.", kind: "enum", values: ["auto", "off"] },
|
|
384
388
|
{ name: "plan", flags: "--plan", description: "Compute the recursive save plan without mutating any repo.", kind: "boolean" },
|
|
385
389
|
{ name: "dryRun", flags: "--dry-run", description: "Alias for --plan.", kind: "boolean" },
|
|
386
390
|
{ name: "json", flags: "--json", description: "Emit machine-readable JSON instead of human-readable text.", kind: "boolean" }
|
|
387
391
|
],
|
|
388
|
-
examples: ["treeseed save", 'treeseed save "add search filters"', "treeseed save --preview", "treeseed save --plan", 'treeseed save --hotfix "fix production form submit"'],
|
|
392
|
+
examples: ["treeseed save", 'treeseed save "add search filters"', "treeseed save --preview", "treeseed save --lane promotion", "treeseed save --release-candidate strict", "treeseed save --plan", 'treeseed save --hotfix "fix production form submit"'],
|
|
389
393
|
help: {
|
|
390
394
|
workflowPosition: "checkpoint work",
|
|
391
395
|
longSummary: [
|
|
392
396
|
"Save is the main task-branch checkpoint command. It verifies, commits, syncs, pushes, and can refresh the task preview so the branch remains in a clean, reviewable state.",
|
|
393
|
-
"Use it instead of ad hoc manual git-and-preview sequences when you want the standard Treeseed task-save behavior."
|
|
397
|
+
"Use it instead of ad hoc manual git-and-preview sequences when you want the standard Treeseed task-save behavior.",
|
|
398
|
+
"Save has two lanes. The default fast lane is for routine integrated checkpoints. The explicit promotion lane is for checkpoints that should wait for hosted gates and strict release-candidate proof."
|
|
394
399
|
],
|
|
395
400
|
whenToUse: [
|
|
396
401
|
"Use this after a meaningful unit of work on a task branch.",
|
|
402
|
+
"Use the default fast lane for routine code, docs, and low-risk package checkpoints where local lockfile validation and lightweight release-candidate checks are enough.",
|
|
403
|
+
"Use `--verify local` when a fast-lane checkpoint should also run package-local verification before pushing.",
|
|
397
404
|
"Use `--preview` when the branch preview should be refreshed as part of the save operation.",
|
|
405
|
+
"Use `--lane promotion` when a save should wait for hosted gates and strict release-candidate checks like a promotion rehearsal.",
|
|
398
406
|
"Use `--verify-deployed-resources` on staging or production branches when the checkpoint should wait for deployed provider resources to be verified.",
|
|
407
|
+
"Use `--release-candidate strict` on staging when dependency topology changed and you want a full clean-install rehearsal even if the cache says hybrid is enough.",
|
|
399
408
|
"Use `--hotfix` only when you are intentionally saving from `main` for an explicit production hotfix flow."
|
|
400
409
|
],
|
|
401
410
|
beforeYouRun: [
|
|
@@ -405,15 +414,21 @@ const CLI_COMMAND_OVERLAYS = /* @__PURE__ */ new Map([
|
|
|
405
414
|
outcomes: [
|
|
406
415
|
"Verifies and commits current work using a generated commit message.",
|
|
407
416
|
"Syncs and pushes branch state.",
|
|
417
|
+
"Fast lane saves dependency-ordered repos without hosted CI/deploy waits or strict clean-install rehearsal unless another option requests them.",
|
|
418
|
+
"Promotion lane waits for hosted gates on staging and uses strict release-candidate checks by default.",
|
|
408
419
|
"Optionally refreshes preview infrastructure if requested."
|
|
409
420
|
],
|
|
410
421
|
examples: [
|
|
411
|
-
example("treeseed save", "
|
|
422
|
+
example("treeseed save", "Fast checkpoint", "Commit and push the current task branch through the default fast lane."),
|
|
412
423
|
example('treeseed save "add search filters"', "Checkpoint with a hint", "Feed a short hint into commit-message generation without replacing the generated message."),
|
|
424
|
+
example('treeseed save --verify local "add search filters"', "Fast checkpoint with local verification", "Keep hosted waits off while running package-local verification before pushing."),
|
|
425
|
+
example('treeseed save --lane promotion "prove dependency topology"', "Promotion-grade checkpoint", "Wait for hosted staging gates and strict release-candidate proof before returning."),
|
|
413
426
|
example("treeseed save --preview", "Checkpoint plus preview refresh", "Include preview refresh when the save should update the branch environment."),
|
|
414
427
|
example('treeseed save --hotfix "fix production form submit"', "Explicit hotfix save", "Allow a save from main when the work is a deliberate hotfix path.", { why: "Use sparingly and only when the workflow intentionally bypasses the usual task-branch rule." })
|
|
415
428
|
],
|
|
416
429
|
warnings: [
|
|
430
|
+
"Fast lane is intentionally optimized for iteration. Use `stage`, `release`, or `save --lane promotion` when hosted proof is required.",
|
|
431
|
+
"`--verify local` can still be expensive because package-local verify scripts may run builds, unit tests, and smoke tests even though hosted gates remain off.",
|
|
417
432
|
"`--hotfix` deliberately loosens the normal task-branch safety model. Keep it exceptional."
|
|
418
433
|
],
|
|
419
434
|
relatedDetails: [
|
|
@@ -659,9 +674,11 @@ const CLI_COMMAND_OVERLAYS = /* @__PURE__ */ new Map([
|
|
|
659
674
|
["doctor", command({
|
|
660
675
|
options: [
|
|
661
676
|
{ name: "fix", flags: "--fix", description: "Apply safe local repairs before rerunning diagnostics.", kind: "boolean" },
|
|
677
|
+
{ name: "live", flags: "--live", description: "Include read-only live provider and hosted service checks.", kind: "boolean" },
|
|
678
|
+
{ name: "hostedServices", flags: "--hosted-services", description: "Include config-driven hosted service checks.", kind: "boolean" },
|
|
662
679
|
{ name: "json", flags: "--json", description: "Emit machine-readable JSON instead of human-readable text.", kind: "boolean" }
|
|
663
680
|
],
|
|
664
|
-
examples: ["treeseed doctor", "treeseed doctor --fix --json"],
|
|
681
|
+
examples: ["treeseed doctor", "treeseed doctor --live --json", "treeseed doctor --fix --json"],
|
|
665
682
|
help: {
|
|
666
683
|
workflowPosition: "validate",
|
|
667
684
|
longSummary: [
|
|
@@ -669,7 +686,8 @@ const CLI_COMMAND_OVERLAYS = /* @__PURE__ */ new Map([
|
|
|
669
686
|
],
|
|
670
687
|
whenToUse: [
|
|
671
688
|
"Use this when other commands are failing or when onboarding a machine and you want a readiness report.",
|
|
672
|
-
"Use `--fix` when you want Treeseed to apply safe local repairs before rerunning diagnostics."
|
|
689
|
+
"Use `--fix` when you want Treeseed to apply safe local repairs before rerunning diagnostics.",
|
|
690
|
+
"Use `--live` or `--hosted-services` before staging or release when Railway, Cloudflare, and DNS resources should be checked from configuration."
|
|
673
691
|
],
|
|
674
692
|
outcomes: [
|
|
675
693
|
"Reports readiness issues and what must be fixed immediately.",
|
|
@@ -677,6 +695,7 @@ const CLI_COMMAND_OVERLAYS = /* @__PURE__ */ new Map([
|
|
|
677
695
|
],
|
|
678
696
|
examples: [
|
|
679
697
|
example("treeseed doctor", "Run diagnostics only", "Inspect the current machine and workspace without making repairs."),
|
|
698
|
+
example("treeseed doctor --live --json", "Check hosted services", "Include config-driven hosted service checks in JSON diagnostics."),
|
|
680
699
|
example("treeseed doctor --fix", "Repair safe local issues", "Apply safe fixes first and then rerun diagnostics."),
|
|
681
700
|
example("treeseed doctor --fix --json", "Integrate diagnostics with automation", "Emit structured diagnostics and repair results for scripts or agents.")
|
|
682
701
|
],
|
|
@@ -752,7 +771,7 @@ const CLI_COMMAND_OVERLAYS = /* @__PURE__ */ new Map([
|
|
|
752
771
|
["auth:login", command({
|
|
753
772
|
options: [
|
|
754
773
|
{ name: "host", flags: "--host <id>", description: "Override the configured remote host id for this login.", kind: "string" },
|
|
755
|
-
{ name: "market", flags: "--market <id-or-url>", description: "Limit catalog lookup to one configured market id or direct
|
|
774
|
+
{ name: "market", flags: "--market <id-or-url>", description: "Limit catalog lookup to one configured market id or direct API URL. Without this, search/install uses the integrated catalog from all configured catalog markets.", kind: "string" },
|
|
756
775
|
{ name: "json", flags: "--json", description: "Emit machine-readable JSON instead of human-readable text.", kind: "boolean" }
|
|
757
776
|
],
|
|
758
777
|
examples: ["treeseed auth:login"],
|
|
@@ -760,7 +779,7 @@ const CLI_COMMAND_OVERLAYS = /* @__PURE__ */ new Map([
|
|
|
760
779
|
longSummary: ["Auth:login authenticates the CLI against the configured Treeseed API so later provider-aware and remote-aware workflows can run without missing-credential failures."],
|
|
761
780
|
examples: [
|
|
762
781
|
example("treeseed auth:login", "Log in with the default host", "Authenticate the CLI against the configured default Treeseed API host."),
|
|
763
|
-
example("treeseed auth:login --market local", "Log in to local dev", "Authenticate against the local Treeseed API at
|
|
782
|
+
example("treeseed auth:login --market local", "Log in to local dev", "Authenticate against the local Treeseed API at TREESEED_API_BASE_URL or http://127.0.0.1:3000."),
|
|
764
783
|
example("treeseed auth:login --host production", "Target a specific host id", "Override the configured default host for this login session."),
|
|
765
784
|
example("treeseed auth:login --json", "Automate auth workflows", "Emit structured auth results where supported for scripts and agents.")
|
|
766
785
|
]
|
|
@@ -771,7 +790,7 @@ const CLI_COMMAND_OVERLAYS = /* @__PURE__ */ new Map([
|
|
|
771
790
|
["auth:logout", command({
|
|
772
791
|
options: [
|
|
773
792
|
{ name: "host", flags: "--host <id>", description: "Override the configured remote host id to clear.", kind: "string" },
|
|
774
|
-
{ name: "market", flags: "--market <id-or-url>", description: "Select a configured market id or direct
|
|
793
|
+
{ name: "market", flags: "--market <id-or-url>", description: "Select a configured market id or direct API URL.", kind: "string" },
|
|
775
794
|
{ name: "json", flags: "--json", description: "Emit machine-readable JSON instead of human-readable text.", kind: "boolean" }
|
|
776
795
|
],
|
|
777
796
|
examples: ["treeseed auth:logout"],
|
|
@@ -788,7 +807,7 @@ const CLI_COMMAND_OVERLAYS = /* @__PURE__ */ new Map([
|
|
|
788
807
|
})],
|
|
789
808
|
["auth:whoami", command({
|
|
790
809
|
options: [
|
|
791
|
-
{ name: "market", flags: "--market <id-or-url>", description: "Select a configured market id or direct
|
|
810
|
+
{ name: "market", flags: "--market <id-or-url>", description: "Select a configured market id or direct API URL.", kind: "string" },
|
|
792
811
|
{ name: "allMarkets", flags: "--all-markets", description: "Show locally stored identities for all configured markets.", kind: "boolean" },
|
|
793
812
|
{ name: "json", flags: "--json", description: "Emit machine-readable JSON instead of human-readable text.", kind: "boolean" }
|
|
794
813
|
],
|
|
@@ -888,7 +907,7 @@ const CLI_COMMAND_OVERLAYS = /* @__PURE__ */ new Map([
|
|
|
888
907
|
{ name: "id", description: "Template id for show or validate.", required: false }
|
|
889
908
|
],
|
|
890
909
|
options: [
|
|
891
|
-
{ name: "market", flags: "--market <id-or-url>", description: "Select a configured market id or direct
|
|
910
|
+
{ name: "market", flags: "--market <id-or-url>", description: "Select a configured market id or direct API URL.", kind: "string" },
|
|
892
911
|
{ name: "version", flags: "--version <version>", description: "Artifact version for market template install.", kind: "string" },
|
|
893
912
|
{ name: "json", flags: "--json", description: "Emit machine-readable JSON instead of human-readable text.", kind: "boolean" }
|
|
894
913
|
],
|
|
@@ -1122,12 +1141,13 @@ const CLI_COMMAND_OVERLAYS = /* @__PURE__ */ new Map([
|
|
|
1122
1141
|
{ name: "worktreeMode", flags: "--worktree <mode>", description: "Control managed workflow worktrees.", kind: "enum", values: ["auto", "on", "off"] },
|
|
1123
1142
|
{ name: "ciMode", flags: "--ci <mode>", description: "Control hosted GitHub Actions waits.", kind: "enum", values: ["auto", "hosted", "off"] },
|
|
1124
1143
|
{ name: "workspaceLinks", flags: "--workspace-links <mode>", description: "Control local workspace package links.", kind: "enum", values: ["auto", "off"] },
|
|
1144
|
+
{ name: "verifyDeployedResources", flags: "--verify-deployed-resources", description: "Force production deployment checks to verify provider resources before release returns.", kind: "boolean" },
|
|
1125
1145
|
{ name: "fresh", flags: "--fresh", description: "Start a new release instead of auto-resuming stale failed release runs.", kind: "boolean" },
|
|
1126
1146
|
{ name: "plan", flags: "--plan", description: "Compute the recursive release plan without mutating any repo.", kind: "boolean" },
|
|
1127
1147
|
{ name: "dryRun", flags: "--dry-run", description: "Alias for --plan.", kind: "boolean" },
|
|
1128
1148
|
{ name: "json", flags: "--json", description: "Emit machine-readable JSON instead of human-readable text.", kind: "boolean" }
|
|
1129
1149
|
],
|
|
1130
|
-
examples: ["treeseed release --patch", "treeseed release --minor", "treeseed release --repair-version-line --target-version-line 0.10 --plan", "treeseed release --patch --fresh"],
|
|
1150
|
+
examples: ["treeseed release --patch", "treeseed release --minor --verify-deployed-resources", "treeseed release --repair-version-line --target-version-line 0.10 --plan", "treeseed release --patch --fresh"],
|
|
1131
1151
|
notes: ["Requires exactly one bump flag unless --repair-version-line is used."],
|
|
1132
1152
|
help: {
|
|
1133
1153
|
workflowPosition: "promote to production",
|
|
@@ -1136,7 +1156,8 @@ const CLI_COMMAND_OVERLAYS = /* @__PURE__ */ new Map([
|
|
|
1136
1156
|
],
|
|
1137
1157
|
whenToUse: [
|
|
1138
1158
|
"Use this only when staging is the approved source for production promotion.",
|
|
1139
|
-
"Choose exactly one bump flag so the release version reflects the intended change size, or use --repair-version-line to repair package line drift."
|
|
1159
|
+
"Choose exactly one bump flag so the release version reflects the intended change size, or use --repair-version-line to repair package line drift.",
|
|
1160
|
+
"Use `--verify-deployed-resources` when production provider resources must be checked before the release returns."
|
|
1140
1161
|
],
|
|
1141
1162
|
beforeYouRun: [
|
|
1142
1163
|
"Confirm staging is in the state you want to promote.",
|
|
@@ -1148,7 +1169,7 @@ const CLI_COMMAND_OVERLAYS = /* @__PURE__ */ new Map([
|
|
|
1148
1169
|
],
|
|
1149
1170
|
examples: [
|
|
1150
1171
|
example("treeseed release --patch", "Patch release", "Promote staging to production with the next patch version."),
|
|
1151
|
-
example("treeseed release --minor", "Minor release", "Promote staging with the next minor version bump."),
|
|
1172
|
+
example("treeseed release --minor --verify-deployed-resources", "Minor release with hosted checks", "Promote staging with the next minor version bump and verify production provider resources."),
|
|
1152
1173
|
example("treeseed release --repair-version-line --target-version-line 0.10 --json", "Repair package line drift", "Publish only packages below the selected public package release line."),
|
|
1153
1174
|
example("treeseed release --patch --json", "Automate release tracking", "Emit structured release output for tooling that records deployments and version changes.")
|
|
1154
1175
|
],
|
|
@@ -1165,19 +1186,20 @@ const CLI_COMMAND_OVERLAYS = /* @__PURE__ */ new Map([
|
|
|
1165
1186
|
handlerName: "release"
|
|
1166
1187
|
})],
|
|
1167
1188
|
["destroy", command({
|
|
1168
|
-
usage: "treeseed destroy --environment <local|staging|prod> [--plan|--dry-run] [--delete-data] [--force] [--skip-confirmation] [--confirm <slug>] [--remove-build-artifacts]",
|
|
1189
|
+
usage: "treeseed destroy --environment <local|staging|prod> [--plan|--dry-run] [--delete-data] [--sweep-treeseed] [--force] [--skip-confirmation] [--confirm <slug>] [--remove-build-artifacts]",
|
|
1169
1190
|
options: [
|
|
1170
1191
|
{ name: "environment", flags: "--environment <scope>", description: "Select the persistent environment to destroy.", kind: "enum", values: ["local", "staging", "prod"] },
|
|
1171
1192
|
{ name: "plan", flags: "--plan", description: "Compute the destroy plan without mutating the environment.", kind: "boolean" },
|
|
1172
1193
|
{ name: "dryRun", flags: "--dry-run", description: "Alias for --plan.", kind: "boolean" },
|
|
1173
1194
|
{ name: "deleteData", flags: "--delete-data", description: "Also delete data repositories such as PostgreSQL, D1, and R2 for the target environment.", kind: "boolean" },
|
|
1195
|
+
{ name: "sweepTreeseed", flags: "--sweep-treeseed", description: "Sweep all TreeSeed-owned Cloudflare and Railway resources across persistent environments. Requires careful provider verification.", kind: "boolean" },
|
|
1174
1196
|
{ name: "force", flags: "--force", description: "Force worker deletion when supported.", kind: "boolean" },
|
|
1175
1197
|
{ name: "skipConfirmation", flags: "--skip-confirmation", description: "Skip the interactive confirmation prompt.", kind: "boolean" },
|
|
1176
1198
|
{ name: "confirm", flags: "--confirm <slug>", description: "Provide the expected slug confirmation non-interactively.", kind: "string" },
|
|
1177
1199
|
{ name: "removeBuildArtifacts", flags: "--remove-build-artifacts", description: "Also remove local build artifacts after destroy.", kind: "boolean" },
|
|
1178
1200
|
{ name: "json", flags: "--json", description: "Emit machine-readable JSON instead of human-readable text.", kind: "boolean" }
|
|
1179
1201
|
],
|
|
1180
|
-
examples: ["treeseed destroy --environment staging --delete-data --plan", "treeseed destroy --environment
|
|
1202
|
+
examples: ["treeseed destroy --environment staging --delete-data --plan", "treeseed destroy --environment staging --delete-data --sweep-treeseed --force --confirm example --skip-confirmation"],
|
|
1181
1203
|
notes: ["Only for persistent environments. Task cleanup belongs to treeseed close.", "This command is destructive and requires explicit confirmation."],
|
|
1182
1204
|
help: {
|
|
1183
1205
|
workflowPosition: "tear down environment",
|
|
@@ -1226,15 +1248,15 @@ const CLI_COMMAND_OVERLAYS = /* @__PURE__ */ new Map([
|
|
|
1226
1248
|
],
|
|
1227
1249
|
beforeYouRun: [
|
|
1228
1250
|
"Run from the tenant or workspace root you want to develop.",
|
|
1229
|
-
"From the Market repo root, dev automatically starts the local
|
|
1251
|
+
"From the Market repo root, dev automatically starts the local API, managed local PostgreSQL, and Treeseed operations runner alongside the web UI.",
|
|
1230
1252
|
"Use `dev start` for worktree-scoped background instance management that AI agents can discover and stop later.",
|
|
1231
1253
|
"Use `--plan --json` when you want to inspect fixed web/API/runner commands, setup steps, readiness checks, watched paths, and restart policy without starting services.",
|
|
1232
|
-
"Use `--reset` when you want a fresh local D1 database,
|
|
1254
|
+
"Use `--reset` when you want a fresh local D1 database, Treeseed PostgreSQL state, Mailpit inbox, generated worker bundle, and Wrangler temp output without deleting configuration.",
|
|
1233
1255
|
"Dev prints the local web URL after readiness; it does not open a browser unless you pass `--open on` or `--open auto`.",
|
|
1234
1256
|
"Keep the foreground process running while you test. Press Ctrl+C to stop the supervised stack and free the local ports."
|
|
1235
1257
|
],
|
|
1236
1258
|
examples: [
|
|
1237
|
-
example("treeseed dev", "Start local Market development", "Run web, API, managed PostgreSQL setup, and the
|
|
1259
|
+
example("treeseed dev", "Start local Market development", "Run web, API, managed PostgreSQL setup, and the Treeseed operations runner locally."),
|
|
1238
1260
|
example("treeseed dev start", "Start a managed worktree instance", "Launch the same dev runtime detached, write worktree-local PID/log/state files, and return after readiness."),
|
|
1239
1261
|
example("treeseed dev status --all --json", "Inspect all worktree instances", "List managed dev instances discovered through the repository-family index."),
|
|
1240
1262
|
example("treeseed dev logs", "Show managed dev logs", "Print the current worktree managed dev log file."),
|
|
@@ -1445,7 +1467,7 @@ const CLI_ONLY_OPERATION_SPECS = [
|
|
|
1445
1467
|
{ name: "environments", flags: "--environments <list>", description: "Comma-separated environments to select from the manifest.", kind: "string" },
|
|
1446
1468
|
{ name: "plan", flags: "--plan", description: "Generate a deterministic plan without applying it. This is the Phase 1 default.", kind: "boolean" },
|
|
1447
1469
|
{ name: "validate", flags: "--validate", description: "Validate the manifest and selected environments without printing plan actions.", kind: "boolean" },
|
|
1448
|
-
{ name: "apply", flags: "--apply", description: "Apply local seeds directly or governed staging/production seeds through the
|
|
1470
|
+
{ name: "apply", flags: "--apply", description: "Apply local seeds directly or governed staging/production seeds through the API.", kind: "boolean" },
|
|
1449
1471
|
{ name: "market", flags: "--market <market>", description: "Market profile or URL for staging and production seed operations.", kind: "string" },
|
|
1450
1472
|
{ name: "host", flags: "--host <host>", description: "Compatibility alias for --market.", kind: "string" },
|
|
1451
1473
|
{ name: "approvalRequest", flags: "--approval-request <id>", description: "Approved production seed apply request id.", kind: "string" },
|
|
@@ -1490,7 +1512,7 @@ const CLI_ONLY_OPERATION_SPECS = [
|
|
|
1490
1512
|
"`--apply --environments prod` is blocked until a matching approval request is approved."
|
|
1491
1513
|
],
|
|
1492
1514
|
relatedDetails: [
|
|
1493
|
-
related("projects", "Use `projects` after Phase 2 apply work lands to inspect created projects through the
|
|
1515
|
+
related("projects", "Use `projects` after Phase 2 apply work lands to inspect created projects through the API."),
|
|
1494
1516
|
related("capacity", "Use `capacity` to inspect existing provider and grant state outside the seed planner.")
|
|
1495
1517
|
]
|
|
1496
1518
|
},
|
|
@@ -1508,11 +1530,12 @@ const CLI_ONLY_OPERATION_SPECS = [
|
|
|
1508
1530
|
description: "Run a read-only or explicit repair audit for Repository, Web, Processing, and Email hosting setup.",
|
|
1509
1531
|
provider: "default",
|
|
1510
1532
|
related: ["status", "config", "save", "release"],
|
|
1511
|
-
usage: "treeseed audit hosting [--environment current|local|staging|prod] [--repair] [--json]",
|
|
1533
|
+
usage: "treeseed audit hosting [--environment current|local|staging|prod] [--repair] [--live] [--json]",
|
|
1512
1534
|
arguments: [{ name: "target", description: "Audit target. Use hosting.", required: false }],
|
|
1513
1535
|
options: [
|
|
1514
1536
|
{ name: "environment", flags: "--environment <environment>", description: "Audit environment. Defaults to current branch mapping.", kind: "enum", values: ["current", "local", "staging", "prod"] },
|
|
1515
1537
|
{ name: "repair", flags: "--repair", description: "Explicitly reconcile missing platform/provider resources.", kind: "boolean" },
|
|
1538
|
+
{ name: "live", flags: "--live", description: "Collect live Railway and HTTP observations for hosted service checks.", kind: "boolean" },
|
|
1516
1539
|
{ name: "hostKinds", flags: "--host-kinds <kinds>", description: "Comma-separated host kinds to audit.", kind: "string" },
|
|
1517
1540
|
{ name: "json", flags: "--json", description: "Emit the hosting audit report as JSON.", kind: "boolean" }
|
|
1518
1541
|
],
|
|
@@ -1618,14 +1641,14 @@ const CLI_ONLY_OPERATION_SPECS = [
|
|
|
1618
1641
|
name: "market",
|
|
1619
1642
|
aliases: [],
|
|
1620
1643
|
group: "Utilities",
|
|
1621
|
-
summary: "Manage configured Treeseed
|
|
1622
|
-
description: "List, add, select, remove, and inspect
|
|
1644
|
+
summary: "Manage configured Treeseed API endpoints.",
|
|
1645
|
+
description: "List, add, select, remove, and inspect API profiles stored in local machine configuration.",
|
|
1623
1646
|
provider: "default",
|
|
1624
1647
|
related: ["auth:login", "teams", "projects"],
|
|
1625
1648
|
usage: "treeseed market [list|add|use|remove|status]",
|
|
1626
1649
|
arguments: [{ name: "action", description: "Market action.", required: false }],
|
|
1627
1650
|
options: [
|
|
1628
|
-
{ name: "market", flags: "--market <id-or-url>", description: "Select a configured market id or direct
|
|
1651
|
+
{ name: "market", flags: "--market <id-or-url>", description: "Select a configured market id or direct API URL.", kind: "string" },
|
|
1629
1652
|
{ name: "label", flags: "--label <label>", description: "Display label for market add.", kind: "string" },
|
|
1630
1653
|
{ name: "kind", flags: "--kind <kind>", description: "Market kind for market add.", kind: "enum", values: ["central", "specialized"] },
|
|
1631
1654
|
{ name: "team", flags: "--team <team-id>", description: "Team id for a specialized market profile.", kind: "string" },
|
|
@@ -1633,7 +1656,7 @@ const CLI_ONLY_OPERATION_SPECS = [
|
|
|
1633
1656
|
],
|
|
1634
1657
|
examples: ["treeseed market list", "treeseed market add enterprise https://market.example.com", "treeseed market use central"],
|
|
1635
1658
|
help: {
|
|
1636
|
-
longSummary: ["Market manages local Treeseed
|
|
1659
|
+
longSummary: ["Market manages local Treeseed API profiles. It never serves market behavior itself; it only selects endpoints the SDK market client should call."],
|
|
1637
1660
|
whenToUse: ["Use this when you need to add an enterprise market, switch back to central, or inspect which market endpoint CLI commands will target."],
|
|
1638
1661
|
beforeYouRun: ["Decide whether you are managing the always-available central profile or a team-specific specialized market profile."],
|
|
1639
1662
|
automationNotes: ["Use `--json` when scripts need the active market id, URL, and configured profiles."]
|
|
@@ -1649,19 +1672,19 @@ const CLI_ONLY_OPERATION_SPECS = [
|
|
|
1649
1672
|
aliases: [],
|
|
1650
1673
|
group: "Utilities",
|
|
1651
1674
|
summary: "Inspect teams from the selected market.",
|
|
1652
|
-
description: "List teams, select a team context, and inspect team membership through the
|
|
1675
|
+
description: "List teams, select a team context, and inspect team membership through the API client.",
|
|
1653
1676
|
provider: "default",
|
|
1654
1677
|
related: ["market", "auth:login", "projects"],
|
|
1655
1678
|
usage: "treeseed teams [list|use|members]",
|
|
1656
1679
|
arguments: [{ name: "action", description: "Teams action.", required: false }],
|
|
1657
1680
|
options: [
|
|
1658
|
-
{ name: "market", flags: "--market <id-or-url>", description: "Select a configured market id or direct
|
|
1681
|
+
{ name: "market", flags: "--market <id-or-url>", description: "Select a configured market id or direct API URL.", kind: "string" },
|
|
1659
1682
|
{ name: "team", flags: "--team <team-id>", description: "Team id for member lookup.", kind: "string" },
|
|
1660
1683
|
{ name: "json", flags: "--json", description: "Emit machine-readable JSON instead of human-readable text.", kind: "boolean" }
|
|
1661
1684
|
],
|
|
1662
1685
|
examples: ["treeseed teams list", "treeseed teams members team_123"],
|
|
1663
1686
|
help: {
|
|
1664
|
-
longSummary: ["Teams reads team membership data from the selected
|
|
1687
|
+
longSummary: ["Teams reads team membership data from the selected API using the SDK market client."],
|
|
1665
1688
|
whenToUse: ["Use this after login to confirm team membership or inspect who belongs to a market-owned team."],
|
|
1666
1689
|
beforeYouRun: ["Authenticate to the selected market with `treeseed auth:login --market <id>` before reading private team data."],
|
|
1667
1690
|
automationNotes: ["Use `--json` for scripts that need stable team or member arrays."]
|
|
@@ -1677,7 +1700,7 @@ const CLI_ONLY_OPERATION_SPECS = [
|
|
|
1677
1700
|
aliases: [],
|
|
1678
1701
|
group: "Utilities",
|
|
1679
1702
|
summary: "Inspect projects, project hosts, and web deployment operations from the selected market.",
|
|
1680
|
-
description: "List market projects, inspect access and host bindings, and queue project host or web deployment operations through the
|
|
1703
|
+
description: "List market projects, inspect access and host bindings, and queue project host or web deployment operations through the API.",
|
|
1681
1704
|
provider: "default",
|
|
1682
1705
|
related: ["market", "teams", "config"],
|
|
1683
1706
|
usage: "treeseed projects [list|access|hosts|deploy|publish|monitor|deployments|deployment]",
|
|
@@ -1687,7 +1710,7 @@ const CLI_ONLY_OPERATION_SPECS = [
|
|
|
1687
1710
|
{ name: "deployment-id", description: "Deployment id for deployment detail, retry, resume, or cancel.", required: false }
|
|
1688
1711
|
],
|
|
1689
1712
|
options: [
|
|
1690
|
-
{ name: "market", flags: "--market <id-or-url>", description: "Select a configured market id or direct
|
|
1713
|
+
{ name: "market", flags: "--market <id-or-url>", description: "Select a configured market id or direct API URL.", kind: "string" },
|
|
1691
1714
|
{ name: "team", flags: "--team <team-id>", description: "Limit project list to a team.", kind: "string" },
|
|
1692
1715
|
{ name: "environment", flags: "--environment <environment>", description: "Deployment environment for project web actions.", kind: "enum", values: ["staging", "prod"] },
|
|
1693
1716
|
{ name: "wait", flags: "--wait", description: "Poll the queued deployment until it reaches a terminal state.", kind: "boolean" },
|
|
@@ -1715,7 +1738,7 @@ const CLI_ONLY_OPERATION_SPECS = [
|
|
|
1715
1738
|
"treeseed projects deployment project_123 dep_123"
|
|
1716
1739
|
],
|
|
1717
1740
|
help: {
|
|
1718
|
-
longSummary: ["Projects reads project, host binding, access, and deployment state from the selected
|
|
1741
|
+
longSummary: ["Projects reads project, host binding, access, and deployment state from the selected API using the SDK market client."],
|
|
1719
1742
|
whenToUse: ["Use this to inspect projects, audit or replace launch host bindings, queue staging or production web deployment operations, and inspect the same state shown in the Market UI."],
|
|
1720
1743
|
beforeYouRun: ["Authenticate to the market with `treeseed auth:login --market <selector>` and know the project id before queueing deployment work."],
|
|
1721
1744
|
automationNotes: ["Use `--json` to capture project lists, deployment records, events, and wait results for automation."],
|
|
@@ -1738,7 +1761,7 @@ const CLI_ONLY_OPERATION_SPECS = [
|
|
|
1738
1761
|
usage: "treeseed capacity [doctor|register|plan|migrate|up|down|restart|logs|status|build|test-local]",
|
|
1739
1762
|
arguments: [{ name: "action", description: "Capacity action.", required: false }],
|
|
1740
1763
|
options: [
|
|
1741
|
-
{ name: "market", flags: "--market <id-or-url>", description: "Select a configured market id or direct
|
|
1764
|
+
{ name: "market", flags: "--market <id-or-url>", description: "Select a configured market id or direct API URL.", kind: "string" },
|
|
1742
1765
|
{ name: "provider", flags: "--provider <provider-id>", description: "Provider id or local provider selector for diagnostics.", kind: "string" },
|
|
1743
1766
|
{ name: "team", flags: "--team <team-id>", description: "Team id for Market capacity migration.", kind: "string" },
|
|
1744
1767
|
{ name: "project", flags: "--project <project-id>", description: "Project id for Market capacity plan or allocation migration.", kind: "string" },
|
|
@@ -1784,19 +1807,262 @@ const CLI_ONLY_OPERATION_SPECS = [
|
|
|
1784
1807
|
executionMode: "handler",
|
|
1785
1808
|
handlerName: "capacity"
|
|
1786
1809
|
},
|
|
1810
|
+
{
|
|
1811
|
+
id: "hosting",
|
|
1812
|
+
name: "hosting",
|
|
1813
|
+
aliases: [],
|
|
1814
|
+
group: "Utilities",
|
|
1815
|
+
summary: "Plan, apply, verify, and inspect the Treeseed hosting graph.",
|
|
1816
|
+
description: "Resolve host-agnostic service types into environment-specific host bindings for local dev, staging, and production.",
|
|
1817
|
+
provider: "default",
|
|
1818
|
+
related: ["status", "dev", "config", "stage", "release"],
|
|
1819
|
+
usage: "treeseed hosting [status|plan|apply|verify|destroy] [--environment local|staging|prod] [--app web|api] [--service api] [--json]",
|
|
1820
|
+
arguments: [{ name: "action", description: "Hosting action.", required: false }],
|
|
1821
|
+
options: [
|
|
1822
|
+
{ name: "environment", flags: "--environment <scope>", description: "Hosting environment to resolve.", kind: "enum", values: ["local", "staging", "prod"] },
|
|
1823
|
+
{ name: "app", flags: "--app <app-id>", description: "Limit hosting graph work to one discovered Treeseed application, such as web or api.", kind: "string" },
|
|
1824
|
+
{ name: "service", flags: "--service <service-id>", description: "Limit hosting graph work to one service id. Repeat or comma-separate for multiple services.", kind: "string" },
|
|
1825
|
+
{ name: "placement", flags: "--placement <placement>", description: "Limit hosting graph work to one service placement.", kind: "string" },
|
|
1826
|
+
{ name: "host", flags: "--host <host-id>", description: "Limit hosting graph work to one host id.", kind: "string" },
|
|
1827
|
+
{ name: "live", flags: "--live", description: "Request live provider verification where supported.", kind: "boolean" },
|
|
1828
|
+
{ name: "dryRun", flags: "--dry-run", description: "Force apply to render a non-mutating dry-run result.", kind: "boolean" },
|
|
1829
|
+
{ name: "execute", flags: "--execute", description: "Allow hosting apply to call adapter apply methods for the selected environment.", kind: "boolean" },
|
|
1830
|
+
{ name: "json", flags: "--json", description: "Emit machine-readable JSON instead of human-readable text.", kind: "boolean" }
|
|
1831
|
+
],
|
|
1832
|
+
examples: [
|
|
1833
|
+
"treeseed hosting status --environment local",
|
|
1834
|
+
"treeseed hosting plan --environment staging --json",
|
|
1835
|
+
"treeseed hosting plan --environment staging --app web --json",
|
|
1836
|
+
"treeseed hosting plan --environment staging --app api --json",
|
|
1837
|
+
"treeseed hosting plan --environment staging --service api --json",
|
|
1838
|
+
"treeseed hosting verify --environment prod --json",
|
|
1839
|
+
"treeseed hosting apply --environment staging --app api --execute --json",
|
|
1840
|
+
"treeseed hosting destroy --environment staging --app api --execute --json"
|
|
1841
|
+
],
|
|
1842
|
+
help: {
|
|
1843
|
+
longSummary: ["Hosting resolves Treeseed application profiles into service placements, service types, host capabilities, and provider/local resources."],
|
|
1844
|
+
whenToUse: ["Use this before dev, stage, or release when you need to inspect host bindings, missing capabilities, or TreeDX/public federation placement."],
|
|
1845
|
+
beforeYouRun: ["Run from the Treeseed workspace. Use `--json` for automation. `apply` is dry-run unless `--execute` is passed."],
|
|
1846
|
+
automationNotes: ["The JSON report includes placements, units, selected hosts, required capabilities, project groups, and verification checks without secret values."]
|
|
1847
|
+
},
|
|
1848
|
+
helpVisible: true,
|
|
1849
|
+
helpFeatured: true,
|
|
1850
|
+
executionMode: "handler",
|
|
1851
|
+
handlerName: "hosting"
|
|
1852
|
+
},
|
|
1853
|
+
{
|
|
1854
|
+
id: "reconcile",
|
|
1855
|
+
name: "reconcile",
|
|
1856
|
+
aliases: [],
|
|
1857
|
+
group: "Utilities",
|
|
1858
|
+
summary: "Run canonical reconciliation platform diagnostics.",
|
|
1859
|
+
description: "Exercise SDK-owned reconciliation reports, live provider coverage, and exact-state postconditions.",
|
|
1860
|
+
provider: "default",
|
|
1861
|
+
related: ["hosting", "config", "stage", "release"],
|
|
1862
|
+
usage: "treeseed reconcile test-live [--mode smoke|acceptance|cleanup] [--provider railway|cloudflare|github|local|all] [--environment local|staging|prod] [--yes] [--json]",
|
|
1863
|
+
arguments: [{ name: "action", description: "Reconcile diagnostic action. Use test-live.", required: false }],
|
|
1864
|
+
options: [
|
|
1865
|
+
{ name: "provider", flags: "--provider <provider>", description: "Provider live-test scope. Use railway, cloudflare, github, local, or all.", kind: "string" },
|
|
1866
|
+
{ name: "mode", flags: "--mode <mode>", description: "Live-test mode. Smoke is read-only; acceptance and cleanup mutate isolated provider resources and require --yes.", kind: "enum", values: ["smoke", "acceptance", "cleanup"] },
|
|
1867
|
+
{ name: "environment", flags: "--environment <scope>", description: "Environment to test.", kind: "enum", values: ["local", "staging", "prod"] },
|
|
1868
|
+
{ name: "yes", flags: "--yes", description: "Confirm acceptance or cleanup mode may create and delete real isolated provider resources.", kind: "boolean" },
|
|
1869
|
+
{ name: "json", flags: "--json", description: "Emit machine-readable JSON instead of human-readable text.", kind: "boolean" }
|
|
1870
|
+
],
|
|
1871
|
+
examples: [
|
|
1872
|
+
"treeseed reconcile test-live --provider local --json",
|
|
1873
|
+
"treeseed reconcile test-live --provider railway --environment staging --json",
|
|
1874
|
+
"treeseed reconcile test-live --provider all --environment staging --json",
|
|
1875
|
+
"treeseed reconcile test-live --mode acceptance --provider railway --environment staging --yes --json",
|
|
1876
|
+
"treeseed reconcile test-live --mode cleanup --provider all --environment staging --yes --json"
|
|
1877
|
+
],
|
|
1878
|
+
help: {
|
|
1879
|
+
longSummary: ["Reconcile diagnostics prove that provider adapters implement the canonical SDK lifecycle. Smoke mode is fast and read-only. Acceptance mode creates, updates, verifies, and destroys isolated resources. Cleanup mode removes leftover isolated live-test resources. Missing provider coverage is reported as blocking drift, not skipped success."],
|
|
1880
|
+
whenToUse: ["Use this before staging or release promotions when provider tokens are configured, or when adding a new provider/resource adapter."],
|
|
1881
|
+
beforeYouRun: ["Run from the Treeseed workspace. Provider tests use encrypted Treeseed config values and deterministic isolated prefixes."],
|
|
1882
|
+
automationNotes: ["The JSON report contains desiredGraph, observedGraph, actions, postconditions, blockedDrift, providerLimitations, liveVerification, and ok for each selected provider."]
|
|
1883
|
+
},
|
|
1884
|
+
helpVisible: true,
|
|
1885
|
+
helpFeatured: false,
|
|
1886
|
+
executionMode: "handler",
|
|
1887
|
+
handlerName: "reconcile"
|
|
1888
|
+
},
|
|
1889
|
+
{
|
|
1890
|
+
id: "ready",
|
|
1891
|
+
name: "ready",
|
|
1892
|
+
aliases: [],
|
|
1893
|
+
group: "Workflow",
|
|
1894
|
+
summary: "Check whether an environment is ready for staging or release.",
|
|
1895
|
+
description: "Runs deployment graph readiness, hosted service checks, and Treeseed operations runner smoke diagnostics before expensive workflow promotion.",
|
|
1896
|
+
provider: "default",
|
|
1897
|
+
related: ["hosting", "stage", "release", "doctor"],
|
|
1898
|
+
usage: "treeseed ready <local|staging|prod> [--live] [--strict] [--json]",
|
|
1899
|
+
arguments: [{ name: "environment", description: "Environment to check.", required: false }],
|
|
1900
|
+
options: [
|
|
1901
|
+
{ name: "environment", flags: "--environment <scope>", description: "Environment to check.", kind: "enum", values: ["local", "staging", "prod"] },
|
|
1902
|
+
{ name: "live", flags: "--live", description: "Include live provider and HTTP checks.", kind: "boolean" },
|
|
1903
|
+
{ name: "strict", flags: "--strict", description: "Fail when required live observations are unavailable.", kind: "boolean" },
|
|
1904
|
+
{ name: "json", flags: "--json", description: "Emit machine-readable JSON instead of human-readable text.", kind: "boolean" }
|
|
1905
|
+
],
|
|
1906
|
+
examples: [
|
|
1907
|
+
"treeseed ready staging --json",
|
|
1908
|
+
"treeseed ready prod --json"
|
|
1909
|
+
],
|
|
1910
|
+
help: {
|
|
1911
|
+
longSummary: ["Ready is the fail-fast preflight for stage and release. It checks the effective hosting graph, provider state, HTTP health, and runner operation processing before a workflow spends time on deploys."],
|
|
1912
|
+
whenToUse: ["Run before stage or release, especially after hosting config or package boundary changes."],
|
|
1913
|
+
beforeYouRun: ["Run from the Treeseed workspace. Use `ready local` for static local checks, and use staging or prod only when provider credentials are available for live checks."],
|
|
1914
|
+
automationNotes: ["Use --json for stable readiness output. Staging and prod default to live strict checks."]
|
|
1915
|
+
},
|
|
1916
|
+
helpVisible: true,
|
|
1917
|
+
helpFeatured: true,
|
|
1918
|
+
executionMode: "handler",
|
|
1919
|
+
handlerName: "ready"
|
|
1920
|
+
},
|
|
1921
|
+
{
|
|
1922
|
+
id: "operations",
|
|
1923
|
+
name: "operations",
|
|
1924
|
+
aliases: [],
|
|
1925
|
+
group: "Utilities",
|
|
1926
|
+
summary: "Run Treeseed operation-runner diagnostics.",
|
|
1927
|
+
description: "Queues a diagnostic Market platform operation and verifies that the deployed operations runner claims and completes it.",
|
|
1928
|
+
provider: "default",
|
|
1929
|
+
related: ["hosting", "ready", "stage"],
|
|
1930
|
+
usage: "treeseed operations smoke [--environment staging|prod] [--service operationsRunner] [--json]",
|
|
1931
|
+
arguments: [{ name: "action", description: "Operations action.", required: false }],
|
|
1932
|
+
options: [
|
|
1933
|
+
{ name: "environment", flags: "--environment <scope>", description: "Environment to smoke test.", kind: "enum", values: ["staging", "prod"] },
|
|
1934
|
+
{ name: "service", flags: "--service <service-id>", description: "Service to smoke test. Currently operationsRunner.", kind: "string" },
|
|
1935
|
+
{ name: "json", flags: "--json", description: "Emit machine-readable JSON instead of human-readable text.", kind: "boolean" }
|
|
1936
|
+
],
|
|
1937
|
+
examples: [
|
|
1938
|
+
"treeseed operations smoke --environment staging --service operationsRunner --json"
|
|
1939
|
+
],
|
|
1940
|
+
help: {
|
|
1941
|
+
longSummary: ["Operations smoke proves that the API, database, and operations runner work together before TreeDX/bootstrap workflows queue real work."],
|
|
1942
|
+
whenToUse: ["Run when staging deploys time out with queued operations or before release resource verification."],
|
|
1943
|
+
beforeYouRun: ["Run after the API and operations runner are deployed. Ensure the selected environment has the API base URL and service credentials configured through Treeseed config."],
|
|
1944
|
+
automationNotes: ["The JSON report redacts credentials and includes operation id, final status, runner id, timings, and failure remediation."]
|
|
1945
|
+
},
|
|
1946
|
+
helpVisible: true,
|
|
1947
|
+
helpFeatured: true,
|
|
1948
|
+
executionMode: "handler",
|
|
1949
|
+
handlerName: "operations"
|
|
1950
|
+
},
|
|
1951
|
+
{
|
|
1952
|
+
id: "workspace.package",
|
|
1953
|
+
name: "package",
|
|
1954
|
+
aliases: [],
|
|
1955
|
+
group: "Utilities",
|
|
1956
|
+
summary: "Run manifest-driven package development workflows.",
|
|
1957
|
+
description: "Plan, sync credentials for, and dispatch package development image workflows declared by checked-out package manifests such as treeseed.package.yaml.",
|
|
1958
|
+
provider: "default",
|
|
1959
|
+
related: ["config", "hosting", "db"],
|
|
1960
|
+
usage: "treeseed package image --package <package-id>",
|
|
1961
|
+
arguments: [{ name: "action", description: "Package workflow action.", required: false }],
|
|
1962
|
+
options: [
|
|
1963
|
+
{ name: "package", flags: "--package <package-id>", description: "Discovered package id from treeseed.package.yaml, such as treedx.", kind: "string" },
|
|
1964
|
+
{ name: "branch", flags: "--branch <branch>", description: "Package repository branch to publish as a development image. Defaults to staging.", kind: "string" },
|
|
1965
|
+
{ name: "workflow", flags: "--workflow <file>", description: "GitHub Actions workflow file for package image publication. Defaults to the package manifest.", kind: "string" },
|
|
1966
|
+
{ name: "syncConfig", flags: "--sync-config", description: "Sync package image credentials from Treeseed config into the package GitHub environment.", kind: "boolean" },
|
|
1967
|
+
{ name: "plan", flags: "--plan", description: "Print the package image plan without dispatching GitHub Actions.", kind: "boolean" },
|
|
1968
|
+
{ name: "execute", flags: "--execute", description: "Dispatch the package development image workflow.", kind: "boolean" },
|
|
1969
|
+
{ name: "json", flags: "--json", description: "Emit machine-readable JSON instead of human-readable text.", kind: "boolean" }
|
|
1970
|
+
],
|
|
1971
|
+
examples: [
|
|
1972
|
+
"treeseed package image --package treedx --branch staging --plan --json",
|
|
1973
|
+
"treeseed package image --package treedx --branch staging --sync-config --json",
|
|
1974
|
+
"treeseed package image --package treedx --branch staging --execute --json"
|
|
1975
|
+
],
|
|
1976
|
+
help: {
|
|
1977
|
+
longSummary: ["Package workflows are driven by package-local metadata instead of bespoke CLI logic. A checked-out package can declare its repository, development image workflow, hosting override, and credential requirements in treeseed.package.yaml."],
|
|
1978
|
+
whenToUse: ["Use this when a package such as TreeDX needs to publish a staging development image, sync package-repository GitHub environment secrets, or report the image ref that hosting reconciliation should consume."],
|
|
1979
|
+
beforeYouRun: ["Run `trsd config` to configure repository-scoped GitHub credentials and provider secrets. Do not pass package repository tokens or Docker Hub secrets on the command line."],
|
|
1980
|
+
automationNotes: ["Use `--json` to capture selected package metadata, repository credential routing, Docker Hub readiness, immutable image tags, and the hosting override command."]
|
|
1981
|
+
},
|
|
1982
|
+
helpVisible: true,
|
|
1983
|
+
helpFeatured: false,
|
|
1984
|
+
executionMode: "handler",
|
|
1985
|
+
handlerName: "package"
|
|
1986
|
+
},
|
|
1987
|
+
{
|
|
1988
|
+
id: "market.db",
|
|
1989
|
+
name: "db",
|
|
1990
|
+
aliases: [],
|
|
1991
|
+
group: "Utilities",
|
|
1992
|
+
summary: "Manage team TreeDX knowledge-library bindings.",
|
|
1993
|
+
description: "Inspect, provision, connect, mirror, share, publish, bind TreeDX libraries, and publish staging-safe TreeDX development images.",
|
|
1994
|
+
provider: "default",
|
|
1995
|
+
related: ["teams", "projects", "capacity"],
|
|
1996
|
+
usage: "treeseed db [status|provision|connect|mirrors|shares|library|topology|publish|image]",
|
|
1997
|
+
arguments: [{ name: "action", description: "TreeDX action.", required: false }],
|
|
1998
|
+
options: [
|
|
1999
|
+
{ name: "market", flags: "--market <id-or-url>", description: "Select a configured market id or direct API URL.", kind: "string" },
|
|
2000
|
+
{ name: "team", flags: "--team <team-id>", description: "Team id for status, provisioning, mirrors, and shares.", kind: "string" },
|
|
2001
|
+
{ name: "project", flags: "--project <project-id>", description: "Project id for library binding and topology inspection.", kind: "string" },
|
|
2002
|
+
{ name: "public", flags: "--public", description: "Use public federation posture for provisioning or sharing.", kind: "boolean" },
|
|
2003
|
+
{ name: "selfHosted", flags: "--self-hosted", description: "Connect a self-hosted TreeDX URL as the primary binding.", kind: "boolean" },
|
|
2004
|
+
{ name: "url", flags: "--url <url>", description: "TreeDX base URL for connect/provision.", kind: "string" },
|
|
2005
|
+
{ name: "registryUrl", flags: "--registry-url <url>", description: "Optional TreeDX registry URL.", kind: "string" },
|
|
2006
|
+
{ name: "image", flags: "--image <image-ref>", description: "TreeDX container image ref, default treeseed/treedx:latest.", kind: "string" },
|
|
2007
|
+
{ name: "name", flags: "--name <name>", description: "Mirror display name.", kind: "string" },
|
|
2008
|
+
{ name: "targetUrl", flags: "--target-url <url>", description: "Mirror target URL.", kind: "string" },
|
|
2009
|
+
{ name: "targetKind", flags: "--target-kind <kind>", description: "Mirror target kind such as git or treedx.", kind: "string" },
|
|
2010
|
+
{ name: "direction", flags: "--direction <mode>", description: "Mirror direction: pull, push, or bidirectional.", kind: "string" },
|
|
2011
|
+
{ name: "scope", flags: "--scope <scope>", description: "Share scope: team, library, or public_federation.", kind: "string" },
|
|
2012
|
+
{ name: "targetTeam", flags: "--target-team <team-id>", description: "Target team id for a team share.", kind: "string" },
|
|
2013
|
+
{ name: "library", flags: "--library <library-id>", description: "TreeDX library id for project binding or share.", kind: "string" },
|
|
2014
|
+
{ name: "instance", flags: "--instance <instance-id>", description: "TreeDX instance id for project binding.", kind: "string" },
|
|
2015
|
+
{ name: "repository", flags: "--repository <repo-id>", description: "TreeDX repository id for project binding.", kind: "string" },
|
|
2016
|
+
{ name: "contentRepositoryUrl", flags: "--content-repository-url <url>", description: "Linked GitHub content repository URL.", kind: "string" },
|
|
2017
|
+
{ name: "environment", flags: "--environment <scope>", description: "Publish environment for db publish: staging or prod.", kind: "enum", values: ["staging", "prod"] },
|
|
2018
|
+
{ name: "branch", flags: "--branch <branch>", description: "TreeDX branch to publish as a development image. Defaults to staging.", kind: "string" },
|
|
2019
|
+
{ name: "workflow", flags: "--workflow <file>", description: "TreeDX GitHub Actions workflow file for db image. Defaults to dev-image.yml.", kind: "string" },
|
|
2020
|
+
{ name: "syncConfig", flags: "--sync-config", description: "Sync package image credentials from Treeseed config into the package GitHub environment.", kind: "boolean" },
|
|
2021
|
+
{ name: "plan", flags: "--plan", description: "Print the TreeDX image plan without dispatching GitHub Actions.", kind: "boolean" },
|
|
2022
|
+
{ name: "execute", flags: "--execute", description: "Dispatch the TreeDX development image workflow.", kind: "boolean" },
|
|
2023
|
+
{ name: "yes", flags: "--yes", description: "Confirm production db publish.", kind: "boolean" },
|
|
2024
|
+
{ name: "dryRun", flags: "--dry-run", description: "Queue a dry-run content publish operation.", kind: "boolean" },
|
|
2025
|
+
{ name: "reason", flags: "--reason <reason>", description: "Human-readable reason for a content publish.", kind: "string" },
|
|
2026
|
+
{ name: "json", flags: "--json", description: "Emit machine-readable JSON instead of human-readable text.", kind: "boolean" }
|
|
2027
|
+
],
|
|
2028
|
+
examples: [
|
|
2029
|
+
"treeseed db status --team team_123",
|
|
2030
|
+
"treeseed db provision --team team_123",
|
|
2031
|
+
"treeseed db provision --team team_123 --public",
|
|
2032
|
+
"treeseed db connect --team team_123 --url https://treedx.example.com --self-hosted",
|
|
2033
|
+
"treeseed db mirrors --team team_123 --name customer-copy --target-url https://treedx.customer.example",
|
|
2034
|
+
"treeseed db shares --team team_123 --library team/project --public",
|
|
2035
|
+
"treeseed db library --project project_123 --library team/project",
|
|
2036
|
+
"treeseed db topology --project project_123 --json",
|
|
2037
|
+
"treeseed db publish --project project_123 --environment staging",
|
|
2038
|
+
"treeseed db image --branch staging --plan --json",
|
|
2039
|
+
"treeseed db image --branch staging --sync-config --json",
|
|
2040
|
+
"treeseed db image --branch staging --execute --json"
|
|
2041
|
+
],
|
|
2042
|
+
help: {
|
|
2043
|
+
longSummary: ["TreeDX commands manage the Treeseed control-plane records that bind each team to one primary knowledge-library instance, bind project content to TreeDX libraries, and publish deterministic TreeDX development images for staging reconciliation."],
|
|
2044
|
+
whenToUse: ["Use this when provisioning a private TreeDX, attaching a public team to federation, creating mirror/share records, inspecting project content/site/project topology, or publishing the TreeDX image that the API app should reconcile."],
|
|
2045
|
+
beforeYouRun: ["Log in to the selected Treeseed API first for team/project actions. For `db image --execute`, configure GitHub credentials through Treeseed-managed config. Do not pass secrets on the command line; TreeDX credentials belong in host secret managers or encrypted config."],
|
|
2046
|
+
automationNotes: ["Use `--json` for stable TreeDX binding, mirror, share, library, topology, and image publication records. `db image` reports the immutable `TREESEED_PUBLIC_TREEDX_IMAGE_REF` value to pass into `trsd hosting apply --app api`. Use `db image --sync-config` when a package repository needs its GitHub environment credentials reconciled from central Treeseed config."]
|
|
2047
|
+
},
|
|
2048
|
+
helpVisible: true,
|
|
2049
|
+
helpFeatured: false,
|
|
2050
|
+
executionMode: "handler",
|
|
2051
|
+
handlerName: "db"
|
|
2052
|
+
},
|
|
1787
2053
|
{
|
|
1788
2054
|
id: "market.packs",
|
|
1789
2055
|
name: "packs",
|
|
1790
2056
|
aliases: [],
|
|
1791
2057
|
group: "Utilities",
|
|
1792
2058
|
summary: "Search and download market knowledge packs.",
|
|
1793
|
-
description: "Search knowledge packs and download artifact versions through the integrated market catalog or a selected
|
|
2059
|
+
description: "Search knowledge packs and download artifact versions through the integrated market catalog or a selected API.",
|
|
1794
2060
|
provider: "default",
|
|
1795
2061
|
related: ["market", "template"],
|
|
1796
2062
|
usage: "treeseed packs [search|install] [id]",
|
|
1797
2063
|
arguments: [{ name: "action", description: "Packs action.", required: false }],
|
|
1798
2064
|
options: [
|
|
1799
|
-
{ name: "market", flags: "--market <id-or-url>", description: "Limit catalog lookup to one configured market id or direct
|
|
2065
|
+
{ name: "market", flags: "--market <id-or-url>", description: "Limit catalog lookup to one configured market id or direct API URL. Without this, search/install uses the integrated catalog from all configured catalog markets.", kind: "string" },
|
|
1800
2066
|
{ name: "version", flags: "--version <version>", description: "Artifact version for install.", kind: "string" },
|
|
1801
2067
|
{ name: "json", flags: "--json", description: "Emit machine-readable JSON instead of human-readable text.", kind: "boolean" }
|
|
1802
2068
|
],
|