{"_id":"@deeptimes/directus-schema-kit","_rev":"3-40419a60ba9528404c70083025d7be5b","name":"@deeptimes/directus-schema-kit","dist-tags":{"latest":"2.0.0"},"versions":{"1.0.0":{"name":"@deeptimes/directus-schema-kit","version":"1.0.0","keywords":["directus","schema","provisioning","cli"],"license":"MIT","_id":"@deeptimes/directus-schema-kit@1.0.0","maintainers":[{"name":"orpinlee","email":"deeptime@qq.com"}],"bin":{"dsk":"dist/cli.js"},"dist":{"shasum":"f2a598ed3ff3b3c00e4318ea9bc330f3c8e3d8fb","tarball":"https://registry.npmjs.org/@deeptimes/directus-schema-kit/-/directus-schema-kit-1.0.0.tgz","fileCount":90,"integrity":"sha512-J/X7GqImeb1Knh1FVZWaV8PpE1gkcGxCRPhPaglpOZzpLSow309kxGn480hAaesng86TRamDzBCUuGxneyaFmg==","signatures":[{"sig":"MEUCIAc/7qW2IBQwDB8VtiQZjqvsAcjpdrVnIvKOqrNE2VsvAiEAvnMfJUpTFmbaqewoHkfCYkAHkDICeDLdVmrm18Mjh28=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":384307},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./schemas/*":"./schemas/*"},"gitHead":"b04d53dfbc1e5a5e3d19c9fa3c2c72e945610557","scripts":{"test":"node --import tsx --test 'test/**/*.test.ts'","build":"tsc -p tsconfig.build.json","prepack":"pnpm build","typecheck":"tsc --noEmit","check:release":"pnpm typecheck && pnpm test && pnpm build && pnpm pack --dry-run","test:integration":"node --import tsx --test 'test/integration/**/*.test.ts'"},"_npmUser":{"name":"orpinlee","email":"deeptime@qq.com"},"_npmVersion":"10.9.8","description":"Declarative schema provisioning toolkit for Directus","directories":{},"_nodeVersion":"22.23.0","dependencies":{"ajv":"^8.20.0","jiti":"^2.7.0","commander":"^15.0.0","tinyglobby":"^0.2.17"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","typescript":"^6.0.3","@types/node":"^25.9.3"},"_npmOperationalInternal":{"tmp":"tmp/directus-schema-kit_1.0.0_1782219447599_0.4329291887051321","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"@deeptimes/directus-schema-kit","version":"1.1.0","keywords":["directus","schema","provisioning","cli"],"license":"MIT","_id":"@deeptimes/directus-schema-kit@1.1.0","maintainers":[{"name":"orpinlee","email":"deeptime@qq.com"}],"bin":{"dsk":"dist/cli.js"},"dist":{"shasum":"8b89f84e2fa9df680ad05d577d21630d073f8ed0","tarball":"https://registry.npmjs.org/@deeptimes/directus-schema-kit/-/directus-schema-kit-1.1.0.tgz","fileCount":90,"integrity":"sha512-Tm2aLDGpJNb8MUUJyBkwSMnXtRh3ah9b1y5s6YKwOW8zCFVKQFM292ahdH7GMlM66b2p9LMxI/1gjcviaFSZxg==","signatures":[{"sig":"MEUCIQD3aDW8eaQs0ZQkRs6QPjFckpDW7M7VFG4sm67Z3i74gwIgejCkRqPur3t2/xlGEKB3T+v5Ef/edjd1zGACesjBFCg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":385124},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=22"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./schemas/*":"./schemas/*"},"gitHead":"1affae44100d28b4d1b6cf1213f9b54cb144fc8c","scripts":{"test":"node --import tsx --test 'test/**/*.test.ts'","build":"tsc -p tsconfig.build.json","prepack":"pnpm build","typecheck":"tsc --noEmit","check:release":"pnpm typecheck && pnpm test && pnpm build && pnpm pack --dry-run","test:integration":"node --import tsx --test 'test/integration/**/*.test.ts'"},"_npmUser":{"name":"orpinlee","email":"deeptime@qq.com"},"_npmVersion":"10.9.8","description":"Declarative schema provisioning toolkit for Directus","directories":{},"_nodeVersion":"22.23.0","dependencies":{"ajv":"^8.20.0","jiti":"^2.7.0","commander":"^15.0.0","tinyglobby":"^0.2.17"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.22.4","typescript":"^6.0.3","@types/node":"^25.9.3"},"_npmOperationalInternal":{"tmp":"tmp/directus-schema-kit_1.1.0_1785571823537_0.25418538757762454","host":"s3://npm-registry-packages-npm-production"}},"2.0.0":{"name":"@deeptimes/directus-schema-kit","version":"2.0.0","description":"Declarative schema provisioning toolkit for Directus","type":"module","license":"MIT","bin":{"dsk":"dist/cli.js"},"main":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./schemas/*":"./schemas/*"},"engines":{"node":">=22"},"scripts":{"build":"tsc -p tsconfig.build.json","typecheck":"tsc --noEmit","test":"node --import tsx --test 'test/**/*.test.ts'","test:integration":"node --import tsx --test 'test/integration/**/*.test.ts'","check:release":"pnpm typecheck && pnpm test && pnpm build && pnpm pack --dry-run","prepack":"pnpm build"},"keywords":["directus","schema","provisioning","cli"],"dependencies":{"ajv":"^8.20.0","commander":"^15.0.0","jiti":"^2.7.0","tinyglobby":"^0.2.17"},"devDependencies":{"@types/node":"^25.9.3","tsx":"^4.22.4","typescript":"^6.0.3"},"_id":"@deeptimes/directus-schema-kit@2.0.0","gitHead":"c4f93abe98088c3d9a733aa228f5d433b1d89cc9","_nodeVersion":"22.23.0","_npmVersion":"10.9.8","dist":{"integrity":"sha512-L/Bnnl2xMYle98kM8S64wYnuocTXbuqN4mcCBs4NQ7Y9JxvhWmD4XL8Hl/LM6Fehsp9FzRhwkU7I7bFbQsufpQ==","shasum":"6db07f91776f5a14a14cf312dbb120c1fd391cda","tarball":"https://registry.npmjs.org/@deeptimes/directus-schema-kit/-/directus-schema-kit-2.0.0.tgz","fileCount":90,"unpackedSize":385088,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCGAQPHczGcCUCkE4OcuHqAhPw7uINUATlDLBX3qq0NFAIgVgFDCwmQHu+UkGLy1jQZMHAL7zwoIhPfE9eqbnaIgBg="}]},"_npmUser":{"name":"orpinlee","email":"deeptime@qq.com"},"directories":{},"maintainers":[{"name":"orpinlee","email":"deeptime@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/directus-schema-kit_2.0.0_1785592688134_0.2930884932283666"},"_hasShrinkwrap":false}},"time":{"created":"2026-06-23T12:57:27.427Z","modified":"2026-08-01T13:58:08.444Z","1.0.0":"2026-06-23T12:57:27.777Z","1.1.0":"2026-08-01T08:10:23.680Z","2.0.0":"2026-08-01T13:58:08.294Z"},"license":"MIT","keywords":["directus","schema","provisioning","cli"],"description":"Declarative schema provisioning toolkit for Directus","maintainers":[{"name":"orpinlee","email":"deeptime@qq.com"}],"readme":"# Directus Schema Kit (DSK)\n\nDirectus Schema Kit 是面向 Directus 本地开发项目的声明式 Schema Provisioning 工具。TypeScript DSL 负责人工编写，版本化 JSON Manifest 负责校验、规划和执行边界。\n\nCLI 接受 Directus 11.x 与 12.x。当前认证环境为 Node.js 22+、Directus 11.17.4 和 SQLite；Directus 12.2.0 尚待独立集成测试认证。\n\n## 当前实现\n\n- 固定、严格类型的 `collection()`、`field.*()`、`env()`、`ref()` DSL。\n- `dsk init`：识别 Directus 项目，幂等创建统一的 `dsk/` 工作区，支持 `--dry-run`。\n- `dsk build`：确定性加载目录化 DSL，展开字段关系并生成带 SHA-256 源码摘要的 Manifest。\n- `dsk build --check`：检查 Manifest 是否最新，不写文件。\n- `dsk validate`：离线校验配置、Manifest 语义、源码新鲜度和 JSON seed。\n- `dsk plan`：只读获取本地 Directus 状态，分类 create、update、unchanged、conflict 和 dangerous。\n- `dsk apply`：全量预检后按依赖顺序执行安全 create/update，默认阻断 conflict/dangerous。\n- `dsk seed`：严格 JSON Seed，自然键 upsert、跨集合/同集合引用以及 plan/apply。\n- `dsk resources apply`：folders、roles、policies、access、permissions、presets 同步。\n- `dsk clear`：全量自定义 Schema 清理计划、交互确认、系统集合硬保护及非交互 `--confirm`。\n- `--cwd`、`--config`、`--format json` 与稳定错误退出码。\n\n## 开发\n\n```bash\npnpm install\npnpm typecheck\npnpm test\npnpm build\n```\n\n## 项目内使用\n\n安装后在 Directus 项目中执行：\n\n```bash\npnpm dsk init\npnpm dsk build\npnpm dsk validate\npnpm dsk plan\npnpm dsk apply --dry-run\npnpm dsk apply\npnpm dsk seed --dry-run\npnpm dsk seed --plan\npnpm dsk seed\npnpm dsk resources apply --dry-run\npnpm dsk clear\npnpm dsk clear --dry-run\npnpm dsk clear --confirm\n```\n\n`build` 会执行可信的项目 TypeScript 源码；后续 `plan/apply` 执行层只允许消费 `dsk/generated/manifest.json`。\n\n详细文档从 [文档首页](docs/README.md) 开始，也可直接查看 [快速开始](docs/quick-start.md)、[CLI 参考](docs/cli-reference.md)、[Schema DSL](docs/schema-dsl.md)、[Manifest V1](docs/manifest.md) 和 [兼容性](docs/compatibility.md)。\n","readmeFilename":"README.md"}