333 lines
14 KiB
JSON
333 lines
14 KiB
JSON
{
|
|
"$schema": "internal://schemas/plugin.lock.v1.json",
|
|
"pluginId": "gh:greyhaven-ai/claude-code-config:grey-haven-plugins/developer-experience",
|
|
"normalized": {
|
|
"repo": null,
|
|
"ref": "refs/tags/v20251128.0",
|
|
"commit": "382f952f867a3240da5793cf4e0969e10d519654",
|
|
"treeHash": "51c21b2c4157042854383f81ae706ca51846c25f90b6d4865b3a80b9f950e16c",
|
|
"generatedAt": "2025-11-28T10:17:03.858002Z",
|
|
"toolVersion": "publish_plugins.py@0.2.0"
|
|
},
|
|
"origin": {
|
|
"remote": "git@github.com:zhongweili/42plugin-data.git",
|
|
"branch": "master",
|
|
"commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390",
|
|
"repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data"
|
|
},
|
|
"manifest": {
|
|
"name": "developer-experience",
|
|
"description": "Developer experience and team collaboration tools including onboarding automation, documentation generation, async standups with Linear integration, and knowledge management",
|
|
"version": "1.0.0"
|
|
},
|
|
"content": {
|
|
"files": [
|
|
{
|
|
"path": "README.md",
|
|
"sha256": "4625c80929ebcbca5dd49347eddbe882c4b970ad04b910932d7ef12cdb96eafd"
|
|
},
|
|
{
|
|
"path": ".claude-plugin/plugin.json",
|
|
"sha256": "f3e99e441ec7836e0752274f5f93051be3855979922b8ae87730e2ba2d893508"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/SKILL.md",
|
|
"sha256": "502488f938236df62ca739706a8fb22af156df310d292fa092cae2dd579ffc1b"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/checklists/security-review.md",
|
|
"sha256": "3a239b4edb905c3418f342504c842e4e9a620a99c51534e18122f1ba582dbab9"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/checklists/api-design-checklist.md",
|
|
"sha256": "1db3c2c9e2d45b0f797b45643104092e5b4ccf1bcd5310df03fce562bfae90eb"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/examples/pydantic-schemas.md",
|
|
"sha256": "06d10bb37ff544bb19ea0c104eeb342767cc93dd6d40611a6a4171fb31172457"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/examples/fastapi-crud.md",
|
|
"sha256": "48ed7e7554e0668d59508749f5650889d813ca29f51c68b8e70b874b2155f065"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/examples/pagination.md",
|
|
"sha256": "a3d5bb435548e6123270f825e8acaf549d66a96ab361021822586bedb4714fc0"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/examples/testing.md",
|
|
"sha256": "60f8a0ebb121d27627f2899001dc95f416f42743d72ce87de735df194a9a4bd6"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/examples/tanstack-start.md",
|
|
"sha256": "4c20160b0a93c2b2b03e73a54036aa319818344f369e8ec043c71790efd82dd8"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/examples/INDEX.md",
|
|
"sha256": "59f8b71dc0e5ad1c47b35bca28b2a06832424efb4d4f9f8c00b7e4777b11df7c"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/templates/repository-pattern.py",
|
|
"sha256": "d3918975b70d5721c98e975d66ad8ba1b2c58b8658b50639abac166652a310e2"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/templates/rate-limiter.py",
|
|
"sha256": "e973f344999d39e1877a8e242c461c4cff0b2813a35a91ba8dc13100b34e9859"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/templates/pydantic-schemas.py",
|
|
"sha256": "7ca11e5145c0f7c63cff08b0d891c88a658779b0257c0f397088dc6a8e76eb6f"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/templates/fastapi-crud-endpoint.py",
|
|
"sha256": "fb287b8e6eb79e1a3f8c975e894e95c2acc20df8c64c942205542e9b3104f971"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/templates/error-handler.py",
|
|
"sha256": "0de1a732dcb7b67d7f9d9119566cec7f37b8826ce80343da34973bf4b26eb3e6"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/templates/tanstack-server-function.ts",
|
|
"sha256": "027ba481af0ad8c62610002ad51ba9dfb3018cf400724c86cbe4fdf53e13df56"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/reference/authentication.md",
|
|
"sha256": "ab85a5deeec98e237f76334a702ecbc78c7a1eb7a4c3b1235f796ce7dc58d6b3"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/reference/cors-rate-limiting.md",
|
|
"sha256": "218aab01fca085c60f94bb5d76246899a1ee6c40ed207375e8c5915935fc0f25"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/reference/fastapi-setup.md",
|
|
"sha256": "ba9187313da1e02bbc85ab172482cef5f140145b666bfbc1625bd93ee2dd84de"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/reference/error-handlers.md",
|
|
"sha256": "4644e1baa08893c0b157cc4034963bfddee5c5b0ffd6f295fbbc54d5f65477fb"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/reference/INDEX.md",
|
|
"sha256": "7c252ae328f28a82c9ab9c695a956145c4f5f492f4058b754996c4591733bf52"
|
|
},
|
|
{
|
|
"path": "skills/api-design-standards/reference/openapi.md",
|
|
"sha256": "715654b6c57c511476f8205e0406ba1040470fad7b1df27bacaa4e0df81b8c02"
|
|
},
|
|
{
|
|
"path": "skills/pr-template/SKILL.md",
|
|
"sha256": "36d4187f82e46c82a69e7d55c0ecb59e7a123dc532e82aa2d40057f2170cac44"
|
|
},
|
|
{
|
|
"path": "skills/pr-template/checklists/pr-checklist.md",
|
|
"sha256": "fae708a5e5ba6945c510dd1ac558f2e1b1198a779dea2353c66a95fca2222677"
|
|
},
|
|
{
|
|
"path": "skills/pr-template/templates/feature-template.md",
|
|
"sha256": "4001ad70a77de76e351b66509af3c897433055f7e9c3eae9bff14f1c3f2a8b52"
|
|
},
|
|
{
|
|
"path": "skills/ontological-documentation/README.md",
|
|
"sha256": "8e762699f91f2e33a621fca42d0445f6f7bacaaa6d192c0c8b06bdc1d149b9ca"
|
|
},
|
|
{
|
|
"path": "skills/ontological-documentation/SKILL.md",
|
|
"sha256": "3d6b80205d3322a338e17047c3ddfb72e9a712a8b417d0c9ee2c6dafb26d464f"
|
|
},
|
|
{
|
|
"path": "skills/ontological-documentation/checklists/ontology-documentation-checklist.md",
|
|
"sha256": "42b3b947b7a29445e825a3945f40a64255f9567ff26c8670b18f05b28daddf23"
|
|
},
|
|
{
|
|
"path": "skills/ontological-documentation/examples/ecommerce-ontology.md",
|
|
"sha256": "2a6f18dbc8464bcb18c4610146293da86d5e433d3613f265a99edc97b5f2b413"
|
|
},
|
|
{
|
|
"path": "skills/ontological-documentation/examples/INDEX.md",
|
|
"sha256": "494611f1b8e5918aa0e404afc3bd2cd4151122eb83a0071cb511b2bddf304d3c"
|
|
},
|
|
{
|
|
"path": "skills/ontological-documentation/scripts/generate_ontology_diagram.py",
|
|
"sha256": "72b0e84ab906ce9cadbd11087365bae19d4eec3d72ec54276080fc66d061b30f"
|
|
},
|
|
{
|
|
"path": "skills/ontological-documentation/scripts/README.md",
|
|
"sha256": "f1fbe7e1f1204a804b53af53b6fb21552e5f966f75813744358573e884152e8c"
|
|
},
|
|
{
|
|
"path": "skills/ontological-documentation/scripts/extract_concepts.py",
|
|
"sha256": "67397467c86c3b1f2eeba7ffe38ab53223244aa358430d61c3597f4d9caacdbf"
|
|
},
|
|
{
|
|
"path": "skills/ontological-documentation/templates/assets-README.md",
|
|
"sha256": "33fa54d4da095c36cb98324276261bff799f1b487b1b66464d58016726a20480"
|
|
},
|
|
{
|
|
"path": "skills/ontological-documentation/templates/domain-ontology.md",
|
|
"sha256": "54f6faaba617f709915963ea744851c539522b94b94267ef8eae2ee0185e2da2"
|
|
},
|
|
{
|
|
"path": "skills/ontological-documentation/reference/concept_extraction_guide.md",
|
|
"sha256": "831e0ba24dda053a2e1d6ad049beef5f2b8e464a28d197b8a3ccfa9370891a81"
|
|
},
|
|
{
|
|
"path": "skills/ontological-documentation/reference/ontology_patterns.md",
|
|
"sha256": "36145f294e1d316198dea178f9a6c64605120144cb58adf69dcc8934bd1389ee"
|
|
},
|
|
{
|
|
"path": "skills/ontological-documentation/reference/README.md",
|
|
"sha256": "df8fc60c65ddf4e94b75b1514eb70a03a979fa21f5912ce91c1b65868a125d95"
|
|
},
|
|
{
|
|
"path": "skills/ontological-documentation/reference/INDEX.md",
|
|
"sha256": "b0d715f473f6a618bf01c3824b07fcaa0ea36b4eb14bed6269a0bfac42e78ba2"
|
|
},
|
|
{
|
|
"path": "skills/ontological-documentation/reference/documentation_templates.md",
|
|
"sha256": "59a120c9b812338c15c008522a5e0e99308b8df1ac55eee9999afef2450d0068"
|
|
},
|
|
{
|
|
"path": "skills/project-structure/SKILL.md",
|
|
"sha256": "76e6c568af7efe357041e2525f546dbaa8a79c3689934860f6e9434402f3b396"
|
|
},
|
|
{
|
|
"path": "skills/project-structure/checklists/project-setup-checklist.md",
|
|
"sha256": "7b54cca9b77c13a82ea2f6a1b9d3892ad778046b5275dec88fb21353ebb91a0c"
|
|
},
|
|
{
|
|
"path": "skills/project-structure/examples/INDEX.md",
|
|
"sha256": "62b81c66e19647bf2e0518111abb020cb75604740750beb94b22c3edd3f0c75e"
|
|
},
|
|
{
|
|
"path": "skills/project-structure/reference/INDEX.md",
|
|
"sha256": "1674663009d90e565e8cdb4b13495be9532cc9f567ad6841da379bc9da276f10"
|
|
},
|
|
{
|
|
"path": "skills/onboarding-coordination/SKILL.md",
|
|
"sha256": "35c2a48b6d53865e832e52047049461a55efdf3283a75ba4915d52ade0b0388e"
|
|
},
|
|
{
|
|
"path": "skills/onboarding-coordination/examples/INDEX.md",
|
|
"sha256": "839ac38874b65f569d05cf84b743fd63f837bf974c903ee48c2d9f8a7146dbc4"
|
|
},
|
|
{
|
|
"path": "skills/onboarding-coordination/templates/INDEX.md",
|
|
"sha256": "2af8827d1ea2943368ed7be7dcc13963b1d38b6b673844b142d819d47c2ce8a7"
|
|
},
|
|
{
|
|
"path": "skills/onboarding-coordination/reference/INDEX.md",
|
|
"sha256": "72833a433e47c814286dc13ef10785fd035a7e95ec23f418c1060561b3d11d29"
|
|
},
|
|
{
|
|
"path": "skills/code-style/EXAMPLES.md",
|
|
"sha256": "675ffc254bd74e019a0ec5d7b51bfb5e27c659d8f9f0aeaade42bcdbeb2e21fa"
|
|
},
|
|
{
|
|
"path": "skills/code-style/REFERENCE.md",
|
|
"sha256": "43904b5d8597b676677641de845a667a4f5c3f89a7ea47a50eba565105c8e7d9"
|
|
},
|
|
{
|
|
"path": "skills/code-style/SKILL.md",
|
|
"sha256": "6602a54886c8315705f9654a6768b92ee2dc93a1ec6af53d482a1bc2a8b8fb19"
|
|
},
|
|
{
|
|
"path": "skills/code-style/checklists/python-review.md",
|
|
"sha256": "8810802c882e73d4f9a00e16eb9f95e62a505e41a0f0856d58ba555e82e30726"
|
|
},
|
|
{
|
|
"path": "skills/code-style/checklists/typescript-review.md",
|
|
"sha256": "b23cc57b91cfb41a49fd694ba6a2f0666e46ebd7da9a8ea76fa52749ff829d16"
|
|
},
|
|
{
|
|
"path": "skills/code-style/templates/typescript-component.tsx",
|
|
"sha256": "1270d35dddeb7a6dffc125b47dfc60ef00838f48e868470177010ff78048a74a"
|
|
},
|
|
{
|
|
"path": "skills/code-style/templates/python-model.py",
|
|
"sha256": "6a575992f2b25993d7f005a71022b6280640b44342c51c953c61b31fc8d3119a"
|
|
},
|
|
{
|
|
"path": "skills/code-style/templates/typescript-server-function.ts",
|
|
"sha256": "c91202362eb2257be052319bfe3c023cba144ed0736cc5980224cf2e57060bbe"
|
|
},
|
|
{
|
|
"path": "skills/code-style/templates/python-endpoint.py",
|
|
"sha256": "199749bee12cc9894c0067bd9c135ce762cc3fd02efdc039963c971673bc3505"
|
|
},
|
|
{
|
|
"path": "skills/code-style/templates/.prettierrc.json",
|
|
"sha256": "dfbd47294d39568b0e933089c4c5be3d91ddd12a7b385a6d68d5337aafc512b5"
|
|
},
|
|
{
|
|
"path": "skills/code-style/templates/ruff.toml",
|
|
"sha256": "7b1e9d695e4e3a455acd61b98bc31ff86d936989daf16a783e7089a504537cc7"
|
|
},
|
|
{
|
|
"path": "skills/code-style/templates/.eslintrc.json",
|
|
"sha256": "57db390995cc0938f81298248d272e9686b96e9c6eabf85b26e6581db3f2c39c"
|
|
},
|
|
{
|
|
"path": "skills/documentation-architecture/SKILL.md",
|
|
"sha256": "46ea8d28041c321c367e937b6d61bb62ad1e4a4a3dd5b9deed0a8bcd8ddcd8cf"
|
|
},
|
|
{
|
|
"path": "skills/documentation-architecture/checklists/documentation-quality-checklist.md",
|
|
"sha256": "f144397d848f7d67ba1926da2ef8e22c1568914bfdfd0835069722d71502e7d4"
|
|
},
|
|
{
|
|
"path": "skills/documentation-architecture/examples/architecture-docs.md",
|
|
"sha256": "3bbbba3c9b52429e395ab116f73545c3dd1631a690d05a5035dbbef3a64edf5a"
|
|
},
|
|
{
|
|
"path": "skills/documentation-architecture/examples/openapi-generation.md",
|
|
"sha256": "402c402e3afe373677fa81fff14759d2c14cc003b26e4b5815c2f01933a86fc9"
|
|
},
|
|
{
|
|
"path": "skills/documentation-architecture/examples/INDEX.md",
|
|
"sha256": "f6854bb2df3a7f4277db7372a7328e6a95d62c20e8a6abe6b646571674c0d7c7"
|
|
},
|
|
{
|
|
"path": "skills/documentation-architecture/examples/coverage-validation.md",
|
|
"sha256": "a52da791f52accdacb3d5f9a5fda0861d0495935d86d979dbc99ee6f3024d877"
|
|
},
|
|
{
|
|
"path": "skills/documentation-architecture/templates/openapi-spec.yaml",
|
|
"sha256": "9971ea0aec2ba505cc7d86cdbe203d235cbd016f18be62eaf1c79b5051c452bb"
|
|
},
|
|
{
|
|
"path": "skills/documentation-architecture/templates/api-endpoint.md",
|
|
"sha256": "ae4d3d8e08b300f3f6570d4e985edffe0a54a310feb1a8b662b8b5bc83274323"
|
|
},
|
|
{
|
|
"path": "skills/documentation-architecture/templates/architecture-doc.md",
|
|
"sha256": "7e207ef69ec2c8b7fcf9dabfc1c94ab202d74a815d1cb43c2b6b9b6a172cece0"
|
|
},
|
|
{
|
|
"path": "skills/documentation-architecture/templates/INDEX.md",
|
|
"sha256": "09e59e94be27f582c75c0d5579d1bb8a7508b148e1a1c4582e1a1383f4e73f71"
|
|
},
|
|
{
|
|
"path": "skills/documentation-architecture/reference/mermaid-diagrams.md",
|
|
"sha256": "b43cedd8370a2556d79976f7fb44514de9e458bdf0a6b21beac6171c19290960"
|
|
},
|
|
{
|
|
"path": "skills/documentation-architecture/reference/documentation-standards.md",
|
|
"sha256": "3e5ed6c0887bf43fe1fadf53420269f20d449007953d74b32018979de27c8fe7"
|
|
},
|
|
{
|
|
"path": "skills/documentation-architecture/reference/INDEX.md",
|
|
"sha256": "f78452c5dc51406cde72499d4bd65af8bc59d16d5c3b5c5ac5d96dead9ec8e87"
|
|
},
|
|
{
|
|
"path": "skills/documentation-architecture/reference/openapi-patterns.md",
|
|
"sha256": "2ae229c7f3415cde4dfc0384911259dedc037fc9f1f7b46e7cdcb743b49b3728"
|
|
}
|
|
],
|
|
"dirSha256": "51c21b2c4157042854383f81ae706ca51846c25f90b6d4865b3a80b9f950e16c"
|
|
},
|
|
"security": {
|
|
"scannedAt": null,
|
|
"scannerVersion": null,
|
|
"flags": []
|
|
}
|
|
} |