{"_id":"@ai-dancer/apm","_rev":"9-f0337cac30188cf2e2615b6382ed7ba1","name":"@ai-dancer/apm","dist-tags":{"experimental":"0.0.0-experimental-fe378f93-20260320","latest":"1.1.4"},"versions":{"0.0.0-experimental-f3df352c-20260311":{"name":"@ai-dancer/apm","version":"0.0.0-experimental-f3df352c-20260311","keywords":["cli","agent-skills","skills","ai-agents","claude-code","package-manager","apm"],"author":{"name":"ai-dancer"},"license":"MIT","_id":"@ai-dancer/apm@0.0.0-experimental-f3df352c-20260311","maintainers":[{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"}],"homepage":"https://github.com/huaxiabuluo/apm#readme","bugs":{"url":"https://github.com/huaxiabuluo/apm/issues"},"bin":{"apm":"bin/cli.mjs"},"dist":{"shasum":"ef0b0324d03d68ee1764980cf74fa89459b4ba92","tarball":"https://registry.npmjs.org/@ai-dancer/apm/-/apm-0.0.0-experimental-f3df352c-20260311.tgz","fileCount":7,"integrity":"sha512-olskWKT5AMvc09j1bhzam00WHZ0N1Jh2GOSQB9PSAL1uFsAYUFQwrYjEvoYJRWuJ808qwR0ZBRn31ZSiMDIs4Q==","signatures":[{"sig":"MEUCIEQrbbX21gXpiQ4tJmmDNmRDs61hCP62zDT04ABZqfpbAiEAsPgX1vp+5/L+YGgTsx/HQLm/D//ZGmQpMMRpfrzl8Wo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":101982},"type":"module","module":"dist/index.js","engines":{"install-node":"20"},"gitHead":"f3df352c402f00fa0041255a685b865f376229ec","scripts":{"ci":"npm run lint && vitest --coverage --passWithNoTests","cov":"vitest --coverage","dev":"node src/cli.ts","lint":"npm run lint:eslint && npm run lint:format","test":"vitest","build":"obuild","prepare":"husky","type-check":"tsc --noEmit","build:watch":"obuild --watch","lint:eslint":"eslint .","lint:format":"prettier --check .","prepublishOnly":"npm run build","publish:experimental":"node scripts/publish-experimental.mjs"},"typings":"dist/index.d.ts","_npmUser":{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/huaxiabuluo/apm.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent Package Management - Universal package manager for AI agent skills","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --cache --parser=typescript --write"],"*.{md,json}":["prettier --cache --write"],"*.{css,less}":["prettier --cache --write"],"*.{js,jsx,mjs,cjs}":["eslint --fix","prettier --cache --write"]},"_nodeVersion":"24.12.0","dependencies":{"tar":"^7.5.7","undici":"^7.21.0","cli-table3":"^0.6.5","picocolors":"^1.1.1","simple-git":"^3.30.0","gray-matter":"^4.0.3","@babel/runtime":"^7.18.0","@clack/prompts":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.1","devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^10.0.3","obuild":"^0.4.22","vitest":"^4.0.17","globals":"^17.4.0","prettier":"^2.0.0","@eslint/js":"^10.0.1","@types/tar":"^6.1.11","@vitest/ui":"^4.0.17","@types/jest":"^29.4.0","@types/node":"^20.11.0","lint-staged":"^13.0.0","@commitlint/cli":"^17.3.0","typescript-eslint":"^8.57.0","@vitest/coverage-v8":"^4.0.18","jest-environment-jsdom":"^29.4.3","@commitlint/config-conventional":"^17.3.0"},"_npmOperationalInternal":{"tmp":"tmp/apm_0.0.0-experimental-f3df352c-20260311_1773220505427_0.5788640604887973","host":"s3://npm-registry-packages-npm-production"}},"1.0.0":{"name":"@ai-dancer/apm","version":"1.0.0","keywords":["cli","agent-skills","skills","ai-agents","claude-code","package-manager","apm"],"author":{"name":"ai-dancer"},"license":"MIT","_id":"@ai-dancer/apm@1.0.0","maintainers":[{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"}],"homepage":"https://github.com/huaxiabuluo/apm#readme","bugs":{"url":"https://github.com/huaxiabuluo/apm/issues"},"bin":{"apm":"bin/cli.mjs"},"dist":{"shasum":"243e7e63b28d164f14208e1ce708070cc21c2077","tarball":"https://registry.npmjs.org/@ai-dancer/apm/-/apm-1.0.0.tgz","fileCount":6,"integrity":"sha512-AkvrLi3ZMBDJzskLfED3wyz4m7lJIlwSsazjE4f5qdTK+DQWpS2BEW4ymfaNcNBzWeihd181/iz/cSNoAGfCWA==","signatures":[{"sig":"MEUCID3v/d+dGBxcvLoU1m5sSWnSzFx6+qjru6F0z8i2NdYLAiEAzjBK2HcBP1wcU6GF48954oKs1Dm7V2LIdMBO6RlIKVQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-dancer%2fapm@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":96683},"type":"module","module":"dist/index.js","engines":{"install-node":"20"},"gitHead":"f3df352c402f00fa0041255a685b865f376229ec","scripts":{"ci":"npm run lint && vitest --coverage --passWithNoTests","cov":"vitest --coverage","dev":"node src/cli.ts","lint":"npm run lint:eslint && npm run lint:format","test":"vitest","build":"obuild","prepare":"husky","type-check":"tsc --noEmit","build:watch":"obuild --watch","lint:eslint":"eslint .","lint:format":"prettier --check .","prepublishOnly":"npm run build"},"typings":"dist/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cdd5a022-9069-4ad5-be93-5713e29dadb7"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/huaxiabuluo/apm.git","type":"git"},"_npmVersion":"11.9.0","description":"Agent Package Management - Universal package manager for AI agent skills","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --cache --parser=typescript --write"],"*.{md,json}":["prettier --cache --write"],"*.{css,less}":["prettier --cache --write"],"*.{js,jsx,mjs,cjs}":["eslint --fix","prettier --cache --write"]},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.7","undici":"^7.21.0","cli-table3":"^0.6.5","picocolors":"^1.1.1","simple-git":"^3.30.0","gray-matter":"^4.0.3","@babel/runtime":"^7.18.0","@clack/prompts":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.1","devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^10.0.3","obuild":"^0.4.22","vitest":"^4.0.17","globals":"^17.4.0","prettier":"^2.0.0","@eslint/js":"^10.0.1","@types/tar":"^6.1.11","@vitest/ui":"^4.0.17","@types/jest":"^29.4.0","@types/node":"^20.11.0","lint-staged":"^13.0.0","@commitlint/cli":"^17.3.0","typescript-eslint":"^8.57.0","@vitest/coverage-v8":"^4.0.18","jest-environment-jsdom":"^29.4.3","@commitlint/config-conventional":"^17.3.0"},"_npmOperationalInternal":{"tmp":"tmp/apm_1.0.0_1773221458032_0.41957994943980914","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-experimental-a1b262f5-20260311":{"name":"@ai-dancer/apm","version":"0.0.0-experimental-a1b262f5-20260311","keywords":["cli","agent-skills","skills","ai-agents","claude-code","package-manager","apm"],"author":{"name":"ai-dancer"},"license":"MIT","_id":"@ai-dancer/apm@0.0.0-experimental-a1b262f5-20260311","maintainers":[{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"}],"homepage":"https://github.com/huaxiabuluo/apm#readme","bugs":{"url":"https://github.com/huaxiabuluo/apm/issues"},"bin":{"apm":"bin/cli.mjs"},"dist":{"shasum":"3ac1f705d16af70de2dbfb5ef87697bd82518635","tarball":"https://registry.npmjs.org/@ai-dancer/apm/-/apm-0.0.0-experimental-a1b262f5-20260311.tgz","fileCount":7,"integrity":"sha512-g/isbvSSzfrT2rPw+Vk2imzVXAoxFWMWzT4zplEvvh3ywexP8LsTSSeClvrTA5LfVqJYoEAWCRbFuO0caf270A==","signatures":[{"sig":"MEUCICk2lM8bEWU0qZjyRbEtoCripAkhIVUEJYUjzNAIZ9pbAiEAmmB0reCb/CWZbpLNyJIuzU/CkWIdWU/7rQ1Qxv6mMfc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":102793},"type":"module","module":"dist/index.js","engines":{"install-node":"20"},"gitHead":"a1b262f585cd682a4e973caacaddf9fbf94761b0","scripts":{"ci":"npm run lint && vitest --coverage --passWithNoTests","cov":"vitest --coverage","dev":"node src/cli.ts","lint":"npm run lint:eslint && npm run lint:format","test":"vitest","build":"obuild","prepare":"husky","type-check":"tsc --noEmit","build:watch":"obuild --watch","lint:eslint":"eslint .","lint:format":"prettier --check .","prepublishOnly":"npm run build","publish:experimental":"node scripts/publish-experimental.mjs"},"typings":"dist/index.d.ts","_npmUser":{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/huaxiabuluo/apm.git","type":"git"},"_npmVersion":"11.6.2","description":"Agent Package Management - Universal package manager for AI agent skills","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --cache --parser=typescript --write"],"*.{md,json}":["prettier --cache --write"],"*.{css,less}":["prettier --cache --write"],"*.{js,jsx,mjs,cjs}":["eslint --fix","prettier --cache --write"]},"_nodeVersion":"24.12.0","dependencies":{"tar":"^7.5.7","undici":"^7.21.0","cli-table3":"^0.6.5","picocolors":"^1.1.1","simple-git":"^3.30.0","gray-matter":"^4.0.3","@babel/runtime":"^7.18.0","@clack/prompts":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.1","readmeFilename":"README.md","devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^10.0.3","obuild":"^0.4.22","vitest":"^4.0.17","globals":"^17.4.0","prettier":"^2.0.0","@eslint/js":"^10.0.1","@types/tar":"^6.1.11","@vitest/ui":"^4.0.17","@types/jest":"^29.4.0","@types/node":"^20.11.0","lint-staged":"^13.0.0","@commitlint/cli":"^17.3.0","typescript-eslint":"^8.57.0","@vitest/coverage-v8":"^4.0.18","jest-environment-jsdom":"^29.4.3","@commitlint/config-conventional":"^17.3.0"},"_npmOperationalInternal":{"tmp":"tmp/apm_0.0.0-experimental-a1b262f5-20260311_1773223365152_0.814591587620529","host":"s3://npm-registry-packages-npm-production"}},"0.0.0-experimental-fe378f93-20260320":{"name":"@ai-dancer/apm","version":"0.0.0-experimental-fe378f93-20260320","keywords":["cli","agent-skills","skills","ai-agents","claude-code","package-manager","apm"],"author":{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"},"license":"MIT","_id":"@ai-dancer/apm@0.0.0-experimental-fe378f93-20260320","maintainers":[{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"}],"homepage":"https://github.com/huaxiabuluo/apm#readme","bugs":{"url":"https://github.com/huaxiabuluo/apm/issues"},"bin":{"apm":"bin/cli.mjs"},"dist":{"shasum":"ce24b35bc62529e23d51241f28fa9b39857293f9","tarball":"https://registry.npmjs.org/@ai-dancer/apm/-/apm-0.0.0-experimental-fe378f93-20260320.tgz","fileCount":7,"integrity":"sha512-yB4vItwBVd3zEPpr04r1cAAq0tiuLmPNWbE7ZAk7cug3yIiyETNXks/RBWMtjdcthA4WSVxSgxTzORAqGHdmzA==","signatures":[{"sig":"MEUCIHC+msb658GGMSiqHezF4ACm56qtTf3+36ociRW9bWXWAiEA6PnaCco0jdHnKmHMr5DaMcX5Cyvpo3ouc7+a7HN/TcY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":106249},"type":"module","module":"dist/index.js","engines":{"install-node":"20"},"gitHead":"fe378f93faa25e91b6440cfe302b2ffd3799bd2b","scripts":{"ci":"npm run lint && vitest --coverage --passWithNoTests","cov":"vitest --coverage","dev":"node src/cli.ts","lint":"npm run lint:eslint && npm run lint:format","test":"vitest","build":"obuild","prepare":"husky install","type-check":"tsc --noEmit","build:watch":"obuild --watch","lint:eslint":"eslint .","lint:format":"prettier --check .","prepublishOnly":"npm run build","publish:experimental":"node scripts/publish-experimental.mjs"},"typings":"dist/index.d.ts","_npmUser":{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/huaxiabuluo/apm.git","type":"git"},"_npmVersion":"10.9.2","description":"Agent Package Management - Universal package manager for AI agent skills","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --cache --parser=typescript --write"],"*.{md,json}":["prettier --cache --write"],"*.{css,less}":["prettier --cache --write"],"*.{js,jsx,mjs,cjs}":["eslint --fix","prettier --cache --write"]},"_nodeVersion":"22.17.1","dependencies":{"tar":"^7.5.7","undici":"^7.21.0","cli-table3":"^0.6.5","picocolors":"^1.1.1","simple-git":"^3.30.0","gray-matter":"^4.0.3","@babel/runtime":"^7.18.0","@clack/prompts":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.1","readmeFilename":"README.md","devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^10.0.3","obuild":"^0.4.22","vitest":"^4.0.17","globals":"^17.4.0","prettier":"^2.0.0","@eslint/js":"^10.0.1","@types/tar":"^6.1.11","@vitest/ui":"^4.0.17","@types/jest":"^29.4.0","@types/node":"^20.11.0","lint-staged":"^13.0.0","@commitlint/cli":"^17.3.0","typescript-eslint":"^8.57.0","@vitest/coverage-v8":"^4.0.18","jest-environment-jsdom":"^29.4.3","@commitlint/config-conventional":"^17.3.0"},"_npmOperationalInternal":{"tmp":"tmp/apm_0.0.0-experimental-fe378f93-20260320_1773993678268_0.3675639498389547","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@ai-dancer/apm","version":"1.1.0","keywords":["cli","agent-skills","skills","ai-agents","claude-code","package-manager","apm"],"author":{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"},"license":"MIT","_id":"@ai-dancer/apm@1.1.0","maintainers":[{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"}],"homepage":"https://github.com/huaxiabuluo/apm#readme","bugs":{"url":"https://github.com/huaxiabuluo/apm/issues"},"bin":{"apm":"bin/cli.mjs"},"dist":{"shasum":"886b3ca5dd5941c1d705a1d4a67472a2c764d4cf","tarball":"https://registry.npmjs.org/@ai-dancer/apm/-/apm-1.1.0.tgz","fileCount":7,"integrity":"sha512-xgDAMQWTknJVhcLOEQ9dL+3WOBeBpCcN9H+MvGlcQk309T3OXrMy/C1+gCQGvGdFC5WqQBfG3+FhHZJSBe7bMg==","signatures":[{"sig":"MEUCIQCbpJgTAggrOXcxQrcVaFnhbQvzRP962/VuEXi6hfPF9gIgLqX5mm84RO29YtbPQaTqes6lYtGNC7sopWQmYuoOZYo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-dancer%2fapm@1.1.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":106218},"type":"module","module":"dist/index.js","engines":{"install-node":"20"},"gitHead":"2798052d7bf64c81f22fafc7bfefe80f5487c6c4","scripts":{"ci":"npm run lint && vitest --coverage --passWithNoTests","cov":"vitest --coverage","dev":"node src/cli.ts","lint":"npm run lint:eslint && npm run lint:format","test":"vitest","build":"obuild","prepare":"husky install","type-check":"tsc --noEmit","build:watch":"obuild --watch","lint:eslint":"eslint .","lint:format":"prettier --check .","prepublishOnly":"npm run build","publish:experimental":"node scripts/publish-experimental.mjs"},"typings":"dist/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cdd5a022-9069-4ad5-be93-5713e29dadb7"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/huaxiabuluo/apm.git","type":"git"},"_npmVersion":"11.9.0","description":"Agent Package Management - Universal package manager for AI agent skills","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --cache --parser=typescript --write"],"*.{md,json}":["prettier --cache --write"],"*.{css,less}":["prettier --cache --write"],"*.{js,jsx,mjs,cjs}":["eslint --fix","prettier --cache --write"]},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.7","undici":"^7.21.0","cli-table3":"^0.6.5","picocolors":"^1.1.1","simple-git":"^3.30.0","gray-matter":"^4.0.3","@babel/runtime":"^7.18.0","@clack/prompts":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.1","devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^10.0.3","obuild":"^0.4.22","vitest":"^4.0.17","globals":"^17.4.0","prettier":"^3.0.0","@eslint/js":"^10.0.1","@types/tar":"^6.1.11","@vitest/ui":"^4.0.17","@types/jest":"^29.4.0","@types/node":"^20.11.0","lint-staged":"^13.0.0","@commitlint/cli":"^17.3.0","typescript-eslint":"^8.57.0","@vitest/coverage-v8":"^4.0.18","jest-environment-jsdom":"^29.4.3","@commitlint/config-conventional":"^17.3.0"},"_npmOperationalInternal":{"tmp":"tmp/apm_1.1.0_1773996508163_0.05550457596656577","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"@ai-dancer/apm","version":"1.1.1","keywords":["cli","agent-skills","skills","ai-agents","claude-code","package-manager","apm"],"author":{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"},"license":"MIT","_id":"@ai-dancer/apm@1.1.1","maintainers":[{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"}],"homepage":"https://github.com/huaxiabuluo/apm#readme","bugs":{"url":"https://github.com/huaxiabuluo/apm/issues"},"bin":{"apm":"bin/cli.mjs"},"dist":{"shasum":"31ce5c6af1a5c83a012e459108157a5d9c243799","tarball":"https://registry.npmjs.org/@ai-dancer/apm/-/apm-1.1.1.tgz","fileCount":7,"integrity":"sha512-5sqkU9gOC3F/mfZoqu7xEv6/NR0ScaQtYtsJXCRQnOLyhButI6rAVSvVgCVooB94FGrbbUZUZfsj3qj4Q8T1wQ==","signatures":[{"sig":"MEUCIDSO4kYEW+POfOWUf4DfoZ9Nm00wU/fHr90LxdvHjVJsAiEA/BAtJELphTy3YDu32M4I3uylle832olTikh0/34C6P0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-dancer%2fapm@1.1.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":106307},"type":"module","module":"dist/index.js","engines":{"install-node":"20"},"gitHead":"f376a7ddf725edab91e6a78792e5abe60aa25eb5","scripts":{"ci":"npm run lint && vitest --coverage --passWithNoTests","cov":"vitest --coverage","dev":"node src/cli.ts","lint":"npm run lint:eslint && npm run lint:format","test":"vitest","build":"obuild","prepare":"husky install","type-check":"tsc --noEmit","build:watch":"obuild --watch","lint:eslint":"eslint .","lint:format":"prettier --check .","prepublishOnly":"npm run build","publish:experimental":"node scripts/publish-experimental.mjs"},"typings":"dist/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cdd5a022-9069-4ad5-be93-5713e29dadb7"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/huaxiabuluo/apm.git","type":"git"},"_npmVersion":"11.9.0","description":"Agent Package Management - Universal package manager for AI agent skills","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --cache --parser=typescript --write"],"*.{md,json}":["prettier --cache --write"],"*.{css,less}":["prettier --cache --write"],"*.{js,jsx,mjs,cjs}":["eslint --fix","prettier --cache --write"]},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.7","undici":"^7.21.0","cli-table3":"^0.6.5","picocolors":"^1.1.1","simple-git":"^3.30.0","gray-matter":"^4.0.3","@babel/runtime":"^7.18.0","@clack/prompts":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.1","devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^10.0.3","obuild":"^0.4.22","vitest":"^4.0.17","globals":"^17.4.0","prettier":"^3.0.0","@eslint/js":"^10.0.1","@types/tar":"^6.1.11","@vitest/ui":"^4.0.17","@types/jest":"^29.4.0","@types/node":"^20.11.0","lint-staged":"^13.0.0","@commitlint/cli":"^17.3.0","typescript-eslint":"^8.57.0","@vitest/coverage-v8":"^4.0.18","jest-environment-jsdom":"^29.4.3","@commitlint/config-conventional":"^17.3.0"},"_npmOperationalInternal":{"tmp":"tmp/apm_1.1.1_1774001048449_0.8407527282308911","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"@ai-dancer/apm","version":"1.1.2","keywords":["cli","agent-skills","skills","ai-agents","claude-code","package-manager","apm"],"author":{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"},"license":"MIT","_id":"@ai-dancer/apm@1.1.2","maintainers":[{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"}],"homepage":"https://github.com/huaxiabuluo/apm#readme","bugs":{"url":"https://github.com/huaxiabuluo/apm/issues"},"bin":{"apm":"bin/cli.mjs"},"dist":{"shasum":"3fcf1b9267fbf90960ece4a15d915f103fbce034","tarball":"https://registry.npmjs.org/@ai-dancer/apm/-/apm-1.1.2.tgz","fileCount":7,"integrity":"sha512-rlOcrlRgoYxPl4I11jRVwZXl3ayIKBiOUvPV8uY7F0epT5d8sP0aZdA2sLYWG9dZJHgAmnpoG9end+tIC7hBWA==","signatures":[{"sig":"MEYCIQDh+TMbz9uEot6x2NWSzdtkfj9m5SVQpwLSq6QicA6pEwIhANHa665A0nj42XHP2yNl/L7ttLfYOkI0J/EJjMViqZFU","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-dancer%2fapm@1.1.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":111398},"type":"module","module":"dist/index.js","engines":{"install-node":"20"},"gitHead":"583709ffb6ee4b4e75d6b8fd27a1bc97addf7523","scripts":{"ci":"npm run lint && vitest --coverage --passWithNoTests","cov":"vitest --coverage","dev":"node src/cli.ts","lint":"npm run lint:eslint && npm run lint:format","test":"vitest","build":"obuild","prepare":"husky install","type-check":"tsc --noEmit","build:watch":"obuild --watch","lint:eslint":"eslint .","lint:format":"prettier --check .","prepublishOnly":"npm run build","publish:experimental":"node scripts/publish-experimental.mjs"},"typings":"dist/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cdd5a022-9069-4ad5-be93-5713e29dadb7"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/huaxiabuluo/apm.git","type":"git"},"_npmVersion":"11.11.0","description":"Agent Package Management - Universal package manager for AI agent skills","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --cache --parser=typescript --write"],"*.{md,json}":["prettier --cache --write"],"*.{css,less}":["prettier --cache --write"],"*.{js,jsx,mjs,cjs}":["eslint --fix","prettier --cache --write"]},"_nodeVersion":"24.14.1","dependencies":{"tar":"^7.5.7","undici":"^7.21.0","cli-table3":"^0.6.5","picocolors":"^1.1.1","simple-git":"^3.30.0","gray-matter":"^4.0.3","@babel/runtime":"^7.18.0","@clack/prompts":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.1","devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^10.0.3","obuild":"^0.4.22","vitest":"^4.0.17","globals":"^17.4.0","prettier":"^3.0.0","@eslint/js":"^10.0.1","@types/tar":"^6.1.11","@vitest/ui":"^4.0.17","@types/jest":"^29.4.0","@types/node":"^20.11.0","lint-staged":"^13.0.0","@commitlint/cli":"^17.3.0","typescript-eslint":"^8.57.0","@vitest/coverage-v8":"^4.0.18","jest-environment-jsdom":"^29.4.3","@commitlint/config-conventional":"^17.3.0"},"_npmOperationalInternal":{"tmp":"tmp/apm_1.1.2_1775125414716_0.8737144499101839","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"@ai-dancer/apm","version":"1.1.3","keywords":["cli","agent-skills","skills","ai-agents","claude-code","package-manager","apm"],"author":{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"},"license":"MIT","_id":"@ai-dancer/apm@1.1.3","maintainers":[{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"}],"homepage":"https://github.com/huaxiabuluo/apm#readme","bugs":{"url":"https://github.com/huaxiabuluo/apm/issues"},"bin":{"apm":"bin/cli.mjs"},"dist":{"shasum":"5c26b2f7916d87beecab692391616ff3b3bd7d9b","tarball":"https://registry.npmjs.org/@ai-dancer/apm/-/apm-1.1.3.tgz","fileCount":7,"integrity":"sha512-3k4Yo6e1K+dH4UbFuTpyNkjGeEwv836VS6QoadPB1glrsAHjyoVaATuTtJyTZ1+z9CJlojA1wNg7bF5mpe3NMw==","signatures":[{"sig":"MEUCIBy5MbyCAyr56/ArEvd2yrWQmAqBKrlGCsXY7n9LdqZhAiEAiDNuxHQIgIiMXPn/dh54ZrmG3O2bmqHnCacBV1y/W7U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-dancer%2fapm@1.1.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":112565},"type":"module","module":"dist/index.js","engines":{"install-node":"20"},"gitHead":"df39e3b35b490beb472e1e19a2feb9559b1fdc58","scripts":{"ci":"npm run lint && vitest --coverage --passWithNoTests","cov":"vitest --coverage","dev":"node src/cli.ts","lint":"npm run lint:eslint && npm run lint:format","test":"vitest","build":"obuild","prepare":"husky install","type-check":"tsc --noEmit","build:watch":"obuild --watch","lint:eslint":"eslint .","lint:format":"prettier --check .","prepublishOnly":"npm run build","publish:experimental":"node scripts/publish-experimental.mjs"},"typings":"dist/index.d.ts","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cdd5a022-9069-4ad5-be93-5713e29dadb7"}},"commitlint":{"extends":["@commitlint/config-conventional"]},"repository":{"url":"git+https://github.com/huaxiabuluo/apm.git","type":"git"},"_npmVersion":"11.9.0","description":"Agent Package Management - Universal package manager for AI agent skills","directories":{},"lint-staged":{"*.{ts,tsx}":["eslint --fix","prettier --cache --parser=typescript --write"],"*.{md,json}":["prettier --cache --write"],"*.{css,less}":["prettier --cache --write"],"*.{js,jsx,mjs,cjs}":["eslint --fix","prettier --cache --write"]},"_nodeVersion":"24.14.0","dependencies":{"tar":"^7.5.7","undici":"^7.21.0","cli-table3":"^0.6.5","picocolors":"^1.1.1","simple-git":"^3.30.0","gray-matter":"^4.0.3","@babel/runtime":"^7.18.0","@clack/prompts":"^1.0.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"packageManager":"pnpm@10.28.1","devDependencies":{"jest":"^29.4.3","husky":"^8.0.0","eslint":"^10.0.3","obuild":"^0.4.22","vitest":"^4.0.17","globals":"^17.4.0","prettier":"^3.0.0","@eslint/js":"^10.0.1","@types/tar":"^6.1.11","@vitest/ui":"^4.0.17","@types/jest":"^29.4.0","@types/node":"^20.11.0","lint-staged":"^13.0.0","@commitlint/cli":"^17.3.0","typescript-eslint":"^8.57.0","@vitest/coverage-v8":"^4.0.18","jest-environment-jsdom":"^29.4.3","@commitlint/config-conventional":"^17.3.0"},"_npmOperationalInternal":{"tmp":"tmp/apm_1.1.3_1775199842561_0.08038846236533703","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"@ai-dancer/apm","license":"MIT","version":"1.1.4","description":"Agent Package Management - Universal package manager for AI agent skills","repository":{"type":"git","url":"git+https://github.com/huaxiabuluo/apm.git"},"homepage":"https://github.com/huaxiabuluo/apm#readme","bugs":{"url":"https://github.com/huaxiabuluo/apm/issues"},"author":{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"},"type":"module","packageManager":"pnpm@10.28.1","module":"dist/index.js","typings":"dist/index.d.ts","publishConfig":{"access":"public"},"bin":{"apm":"bin/cli.mjs"},"scripts":{"build":"obuild","build:watch":"obuild --watch","ci":"npm run lint && vitest --coverage --passWithNoTests","cov":"vitest --coverage","dev":"node src/cli.ts","lint":"npm run lint:eslint && npm run lint:format","lint:eslint":"eslint .","lint:format":"prettier --check .","publish:experimental":"node scripts/publish-experimental.mjs","prepare":"husky install","prepublishOnly":"npm run build","test":"vitest","type-check":"tsc --noEmit"},"commitlint":{"extends":["@commitlint/config-conventional"]},"lint-staged":{"*.{md,json}":["prettier --cache --write"],"*.{js,jsx,mjs,cjs}":["eslint --fix","prettier --cache --write"],"*.{css,less}":["prettier --cache --write"],"*.{ts,tsx}":["eslint --fix","prettier --cache --parser=typescript --write"]},"dependencies":{"@babel/runtime":"^7.18.0","@clack/prompts":"^1.0.0","cli-table3":"^0.6.5","gray-matter":"^4.0.3","picocolors":"^1.1.1","simple-git":"^3.30.0","tar":"^7.5.7","undici":"^7.21.0"},"devDependencies":{"@commitlint/cli":"^17.3.0","@commitlint/config-conventional":"^17.3.0","@eslint/js":"^10.0.1","@types/jest":"^29.4.0","@types/node":"^20.11.0","@types/tar":"^6.1.11","@vitest/coverage-v8":"^4.0.18","@vitest/ui":"^4.0.17","eslint":"^10.0.3","globals":"^17.4.0","husky":"^8.0.0","jest":"^29.4.3","jest-environment-jsdom":"^29.4.3","lint-staged":"^13.0.0","obuild":"^0.4.22","prettier":"^3.0.0","typescript-eslint":"^8.57.0","vitest":"^4.0.17"},"engines":{"install-node":"20"},"keywords":["cli","agent-skills","skills","ai-agents","claude-code","package-manager","apm"],"gitHead":"fc78283928812128b9ebbda141bf08f5b05ca656","_id":"@ai-dancer/apm@1.1.4","_nodeVersion":"24.15.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-AKriPnsmxaWw+bl7SqtxiKEwKyud33FqopxaRkZ3bHTaQbndLHEm6m8AWKCrni7uPb5cfcfB6GCcJCqQfnXb/g==","shasum":"b8cde46c86eb5beea8b84f2e7d835797d64f5cc9","tarball":"https://registry.npmjs.org/@ai-dancer/apm/-/apm-1.1.4.tgz","fileCount":7,"unpackedSize":113554,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@ai-dancer%2fapm@1.1.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCUKfWQG+IUnQ40kabDYQO9fIFzjQgViclJ6Cqzonb1bQIgBfklkSXG5hUliGqxBd3emle4RgXH6K43RWH5Pdc4/VY="}]},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:cdd5a022-9069-4ad5-be93-5713e29dadb7"}},"directories":{},"maintainers":[{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/apm_1.1.4_1779675924687_0.460791351612428"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-11T09:15:05.362Z","modified":"2026-05-25T02:25:25.118Z","0.0.0-experimental-f3df352c-20260311":"2026-03-11T09:15:05.604Z","1.0.0":"2026-03-11T09:30:58.190Z","0.0.0-experimental-a1b262f5-20260311":"2026-03-11T10:02:45.322Z","0.0.0-experimental-fe378f93-20260320":"2026-03-20T08:01:18.423Z","1.1.0":"2026-03-20T08:48:28.310Z","1.1.1":"2026-03-20T10:04:08.592Z","1.1.2":"2026-04-02T10:23:34.853Z","1.1.3":"2026-04-03T07:04:02.705Z","1.1.4":"2026-05-25T02:25:24.827Z"},"bugs":{"url":"https://github.com/huaxiabuluo/apm/issues"},"author":{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"},"license":"MIT","homepage":"https://github.com/huaxiabuluo/apm#readme","keywords":["cli","agent-skills","skills","ai-agents","claude-code","package-manager","apm"],"repository":{"type":"git","url":"git+https://github.com/huaxiabuluo/apm.git"},"description":"Agent Package Management - Universal package manager for AI agent skills","maintainers":[{"name":"huaxiabuluo","email":"huaxiabuluo@hotmail.com"}],"readme":"# APM (Agent Package Management)\n\nUniversal package manager for AI agent skills\n\nEnglish | [简体中文](./docs/README.zh.md)\n\n## Badges\n\n[![npm version](https://badge.fury.io/js/%40ai-dancer%2Fapm.svg)](https://www.npmjs.com/package/@ai-dancer/apm)\n[![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\n![install-node 20](https://img.shields.io/badge/node-%3E%3D18-brightgreen)\n\n## Features\n\n- **apm.json versioning**: records each skill source and version for reproducible installs\n- **Multiple source types**: GitHub, Git, and NPM, including private registries\n- **Version management**: supports update checks with `check` and upgrades with `update`\n- **Multi-agent installation**: built-in support for `universal`, `claude-code`, and `openclaw`\n- **Universal mode compatibility**: Amp, Cline, Codex, Cursor, Gemini CLI, GitHub Copilot, Kimi Code CLI, and OpenCode can read `.agents/skills` directly\n- **Shared primary copy**: the Universal directory is the primary copy; other agents use symlinks or directory copies\n- **Global mode**: supports installing config and skills under the user home directory\n\n## Multi-Agent Support\n\nAPM can install skills for multiple AI coding agents.\n\n### Built-in Support\n\n- **Universal** (`.agents/skills`): always enabled and used as the primary copy\n- **Claude Code** (`.claude/skills`): the default additional agent\n- **OpenClaw** (`skills/`): can be enabled with `init --agent openclaw` or by editing `apm.json`\n\n### Universal-Compatible Agents\n\nThe following tools can use the Universal directory (`.agents/skills`) directly and usually do not need extra `additionalAgents` configuration:\n\n- Amp\n- Cline\n- Codex\n- Cursor\n- Gemini CLI\n- GitHub Copilot\n- Kimi Code CLI\n- OpenCode\n\n### Configuring Additional Agents\n\nTo configure additional agents, edit the `additionalAgents` field in `apm.json`:\n\n```jsonc\n{\n  \"version\": 1,\n  \"additionalAgents\": [\n    {\n      \"name\": \"claude-code\",\n      \"displayName\": \"Claude Code\",\n      \"skillsDir\": \".claude/skills\"\n    },\n    {\n      \"name\": \"custom-agent\",\n      \"displayName\": \"Custom Agent\",\n      \"skillsDir\": \".custom/skills\"\n    }\n  ],\n  \"skills\": { ... }\n}\n```\n\nRules:\n\n- If `additionalAgents` is absent, APM enables **Claude Code** by default\n- If `additionalAgents` is an explicit empty array `[]`, only **Universal** is enabled\n- If `additionalAgents` contains entries, those entries are used as-is\n- Universal (`.agents`) is always included as the primary copy\n- `skillsDir` is resolved relative to the project root in project mode and relative to the user home directory in global mode\n- `globalSkillsDir` is internal runtime state and is not written to `apm.json`\n\nBuilt-in additional agents:\n\n| Agent Name      | Skill Directory  | Notes                              |\n| --------------- | ---------------- | ---------------------------------- |\n| **Claude Code** | `.claude/skills` | Included by default                |\n| **OpenClaw**    | `skills/`        | Optional built-in additional agent |\n\nNotes:\n\n- Universal (`.agents/skills`) is the primary copy\n- Other agents share the same skill content through symlinks when possible\n- You can define multiple custom agents in `additionalAgents`\n\n## Installation Modes\n\nAPM supports two installation modes.\n\n### Project Mode\n\nSkills and configuration are stored inside the project root:\n\n```text\nproject-root/\n├── .agents/\n│   ├── apm.json\n│   └── skills/\n└── .claude/\n    └── skills/\n```\n\nUse project mode for repository-local skills that should be tracked and shared with the team.\n\n### Global Mode\n\nSkills and configuration are stored under the user home directory:\n\n```text\n~/.agents/\n├── skills/\n└── apm.json\n```\n\nUse global mode for personal skills shared across projects.\n\nAdd `-g` or `--global` to supported commands:\n\n```bash\napm add -g github:anthropics/skills\napm install -g\napm list -g\napm remove -g my-skill\napm check -g\napm update -g\n```\n\n## Quick Start\n\n### Install APM\n\n```bash\nnpx @ai-dancer/apm\n\nnpm install -g @ai-dancer/apm\n```\n\n### Initialize Configuration\n\n```bash\n# Interactive initialization (defaults to claude-code)\napm init\n\n# Explicit additional agents\napm init --agent claude-code\napm init --agent claude-code --agent openclaw\n\n# Global configuration\napm init -g\n```\n\n### Add Skills\n\n```bash\n# NPM package\napm add npm:@ai-dancer/apm\napm add npm:@ai-dancer/apm@1.2.3\n\n# NPM package with a custom registry\napm add 'npm:@ai-dancer/apm?registry=https://registry.example.com'\napm add 'npm:@ai-dancer/apm@1.2.3?registry=https://registry.example.com'\n\n# GitHub repository\n# `github:` is shorthand for a GitHub-hosted `git:` source\napm add github:anthropics/skills\napm add github:vercel-labs/skills@tag:v1.4.4\napm add github:anthropics/skills@branch:main\n\n# Generic Git repository\napm add git:https://github.com/owner/repo.git\napm add git:https://github.com/owner/repo.git@branch:main\napm add git:https://github.com/owner/repo.git@tag:v1.0.0\napm add git:git@github.com:vercel-labs/agent-skills.git\napm add git:git@github.com:vercel-labs/agent-skills.git@branch:main\n\n# List skills without installing\napm add github:anthropics/skills --list\n\n# Install skills without saving to apm.json\napm add github:anthropics/skills --no-save\n\n# Install all or selected skills from a multi-skill repository\napm add github:anthropics/skills --skill \"*\"\napm add github:anthropics/skills --skill frontend-design --skill skill-creator\n```\n\n### Check and Update\n\n```bash\napm check\napm check my-skill\napm check -g\n\napm update\napm update --select\napm update my-skill --no-install\napm update -g\n```\n\n### Common Commands\n\n| Command                                                     | Description                                                           |\n| ----------------------------------------------------------- | --------------------------------------------------------------------- |\n| `apm init [-g] [--agent <name>...]`                         | Initialize project or global configuration                            |\n| `apm add <source> [options]`                                | Add skills to `apm.json` and install them (`--no-save` installs only) |\n| `apm install [-g] [--confirm]`                              | Reinstall skills from `apm.json`                                      |\n| `apm list [-g] [--verbose]`                                 | List configured skills and installation status                        |\n| `apm remove <skill-name>... [-g] [--yes]`                   | Remove skills from config and delete installed files                  |\n| `apm check [skill-name...] [-g]`                            | Check for updates                                                     |\n| `apm update [skill-name...] [-g] [--select] [--no-install]` | Update skills                                                         |\n| `apm --help` / `apm --version`                              | Show help or version information                                      |\n\n### `--no-save` Behavior\n\n`apm add <source> --no-save` installs the selected skills into the target agent directories, but does not write them to `apm.json`.\n\nThis is similar to `npm install --no-save`:\n\n- The skill is installed immediately\n- The skill is not recorded in `apm.json`\n- `apm list`, `apm install`, `apm update`, and `apm remove` do not manage that skill unless it is later added normally\n- `apm add --no-save` still downloads the source package or repository in order to discover and install skills\n\n## `apm.json`\n\n`apm.json` records configured skills and agent settings.\n\n- **Project mode**: `project-root/.agents/apm.json`\n- **Global mode**: `~/.agents/apm.json`\n\n```jsonc\n{\n  \"version\": 1,\n  \"additionalAgents\": [\n    {\n      \"name\": \"claude-code\",\n      \"displayName\": \"Claude Code\",\n      \"skillsDir\": \".claude/skills\"\n    }\n  ],\n  \"skills\": {\n    \"find-skills\": {\n      \"source\": \"anthropics/skills\",\n      \"sourceType\": \"github\",\n      \"sourceUrl\": \"https://github.com/anthropics/skills.git\",\n      \"mode\": \"tag\",\n      \"tag\": \"v1.0.0\",\n      \"skillPath\": \"skills/frontend-design/SKILL.md\"\n    },\n    \"my-skill-dev\": {\n      \"source\": \"owner/repo\",\n      \"sourceType\": \"github\",\n      \"sourceUrl\": \"https://github.com/owner/repo.git\",\n      \"mode\": \"branch\",\n      \"branch\": \"main\",\n      \"commit\": \"b304a4188c71877e54373d72109be034d455953b\",\n      \"skillPath\": \"skills/my-skill/SKILL.md\"\n    },\n    \"my-npm-skill\": {\n      \"source\": \"@ai-dancer/apm\",\n      \"sourceType\": \"npm\",\n      \"sourceUrl\": \"https://registry.npmjs.org/@ai-dancer/apm\",\n      \"version\": \"1.2.3\",\n      \"skillPath\": \"SKILL.md\"\n    },\n    \"my-private-skill\": {\n      \"source\": \"@company/skills\",\n      \"sourceType\": \"npm\",\n      \"sourceUrl\": \"https://registry.example.com/@company/skills\",\n      \"version\": \"1.0.0\",\n      \"skillPath\": \"SKILL.md\",\n      \"registry\": \"https://registry.example.com\"\n    }\n  }\n}\n```\n\n### Field Reference\n\n| Field                            | Type   | Description                                                                                                               |\n| -------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------- |\n| `version`                        | number | Config version, currently always `1`                                                                                      |\n| `additionalAgents`               | array  | Optional list of additional agent configs                                                                                 |\n| `additionalAgents[].name`        | string | Agent identifier, such as `claude-code`                                                                                   |\n| `additionalAgents[].displayName` | string | Human-readable agent name                                                                                                 |\n| `additionalAgents[].skillsDir`   | string | Skill directory path; relative to the project root in project mode and relative to the user home directory in global mode |\n| `skills`                         | object | Configured skill entries                                                                                                  |\n| `skills.<name>.source`           | string | Source identifier                                                                                                         |\n| `skills.<name>.sourceType`       | string | Supported source types: `github`, `git`, `npm`                                                                            |\n| `skills.<name>.sourceUrl`        | string | Full source URL                                                                                                           |\n| `skills.<name>.mode`             | string | Git version mode: `tag` or `branch`                                                                                       |\n| `skills.<name>.tag`              | string | Git tag, used when `mode` is `tag`                                                                                        |\n| `skills.<name>.branch`           | string | Git branch, used when `mode` is `branch`                                                                                  |\n| `skills.<name>.commit`           | string | Git commit hash, used when `mode` is `branch`                                                                             |\n| `skills.<name>.version`          | string | NPM package version                                                                                                       |\n| `skills.<name>.skillPath`        | string | Path to `SKILL.md` relative to the source root                                                                            |\n| `skills.<name>.registry`         | string | Optional NPM registry URL                                                                                                 |\n\n## Directory Layout\n\n### Default Layout (Universal + Claude Code)\n\n```text\nproject-root/\n├── .agents/\n│   ├── apm.json\n│   └── skills/\n│       └── find-skills/\n│           └── SKILL.md\n└── .claude/\n    └── skills/\n        └── find-skills -> ../../.agents/skills/find-skills\n```\n\nWhen additional agents are enabled, APM creates symlinks in their `skillsDir`. If symlink creation fails, it falls back to copying the directory. For example, OpenClaw may look like this:\n\n```text\nproject-root/\n└── skills/\n    └── find-skills -> ../.agents/skills/find-skills\n```\n\nNote: there is currently no global cache layer. Skill files are installed directly into the target directories.\n\n## Skill Package Structure\n\nA typical skill package repository looks like this:\n\n```text\nowner/skills-repo/\n├── skills/\n│   └── find-skills/\n│       └── SKILL.md\n├── README.md\n└── package.json\n```\n\nAPM automatically searches these locations for skills:\n\n- repository root\n- `skills/`\n- `skills/.curated/`\n- `skills/.experimental/`\n- `skills/.system/`\n- `.agent/skills/`\n- `.agents/skills/`\n- `.claude/skills/`\n\n## Development\n\n```bash\nnpm run type-check\nnpm test\nnpm run build\nnode bin/cli.mjs --help\n```\n\n## License\n\nMIT\n\n## Contributing\n\nContributions are welcome. Please feel free to submit a pull request.\n\n## Support\n\nIf you have questions or need help, please open an issue on GitHub.\n","readmeFilename":"README.md"}