- Docs
- pack.schema.json
pack.schema.json
Field reference for pack.schema.json, generated from contracts/pack.schema.json.
This table is generated from contracts/pack.schema.json.
For what each field means, see the raw schema, which states every rule.
| Field | Type | Required | Rules | Description |
|---|---|---|---|---|
schema | no | enum: [1] | ||
pack | object | yes | no undeclared keys Conditional rules: see the narrative reference | |
pack.name | string | yes | ||
pack.version | string | yes | ||
pack.description | string | no | ||
pack.readme | string | no | ||
pack.display_name | string | no | ||
pack.license | string | no | ||
pack.catalogue | string | no | ||
pack.lint-seeds | boolean | no | ||
pack.categories | array of string | no | maxItems: 5 | |
pack.keywords | array of string | no | maxItems: 5 | |
pack.maintainers | array of object | no | items: no undeclared keys | |
pack.maintainers[].name | string | yes | ||
pack.maintainers[].email | string | no | ||
pack.maintainers[].url | string | no | ||
pack.links | object | no | no undeclared keys | |
pack.links.homepage | string | no | ||
pack.links.repository | string | no | ||
pack.links.documentation | string | no | ||
pack.links.changelog | string | no | ||
pack.links.issues | string | no | ||
pack.links.icon | string | no | ||
pack.metadata | object | no | Open extension table — additionalProperties intentionally unrestricted. | |
pack.adapter-contract | object | no | no undeclared keys | |
pack.adapter-contract.version | string | no | ||
pack.install | object | no | no undeclared keys Conditional rules: see the narrative reference | |
pack.install.default-scope | yes | enum: ["repo", "user"] | ||
pack.install.allowed-scopes | array | no | minItems: 1items enum: ["repo", "user", "local"] | |
pack.install.user-scope-hooks | boolean | no | ||
pack.install.allowed-adapters | array of string | no | minItems: 1uniqueItems: true | |
pack.evals | object | no | no undeclared keys | Tier-A activation eval coverage — lists every user-triggered skill that ships evals/eval_queries.json. |
pack.evals.skills | array of string | no | uniqueItems: true | |
pack.recipes | array of string | no | Named catalogue recipes this pack participates in. | |
pack.dependencies | object | no | no undeclared keys | |
pack.dependencies.required | array of object | no | items: no undeclared keys | |
pack.dependencies.required[].catalogue | string | yes | ||
pack.dependencies.required[].pack | string | yes | ||
pack.dependencies.required[].version | string | yes | ||
pack.dependencies.recommended | array of object | no | items: no undeclared keys | |
pack.dependencies.recommended[].catalogue | string | yes | ||
pack.dependencies.recommended[].pack | string | yes | ||
pack.dependencies.recommended[].version | string | yes | ||
pack.dependencies.conflicts | array of object | no | items: no undeclared keys | |
pack.dependencies.conflicts[].catalogue | string | yes | ||
pack.dependencies.conflicts[].pack | string | yes | ||
pack.dependencies.conflicts[].version | string | yes | ||
pack.adaptation | object | no | no undeclared keys | |
pack.adaptation.infer-from | string | no | ||
pack.adaptation.substitutions | array of object | no | items: no undeclared keys | |
pack.adaptation.substitutions[].marker | string | no | ||
pack.adaptation.substitutions[].infer-from | string | no | ||
pack.adaptation.augmentation-points | array of object | no | items: no undeclared keys | |
pack.adaptation.augmentation-points[].target | string | no | ||
pack.adaptation.augmentation-points[].section-marker | string | no | ||
pack.adaptation.augmentation-points[].describe | string | no | ||
pack.seeds | array of string | no | items pattern: ^[^/].* | |
pack.runtime-dependencies | array of object | no | items: no undeclared keys | External runtime dependencies required by this pack’s skills. |
pack.runtime-dependencies[].ecosystem | string | yes | enum: ["pypi", "npm", "cargo", "go", "homebrew", "apt", "system"] | |
pack.runtime-dependencies[].package | string | yes | ||
pack.runtime-dependencies[].version | string | no | ||
pack.runtime-dependencies[].optional | boolean | no | default: false | |
pack.runtime-dependencies[].skills | array of string | no | ||
pack.runtime-dependencies[].install | string | no | ||
pack.runtime-dependencies[].note | string | no | ||
pack.layout | object | no | no undeclared keys | |
pack.layout.repo | object | no | no undeclared keys | |
pack.layout.repo.parent | string | no | ||
pack.layout.repo.template | string | no | ||
pack.layout.repo.output_dir | string | no | ||
pack.layout.repo.section | string | no | pattern: ^[a-z0-9][a-z0-9-]*$ | |
pack.layout.user | object | no | no undeclared keys | |
pack.layout.user.parent | string | no | ||
pack.layout.user.template | string | no | ||
pack.layout.user.output_dir | string | no | ||
pack.layout.user.section | string | no | pattern: ^[a-z0-9][a-z0-9-]*$ | |
pack.first-value | object | no | no undeclared keys | |
pack.first-value.audience-posture | string | no | enum: ["non-technical", "mixed", "technical"] | |
pack.first-value.surfaces | array of string | no | ||
pack.first-value.prerequisites | array of string | no | ||
pack.first-value.verification | string | no | ||
pack.first-value.recovery | string | no | ||
pack.first-value.level-b | boolean | no | ||
pack.first-value.starter-task | string | no | ||
pack.first-value.starter-prompt | string | no | ||
pack.first-value.expected-result | string | no | ||
pack.first-value.next-action | string | no | ||
pack.first-value.tutorial | string | no | ||
pack.first-value.writes-to-repo | boolean | no | ||
pack.first-value.safety-gate | string | no | ||
pack.integrations | array of object | no | items: no undeclared keys | |
pack.integrations[].id | string | yes | pattern: ^[a-z0-9][a-z0-9-]*$ | |
pack.integrations[].pack | string | yes | ||
pack.integrations[].kind | string | yes | enum: ["input", "augment", "review", "handoff"] | |
pack.integrations[].role | string | yes | ||
pack.integrations[].consumers | array of string | yes | minItems: 1items pattern: ^(skill|agent|command|hook):[a-z0-9][a-z0-9-]*$ | |
pack.integrations[].providers | array of string | yes | minItems: 1items pattern: ^(skill|agent|command|hook):[a-z0-9][a-z0-9-]*$ | |
pack.integrations[].when | string | yes | minLength: 1 | |
pack.integrations[].purpose | string | yes | minLength: 1 | |
pack.integrations[].fallback | string | yes | minLength: 1 | |
pack.integrations[].version | string | no |
See the overview section for this file.
See also pack.toml fields.