class __CLASS_NAME__ < Formula desc "DingTalk Workspace CLI" homepage "https://github.com/DingTalk-Real-AI/dingtalk-workspace-cli" url "__ARCHIVE_URL__" sha256 "__ARCHIVE_SHA256__" license "Apache-2.0" __KEG_ONLY_LINE__ resource "skills" do url "__SKILLS_URL__" sha256 "__SKILLS_SHA256__" end def install require "fileutils" root = Dir["dws-*"].find { |entry| File.directory?(entry) } || "." binary = File.join(root, "dws") raise "binary not found: #{binary}" unless File.exist?(binary) bin.install binary => "dws" %w[LICENSE NOTICE README.md CHANGELOG.md].each do |name| source = File.join(root, name) pkgshare.install source if File.exist?(source) end skill_dest = pkgshare/"skills/dws" skill_dest.mkpath resource("skills").stage do FileUtils.cp_r(Dir["*"], skill_dest) end end def post_install require "fileutils" skill_root = pkgshare/"skills/dws" entries = Dir["#{skill_root}/*"] return if entries.empty? targets = [ Pathname.new(File.join(Dir.home, ".agents/skills/dws")), Pathname.new(File.join(Dir.home, ".claude/skills/dws")), Pathname.new(File.join(Dir.home, ".cursor/skills/dws")), Pathname.new(File.join(Dir.home, ".qoder/skills/dws")), Pathname.new(File.join(Dir.home, ".qoderwork/skills/dws")), Pathname.new(File.join(Dir.home, ".gemini/skills/dws")), Pathname.new(File.join(Dir.home, ".codex/skills/dws")), Pathname.new(File.join(Dir.home, ".github/skills/dws")), Pathname.new(File.join(Dir.home, ".windsurf/skills/dws")), Pathname.new(File.join(Dir.home, ".augment/skills/dws")), Pathname.new(File.join(Dir.home, ".cline/skills/dws")), Pathname.new(File.join(Dir.home, ".amp/skills/dws")), Pathname.new(File.join(Dir.home, ".kiro/skills/dws")), Pathname.new(File.join(Dir.home, ".trae/skills/dws")), Pathname.new(File.join(Dir.home, ".openclaw/skills/dws")), Pathname.new(File.join(Dir.home, ".hermes/skills/dws")), ] targets.each_with_index do |dest, index| parent_gate = dest.parent.parent next if index > 0 && !parent_gate.directory? FileUtils.rm_rf(dest) FileUtils.mkdir_p(dest) FileUtils.cp_r(entries, dest) end end test do assert_match "dws", shell_output("#{bin}/dws --help") end end