teamcast 0.6.0 → 0.9.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.
- package/dist/application/build-generated-files.d.ts +1 -1
- package/dist/application/build-generated-files.d.ts.map +1 -1
- package/dist/application/build-generated-files.js +4 -3
- package/dist/application/build-generated-files.js.map +1 -1
- package/dist/application/team.d.ts +19 -14
- package/dist/application/team.d.ts.map +1 -1
- package/dist/application/team.js +125 -51
- package/dist/application/team.js.map +1 -1
- package/dist/application/validate-team.d.ts +2 -19
- package/dist/application/validate-team.d.ts.map +1 -1
- package/dist/application/validate-team.js +38 -48
- package/dist/application/validate-team.js.map +1 -1
- package/dist/cli/explain.d.ts +1 -0
- package/dist/cli/explain.d.ts.map +1 -1
- package/dist/cli/explain.js +20 -1
- package/dist/cli/explain.js.map +1 -1
- package/dist/cli/generate.js +1 -1
- package/dist/cli/generate.js.map +1 -1
- package/dist/cli/import.d.ts.map +1 -1
- package/dist/cli/import.js +75 -33
- package/dist/cli/import.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +35 -16
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/manage.d.ts.map +1 -1
- package/dist/cli/manage.js +199 -80
- package/dist/cli/manage.js.map +1 -1
- package/dist/cli/reset.d.ts.map +1 -1
- package/dist/cli/reset.js +36 -12
- package/dist/cli/reset.js.map +1 -1
- package/dist/cli/validate.d.ts.map +1 -1
- package/dist/cli/validate.js +6 -8
- package/dist/cli/validate.js.map +1 -1
- package/dist/components/policy-fragments.d.ts +1 -1
- package/dist/components/policy-fragments.d.ts.map +1 -1
- package/dist/components/policy-fragments.js +12 -49
- package/dist/components/policy-fragments.js.map +1 -1
- package/dist/core/index.d.ts +0 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +0 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/types.d.ts +9 -12
- package/dist/core/types.d.ts.map +1 -1
- package/dist/detector/index.d.ts +0 -2
- package/dist/detector/index.d.ts.map +1 -1
- package/dist/detector/index.js +4 -10
- package/dist/detector/index.js.map +1 -1
- package/dist/diff/index.d.ts +2 -2
- package/dist/diff/index.d.ts.map +1 -1
- package/dist/diff/index.js +2 -2
- package/dist/diff/index.js.map +1 -1
- package/dist/explainer/index.d.ts +2 -1
- package/dist/explainer/index.d.ts.map +1 -1
- package/dist/explainer/index.js +29 -21
- package/dist/explainer/index.js.map +1 -1
- package/dist/generator/index.d.ts +2 -2
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +18 -5
- package/dist/generator/index.js.map +1 -1
- package/dist/importer/index.d.ts +3 -2
- package/dist/importer/index.d.ts.map +1 -1
- package/dist/importer/index.js +255 -39
- package/dist/importer/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/manifest/defaults.d.ts +1 -2
- package/dist/manifest/defaults.d.ts.map +1 -1
- package/dist/manifest/defaults.js +12 -12
- package/dist/manifest/defaults.js.map +1 -1
- package/dist/manifest/normalize.d.ts +8 -4
- package/dist/manifest/normalize.d.ts.map +1 -1
- package/dist/manifest/normalize.js +97 -161
- package/dist/manifest/normalize.js.map +1 -1
- package/dist/manifest/reader.d.ts +2 -2
- package/dist/manifest/reader.d.ts.map +1 -1
- package/dist/manifest/reader.js +5 -4
- package/dist/manifest/reader.js.map +1 -1
- package/dist/manifest/schema-validator.d.ts.map +1 -1
- package/dist/manifest/schema-validator.js +4 -2
- package/dist/manifest/schema-validator.js.map +1 -1
- package/dist/manifest/types.d.ts +23 -68
- package/dist/manifest/types.d.ts.map +1 -1
- package/dist/manifest/types.js.map +1 -1
- package/dist/manifest/writer.d.ts +2 -2
- package/dist/manifest/writer.d.ts.map +1 -1
- package/dist/manifest/writer.js +2 -3
- package/dist/manifest/writer.js.map +1 -1
- package/dist/plugins/core/models-plugin.d.ts +3 -0
- package/dist/plugins/core/models-plugin.d.ts.map +1 -0
- package/dist/plugins/core/models-plugin.js +28 -0
- package/dist/plugins/core/models-plugin.js.map +1 -0
- package/dist/plugins/core/tools-plugin.d.ts +3 -0
- package/dist/plugins/core/tools-plugin.d.ts.map +1 -0
- package/dist/plugins/core/tools-plugin.js +44 -0
- package/dist/plugins/core/tools-plugin.js.map +1 -0
- package/dist/plugins/environments/node-env-plugin.d.ts +3 -0
- package/dist/plugins/environments/node-env-plugin.d.ts.map +1 -0
- package/dist/plugins/environments/node-env-plugin.js +31 -0
- package/dist/plugins/environments/node-env-plugin.js.map +1 -0
- package/dist/plugins/environments/python-env-plugin.d.ts +3 -0
- package/dist/plugins/environments/python-env-plugin.d.ts.map +1 -0
- package/dist/plugins/environments/python-env-plugin.js +33 -0
- package/dist/plugins/environments/python-env-plugin.js.map +1 -0
- package/dist/plugins/index.d.ts +3 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/plugins/index.js +13 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/inject.d.ts +3 -0
- package/dist/plugins/inject.d.ts.map +1 -0
- package/dist/plugins/inject.js +16 -0
- package/dist/plugins/inject.js.map +1 -0
- package/dist/plugins/merge-policies.d.ts +8 -0
- package/dist/plugins/merge-policies.d.ts.map +1 -0
- package/dist/plugins/merge-policies.js +56 -0
- package/dist/plugins/merge-policies.js.map +1 -0
- package/dist/plugins/registry.d.ts +21 -0
- package/dist/plugins/registry.d.ts.map +1 -0
- package/dist/plugins/registry.js +63 -0
- package/dist/plugins/registry.js.map +1 -0
- package/dist/plugins/types.d.ts +71 -0
- package/dist/plugins/types.d.ts.map +1 -0
- package/dist/{generator/targets → plugins}/types.js.map +1 -1
- package/dist/presets/index.d.ts +2 -2
- package/dist/presets/index.d.ts.map +1 -1
- package/dist/presets/index.js +7 -2
- package/dist/presets/index.js.map +1 -1
- package/dist/presets/types.d.ts +2 -2
- package/dist/presets/types.d.ts.map +1 -1
- package/dist/renderers/claude/agent-md.js +1 -1
- package/dist/renderers/claude/agent-md.js.map +1 -1
- package/dist/renderers/claude/docs.js +1 -1
- package/dist/renderers/claude/docs.js.map +1 -1
- package/dist/renderers/claude/index.d.ts +2 -0
- package/dist/renderers/claude/index.d.ts.map +1 -1
- package/dist/renderers/claude/index.js +11 -0
- package/dist/renderers/claude/index.js.map +1 -1
- package/dist/renderers/claude/policy-mapper.d.ts.map +1 -1
- package/dist/renderers/claude/policy-mapper.js +3 -22
- package/dist/renderers/claude/policy-mapper.js.map +1 -1
- package/dist/renderers/claude/tools.d.ts +0 -1
- package/dist/renderers/claude/tools.d.ts.map +1 -1
- package/dist/renderers/claude/tools.js +0 -2
- package/dist/renderers/claude/tools.js.map +1 -1
- package/dist/renderers/codex/index.d.ts +7 -0
- package/dist/renderers/codex/index.d.ts.map +1 -0
- package/dist/renderers/codex/index.js +97 -0
- package/dist/renderers/codex/index.js.map +1 -0
- package/dist/renderers/codex/skill-map.d.ts +8 -0
- package/dist/renderers/codex/skill-map.d.ts.map +1 -0
- package/dist/renderers/codex/skill-map.js +29 -0
- package/dist/renderers/codex/skill-map.js.map +1 -0
- package/dist/renderers/codex/tools.d.ts +3 -0
- package/dist/renderers/codex/tools.d.ts.map +1 -0
- package/dist/renderers/codex/tools.js +8 -0
- package/dist/renderers/codex/tools.js.map +1 -0
- package/dist/renderers/index.d.ts +3 -0
- package/dist/renderers/index.d.ts.map +1 -1
- package/dist/renderers/index.js +7 -0
- package/dist/renderers/index.js.map +1 -1
- package/dist/renderers/registry.d.ts +8 -0
- package/dist/renderers/registry.d.ts.map +1 -0
- package/dist/renderers/registry.js +22 -0
- package/dist/renderers/registry.js.map +1 -0
- package/dist/renderers/target-context.d.ts +14 -0
- package/dist/renderers/target-context.d.ts.map +1 -0
- package/dist/renderers/target-context.js +2 -0
- package/dist/renderers/target-context.js.map +1 -0
- package/dist/team-templates/policies.d.ts.map +1 -1
- package/dist/team-templates/policies.js +0 -12
- package/dist/team-templates/policies.js.map +1 -1
- package/dist/team-templates/presets.d.ts +1 -1
- package/dist/team-templates/presets.d.ts.map +1 -1
- package/dist/team-templates/roles.d.ts +6 -6
- package/dist/team-templates/roles.d.ts.map +1 -1
- package/dist/team-templates/roles.js +3 -4
- package/dist/team-templates/roles.js.map +1 -1
- package/dist/tools/types.d.ts +5 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +2 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/types/manifest.d.ts +8 -5
- package/dist/types/manifest.d.ts.map +1 -1
- package/dist/types/manifest.js +7 -9
- package/dist/types/manifest.js.map +1 -1
- package/dist/validator/checks/handoff-graph.d.ts.map +1 -1
- package/dist/validator/checks/handoff-graph.js +3 -2
- package/dist/validator/checks/handoff-graph.js.map +1 -1
- package/dist/validator/checks/instruction-blocks.d.ts.map +1 -1
- package/dist/validator/checks/instruction-blocks.js +3 -1
- package/dist/validator/checks/instruction-blocks.js.map +1 -1
- package/dist/validator/checks/security-baseline.d.ts.map +1 -1
- package/dist/validator/checks/security-baseline.js +4 -19
- package/dist/validator/checks/security-baseline.js.map +1 -1
- package/dist/validator/index.d.ts +2 -2
- package/dist/validator/index.d.ts.map +1 -1
- package/dist/validator/index.js +4 -8
- package/dist/validator/index.js.map +1 -1
- package/dist/wizard/index.d.ts +2 -0
- package/dist/wizard/index.d.ts.map +1 -1
- package/dist/wizard/index.js +30 -10
- package/dist/wizard/index.js.map +1 -1
- package/dist/wizard/steps/agent-customization.d.ts +2 -1
- package/dist/wizard/steps/agent-customization.d.ts.map +1 -1
- package/dist/wizard/steps/agent-customization.js +66 -30
- package/dist/wizard/steps/agent-customization.js.map +1 -1
- package/dist/wizard/steps/confirm-generate.d.ts +2 -2
- package/dist/wizard/steps/confirm-generate.d.ts.map +1 -1
- package/dist/wizard/steps/confirm-generate.js +2 -2
- package/dist/wizard/steps/confirm-generate.js.map +1 -1
- package/dist/wizard/steps/custom-team.d.ts +3 -2
- package/dist/wizard/steps/custom-team.d.ts.map +1 -1
- package/dist/wizard/steps/custom-team.js +3 -3
- package/dist/wizard/steps/custom-team.js.map +1 -1
- package/dist/wizard/steps/target-selection.d.ts +6 -0
- package/dist/wizard/steps/target-selection.d.ts.map +1 -0
- package/dist/wizard/steps/target-selection.js +27 -0
- package/dist/wizard/steps/target-selection.js.map +1 -0
- package/dist/wizard/steps/team-selection.d.ts +4 -2
- package/dist/wizard/steps/team-selection.d.ts.map +1 -1
- package/dist/wizard/steps/team-selection.js +6 -6
- package/dist/wizard/steps/team-selection.js.map +1 -1
- package/package.json +17 -3
- package/schema/teamcast.schema.json +42 -155
- package/templates/presets/feature-team.yaml +78 -47
- package/templates/presets/research-and-build.yaml +64 -41
- package/templates/presets/secure-dev.yaml +84 -56
- package/templates/presets/solo-dev.yaml +23 -17
- package/dist/cli/manifest-validation.d.ts +0 -13
- package/dist/cli/manifest-validation.d.ts.map +0 -1
- package/dist/cli/manifest-validation.js +0 -38
- package/dist/cli/manifest-validation.js.map +0 -1
- package/dist/core/permissions.d.ts +0 -10
- package/dist/core/permissions.d.ts.map +0 -1
- package/dist/core/permissions.js +0 -67
- package/dist/core/permissions.js.map +0 -1
- package/dist/generator/renderers/agent-md.d.ts +0 -5
- package/dist/generator/renderers/agent-md.d.ts.map +0 -1
- package/dist/generator/renderers/agent-md.js +0 -66
- package/dist/generator/renderers/agent-md.js.map +0 -1
- package/dist/generator/renderers/agents-md.d.ts +0 -4
- package/dist/generator/renderers/agents-md.d.ts.map +0 -1
- package/dist/generator/renderers/agents-md.js +0 -86
- package/dist/generator/renderers/agents-md.js.map +0 -1
- package/dist/generator/renderers/claude-md.d.ts +0 -4
- package/dist/generator/renderers/claude-md.d.ts.map +0 -1
- package/dist/generator/renderers/claude-md.js +0 -68
- package/dist/generator/renderers/claude-md.js.map +0 -1
- package/dist/generator/renderers/codex-config.d.ts +0 -4
- package/dist/generator/renderers/codex-config.d.ts.map +0 -1
- package/dist/generator/renderers/codex-config.js +0 -145
- package/dist/generator/renderers/codex-config.js.map +0 -1
- package/dist/generator/renderers/codex-skill-md.d.ts +0 -4
- package/dist/generator/renderers/codex-skill-md.d.ts.map +0 -1
- package/dist/generator/renderers/codex-skill-md.js +0 -47
- package/dist/generator/renderers/codex-skill-md.js.map +0 -1
- package/dist/generator/renderers/settings-json.d.ts +0 -5
- package/dist/generator/renderers/settings-json.d.ts.map +0 -1
- package/dist/generator/renderers/settings-json.js +0 -100
- package/dist/generator/renderers/settings-json.js.map +0 -1
- package/dist/generator/renderers/skill-md.d.ts +0 -4
- package/dist/generator/renderers/skill-md.d.ts.map +0 -1
- package/dist/generator/renderers/skill-md.js +0 -44
- package/dist/generator/renderers/skill-md.js.map +0 -1
- package/dist/generator/state.d.ts +0 -14
- package/dist/generator/state.d.ts.map +0 -1
- package/dist/generator/state.js +0 -76
- package/dist/generator/state.js.map +0 -1
- package/dist/generator/targets/claude.d.ts +0 -3
- package/dist/generator/targets/claude.d.ts.map +0 -1
- package/dist/generator/targets/claude.js +0 -24
- package/dist/generator/targets/claude.js.map +0 -1
- package/dist/generator/targets/codex.d.ts +0 -3
- package/dist/generator/targets/codex.d.ts.map +0 -1
- package/dist/generator/targets/codex.js +0 -19
- package/dist/generator/targets/codex.js.map +0 -1
- package/dist/generator/targets/index.d.ts +0 -4
- package/dist/generator/targets/index.d.ts.map +0 -1
- package/dist/generator/targets/index.js +0 -10
- package/dist/generator/targets/index.js.map +0 -1
- package/dist/generator/targets/types.d.ts +0 -8
- package/dist/generator/targets/types.d.ts.map +0 -1
- package/dist/manifest/compat.d.ts +0 -6
- package/dist/manifest/compat.d.ts.map +0 -1
- package/dist/manifest/compat.js +0 -56
- package/dist/manifest/compat.js.map +0 -1
- /package/dist/{generator/targets → plugins}/types.js +0 -0
|
@@ -4,12 +4,12 @@
|
|
|
4
4
|
"title": "TeamCast Manifest",
|
|
5
5
|
"description": "Schema for teamcast.yaml and built-in preset manifests",
|
|
6
6
|
"type": "object",
|
|
7
|
-
"required": ["version", "project"
|
|
7
|
+
"required": ["version", "project"],
|
|
8
8
|
"additionalProperties": false,
|
|
9
9
|
"properties": {
|
|
10
10
|
"version": {
|
|
11
11
|
"type": "string",
|
|
12
|
-
"enum": ["
|
|
12
|
+
"enum": ["2"],
|
|
13
13
|
"description": "Manifest format version"
|
|
14
14
|
},
|
|
15
15
|
"project": {
|
|
@@ -29,15 +29,17 @@
|
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
31
|
},
|
|
32
|
-
"
|
|
33
|
-
"type": "
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
32
|
+
"plugins": {
|
|
33
|
+
"type": "array",
|
|
34
|
+
"items": {
|
|
35
|
+
"type": "string"
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"claude": {
|
|
39
|
+
"$ref": "#/definitions/TargetConfig"
|
|
40
|
+
},
|
|
41
|
+
"codex": {
|
|
42
|
+
"$ref": "#/definitions/TargetConfig"
|
|
41
43
|
},
|
|
42
44
|
"policies": {
|
|
43
45
|
"$ref": "#/definitions/PoliciesConfig"
|
|
@@ -50,10 +52,6 @@
|
|
|
50
52
|
}
|
|
51
53
|
},
|
|
52
54
|
"definitions": {
|
|
53
|
-
"ModelAlias": {
|
|
54
|
-
"type": "string",
|
|
55
|
-
"enum": ["opus", "sonnet", "haiku", "inherit"]
|
|
56
|
-
},
|
|
57
55
|
"AgentSkill": {
|
|
58
56
|
"type": "string",
|
|
59
57
|
"enum": ["read_files", "write_files", "execute", "search", "web", "delegate", "interact", "notebook"]
|
|
@@ -68,16 +66,7 @@
|
|
|
68
66
|
"Agent"
|
|
69
67
|
]
|
|
70
68
|
},
|
|
71
|
-
|
|
72
|
-
"type": "string",
|
|
73
|
-
"enum": [
|
|
74
|
-
"Read", "Write", "Edit", "MultiEdit",
|
|
75
|
-
"Grep", "Glob",
|
|
76
|
-
"Bash",
|
|
77
|
-
"WebFetch", "WebSearch",
|
|
78
|
-
"Agent", "Task"
|
|
79
|
-
]
|
|
80
|
-
},
|
|
69
|
+
|
|
81
70
|
"PermissionMode": {
|
|
82
71
|
"type": "string",
|
|
83
72
|
"enum": ["default", "acceptEdits", "bypassPermissions", "plan", "dontAsk"]
|
|
@@ -210,37 +199,7 @@
|
|
|
210
199
|
}
|
|
211
200
|
}
|
|
212
201
|
},
|
|
213
|
-
|
|
214
|
-
"type": "object",
|
|
215
|
-
"anyOf": [
|
|
216
|
-
{
|
|
217
|
-
"required": ["allow"],
|
|
218
|
-
"properties": {
|
|
219
|
-
"allow": {
|
|
220
|
-
"type": "array",
|
|
221
|
-
"items": { "$ref": "#/definitions/CompatTool" },
|
|
222
|
-
"minItems": 1
|
|
223
|
-
},
|
|
224
|
-
"deny": {
|
|
225
|
-
"type": "array",
|
|
226
|
-
"items": { "$ref": "#/definitions/CompatTool" }
|
|
227
|
-
}
|
|
228
|
-
},
|
|
229
|
-
"additionalProperties": false
|
|
230
|
-
},
|
|
231
|
-
{
|
|
232
|
-
"required": ["deny"],
|
|
233
|
-
"properties": {
|
|
234
|
-
"deny": {
|
|
235
|
-
"type": "array",
|
|
236
|
-
"items": { "$ref": "#/definitions/CompatTool" },
|
|
237
|
-
"minItems": 1
|
|
238
|
-
}
|
|
239
|
-
},
|
|
240
|
-
"additionalProperties": false
|
|
241
|
-
}
|
|
242
|
-
]
|
|
243
|
-
},
|
|
202
|
+
|
|
244
203
|
"McpServerConfig": {
|
|
245
204
|
"type": "object",
|
|
246
205
|
"required": ["name", "url"],
|
|
@@ -250,13 +209,17 @@
|
|
|
250
209
|
"url": { "type": "string", "format": "uri" }
|
|
251
210
|
}
|
|
252
211
|
},
|
|
253
|
-
"
|
|
212
|
+
"BaseAgentConfig": {
|
|
254
213
|
"type": "object",
|
|
255
214
|
"required": ["description"],
|
|
256
215
|
"additionalProperties": false,
|
|
257
216
|
"properties": {
|
|
258
217
|
"description": { "type": "string", "minLength": 1 },
|
|
259
|
-
"model": { "
|
|
218
|
+
"model": { "type": "string", "minLength": 1 },
|
|
219
|
+
"reasoning_effort": {
|
|
220
|
+
"type": "string",
|
|
221
|
+
"enum": ["low", "medium", "high"]
|
|
222
|
+
},
|
|
260
223
|
"capability_traits": {
|
|
261
224
|
"type": "array",
|
|
262
225
|
"items": { "$ref": "#/definitions/CapabilityTraitName" }
|
|
@@ -266,7 +229,8 @@
|
|
|
266
229
|
"items": {
|
|
267
230
|
"anyOf": [
|
|
268
231
|
{ "$ref": "#/definitions/AgentSkill" },
|
|
269
|
-
{ "$ref": "#/definitions/CanonicalTool" }
|
|
232
|
+
{ "$ref": "#/definitions/CanonicalTool" },
|
|
233
|
+
{ "type": "string" }
|
|
270
234
|
]
|
|
271
235
|
},
|
|
272
236
|
"minItems": 1
|
|
@@ -276,7 +240,8 @@
|
|
|
276
240
|
"items": {
|
|
277
241
|
"anyOf": [
|
|
278
242
|
{ "$ref": "#/definitions/AgentSkill" },
|
|
279
|
-
{ "$ref": "#/definitions/CanonicalTool" }
|
|
243
|
+
{ "$ref": "#/definitions/CanonicalTool" },
|
|
244
|
+
{ "type": "string" }
|
|
280
245
|
]
|
|
281
246
|
}
|
|
282
247
|
},
|
|
@@ -305,46 +270,8 @@
|
|
|
305
270
|
},
|
|
306
271
|
"background": {
|
|
307
272
|
"type": "boolean"
|
|
308
|
-
}
|
|
309
|
-
}
|
|
310
|
-
},
|
|
311
|
-
"ClaudeAgentConfigV1": {
|
|
312
|
-
"type": "object",
|
|
313
|
-
"required": ["description"],
|
|
314
|
-
"additionalProperties": false,
|
|
315
|
-
"properties": {
|
|
316
|
-
"description": { "type": "string", "minLength": 1 },
|
|
317
|
-
"model": { "$ref": "#/definitions/ModelAlias" },
|
|
318
|
-
"tools": {
|
|
319
|
-
"type": "array",
|
|
320
|
-
"items": { "$ref": "#/definitions/CanonicalTool" },
|
|
321
|
-
"minItems": 1
|
|
322
|
-
},
|
|
323
|
-
"disallowed_tools": {
|
|
324
|
-
"type": "array",
|
|
325
|
-
"items": { "$ref": "#/definitions/CanonicalTool" }
|
|
326
|
-
},
|
|
327
|
-
"skills": {
|
|
328
|
-
"type": "array",
|
|
329
|
-
"items": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$" }
|
|
330
|
-
},
|
|
331
|
-
"max_turns": {
|
|
332
|
-
"type": "integer",
|
|
333
|
-
"minimum": 1
|
|
334
|
-
},
|
|
335
|
-
"mcp_servers": {
|
|
336
|
-
"type": "array",
|
|
337
|
-
"items": { "$ref": "#/definitions/McpServerConfig" }
|
|
338
273
|
},
|
|
339
|
-
"
|
|
340
|
-
"$ref": "#/definitions/PermissionMode"
|
|
341
|
-
},
|
|
342
|
-
"instructions": {
|
|
343
|
-
"type": "string"
|
|
344
|
-
},
|
|
345
|
-
"background": {
|
|
346
|
-
"type": "boolean"
|
|
347
|
-
}
|
|
274
|
+
"forge": { "$ref": "#/definitions/ForgeAgentMetadata" }
|
|
348
275
|
}
|
|
349
276
|
},
|
|
350
277
|
"ForgeAgentMetadata": {
|
|
@@ -359,66 +286,28 @@
|
|
|
359
286
|
"template": { "type": "string" }
|
|
360
287
|
}
|
|
361
288
|
},
|
|
362
|
-
"
|
|
363
|
-
"
|
|
364
|
-
"required": ["claude"],
|
|
365
|
-
"additionalProperties": false,
|
|
366
|
-
"properties": {
|
|
367
|
-
"claude": { "$ref": "#/definitions/ClaudeAgentConfigV2" },
|
|
368
|
-
"forge": { "$ref": "#/definitions/ForgeAgentMetadata" }
|
|
369
|
-
}
|
|
370
|
-
},
|
|
371
|
-
"CanonicalAgentConfigV1": {
|
|
372
|
-
"type": "object",
|
|
373
|
-
"required": ["claude"],
|
|
374
|
-
"additionalProperties": false,
|
|
375
|
-
"properties": {
|
|
376
|
-
"claude": { "$ref": "#/definitions/ClaudeAgentConfigV1" },
|
|
377
|
-
"forge": { "$ref": "#/definitions/ForgeAgentMetadata" }
|
|
378
|
-
}
|
|
289
|
+
"AgentDefinition": {
|
|
290
|
+
"$ref": "#/definitions/BaseAgentConfig"
|
|
379
291
|
},
|
|
380
|
-
"
|
|
292
|
+
"TargetConfig": {
|
|
381
293
|
"type": "object",
|
|
382
|
-
"required": ["
|
|
294
|
+
"required": ["agents"],
|
|
383
295
|
"additionalProperties": false,
|
|
384
296
|
"properties": {
|
|
385
|
-
"
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
"
|
|
394
|
-
"items": { "type": "string", "pattern": "^[a-z][a-z0-9-]*$" }
|
|
395
|
-
},
|
|
396
|
-
"max_turns": {
|
|
397
|
-
"type": "integer",
|
|
398
|
-
"minimum": 1
|
|
399
|
-
},
|
|
400
|
-
"mcp_servers": {
|
|
401
|
-
"type": "array",
|
|
402
|
-
"items": { "$ref": "#/definitions/McpServerConfig" }
|
|
403
|
-
},
|
|
404
|
-
"permission_mode": {
|
|
405
|
-
"$ref": "#/definitions/PermissionMode"
|
|
406
|
-
},
|
|
407
|
-
"behavior": {
|
|
408
|
-
"type": "string"
|
|
297
|
+
"agents": {
|
|
298
|
+
"type": "object",
|
|
299
|
+
"minProperties": 1,
|
|
300
|
+
"patternProperties": {
|
|
301
|
+
"^[a-z][a-z0-9-]*$": {
|
|
302
|
+
"$ref": "#/definitions/AgentDefinition"
|
|
303
|
+
}
|
|
304
|
+
},
|
|
305
|
+
"additionalProperties": false
|
|
409
306
|
},
|
|
410
|
-
"
|
|
411
|
-
|
|
412
|
-
}
|
|
307
|
+
"policies": { "$ref": "#/definitions/PoliciesConfig" },
|
|
308
|
+
"settings": { "$ref": "#/definitions/GenerationSettings" }
|
|
413
309
|
}
|
|
414
310
|
},
|
|
415
|
-
"AgentDefinition": {
|
|
416
|
-
"anyOf": [
|
|
417
|
-
{ "$ref": "#/definitions/CanonicalAgentConfigV2" },
|
|
418
|
-
{ "$ref": "#/definitions/CanonicalAgentConfigV1" },
|
|
419
|
-
{ "$ref": "#/definitions/LegacyAgentConfig" }
|
|
420
|
-
]
|
|
421
|
-
},
|
|
422
311
|
"PermissionsConfig": {
|
|
423
312
|
"type": "object",
|
|
424
313
|
"additionalProperties": false,
|
|
@@ -505,8 +394,7 @@
|
|
|
505
394
|
"additionalProperties": false,
|
|
506
395
|
"properties": {
|
|
507
396
|
"matcher": { "type": "string" },
|
|
508
|
-
"command": { "type": "string" }
|
|
509
|
-
"async": { "type": "boolean" }
|
|
397
|
+
"command": { "type": "string" }
|
|
510
398
|
}
|
|
511
399
|
},
|
|
512
400
|
"HooksConfig": {
|
|
@@ -559,7 +447,6 @@
|
|
|
559
447
|
"type": "object",
|
|
560
448
|
"additionalProperties": false,
|
|
561
449
|
"properties": {
|
|
562
|
-
"default_model": { "$ref": "#/definitions/ModelAlias" },
|
|
563
450
|
"generate_docs": { "type": "boolean" },
|
|
564
451
|
"generate_local_settings": { "type": "boolean" }
|
|
565
452
|
}
|
|
@@ -1,77 +1,108 @@
|
|
|
1
1
|
version: "2"
|
|
2
2
|
preset_meta:
|
|
3
|
-
tags:
|
|
3
|
+
tags:
|
|
4
|
+
- team
|
|
5
|
+
- feature
|
|
6
|
+
- orchestration
|
|
4
7
|
min_version: "2"
|
|
5
8
|
project:
|
|
6
9
|
name: placeholder
|
|
7
10
|
preset: feature-team
|
|
8
|
-
description: Classic feature development team with orchestration, planning,
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
description: Classic feature development team with orchestration, planning,
|
|
12
|
+
coding, and review.
|
|
13
|
+
policies:
|
|
14
|
+
fragments:
|
|
15
|
+
- allow-git-read
|
|
16
|
+
- allow-git-write
|
|
17
|
+
- ask-git-push
|
|
18
|
+
- deny-destructive-shell
|
|
19
|
+
- deny-network-downloads
|
|
20
|
+
- deny-env-files
|
|
21
|
+
- sandbox-default
|
|
22
|
+
claude:
|
|
23
|
+
agents:
|
|
24
|
+
orchestrator:
|
|
25
|
+
forge:
|
|
26
|
+
handoffs:
|
|
27
|
+
- planner
|
|
28
|
+
- developer
|
|
29
|
+
- reviewer
|
|
30
|
+
description: Coordinates the team. Analyzes tasks, decomposes them into
|
|
31
|
+
subtasks, and delegates to the right specialist. Never writes code
|
|
32
|
+
directly.
|
|
14
33
|
model: opus
|
|
15
|
-
capability_traits:
|
|
16
|
-
|
|
34
|
+
capability_traits:
|
|
35
|
+
- base-read
|
|
36
|
+
- delegation
|
|
37
|
+
- no-file-edits
|
|
38
|
+
- no-commands
|
|
39
|
+
- no-web
|
|
40
|
+
skills:
|
|
41
|
+
- triage
|
|
42
|
+
- routing
|
|
17
43
|
max_turns: 30
|
|
18
44
|
instruction_blocks:
|
|
19
45
|
- kind: behavior
|
|
20
|
-
content:
|
|
21
|
-
You are the team coordinator. Your job is to analyze the user's
|
|
46
|
+
content: >
|
|
47
|
+
You are the team coordinator. Your job is to analyze the user's
|
|
48
|
+
request, break it down into subtasks, and delegate each subtask to
|
|
49
|
+
the appropriate specialist.
|
|
22
50
|
instruction_fragments:
|
|
23
51
|
- feature-orchestrator-workflow
|
|
24
52
|
- feature-orchestrator-output
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
planner:
|
|
29
|
-
claude:
|
|
30
|
-
description: Reads the codebase and produces an implementation plan. Does not write code.
|
|
53
|
+
planner:
|
|
54
|
+
description: Reads the codebase and produces an implementation plan. Does not
|
|
55
|
+
write code.
|
|
31
56
|
model: sonnet
|
|
32
|
-
capability_traits:
|
|
33
|
-
|
|
57
|
+
capability_traits:
|
|
58
|
+
- base-read
|
|
59
|
+
- web-research
|
|
60
|
+
- no-file-edits
|
|
61
|
+
- no-commands
|
|
62
|
+
skills:
|
|
63
|
+
- architecture-analysis
|
|
64
|
+
- planning
|
|
34
65
|
instruction_blocks:
|
|
35
66
|
- kind: behavior
|
|
36
|
-
content:
|
|
37
|
-
You are the planner. Your job is to deeply understand the codebase
|
|
67
|
+
content: >
|
|
68
|
+
You are the planner. Your job is to deeply understand the codebase
|
|
69
|
+
and produce a clear, step-by-step implementation plan.
|
|
38
70
|
instruction_fragments:
|
|
39
71
|
- feature-planner-workflow
|
|
40
72
|
- feature-planner-read-only
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
description: Implements code according to the plan. Writes tests. Does not access the internet.
|
|
73
|
+
developer:
|
|
74
|
+
description: Implements code according to the plan. Writes tests. Does not
|
|
75
|
+
access the internet.
|
|
45
76
|
model: sonnet
|
|
46
|
-
capability_traits:
|
|
47
|
-
|
|
77
|
+
capability_traits:
|
|
78
|
+
- base-read
|
|
79
|
+
- file-authoring
|
|
80
|
+
- command-execution
|
|
81
|
+
- no-web
|
|
82
|
+
skills:
|
|
83
|
+
- test-first
|
|
84
|
+
- clean-code
|
|
48
85
|
instruction_fragments:
|
|
49
86
|
- feature-developer-core
|
|
50
87
|
- feature-developer-workflow
|
|
51
88
|
- feature-developer-summary
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
description: Reviews code quality, security, and style. Does not modify files - only provides recommendations.
|
|
89
|
+
reviewer:
|
|
90
|
+
description: Reviews code quality, security, and style. Does not modify files -
|
|
91
|
+
only provides recommendations.
|
|
56
92
|
model: sonnet
|
|
57
|
-
capability_traits:
|
|
58
|
-
|
|
93
|
+
capability_traits:
|
|
94
|
+
- base-read
|
|
95
|
+
- command-execution
|
|
96
|
+
- no-file-edits
|
|
97
|
+
- no-web
|
|
98
|
+
skills:
|
|
99
|
+
- code-review
|
|
100
|
+
- security-check
|
|
59
101
|
instruction_blocks:
|
|
60
102
|
- kind: behavior
|
|
61
|
-
content:
|
|
62
|
-
You are the reviewer. Your job is to review the implementation for
|
|
103
|
+
content: >
|
|
104
|
+
You are the reviewer. Your job is to review the implementation for
|
|
105
|
+
quality, correctness, and security.
|
|
63
106
|
instruction_fragments:
|
|
64
107
|
- feature-reviewer-checklist
|
|
65
108
|
- feature-reviewer-style
|
|
66
|
-
|
|
67
|
-
policies:
|
|
68
|
-
fragments:
|
|
69
|
-
- allow-npm-run
|
|
70
|
-
- allow-npm-test
|
|
71
|
-
- allow-git-read
|
|
72
|
-
- allow-git-write
|
|
73
|
-
- ask-git-push
|
|
74
|
-
- deny-destructive-shell
|
|
75
|
-
- deny-network-downloads
|
|
76
|
-
- deny-env-files
|
|
77
|
-
- sandbox-default
|
|
@@ -1,69 +1,92 @@
|
|
|
1
1
|
version: "2"
|
|
2
2
|
preset_meta:
|
|
3
|
-
tags:
|
|
3
|
+
tags:
|
|
4
|
+
- research
|
|
5
|
+
- team
|
|
4
6
|
min_version: "2"
|
|
5
7
|
project:
|
|
6
8
|
name: placeholder
|
|
7
9
|
preset: research-and-build
|
|
8
10
|
description: Research-first team. Researcher has full internet access; developer does not.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
policies:
|
|
12
|
+
fragments:
|
|
13
|
+
- allow-git-read
|
|
14
|
+
- allow-git-write
|
|
15
|
+
- ask-git-push
|
|
16
|
+
- deny-destructive-shell
|
|
17
|
+
- deny-network-downloads
|
|
18
|
+
- deny-env-files
|
|
19
|
+
- sandbox-default
|
|
20
|
+
claude:
|
|
21
|
+
agents:
|
|
22
|
+
orchestrator:
|
|
23
|
+
forge:
|
|
24
|
+
handoffs:
|
|
25
|
+
- researcher
|
|
26
|
+
- planner
|
|
27
|
+
- developer
|
|
28
|
+
description: Coordinates research and implementation. Delegates research tasks
|
|
29
|
+
to the researcher and coding tasks to the developer.
|
|
14
30
|
model: opus
|
|
15
|
-
capability_traits:
|
|
31
|
+
capability_traits:
|
|
32
|
+
- base-read
|
|
33
|
+
- delegation
|
|
34
|
+
- no-file-edits
|
|
35
|
+
- no-commands
|
|
36
|
+
- no-web
|
|
16
37
|
max_turns: 30
|
|
17
38
|
instruction_fragments:
|
|
18
39
|
- research-orchestrator-core
|
|
19
40
|
- research-orchestrator-workflow
|
|
20
41
|
- research-orchestrator-output
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
researcher:
|
|
25
|
-
claude:
|
|
26
|
-
description: Finds information in documentation and on the web. Produces research reports and source summaries.
|
|
42
|
+
researcher:
|
|
43
|
+
description: Finds information in documentation and on the web. Produces
|
|
44
|
+
research reports and source summaries.
|
|
27
45
|
model: haiku
|
|
28
|
-
capability_traits:
|
|
29
|
-
|
|
46
|
+
capability_traits:
|
|
47
|
+
- base-read
|
|
48
|
+
- web-research
|
|
49
|
+
- no-file-edits
|
|
50
|
+
- no-commands
|
|
51
|
+
skills:
|
|
52
|
+
- research-report
|
|
53
|
+
- source-validation
|
|
30
54
|
instruction_blocks:
|
|
31
55
|
- kind: behavior
|
|
32
|
-
content:
|
|
33
|
-
You are the researcher. Your job is to find accurate information
|
|
56
|
+
content: >
|
|
57
|
+
You are the researcher. Your job is to find accurate information
|
|
58
|
+
from documentation and trusted sources.
|
|
34
59
|
instruction_fragments:
|
|
35
60
|
- research-citation
|
|
36
61
|
- research-no-file-edits
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
description: Analyzes the codebase and research findings to produce an implementation plan.
|
|
62
|
+
planner:
|
|
63
|
+
description: Analyzes the codebase and research findings to produce an
|
|
64
|
+
implementation plan.
|
|
41
65
|
model: sonnet
|
|
42
|
-
capability_traits:
|
|
43
|
-
|
|
66
|
+
capability_traits:
|
|
67
|
+
- base-read
|
|
68
|
+
- no-file-edits
|
|
69
|
+
- no-commands
|
|
70
|
+
- no-web
|
|
71
|
+
skills:
|
|
72
|
+
- architecture-analysis
|
|
73
|
+
- planning
|
|
44
74
|
instruction_fragments:
|
|
45
75
|
- research-planner-core
|
|
46
76
|
- research-planner-constraints
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
description: Implements code according to the plan. No internet access - all needed information must come from the planner or researcher.
|
|
77
|
+
developer:
|
|
78
|
+
description: Implements code according to the plan. No internet access - all
|
|
79
|
+
needed information must come from the planner or researcher.
|
|
51
80
|
model: sonnet
|
|
52
|
-
capability_traits:
|
|
53
|
-
|
|
81
|
+
capability_traits:
|
|
82
|
+
- base-read
|
|
83
|
+
- file-authoring
|
|
84
|
+
- command-execution
|
|
85
|
+
- no-web
|
|
86
|
+
skills:
|
|
87
|
+
- test-first
|
|
88
|
+
- clean-code
|
|
54
89
|
instruction_fragments:
|
|
55
90
|
- research-developer-core
|
|
56
91
|
- research-handoff
|
|
57
92
|
- research-developer-tests
|
|
58
|
-
|
|
59
|
-
policies:
|
|
60
|
-
fragments:
|
|
61
|
-
- allow-npm-run
|
|
62
|
-
- allow-npm-test
|
|
63
|
-
- allow-git-read
|
|
64
|
-
- allow-git-write
|
|
65
|
-
- ask-git-push
|
|
66
|
-
- deny-destructive-shell
|
|
67
|
-
- deny-network-downloads
|
|
68
|
-
- deny-env-files
|
|
69
|
-
- sandbox-default
|