Files
修雨 49637d982e feat(compat): hide phantom override commands from --help (tool-existence guard)
Override leaves whose backing MCP tool isn't actually deployed rendered in
`dws <svc> --help` but failed at invocation with "tool not found" (43 phantom
commands across 391 overrides; attendance declared 38, only 4 deployed).

BuildDynamicCommands now takes an existingTools oracle (CLI slug -> live tool
set from the tools/ cache). A leaf whose tool is missing from its resolved
server's set is marked Hidden; groups left childless collapse. Safety rails:
acts only when a server's tool set is KNOWN and non-empty (cold cache / overlay
/ plugin paths pass nil and no-op, never blanking the tree); serverOverride
leaves resolve against the target server; pipeline leaves are never hidden.

Adds scripts/dev/check-phantom-overrides.py as a publish-time gate, and
phantom_guard_test.go covering hide / cold-cache-keep / serverOverride / pipeline
/ empty-group-collapse.
2026-06-29 10:53:03 +08:00
..
2026-03-27 17:55:57 +08:00
2026-06-22 16:08:51 +08:00

Go Bootstrap Scripts

These repo-local entrypoints are the supported shell entrypoints for building, testing, packaging, and policy checks.

  • make build: build the dws CLI from cmd
  • make test: run go test ./...
  • make lint: run formatting checks and required golangci-lint
  • make fmt: format Go source files under cmd/, internal/, and test/
  • make package: build all release artifacts locally via goreleaser --snapshot
  • make release: build and publish a release via goreleaser

Script groups:

  • Root installers: ./scripts/install.sh, ./scripts/install.ps1, ./scripts/install-skills.sh, ./scripts/install-devapp.sh
  • Dev helpers: ./scripts/dev/build.sh, ./scripts/dev/lint.sh, ./scripts/dev/ci-local.sh, ./scripts/dev/run-mock-e2e.sh, ./scripts/dev/coverage.sh
  • Policy checks: ./scripts/policy/check-generated-drift.sh, ./scripts/policy/check-command-surface.sh, ./scripts/policy/check-open-source-assets.sh
  • Release helpers: ./scripts/release/post-goreleaser.sh, ./scripts/release/verify-package-managers.sh, ./scripts/release/publish-homebrew-formula.sh