@goodboyjs/schema 1.0.1 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -112,4 +112,16 @@ export interface GoodBoySkillManifest {
112
112
  * @maxItems 5
113
113
  */
114
114
  permissions?: ("read_files" | "write_files" | "network" | "shell" | "env")[];
115
+ /**
116
+ * Logical runtime requirements. Introduced in schema 1.1.0; manifests using this field must declare schema_version >= 1.1.0.
117
+ */
118
+ requires?: {
119
+ /**
120
+ * Logical secret names (environment-variable style) this skill requires at runtime. DECLARED INTENT ONLY — GoodBoy validates and displays these; it never resolves or injects them during install, and never executes the skill.
121
+ *
122
+ * @minItems 1
123
+ * @maxItems 32
124
+ */
125
+ secrets: string[];
126
+ };
115
127
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@goodboyjs/schema",
3
- "version": "1.0.1",
3
+ "version": "1.1.0",
4
4
  "description": "GoodBoy skill manifest JSON Schema and generated TypeScript type definitions",
5
5
  "keywords": [
6
6
  "claude-code",
@@ -128,6 +128,26 @@
128
128
  "maxItems": 5,
129
129
  "uniqueItems": true,
130
130
  "description": "DECLARED INTENT ONLY — not enforced at runtime. Skill authors declare what their scripts intend to access. GoodBoy displays this to users before install as a trust signal. An empty array or omitted field means no elevated access is claimed."
131
+ },
132
+ "requires": {
133
+ "type": "object",
134
+ "additionalProperties": false,
135
+ "required": ["secrets"],
136
+ "properties": {
137
+ "secrets": {
138
+ "type": "array",
139
+ "items": {
140
+ "type": "string",
141
+ "pattern": "^[A-Z_][A-Z0-9_]*$",
142
+ "maxLength": 64
143
+ },
144
+ "minItems": 1,
145
+ "maxItems": 32,
146
+ "uniqueItems": true,
147
+ "description": "Logical secret names (environment-variable style) this skill requires at runtime. DECLARED INTENT ONLY — GoodBoy validates and displays these; it never resolves or injects them during install, and never executes the skill."
148
+ }
149
+ },
150
+ "description": "Logical runtime requirements. Introduced in schema 1.1.0; manifests using this field must declare schema_version >= 1.1.0."
131
151
  }
132
152
  }
133
153
  }
@@ -128,6 +128,26 @@
128
128
  "maxItems": 5,
129
129
  "uniqueItems": true,
130
130
  "description": "DECLARED INTENT ONLY — not enforced at runtime. Skill authors declare what their scripts intend to access. GoodBoy displays this to users before install as a trust signal. An empty array or omitted field means no elevated access is claimed."
131
+ },
132
+ "requires": {
133
+ "type": "object",
134
+ "additionalProperties": false,
135
+ "required": ["secrets"],
136
+ "properties": {
137
+ "secrets": {
138
+ "type": "array",
139
+ "items": {
140
+ "type": "string",
141
+ "pattern": "^[A-Z_][A-Z0-9_]*$",
142
+ "maxLength": 64
143
+ },
144
+ "minItems": 1,
145
+ "maxItems": 32,
146
+ "uniqueItems": true,
147
+ "description": "Logical secret names (environment-variable style) this skill requires at runtime. DECLARED INTENT ONLY — GoodBoy validates and displays these; it never resolves or injects them during install, and never executes the skill."
148
+ }
149
+ },
150
+ "description": "Logical runtime requirements. Introduced in schema 1.1.0; manifests using this field must declare schema_version >= 1.1.0."
131
151
  }
132
152
  }
133
153
  }