You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
cli: drop the never-loaded @oclif/plugin-help and @oclif/plugin-plugins from oclif.plugins, and correct every published text that says os plugins works #21285
Filing-gate class: ③ maintainer-directed task.
Body last written 2026-10-02T01:43Z: the spec TSDoc sentence was split out to the spec-lane card #21286; this card does not touch packages/spec.
Routing: the maintainer direct-dispatch channel (session_018gA1pE6eJtwHhqx72G8U9X) routes this card to domain:cli and area:devpath; triage grades the priority.
Acting reader: the maintainer direct-dispatch session (Seat: domain:devx#3), which dispatches one os-dev.
Dedup: I listed 558 objectstack issues and PRs over REST (open, plus the most recently updated closed) and grepped titles and bodies for oclif.plugins, os plugins install, plugin-plugins and plugin-help. The only hits are today's version bump (#21125 / PR #21212) and the Dependabot PRs it replaced (#21031, #21035). None removes the entries.
Maintainer ruling (verbatim)
同意:oclif.plugins: 里面那两个插件只装在 devDependencies,所以从来没加载过,os help 和 os plugins 都不是可用命令。我建议删掉这两条配置。
Given in session session_018gA1pE6eJtwHhqx72G8U9X on 2026-10-02, in reply to the seat's recommendation after #21212 landed.
Measured (at origin/mainc7396f1a9)
packages/cli/package.json → oclif.plugins lists @oclif/plugin-help and @oclif/plugin-plugins. Both packages appear only in devDependencies (^7.0.2, ^7.0.3).
oclif's core-plugin loader matches oclif.plugins names only against dependencies, so neither plugin ever loads:
bin/run.js:84-94 records the measurement: os --help lists 34 topics, and none of them is plugins.
Behaviour acceptance: nothing an operator sees changes, because the plugins never loaded.
Show os --help and the full command list byte-identical before and after.
Take a positive control first: show that the reading would catch a real difference.
Fix the published text this change makes false or touches. Each site gets a conclusion in the PR body: changed; already true (with evidence); or out of scope (with the reason). No site is skipped silently.
content/docs/plugins/index.mdx callout. Its stated reason ("lists @oclif/plugin-plugins under oclif.plugins, but the package sits in devDependencies") becomes false. Restate the fact as it will be: @objectstack/cli ships no plugin manager, os plugins … and os help are not commands, and os --help is the help entry. Keep the build-your-own-distribution route only if it is still true.
packages/cli/README.md: ### os plugins (oclif) and ## oclif Plugin System describe os plugins install/uninstall/update as available, which is false. Correct them.
packages/cli/bin/run.js:84-94: its reasoning names the devDependencies placement. Restate it to the new fact.
doctor.ts:2377-2380 and doctor-deprecation-hint-commands.test.ts:15 say "neither bundled plugin … supplies one". After this change there is no bundled plugin. Restate.
test/plugin-commands.test.ts:22-23 asserts both entries are present. Rewrite it to pin the new truth (no oclif.plugins, no plugin manager). ⛔ Do not just delete the guard.
docs/qa/platform-checklist/areas/cli.json:658: the evidence text names the array's contents.
Changeset: a patch for @objectstack/cli (its published manifest's oclif field and its README). Not skip-changeset.
Out of scope (a separate maintainer question)
With no plugin manager and no listed plugins, the CLI-extension protocol in cli-extension.zod.ts (OclifPluginConfig) describes a capability no os user can reach today, short of building their own os distribution. Whether to deliver it (a plugin manager as a real dependency) or retire the protocol (ADR-0049 enforce-or-remove) goes to the maintainer separately. ⛔ This card corrects false sentences only. It changes no schema or export.
Filing-gate class: ③ maintainer-directed task.
Body last written 2026-10-02T01:43Z: the spec TSDoc sentence was split out to the spec-lane card #21286; this card does not touch
packages/spec.Routing: the maintainer direct-dispatch channel (
session_018gA1pE6eJtwHhqx72G8U9X) routes this card todomain:cliandarea:devpath; triage grades the priority.Acting reader: the maintainer direct-dispatch session (
Seat: domain:devx#3), which dispatches oneos-dev.Dedup: I listed 558 objectstack issues and PRs over REST (open, plus the most recently updated closed) and grepped titles and bodies for
oclif.plugins,os plugins install,plugin-pluginsandplugin-help. The only hits are today's version bump (#21125 / PR #21212) and the Dependabot PRs it replaced (#21031, #21035). None removes the entries.Maintainer ruling (verbatim)
Given in session
session_018gA1pE6eJtwHhqx72G8U9Xon 2026-10-02, in reply to the seat's recommendation after #21212 landed.Measured (at
origin/mainc7396f1a9)packages/cli/package.json→oclif.pluginslists@oclif/plugin-helpand@oclif/plugin-plugins. Both packages appear only indevDependencies(^7.0.2,^7.0.3).oclif.pluginsnames only againstdependencies, so neither plugin ever loads:bin/run.js:84-94records the measurement:os --helplists 34 topics, and none of them isplugins.@oclif/core5.1.2: the root help lists no plugins and no help topic.content/docs/plugins/index.mdx:400-408;packages/cli/README.md### os plugins (oclif)(about line 206) and## oclif Plugin System(about lines 216-277);packages/cli/bin/run.js:84-94;packages/cli/src/commands/doctor.ts:2377-2380anddoctor-deprecation-hint-commands.test.ts:15;packages/cli/test/plugin-commands.test.ts:22-23;docs/qa/platform-checklist/areas/cli.json:658;packages/spec/src/kernel/cli-extension.zod.ts:17-18, plus its generated pagecontent/docs/references/kernel/cli-extension.mdx:21(carried by spec(kernel): the cli-extension.zod.ts TSDoc tells plugin authors toos plugins install, a commandoshas never registered #21286, not this card).What to do
pluginsarray fromoclifinpackages/cli/package.json. Change no otheroclifkey.require, scripts, fixtures. A name inside a comment is not a consumer.devDependenciesand regeneratepnpm-lock.yamlwith the repo's tooling. ⛔ Never hand-edit it.os --helpand the full command list byte-identical before and after.content/docs/plugins/index.mdxcallout. Its stated reason ("lists@oclif/plugin-pluginsunderoclif.plugins, but the package sits indevDependencies") becomes false. Restate the fact as it will be:@objectstack/cliships no plugin manager,os plugins …andos helpare not commands, andos --helpis the help entry. Keep the build-your-own-distribution route only if it is still true.packages/cli/README.md:### os plugins (oclif)and## oclif Plugin Systemdescribeos plugins install/uninstall/updateas available, which is false. Correct them.packages/cli/bin/run.js:84-94: its reasoning names thedevDependenciesplacement. Restate it to the new fact.doctor.ts:2377-2380anddoctor-deprecation-hint-commands.test.ts:15say "neither bundled plugin … supplies one". After this change there is no bundled plugin. Restate.test/plugin-commands.test.ts:22-23asserts both entries are present. Rewrite it to pin the new truth (nooclif.plugins, no plugin manager). ⛔ Do not just delete the guard.docs/qa/platform-checklist/areas/cli.json:658: the evidence text names the array's contents.packages/spec/src/kernel/cli-extension.zod.ts:17-18and its generated pagecontent/docs/references/kernel/cli-extension.mdx:21("or users install it viaos plugins install <pkg>"). That sentence sits on the spec contract surface, which is spec-lane work. It is carried by spec(kernel): the cli-extension.zod.ts TSDoc tells plugin authors toos plugins install, a commandoshas never registered #21286. Leave both files untouched.patchfor@objectstack/cli(its published manifest'socliffield and its README). Notskip-changeset.Out of scope (a separate maintainer question)
With no plugin manager and no listed plugins, the CLI-extension protocol in
cli-extension.zod.ts(OclifPluginConfig) describes a capability noosuser can reach today, short of building their ownosdistribution. Whether to deliver it (a plugin manager as a real dependency) or retire the protocol (ADR-0049 enforce-or-remove) goes to the maintainer separately. ⛔ This card corrects false sentences only. It changes no schema or export.Generated by Claude Code