teamcast 0.9.2 → 0.9.3
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/team.d.ts +0 -1
- package/dist/application/team.d.ts.map +1 -1
- package/dist/application/team.js +74 -6
- package/dist/application/team.js.map +1 -1
- package/dist/application/validate-team.d.ts +3 -2
- package/dist/application/validate-team.d.ts.map +1 -1
- package/dist/application/validate-team.js +12 -88
- package/dist/application/validate-team.js.map +1 -1
- package/dist/cli/diff.d.ts +2 -2
- package/dist/cli/diff.d.ts.map +1 -1
- package/dist/cli/diff.js +47 -50
- package/dist/cli/diff.js.map +1 -1
- package/dist/cli/errors.d.ts +7 -0
- package/dist/cli/errors.d.ts.map +1 -0
- package/dist/cli/errors.js +15 -0
- package/dist/cli/errors.js.map +1 -0
- package/dist/cli/explain.d.ts +2 -3
- package/dist/cli/explain.d.ts.map +1 -1
- package/dist/cli/explain.js +33 -37
- package/dist/cli/explain.js.map +1 -1
- package/dist/cli/generate.d.ts +4 -2
- package/dist/cli/generate.d.ts.map +1 -1
- package/dist/cli/generate.js +50 -54
- package/dist/cli/generate.js.map +1 -1
- package/dist/cli/import.d.ts +4 -2
- package/dist/cli/import.d.ts.map +1 -1
- package/dist/cli/import.js +92 -117
- package/dist/cli/import.js.map +1 -1
- package/dist/cli/index.js +8 -8
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/init.d.ts +7 -2
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +37 -44
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/manage.d.ts +21 -2
- package/dist/cli/manage.d.ts.map +1 -1
- package/dist/cli/manage.js +159 -191
- package/dist/cli/manage.js.map +1 -1
- package/dist/cli/registrars/diff.d.ts +3 -0
- package/dist/cli/registrars/diff.d.ts.map +1 -0
- package/dist/cli/registrars/diff.js +10 -0
- package/dist/cli/registrars/diff.js.map +1 -0
- package/dist/cli/registrars/explain.d.ts +3 -0
- package/dist/cli/registrars/explain.d.ts.map +1 -0
- package/dist/cli/registrars/explain.js +10 -0
- package/dist/cli/registrars/explain.js.map +1 -0
- package/dist/cli/registrars/generate.d.ts +3 -0
- package/dist/cli/registrars/generate.d.ts.map +1 -0
- package/dist/cli/registrars/generate.js +11 -0
- package/dist/cli/registrars/generate.js.map +1 -0
- package/dist/cli/registrars/import.d.ts +3 -0
- package/dist/cli/registrars/import.d.ts.map +1 -0
- package/dist/cli/registrars/import.js +11 -0
- package/dist/cli/registrars/import.js.map +1 -0
- package/dist/cli/registrars/init.d.ts +3 -0
- package/dist/cli/registrars/init.d.ts.map +1 -0
- package/dist/cli/registrars/init.js +14 -0
- package/dist/cli/registrars/init.js.map +1 -0
- package/dist/cli/registrars/manage.d.ts +3 -0
- package/dist/cli/registrars/manage.d.ts.map +1 -0
- package/dist/cli/registrars/manage.js +54 -0
- package/dist/cli/registrars/manage.js.map +1 -0
- package/dist/cli/registrars/reset.d.ts +3 -0
- package/dist/cli/registrars/reset.d.ts.map +1 -0
- package/dist/cli/registrars/reset.js +19 -0
- package/dist/cli/registrars/reset.js.map +1 -0
- package/dist/cli/registrars/validate.d.ts +3 -0
- package/dist/cli/registrars/validate.d.ts.map +1 -0
- package/dist/cli/registrars/validate.js +12 -0
- package/dist/cli/registrars/validate.js.map +1 -0
- package/dist/cli/reset.d.ts +7 -2
- package/dist/cli/reset.d.ts.map +1 -1
- package/dist/cli/reset.js +60 -69
- package/dist/cli/reset.js.map +1 -1
- package/dist/cli/validate.d.ts +5 -2
- package/dist/cli/validate.d.ts.map +1 -1
- package/dist/cli/validate.js +33 -38
- package/dist/cli/validate.js.map +1 -1
- package/dist/generator/index.d.ts +0 -1
- package/dist/generator/index.d.ts.map +1 -1
- package/dist/generator/index.js +1 -3
- package/dist/generator/index.js.map +1 -1
- package/dist/importer/claude.d.ts +4 -0
- package/dist/importer/claude.d.ts.map +1 -0
- package/dist/importer/claude.js +51 -0
- package/dist/importer/claude.js.map +1 -0
- package/dist/importer/codex.d.ts +4 -0
- package/dist/importer/codex.d.ts.map +1 -0
- package/dist/importer/codex.js +50 -0
- package/dist/importer/codex.js.map +1 -0
- package/dist/importer/index.d.ts +11 -12
- package/dist/importer/index.d.ts.map +1 -1
- package/dist/importer/index.js +29 -501
- package/dist/importer/index.js.map +1 -1
- package/dist/importer/shared.d.ts +40 -0
- package/dist/importer/shared.d.ts.map +1 -0
- package/dist/importer/shared.js +373 -0
- package/dist/importer/shared.js.map +1 -0
- package/dist/importer/types.d.ts +16 -0
- package/dist/importer/types.d.ts.map +1 -0
- package/dist/importer/types.js +2 -0
- package/dist/importer/types.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -4
- package/dist/index.js.map +1 -1
- package/dist/manifest/defaults.d.ts.map +1 -1
- package/dist/manifest/defaults.js +76 -20
- package/dist/manifest/defaults.js.map +1 -1
- package/dist/manifest/normalize.d.ts.map +1 -1
- package/dist/manifest/normalize.js +9 -5
- package/dist/manifest/normalize.js.map +1 -1
- package/dist/manifest/targets.d.ts +11 -0
- package/dist/manifest/targets.d.ts.map +1 -0
- package/dist/manifest/targets.js +29 -0
- package/dist/manifest/targets.js.map +1 -0
- package/dist/manifest/types.d.ts +0 -2
- package/dist/manifest/types.d.ts.map +1 -1
- package/dist/manifest/types.js.map +1 -1
- package/dist/plugins/catalog.d.ts +10 -0
- package/dist/plugins/catalog.d.ts.map +1 -0
- package/dist/plugins/catalog.js +30 -0
- package/dist/plugins/catalog.js.map +1 -0
- package/dist/plugins/core/presets-plugin.d.ts +3 -0
- package/dist/plugins/core/presets-plugin.d.ts.map +1 -0
- package/dist/plugins/core/presets-plugin.js +10 -0
- package/dist/plugins/core/presets-plugin.js.map +1 -0
- package/dist/plugins/index.d.ts.map +1 -1
- package/dist/plugins/index.js +2 -1
- package/dist/plugins/index.js.map +1 -1
- package/dist/plugins/inject.d.ts +6 -2
- package/dist/plugins/inject.d.ts.map +1 -1
- package/dist/plugins/inject.js +41 -9
- package/dist/plugins/inject.js.map +1 -1
- package/dist/plugins/merge-policies.d.ts +1 -1
- package/dist/plugins/merge-policies.d.ts.map +1 -1
- package/dist/plugins/merge-policies.js +49 -15
- package/dist/plugins/merge-policies.js.map +1 -1
- package/dist/plugins/registry.d.ts +12 -6
- package/dist/plugins/registry.d.ts.map +1 -1
- package/dist/plugins/registry.js +34 -0
- package/dist/plugins/registry.js.map +1 -1
- package/dist/plugins/types.d.ts +8 -4
- package/dist/plugins/types.d.ts.map +1 -1
- package/dist/presets/index.d.ts +1 -0
- package/dist/presets/index.d.ts.map +1 -1
- package/dist/presets/index.js +62 -16
- package/dist/presets/index.js.map +1 -1
- package/dist/renderers/index.d.ts +1 -1
- package/dist/renderers/index.d.ts.map +1 -1
- package/dist/renderers/index.js +1 -6
- package/dist/renderers/index.js.map +1 -1
- package/dist/renderers/registry.d.ts +1 -0
- package/dist/renderers/registry.d.ts.map +1 -1
- package/dist/renderers/registry.js +21 -0
- package/dist/renderers/registry.js.map +1 -1
- package/dist/team-templates/presets.d.ts.map +1 -1
- package/dist/team-templates/presets.js +9 -5
- package/dist/team-templates/presets.js.map +1 -1
- package/dist/validator/reporter.d.ts +2 -0
- package/dist/validator/reporter.d.ts.map +1 -1
- package/dist/validator/reporter.js +38 -30
- package/dist/validator/reporter.js.map +1 -1
- package/dist/wizard/index.d.ts.map +1 -1
- package/dist/wizard/index.js +7 -6
- package/dist/wizard/index.js.map +1 -1
- package/dist/wizard/steps/agent-customization.d.ts.map +1 -1
- package/dist/wizard/steps/agent-customization.js +6 -9
- package/dist/wizard/steps/agent-customization.js.map +1 -1
- package/dist/wizard/steps/team-selection.js +2 -2
- package/dist/wizard/steps/team-selection.js.map +1 -1
- package/package.json +1 -1
- package/schema/teamcast.schema.json +0 -6
- package/templates/presets/feature-team.yaml +9 -9
- package/templates/presets/research-and-build.yaml +9 -9
- package/templates/presets/secure-dev.yaml +20 -20
- package/templates/presets/solo-dev.yaml +8 -8
package/dist/wizard/index.js
CHANGED
|
@@ -10,8 +10,9 @@ import { stepAgentCustomization } from './steps/agent-customization.js';
|
|
|
10
10
|
import { normalizeManifest, replaceManifestTarget } from '../manifest/normalize.js';
|
|
11
11
|
import { getTarget, getRegisteredTargetNames } from '../renderers/registry.js';
|
|
12
12
|
import { evaluateTeam, teamHasBlockingIssues, printManifestValidation } from '../application/validate-team.js';
|
|
13
|
-
import {
|
|
13
|
+
import { detectPluginNames } from '../plugins/catalog.js';
|
|
14
14
|
import { printSuccess, printError, printHeader, printCommandSuccess, printNextSteps, } from '../utils/chalk-helpers.js';
|
|
15
|
+
import { abortCli } from '../cli/errors.js';
|
|
15
16
|
export async function runWizard(options) {
|
|
16
17
|
const { cwd, skipConfirm = false, nonInteractive = false, targetSelection } = options;
|
|
17
18
|
printHeader('Init');
|
|
@@ -42,14 +43,14 @@ export async function runWizard(options) {
|
|
|
42
43
|
const customizedTeam = await stepAgentCustomization(normalizedTeam, targetContext, { nonInteractive });
|
|
43
44
|
rawManifest = replaceManifestTarget(rawManifest, targetName, customizedTeam);
|
|
44
45
|
}
|
|
45
|
-
const detectedPlugins =
|
|
46
|
+
const detectedPlugins = detectPluginNames(cwd);
|
|
46
47
|
if (detectedPlugins.length > 0) {
|
|
47
48
|
rawManifest.plugins = detectedPlugins;
|
|
48
49
|
}
|
|
49
|
-
const validation = evaluateTeam(rawManifest);
|
|
50
|
+
const validation = evaluateTeam(rawManifest, { cwd });
|
|
50
51
|
if (teamHasBlockingIssues(validation)) {
|
|
51
52
|
printManifestValidation(validation);
|
|
52
|
-
|
|
53
|
+
abortCli(1);
|
|
53
54
|
}
|
|
54
55
|
const confirmed = await stepConfirmGenerate(rawManifest, cwd, skipConfirm || nonInteractive);
|
|
55
56
|
if (!confirmed) {
|
|
@@ -61,7 +62,7 @@ export async function runWizard(options) {
|
|
|
61
62
|
}
|
|
62
63
|
catch (err) {
|
|
63
64
|
printError('Failed to write teamcast.yaml', String(err));
|
|
64
|
-
|
|
65
|
+
abortCli(1);
|
|
65
66
|
}
|
|
66
67
|
let files;
|
|
67
68
|
try {
|
|
@@ -69,7 +70,7 @@ export async function runWizard(options) {
|
|
|
69
70
|
}
|
|
70
71
|
catch (err) {
|
|
71
72
|
printError('Generation failed', String(err));
|
|
72
|
-
|
|
73
|
+
abortCli(1);
|
|
73
74
|
}
|
|
74
75
|
console.log('');
|
|
75
76
|
for (const file of files) {
|
package/dist/wizard/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wizard/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/G,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/wizard/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-customization.d.ts","sourceRoot":"","sources":["../../../src/wizard/steps/agent-customization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,qBAAqB,CAAC;AAErE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-customization.d.ts","sourceRoot":"","sources":["../../../src/wizard/steps/agent-customization.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAmB,MAAM,qBAAqB,CAAC;AAErE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AA6HvE,wBAAsB,sBAAsB,CAC1C,IAAI,EAAE,QAAQ,EACd,aAAa,EAAE,aAAa,EAC5B,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GACrC,OAAO,CAAC,QAAQ,CAAC,CA4DnB"}
|
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
2
|
import { expandSkills } from '../../core/skill-resolver.js';
|
|
3
|
+
import { getSkillDefinition, listModelDefinitions, listSkillDefinitions, } from '../../plugins/catalog.js';
|
|
3
4
|
import { promptConfirm, promptList, promptCheckbox, promptInput } from '../../utils/prompts.js';
|
|
4
|
-
import { defaultRegistry } from '../../plugins/index.js';
|
|
5
5
|
/**
|
|
6
6
|
* Human-readable labels for each AgentSkill value, shown in the wizard checkbox.
|
|
7
7
|
* Format: "<label> (<tools>)"
|
|
8
8
|
*/
|
|
9
9
|
function formatSkillLabel(skillId, description) {
|
|
10
|
-
|
|
11
|
-
const skillDef = defaultRegistry.getSkills()[skillId];
|
|
10
|
+
const skillDef = getSkillDefinition(skillId);
|
|
12
11
|
const label = skillDef ? skillDef.description : skillId;
|
|
13
|
-
const shortLabel = label.split(' ')[0] ?? skillId;
|
|
12
|
+
const shortLabel = label.split(' ')[0] ?? skillId;
|
|
14
13
|
return `${shortLabel.padEnd(16)}`;
|
|
15
14
|
}
|
|
16
15
|
function getSupportedSkills(targetContext) {
|
|
17
|
-
|
|
18
|
-
const allSkills = Object.keys(defaultRegistry.getSkills());
|
|
16
|
+
const allSkills = listSkillDefinitions().map((skill) => skill.id);
|
|
19
17
|
return allSkills.filter((skill) => (targetContext.skillMap[skill]?.length ?? 0) > 0);
|
|
20
18
|
}
|
|
21
19
|
function removeConflictingDisallowedTools(tools, disallowedTools) {
|
|
@@ -53,8 +51,7 @@ async function promptRestrictedTools(targetContext, allowedTools, currentDisallo
|
|
|
53
51
|
return selectedRestrictedTools.length > 0 ? selectedRestrictedTools : undefined;
|
|
54
52
|
}
|
|
55
53
|
async function promptTargetModel(targetContext, currentModel) {
|
|
56
|
-
const
|
|
57
|
-
const targetModels = models.filter((m) => !m.target || m.target === targetContext.name);
|
|
54
|
+
const targetModels = listModelDefinitions(targetContext.name);
|
|
58
55
|
if (targetModels.length > 0) {
|
|
59
56
|
const choices = targetModels.map((m) => ({
|
|
60
57
|
name: `${m.displayName.padEnd(20)} ${chalk.dim(`(${m.features.join(', ')})`)}`,
|
|
@@ -116,7 +113,7 @@ export async function stepAgentCustomization(team, targetContext, options) {
|
|
|
116
113
|
const selectedSkills = await promptCheckbox({
|
|
117
114
|
message: ` Skills for ${name}:`,
|
|
118
115
|
choices: supportedSkills.map((skill) => ({
|
|
119
|
-
name: formatSkillLabel(skill,
|
|
116
|
+
name: formatSkillLabel(skill, getSkillDefinition(skill)?.description),
|
|
120
117
|
value: skill,
|
|
121
118
|
checked: currentSkills.includes(skill),
|
|
122
119
|
})),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-customization.js","sourceRoot":"","sources":["../../../src/wizard/steps/agent-customization.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,
|
|
1
|
+
{"version":3,"file":"agent-customization.js","sourceRoot":"","sources":["../../../src/wizard/steps/agent-customization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import chalk from 'chalk';
|
|
2
|
-
import {
|
|
2
|
+
import { listPresetMetas } from '../../team-templates/presets.js';
|
|
3
3
|
import { stepCustomTeam } from './custom-team.js';
|
|
4
4
|
import { promptList } from '../../utils/prompts.js';
|
|
5
5
|
import { buildManifestFromPreset, buildSingleAgentManifest, } from '../../application/team.js';
|
|
@@ -26,7 +26,7 @@ export async function stepTeamSelection(partial, selection, options) {
|
|
|
26
26
|
],
|
|
27
27
|
});
|
|
28
28
|
if (mode === 'preset') {
|
|
29
|
-
const presets =
|
|
29
|
+
const presets = listPresetMetas();
|
|
30
30
|
const presetName = await promptList({
|
|
31
31
|
message: 'Select a preset:',
|
|
32
32
|
choices: presets.map((preset) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-selection.js","sourceRoot":"","sources":["../../../src/wizard/steps/team-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"team-selection.js","sourceRoot":"","sources":["../../../src/wizard/steps/team-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,OAAO,EACL,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AAInC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAkC,EAClC,SAA8B,EAC9B,OAAsC;IAEtC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;IAEzC,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;QAC5B,OAAO,uBAAuB,CAAC,cAAc,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,UAAU,CAAgB;QAC3C,OAAO,EAAE,4CAA4C;QACrD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,4CAA4C,CAAC,EAAE;gBACjG,KAAK,EAAE,QAAQ;aAChB;YACD;gBACE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,EAAE;gBACzF,KAAK,EAAE,QAAQ;aAChB;YACD;gBACE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,sCAAsC,CAAC,EAAE;gBAC3F,KAAK,EAAE,QAAQ;aAChB;SACF;KACF,CAAC,CAAC;IAEH,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,eAAe,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,MAAM,UAAU,CAAS;YAC1C,OAAO,EAAE,kBAAkB;YAC3B,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBAChC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;gBACpE,KAAK,EAAE,MAAM,CAAC,IAAI;aACnB,CAAC,CAAC;SACJ,CAAC,CAAC;QACH,OAAO,uBAAuB,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACrE,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,cAAc,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,wBAAwB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAC1D,CAAC"}
|
package/package.json
CHANGED
|
@@ -41,12 +41,6 @@
|
|
|
41
41
|
"codex": {
|
|
42
42
|
"$ref": "#/definitions/TargetConfig"
|
|
43
43
|
},
|
|
44
|
-
"policies": {
|
|
45
|
-
"$ref": "#/definitions/PoliciesConfig"
|
|
46
|
-
},
|
|
47
|
-
"settings": {
|
|
48
|
-
"$ref": "#/definitions/GenerationSettings"
|
|
49
|
-
},
|
|
50
44
|
"preset_meta": {
|
|
51
45
|
"$ref": "#/definitions/PresetMeta"
|
|
52
46
|
}
|
|
@@ -10,16 +10,16 @@ project:
|
|
|
10
10
|
preset: feature-team
|
|
11
11
|
description: Classic feature development team with orchestration, planning,
|
|
12
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
13
|
claude:
|
|
14
|
+
policies:
|
|
15
|
+
fragments:
|
|
16
|
+
- allow-git-read
|
|
17
|
+
- allow-git-write
|
|
18
|
+
- ask-git-push
|
|
19
|
+
- deny-destructive-shell
|
|
20
|
+
- deny-network-downloads
|
|
21
|
+
- deny-env-files
|
|
22
|
+
- sandbox-default
|
|
23
23
|
agents:
|
|
24
24
|
orchestrator:
|
|
25
25
|
forge:
|
|
@@ -8,16 +8,16 @@ project:
|
|
|
8
8
|
name: placeholder
|
|
9
9
|
preset: research-and-build
|
|
10
10
|
description: Research-first team. Researcher has full internet access; developer does not.
|
|
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
11
|
claude:
|
|
12
|
+
policies:
|
|
13
|
+
fragments:
|
|
14
|
+
- allow-git-read
|
|
15
|
+
- allow-git-write
|
|
16
|
+
- ask-git-push
|
|
17
|
+
- deny-destructive-shell
|
|
18
|
+
- deny-network-downloads
|
|
19
|
+
- deny-env-files
|
|
20
|
+
- sandbox-default
|
|
21
21
|
agents:
|
|
22
22
|
orchestrator:
|
|
23
23
|
forge:
|
|
@@ -10,27 +10,27 @@ project:
|
|
|
10
10
|
preset: secure-dev
|
|
11
11
|
description: High-security team with a dedicated security auditor and strict
|
|
12
12
|
access controls.
|
|
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-dynamic-exec
|
|
21
|
-
- deny-env-files
|
|
22
|
-
- sandbox-default
|
|
23
|
-
assertions:
|
|
24
|
-
- rule: require_sandbox_with_execute
|
|
25
|
-
- rule: no_unrestricted_execute
|
|
26
|
-
- rule: deny_skill_for_role
|
|
27
|
-
agent: reviewer
|
|
28
|
-
skill: write_files
|
|
29
|
-
- rule: require_instruction_block
|
|
30
|
-
kind: behavior
|
|
31
|
-
- rule: max_agents
|
|
32
|
-
count: 8
|
|
33
13
|
claude:
|
|
14
|
+
policies:
|
|
15
|
+
fragments:
|
|
16
|
+
- allow-git-read
|
|
17
|
+
- allow-git-write
|
|
18
|
+
- ask-git-push
|
|
19
|
+
- deny-destructive-shell
|
|
20
|
+
- deny-network-downloads
|
|
21
|
+
- deny-dynamic-exec
|
|
22
|
+
- deny-env-files
|
|
23
|
+
- sandbox-default
|
|
24
|
+
assertions:
|
|
25
|
+
- rule: require_sandbox_with_execute
|
|
26
|
+
- rule: no_unrestricted_execute
|
|
27
|
+
- rule: deny_skill_for_role
|
|
28
|
+
agent: reviewer
|
|
29
|
+
skill: write_files
|
|
30
|
+
- rule: require_instruction_block
|
|
31
|
+
kind: behavior
|
|
32
|
+
- rule: max_agents
|
|
33
|
+
count: 8
|
|
34
34
|
agents:
|
|
35
35
|
orchestrator:
|
|
36
36
|
forge:
|
|
@@ -8,15 +8,15 @@ project:
|
|
|
8
8
|
name: placeholder
|
|
9
9
|
preset: solo-dev
|
|
10
10
|
description: Single enhanced developer agent with safe defaults for individual developers.
|
|
11
|
-
policies:
|
|
12
|
-
fragments:
|
|
13
|
-
- allow-git-read
|
|
14
|
-
- allow-git-write
|
|
15
|
-
- ask-git-push
|
|
16
|
-
- deny-destructive-shell
|
|
17
|
-
- deny-env-files
|
|
18
|
-
- sandbox-default
|
|
19
11
|
claude:
|
|
12
|
+
policies:
|
|
13
|
+
fragments:
|
|
14
|
+
- allow-git-read
|
|
15
|
+
- allow-git-write
|
|
16
|
+
- ask-git-push
|
|
17
|
+
- deny-destructive-shell
|
|
18
|
+
- deny-env-files
|
|
19
|
+
- sandbox-default
|
|
20
20
|
agents:
|
|
21
21
|
developer:
|
|
22
22
|
description: Full-stack developer agent. Reads, writes, edits files and runs
|