145 lines
5.7 KiB
JSON
145 lines
5.7 KiB
JSON
{
|
|
"$schema": "internal://schemas/plugin.lock.v1.json",
|
|
"pluginId": "gh:greyhaven-ai/claude-code-config:grey-haven-plugins/data-quality",
|
|
"normalized": {
|
|
"repo": null,
|
|
"ref": "refs/tags/v20251128.0",
|
|
"commit": "7265592fee44be60c2f716a9cbab82773f093454",
|
|
"treeHash": "0fc0729719008a1b481d54dde60cd736f6a8080d3f7eff0686b645c546d3b75d",
|
|
"generatedAt": "2025-11-28T10:17:05.676196Z",
|
|
"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": "data-quality",
|
|
"description": "Data validation and quality assurance tools using Pydantic v2, schema validation, data contracts, and quality monitoring for PlanetScale PostgreSQL databases",
|
|
"version": "1.0.0"
|
|
},
|
|
"content": {
|
|
"files": [
|
|
{
|
|
"path": "README.md",
|
|
"sha256": "1e3b9c48bc67d8b8a31853e9f0b429acee1131c0b111098deb964fcfe41a346e"
|
|
},
|
|
{
|
|
"path": ".claude-plugin/plugin.json",
|
|
"sha256": "348326ccd423923fccddbb6446f54671b0fb5ddedf6a9709f6d966dd40d763a9"
|
|
},
|
|
{
|
|
"path": "skills/database-conventions/SKILL.md",
|
|
"sha256": "9267de5d10193db61485f04711a686becb73ebd5b8f38e57039dbceb2d4f55cf"
|
|
},
|
|
{
|
|
"path": "skills/database-conventions/checklists/schema-checklist.md",
|
|
"sha256": "4447fa7407a948c8c2aefeaaded3932cddccf9a2d1771cd66aee5abd1dddc682"
|
|
},
|
|
{
|
|
"path": "skills/database-conventions/checklists/migration-checklist.md",
|
|
"sha256": "9d84612667c40d6cffd1b673e7482575f7bbe037c1dd644389fe1f1c14253d4d"
|
|
},
|
|
{
|
|
"path": "skills/database-conventions/examples/migrations.md",
|
|
"sha256": "f71a9a8e72471270ac8eb383aa5784b9f58dad340d87c9b251a15b7aa38ac62a"
|
|
},
|
|
{
|
|
"path": "skills/database-conventions/examples/rls-policies.md",
|
|
"sha256": "25fd8768d47128debe21a293e4358b96634039b6f466a8276b28b90e0cbf646d"
|
|
},
|
|
{
|
|
"path": "skills/database-conventions/examples/INDEX.md",
|
|
"sha256": "ce65a1bb03dcb476b9e25c0ffc0a3b139518d4ebfa81452334e6a62e3ef14af7"
|
|
},
|
|
{
|
|
"path": "skills/database-conventions/examples/drizzle-schemas.md",
|
|
"sha256": "d2074fcfe660d6156f874e1780f4be1305b3b26f0ffd7248d50639d2c1083812"
|
|
},
|
|
{
|
|
"path": "skills/database-conventions/examples/sqlmodel-schemas.md",
|
|
"sha256": "9eb5141dc2fa3a32777b0af3060ed11a3c53eb7d6de26a717f9a0b071d7f25ea"
|
|
},
|
|
{
|
|
"path": "skills/database-conventions/templates/sqlmodel-table.py",
|
|
"sha256": "b3a14e3d8ecdf791ba941a2c93dcdda1c7b2e6fe793f483bdeae73131ca34414"
|
|
},
|
|
{
|
|
"path": "skills/database-conventions/templates/drizzle-table.ts",
|
|
"sha256": "70f1b982ab54fc33f1d956ce447aa49cc9c86135f32ebf81951767997ae6a7a6"
|
|
},
|
|
{
|
|
"path": "skills/database-conventions/reference/relationships.md",
|
|
"sha256": "94e46cfe658e1e08d727628743a96e0628cff65e651fd56b8b2ae02b22ae388e"
|
|
},
|
|
{
|
|
"path": "skills/database-conventions/reference/indexing.md",
|
|
"sha256": "dfc2104ce360cff92b2c6e915eaa2b7c8d2a65e7df6b6a9cc26cc82d7e077953"
|
|
},
|
|
{
|
|
"path": "skills/database-conventions/reference/INDEX.md",
|
|
"sha256": "a2fe3b16b6ccb5673d4847fcbd7e6b38731fdf43b558f20a9e6ec132254d0f6a"
|
|
},
|
|
{
|
|
"path": "skills/database-conventions/reference/field-naming.md",
|
|
"sha256": "b1fadcb6da008ac59ff523a103e22ce509d34bd7302617571adc8b34839cc8c0"
|
|
},
|
|
{
|
|
"path": "skills/data-validation/SKILL.md",
|
|
"sha256": "7c82d446df5aa209038b761940f32971b7b503b43fed8ba04a0cf091c61b825e"
|
|
},
|
|
{
|
|
"path": "skills/data-validation/checklists/data-validation-checklist.md",
|
|
"sha256": "0182c2917e06ff7d9865b27158b5190fe061be01d6f7eeff80468eafbd70586b"
|
|
},
|
|
{
|
|
"path": "skills/data-validation/examples/INDEX.md",
|
|
"sha256": "abdb3bd664bb60e0c4cb866d3590980eb3fd77ce5c591a27a5246d0cdf56d283"
|
|
},
|
|
{
|
|
"path": "skills/data-validation/templates/fastapi-endpoint.py",
|
|
"sha256": "8b9c87c05d7d2f5f09f4e777b78247fe1eb72fc150e981a229c6016fcab8ac0d"
|
|
},
|
|
{
|
|
"path": "skills/data-validation/templates/sqlmodel-model.py",
|
|
"sha256": "94302377fa376bda7255cee5506dbd50a2bc6bf8b56ac65b630be94608e520ff"
|
|
},
|
|
{
|
|
"path": "skills/data-validation/templates/INDEX.md",
|
|
"sha256": "7e072e14578813609169cf8211e4de8ff6eb5b5bd2b524358c482ccda2638c29"
|
|
},
|
|
{
|
|
"path": "skills/data-validation/templates/pydantic-model.py",
|
|
"sha256": "a6446a36d64ffc74623bfb6a7365c790e85d218885ef8b9ee874dc8ebc8ddfdf"
|
|
},
|
|
{
|
|
"path": "skills/data-validation/reference/INDEX.md",
|
|
"sha256": "60c31c768cdd8023c16e400692ed8313fdc854bc016b974e1e31b33f356c809b"
|
|
},
|
|
{
|
|
"path": "skills/data-modeling/SKILL.md",
|
|
"sha256": "91b8f644b534d15be16513fd75dee317521e035b22a21216338af123ebc23b0b"
|
|
},
|
|
{
|
|
"path": "skills/data-modeling/checklists/schema-checklist.md",
|
|
"sha256": "f8d934c9fbd2d274a9c0ceec3bf6d6b487bcb5b9753ff84a265cc6ad6330f627"
|
|
},
|
|
{
|
|
"path": "skills/data-modeling/examples/INDEX.md",
|
|
"sha256": "a9d31a8f1588bf32ec7bde7077646dd4f9321f323c09b50d9fb92092e9f99636"
|
|
},
|
|
{
|
|
"path": "skills/data-modeling/reference/INDEX.md",
|
|
"sha256": "a64733c85c87a5adb64dba6086a928c5936cbf4f6f7daf3ed786c591c1f8c9b7"
|
|
}
|
|
],
|
|
"dirSha256": "0fc0729719008a1b481d54dde60cd736f6a8080d3f7eff0686b645c546d3b75d"
|
|
},
|
|
"security": {
|
|
"scannedAt": null,
|
|
"scannerVersion": null,
|
|
"flags": []
|
|
}
|
|
} |