* fix(install): add .hermes/skills to AGENT_DIRS (#188) dws 安装后未自动复制 skill 到 .hermes/skills/。在 4 份硬编码的 AGENT_DIRS 清单(build/npm/install.js、scripts/install.sh、 scripts/install.ps1、scripts/install-skills.sh)末尾追加 .hermes/skills,与现有'父目录守卫'逻辑天然兼容: - 已安装 Hermes 的用户:自动获得 ~/.hermes/skills/dws - 未安装 Hermes 的用户:父目录不存在则跳过,零副作用 Closes #188 * fix(install): cover remaining 4 AGENT_DIRS sources for .hermes/skills (review feedback) Address review feedback from #221: the AGENT_DIRS list actually has 8 sources in the repo, not 4. Without this commit, dws upgrade users and Homebrew users would still NOT get .hermes/skills/dws populated even after the previous 4-script fix landed. Fixes (functional): - internal/upgrade/paths.go (knownSkillDirs): Append .hermes/skills so 'dws upgrade' refreshes ~/.hermes/skills/dws/ for users who have Hermes installed. - build/homebrew.rb.tmpl (post_install targets): Append .hermes/skills/dws so brew users also get the skill copied to ~/.hermes/skills/dws on post_install. Fixes (test / smoke coverage): - test/scripts/package_script_test.go (expectedPackagedSkillTargets): Append .hermes/skills/dws so future regressions (e.g. someone removes .hermes from install.js) are caught by CI. - scripts/release/verify-package-managers.sh (HOME_AGENT_PARENTS / HOME_SKILL_TARGETS): Append .hermes to both lists so the release-time npm/brew smoke test actually asserts ~/.hermes/skills/dws/SKILL.md exists. Documentation: - internal/upgrade/paths.go: expanded the 'Kept in sync with' comment from a single file reference (build/npm/install.js) to all 7 in-sync sources, so future maintainers don't have to rediscover this list. Verification: - go vet ./internal/upgrade/... ./test/scripts/... PASS - go build ./... PASS - sh -n scripts/install.sh PASS - sh -n scripts/install-skills.sh PASS - sh -n scripts/release/verify-package-managers.sh PASS - node --check build/npm/install.js PASS --------- Co-authored-by: 猷诺 <bicheng.ybc@alibaba-inc.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: rungo test ./...make lint: run formatting checks and requiredgolangci-lintmake fmt: format Go source files undercmd/,internal/, andtest/make package: build all release artifacts locally viagoreleaser --snapshotmake release: build and publish a release viagoreleaser
Script groups:
- Root installers:
./scripts/install.sh,./scripts/install.ps1,./scripts/install-skills.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