Flip the agent-skill default from mono (single dws/ dir) to multi (per-product dingtalk-* + dws-shared) across all distribution faces, and fix the upgrade path so it no longer re-installs mono alongside multi (mono+multi co-existence bug). - upgrade: LocateSkillsRoot prefers the zip multi/ tree; multi refresh removes mono leftovers and stale skills, refreshes the multi cache - install.sh/ps1/install-skills.sh/npm install.js: multi real-install (was print-only), default flipped, mono stays opt-in via DWS_SKILL_MODE - skill setup: non-interactive default multi; full installs now clean stale dingtalk-*/dws-shared with confirm-preview disclosure, filtered (-s/-x) installs stay additive - mutual exclusion is symmetric and includes dws-shared (previously leaked through the dingtalk- prefix) on all faces - install.js: guard empty/corrupt multi trees (fall back to mono), validate SKILL.md on the mono branch, guard cache refreshes - docs: roadmap (8/30 back-schedule), migration plan, distribution mechanism, rollout capability, capability completion, architecture optimization, wukong comparison (archived; line retired) Co-authored-by: Cursor <cursoragent@cursor.com>
Go Bootstrap Scripts
These repo-local entrypoints are the supported shell entrypoints for building, testing, packaging, and policy checks.
make build: build thedwsCLI fromcmdmake test: run every default package returned bygo list ./...make test-plan: verify every default Go package belongs to exactly one CI test shardmake lint: run the repository-wide format check,go vet, and requiredstaticcheckmake format-check: check every tracked or non-ignored untracked repository Go source file withgofmtmake fmt: format every tracked or non-ignored untracked repository Go source filemake policy: reuse the currentdwsbinary and run the complete policy suite (make buildfirst)make package: build all release artifacts locallymake release-pre VERSION=vX.Y.Z-beta.N: validate a prerelease (PUBLISH=1pushes its tag)make release-stable VERSION=vX.Y.Z FROM_BETA=vX.Y.Z-beta.N: validate a stable promotion (PUBLISH=1pushes its tag)
Script groups:
- Root installers:
./scripts/install.sh,./scripts/install.ps1,./scripts/install-skills.sh - Product convenience installers:
./scripts/install-devapp.sh,./scripts/install-devapp.ps1,./scripts/install-event.sh - CI package plan:
./scripts/ci/test-packages.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-command-compatibility.sh --base-ref <main-ref> --stable-ref <latest-GA-tag>,./scripts/policy/check-schema-catalog.sh,./scripts/policy/check-schema-binary.sh,./scripts/policy/check-open-source-assets.sh - Policy runtime files: set
DWS_POLICY_TMPDIRto override the default.worktrees/policy-tmpworkspace - Release entrypoint and contract:
./scripts/release/release.sh,./scripts/release/release-contract.sh; operator guide:docs/releasing.md - Release packaging helpers:
./scripts/release/post-goreleaser.sh,./scripts/release/stage-npm-package.sh,./scripts/release/pack-npm-package.sh,./scripts/release/verify-delivered-stable.sh,./scripts/release/verify-release-artifacts.sh,./scripts/release/verify-github-release-assets.sh,./scripts/release/verify-github-tag-authority.sh,./scripts/release/verify-package-managers.sh,./scripts/release/publish-homebrew-formula.sh