teamcast 0.6.0 → 0.8.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.
Files changed (222) hide show
  1. package/dist/application/build-generated-files.d.ts +1 -1
  2. package/dist/application/build-generated-files.d.ts.map +1 -1
  3. package/dist/application/build-generated-files.js +4 -3
  4. package/dist/application/build-generated-files.js.map +1 -1
  5. package/dist/application/team.d.ts +19 -14
  6. package/dist/application/team.d.ts.map +1 -1
  7. package/dist/application/team.js +125 -51
  8. package/dist/application/team.js.map +1 -1
  9. package/dist/application/validate-team.d.ts +2 -19
  10. package/dist/application/validate-team.d.ts.map +1 -1
  11. package/dist/application/validate-team.js +38 -48
  12. package/dist/application/validate-team.js.map +1 -1
  13. package/dist/cli/explain.d.ts +1 -0
  14. package/dist/cli/explain.d.ts.map +1 -1
  15. package/dist/cli/explain.js +20 -1
  16. package/dist/cli/explain.js.map +1 -1
  17. package/dist/cli/generate.js +1 -1
  18. package/dist/cli/generate.js.map +1 -1
  19. package/dist/cli/import.d.ts.map +1 -1
  20. package/dist/cli/import.js +74 -33
  21. package/dist/cli/import.js.map +1 -1
  22. package/dist/cli/init.d.ts.map +1 -1
  23. package/dist/cli/init.js +30 -16
  24. package/dist/cli/init.js.map +1 -1
  25. package/dist/cli/manage.d.ts.map +1 -1
  26. package/dist/cli/manage.js +230 -64
  27. package/dist/cli/manage.js.map +1 -1
  28. package/dist/cli/reset.d.ts.map +1 -1
  29. package/dist/cli/reset.js +36 -12
  30. package/dist/cli/reset.js.map +1 -1
  31. package/dist/cli/validate.d.ts.map +1 -1
  32. package/dist/cli/validate.js +6 -8
  33. package/dist/cli/validate.js.map +1 -1
  34. package/dist/core/types.d.ts +8 -7
  35. package/dist/core/types.d.ts.map +1 -1
  36. package/dist/diff/index.d.ts +2 -2
  37. package/dist/diff/index.d.ts.map +1 -1
  38. package/dist/diff/index.js +2 -2
  39. package/dist/diff/index.js.map +1 -1
  40. package/dist/explainer/index.d.ts +2 -1
  41. package/dist/explainer/index.d.ts.map +1 -1
  42. package/dist/explainer/index.js +21 -13
  43. package/dist/explainer/index.js.map +1 -1
  44. package/dist/generator/index.d.ts +2 -2
  45. package/dist/generator/index.d.ts.map +1 -1
  46. package/dist/generator/index.js +16 -5
  47. package/dist/generator/index.js.map +1 -1
  48. package/dist/importer/index.d.ts +1 -0
  49. package/dist/importer/index.d.ts.map +1 -1
  50. package/dist/importer/index.js +178 -16
  51. package/dist/importer/index.js.map +1 -1
  52. package/dist/index.d.ts +1 -1
  53. package/dist/index.d.ts.map +1 -1
  54. package/dist/index.js +2 -1
  55. package/dist/index.js.map +1 -1
  56. package/dist/manifest/defaults.d.ts +1 -2
  57. package/dist/manifest/defaults.d.ts.map +1 -1
  58. package/dist/manifest/defaults.js +12 -12
  59. package/dist/manifest/defaults.js.map +1 -1
  60. package/dist/manifest/normalize.d.ts +8 -4
  61. package/dist/manifest/normalize.d.ts.map +1 -1
  62. package/dist/manifest/normalize.js +84 -136
  63. package/dist/manifest/normalize.js.map +1 -1
  64. package/dist/manifest/reader.d.ts +2 -2
  65. package/dist/manifest/reader.d.ts.map +1 -1
  66. package/dist/manifest/reader.js +1 -2
  67. package/dist/manifest/reader.js.map +1 -1
  68. package/dist/manifest/types.d.ts +17 -65
  69. package/dist/manifest/types.d.ts.map +1 -1
  70. package/dist/manifest/types.js.map +1 -1
  71. package/dist/manifest/writer.d.ts +2 -2
  72. package/dist/manifest/writer.d.ts.map +1 -1
  73. package/dist/manifest/writer.js +2 -3
  74. package/dist/manifest/writer.js.map +1 -1
  75. package/dist/presets/index.d.ts +2 -2
  76. package/dist/presets/index.d.ts.map +1 -1
  77. package/dist/presets/index.js +7 -2
  78. package/dist/presets/index.js.map +1 -1
  79. package/dist/presets/types.d.ts +2 -2
  80. package/dist/presets/types.d.ts.map +1 -1
  81. package/dist/renderers/claude/agent-md.js +1 -1
  82. package/dist/renderers/claude/agent-md.js.map +1 -1
  83. package/dist/renderers/claude/docs.js +1 -1
  84. package/dist/renderers/claude/docs.js.map +1 -1
  85. package/dist/renderers/claude/index.d.ts +2 -0
  86. package/dist/renderers/claude/index.d.ts.map +1 -1
  87. package/dist/renderers/claude/index.js +11 -0
  88. package/dist/renderers/claude/index.js.map +1 -1
  89. package/dist/renderers/claude/tools.d.ts +0 -1
  90. package/dist/renderers/claude/tools.d.ts.map +1 -1
  91. package/dist/renderers/claude/tools.js +0 -2
  92. package/dist/renderers/claude/tools.js.map +1 -1
  93. package/dist/renderers/codex/index.d.ts +7 -0
  94. package/dist/renderers/codex/index.d.ts.map +1 -0
  95. package/dist/renderers/codex/index.js +97 -0
  96. package/dist/renderers/codex/index.js.map +1 -0
  97. package/dist/renderers/codex/skill-map.d.ts +8 -0
  98. package/dist/renderers/codex/skill-map.d.ts.map +1 -0
  99. package/dist/renderers/codex/skill-map.js +29 -0
  100. package/dist/renderers/codex/skill-map.js.map +1 -0
  101. package/dist/renderers/codex/tools.d.ts +3 -0
  102. package/dist/renderers/codex/tools.d.ts.map +1 -0
  103. package/dist/renderers/codex/tools.js +8 -0
  104. package/dist/renderers/codex/tools.js.map +1 -0
  105. package/dist/renderers/index.d.ts +3 -0
  106. package/dist/renderers/index.d.ts.map +1 -1
  107. package/dist/renderers/index.js +7 -0
  108. package/dist/renderers/index.js.map +1 -1
  109. package/dist/renderers/registry.d.ts +8 -0
  110. package/dist/renderers/registry.d.ts.map +1 -0
  111. package/dist/renderers/registry.js +22 -0
  112. package/dist/renderers/registry.js.map +1 -0
  113. package/dist/renderers/target-context.d.ts +14 -0
  114. package/dist/renderers/target-context.d.ts.map +1 -0
  115. package/dist/renderers/target-context.js +2 -0
  116. package/dist/renderers/target-context.js.map +1 -0
  117. package/dist/team-templates/presets.d.ts +1 -1
  118. package/dist/team-templates/presets.d.ts.map +1 -1
  119. package/dist/team-templates/roles.d.ts +6 -6
  120. package/dist/team-templates/roles.d.ts.map +1 -1
  121. package/dist/team-templates/roles.js +3 -4
  122. package/dist/team-templates/roles.js.map +1 -1
  123. package/dist/types/manifest.d.ts +8 -5
  124. package/dist/types/manifest.d.ts.map +1 -1
  125. package/dist/types/manifest.js +7 -9
  126. package/dist/types/manifest.js.map +1 -1
  127. package/dist/validator/checks/handoff-graph.d.ts.map +1 -1
  128. package/dist/validator/checks/handoff-graph.js +3 -2
  129. package/dist/validator/checks/handoff-graph.js.map +1 -1
  130. package/dist/validator/checks/instruction-blocks.d.ts.map +1 -1
  131. package/dist/validator/checks/instruction-blocks.js +3 -1
  132. package/dist/validator/checks/instruction-blocks.js.map +1 -1
  133. package/dist/validator/index.d.ts +2 -2
  134. package/dist/validator/index.d.ts.map +1 -1
  135. package/dist/validator/index.js +4 -8
  136. package/dist/validator/index.js.map +1 -1
  137. package/dist/wizard/index.d.ts +2 -0
  138. package/dist/wizard/index.d.ts.map +1 -1
  139. package/dist/wizard/index.js +25 -10
  140. package/dist/wizard/index.js.map +1 -1
  141. package/dist/wizard/steps/agent-customization.d.ts +2 -1
  142. package/dist/wizard/steps/agent-customization.d.ts.map +1 -1
  143. package/dist/wizard/steps/agent-customization.js +67 -29
  144. package/dist/wizard/steps/agent-customization.js.map +1 -1
  145. package/dist/wizard/steps/confirm-generate.d.ts +2 -2
  146. package/dist/wizard/steps/confirm-generate.d.ts.map +1 -1
  147. package/dist/wizard/steps/confirm-generate.js +2 -2
  148. package/dist/wizard/steps/confirm-generate.js.map +1 -1
  149. package/dist/wizard/steps/custom-team.d.ts +3 -2
  150. package/dist/wizard/steps/custom-team.d.ts.map +1 -1
  151. package/dist/wizard/steps/custom-team.js +3 -3
  152. package/dist/wizard/steps/custom-team.js.map +1 -1
  153. package/dist/wizard/steps/target-selection.d.ts +6 -0
  154. package/dist/wizard/steps/target-selection.d.ts.map +1 -0
  155. package/dist/wizard/steps/target-selection.js +27 -0
  156. package/dist/wizard/steps/target-selection.js.map +1 -0
  157. package/dist/wizard/steps/team-selection.d.ts +4 -2
  158. package/dist/wizard/steps/team-selection.d.ts.map +1 -1
  159. package/dist/wizard/steps/team-selection.js +6 -6
  160. package/dist/wizard/steps/team-selection.js.map +1 -1
  161. package/package.json +16 -3
  162. package/schema/teamcast.schema.json +34 -155
  163. package/templates/presets/feature-team.yaml +80 -47
  164. package/templates/presets/research-and-build.yaml +66 -41
  165. package/templates/presets/secure-dev.yaml +87 -56
  166. package/templates/presets/solo-dev.yaml +23 -14
  167. package/dist/cli/manifest-validation.d.ts +0 -13
  168. package/dist/cli/manifest-validation.d.ts.map +0 -1
  169. package/dist/cli/manifest-validation.js +0 -38
  170. package/dist/cli/manifest-validation.js.map +0 -1
  171. package/dist/generator/renderers/agent-md.d.ts +0 -5
  172. package/dist/generator/renderers/agent-md.d.ts.map +0 -1
  173. package/dist/generator/renderers/agent-md.js +0 -66
  174. package/dist/generator/renderers/agent-md.js.map +0 -1
  175. package/dist/generator/renderers/agents-md.d.ts +0 -4
  176. package/dist/generator/renderers/agents-md.d.ts.map +0 -1
  177. package/dist/generator/renderers/agents-md.js +0 -86
  178. package/dist/generator/renderers/agents-md.js.map +0 -1
  179. package/dist/generator/renderers/claude-md.d.ts +0 -4
  180. package/dist/generator/renderers/claude-md.d.ts.map +0 -1
  181. package/dist/generator/renderers/claude-md.js +0 -68
  182. package/dist/generator/renderers/claude-md.js.map +0 -1
  183. package/dist/generator/renderers/codex-config.d.ts +0 -4
  184. package/dist/generator/renderers/codex-config.d.ts.map +0 -1
  185. package/dist/generator/renderers/codex-config.js +0 -145
  186. package/dist/generator/renderers/codex-config.js.map +0 -1
  187. package/dist/generator/renderers/codex-skill-md.d.ts +0 -4
  188. package/dist/generator/renderers/codex-skill-md.d.ts.map +0 -1
  189. package/dist/generator/renderers/codex-skill-md.js +0 -47
  190. package/dist/generator/renderers/codex-skill-md.js.map +0 -1
  191. package/dist/generator/renderers/settings-json.d.ts +0 -5
  192. package/dist/generator/renderers/settings-json.d.ts.map +0 -1
  193. package/dist/generator/renderers/settings-json.js +0 -100
  194. package/dist/generator/renderers/settings-json.js.map +0 -1
  195. package/dist/generator/renderers/skill-md.d.ts +0 -4
  196. package/dist/generator/renderers/skill-md.d.ts.map +0 -1
  197. package/dist/generator/renderers/skill-md.js +0 -44
  198. package/dist/generator/renderers/skill-md.js.map +0 -1
  199. package/dist/generator/state.d.ts +0 -14
  200. package/dist/generator/state.d.ts.map +0 -1
  201. package/dist/generator/state.js +0 -76
  202. package/dist/generator/state.js.map +0 -1
  203. package/dist/generator/targets/claude.d.ts +0 -3
  204. package/dist/generator/targets/claude.d.ts.map +0 -1
  205. package/dist/generator/targets/claude.js +0 -24
  206. package/dist/generator/targets/claude.js.map +0 -1
  207. package/dist/generator/targets/codex.d.ts +0 -3
  208. package/dist/generator/targets/codex.d.ts.map +0 -1
  209. package/dist/generator/targets/codex.js +0 -19
  210. package/dist/generator/targets/codex.js.map +0 -1
  211. package/dist/generator/targets/index.d.ts +0 -4
  212. package/dist/generator/targets/index.d.ts.map +0 -1
  213. package/dist/generator/targets/index.js +0 -10
  214. package/dist/generator/targets/index.js.map +0 -1
  215. package/dist/generator/targets/types.d.ts +0 -8
  216. package/dist/generator/targets/types.d.ts.map +0 -1
  217. package/dist/generator/targets/types.js +0 -2
  218. package/dist/generator/targets/types.js.map +0 -1
  219. package/dist/manifest/compat.d.ts +0 -6
  220. package/dist/manifest/compat.d.ts.map +0 -1
  221. package/dist/manifest/compat.js +0 -56
  222. package/dist/manifest/compat.js.map +0 -1
@@ -1,22 +1,64 @@
1
1
  import chalk from 'chalk';
2
2
  import { AGENT_SKILLS } from '../../core/skills.js';
3
- import { promptConfirm, promptList, promptCheckbox } from '../../utils/prompts.js';
4
- import { expandSkillsToTools, reverseMapToolsToSkills } from '../../renderers/claude/skill-map.js';
3
+ import { expandSkills } from '../../core/skill-resolver.js';
4
+ import { promptConfirm, promptList, promptCheckbox, promptInput } from '../../utils/prompts.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
- const SKILL_LABELS = {
10
- read_files: 'Read files (Read, Glob, Grep)',
11
- write_files: 'Write files (Write, Edit, MultiEdit)',
12
- execute: 'Execute commands (Bash)',
13
- search: 'Search (Glob, Grep)',
14
- web: 'Web access (WebFetch, WebSearch)',
15
- delegate: 'Delegate (Agent)',
16
- interact: 'Interact (AskUserQuestion, TodoWrite, TodoRead)',
17
- notebook: 'Notebook (NotebookEdit)',
18
- };
19
- export async function stepAgentCustomization(team, options) {
9
+ function formatSkillLabel(skill, tools) {
10
+ const labels = {
11
+ read_files: 'Read files',
12
+ write_files: 'Write files',
13
+ execute: 'Execute commands',
14
+ search: 'Search',
15
+ web: 'Web access',
16
+ delegate: 'Delegate',
17
+ interact: 'Interact',
18
+ notebook: 'Notebook',
19
+ };
20
+ return `${labels[skill].padEnd(16)} (${tools.join(', ')})`;
21
+ }
22
+ function getSupportedSkills(targetContext) {
23
+ return AGENT_SKILLS.filter((skill) => (targetContext.skillMap[skill]?.length ?? 0) > 0);
24
+ }
25
+ async function promptTargetModel(targetContext, currentModel) {
26
+ if (targetContext.name === 'claude') {
27
+ const model = await promptList({
28
+ message: ' Model:',
29
+ choices: [
30
+ { name: 'sonnet (recommended)', value: 'sonnet' },
31
+ { name: 'opus (most capable)', value: 'opus' },
32
+ { name: 'haiku (fastest)', value: 'haiku' },
33
+ { name: 'unspecified', value: 'unspecified' },
34
+ ],
35
+ default: currentModel ?? 'sonnet',
36
+ });
37
+ return model === 'unspecified' ? undefined : model;
38
+ }
39
+ const model = await promptInput({
40
+ message: ' Model (leave empty to omit):',
41
+ default: currentModel ?? '',
42
+ });
43
+ return model.trim() || undefined;
44
+ }
45
+ async function promptReasoningEffort(targetContext, currentValue) {
46
+ if (targetContext.name !== 'codex') {
47
+ return undefined;
48
+ }
49
+ const reasoning = await promptList({
50
+ message: ' Reasoning effort:',
51
+ choices: [
52
+ { name: 'unspecified', value: 'unspecified' },
53
+ { name: 'low', value: 'low' },
54
+ { name: 'medium', value: 'medium' },
55
+ { name: 'high', value: 'high' },
56
+ ],
57
+ default: currentValue ?? 'unspecified',
58
+ });
59
+ return reasoning === 'unspecified' ? undefined : reasoning;
60
+ }
61
+ export async function stepAgentCustomization(team, targetContext, options) {
20
62
  if (options?.nonInteractive) {
21
63
  return team;
22
64
  }
@@ -27,38 +69,34 @@ export async function stepAgentCustomization(team, options) {
27
69
  if (!customize)
28
70
  return team;
29
71
  const updatedAgents = { ...team.agents };
72
+ const supportedSkills = getSupportedSkills(targetContext);
30
73
  for (const name of Object.keys(updatedAgents)) {
31
74
  const agent = updatedAgents[name];
32
- const currentModel = agent.runtime.model ?? 'inherit';
33
75
  console.log('');
34
76
  console.log(chalk.bold(name) + chalk.dim(` - ${agent.description}`));
35
- const model = await promptList({
36
- message: ` Model for ${name}:`,
37
- choices: [
38
- { name: 'sonnet (recommended)', value: 'sonnet' },
39
- { name: 'opus (most capable)', value: 'opus' },
40
- { name: 'haiku (fastest)', value: 'haiku' },
41
- { name: 'inherit (project default)', value: 'inherit' },
42
- ],
43
- default: currentModel,
44
- });
77
+ const model = await promptTargetModel(targetContext, agent.runtime.model);
78
+ const reasoningEffort = await promptReasoningEffort(targetContext, agent.runtime.reasoningEffort);
45
79
  // Reverse-map the agent's current tools to pre-select matching skills.
46
- const { skills: currentSkills } = reverseMapToolsToSkills(agent.runtime.tools ?? []);
80
+ const { skills: currentSkills } = targetContext.reverseMapTools
81
+ ? targetContext.reverseMapTools(agent.runtime.tools ?? [])
82
+ : { skills: [] };
47
83
  const selectedSkills = await promptCheckbox({
48
84
  message: ` Skills for ${name}:`,
49
- choices: AGENT_SKILLS.map((skill) => ({
50
- name: SKILL_LABELS[skill],
85
+ choices: supportedSkills.map((skill) => ({
86
+ name: formatSkillLabel(skill, targetContext.skillMap[skill]),
51
87
  value: skill,
52
88
  checked: currentSkills.includes(skill),
53
89
  })),
54
90
  });
55
- // Expand the selected skills to canonical tools.
56
- const expandedTools = selectedSkills.length > 0 ? expandSkillsToTools(selectedSkills) : undefined;
91
+ const expandedTools = selectedSkills.length > 0
92
+ ? expandSkills(selectedSkills, targetContext.skillMap)
93
+ : undefined;
57
94
  updatedAgents[name] = {
58
95
  ...agent,
59
96
  runtime: {
60
97
  ...agent.runtime,
61
98
  model,
99
+ reasoningEffort,
62
100
  tools: expandedTools,
63
101
  },
64
102
  };
@@ -1 +1 @@
1
- {"version":3,"file":"agent-customization.js","sourceRoot":"","sources":["../../../src/wizard/steps/agent-customization.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-customization.js","sourceRoot":"","sources":["../../../src/wizard/steps/agent-customization.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { CoreTeam } from '../../core/types.js';
2
- export declare function stepConfirmGenerate(team: CoreTeam, cwd: string, skipConfirm?: boolean): Promise<boolean>;
1
+ import type { TeamCastManifest } from '../../manifest/types.js';
2
+ export declare function stepConfirmGenerate(manifest: TeamCastManifest, cwd: string, skipConfirm?: boolean): Promise<boolean>;
3
3
  //# sourceMappingURL=confirm-generate.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-generate.d.ts","sourceRoot":"","sources":["../../../src/wizard/steps/confirm-generate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAIpD,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,QAAQ,EACd,GAAG,EAAE,MAAM,EACX,WAAW,UAAQ,GAClB,OAAO,CAAC,OAAO,CAAC,CAgBlB"}
1
+ {"version":3,"file":"confirm-generate.d.ts","sourceRoot":"","sources":["../../../src/wizard/steps/confirm-generate.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,gBAAgB,EAC1B,GAAG,EAAE,MAAM,EACX,WAAW,UAAQ,GAClB,OAAO,CAAC,OAAO,CAAC,CAgBlB"}
@@ -1,8 +1,8 @@
1
1
  import chalk from 'chalk';
2
2
  import { generate } from '../../generator/index.js';
3
3
  import { promptConfirm } from '../../utils/prompts.js';
4
- export async function stepConfirmGenerate(team, cwd, skipConfirm = false) {
5
- const files = generate(team, { cwd, dryRun: true });
4
+ export async function stepConfirmGenerate(manifest, cwd, skipConfirm = false) {
5
+ const files = generate(manifest, { cwd, dryRun: true });
6
6
  console.log('');
7
7
  console.log(chalk.bold('Files that will be created:'));
8
8
  for (const file of files) {
@@ -1 +1 @@
1
- {"version":3,"file":"confirm-generate.js","sourceRoot":"","sources":["../../../src/wizard/steps/confirm-generate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,IAAc,EACd,GAAW,EACX,WAAW,GAAG,KAAK;IAEnB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAEpD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,WAAW;QAAE,OAAO,IAAI,CAAC;IAE7B,OAAO,aAAa,CAAC;QACnB,OAAO,EAAE,uBAAuB;QAChC,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"confirm-generate.js","sourceRoot":"","sources":["../../../src/wizard/steps/confirm-generate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAA0B,EAC1B,GAAW,EACX,WAAW,GAAG,KAAK;IAEnB,MAAM,KAAK,GAAG,QAAQ,CAAC,QAAQ,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAExD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,IAAI,WAAW;QAAE,OAAO,IAAI,CAAC;IAE7B,OAAO,aAAa,CAAC;QACnB,OAAO,EAAE,uBAAuB;QAChC,OAAO,EAAE,IAAI;KACd,CAAC,CAAC;AACL,CAAC"}
@@ -1,3 +1,4 @@
1
- import type { CoreTeam } from '../../core/types.js';
2
- export declare function stepCustomTeam(projectName: string): Promise<CoreTeam>;
1
+ import type { TeamCastManifest } from '../../manifest/types.js';
2
+ import type { InitTargetSelection } from '../../application/team.js';
3
+ export declare function stepCustomTeam(projectName: string, selection?: InitTargetSelection): Promise<TeamCastManifest>;
3
4
  //# sourceMappingURL=custom-team.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-team.d.ts","sourceRoot":"","sources":["../../../src/wizard/steps/custom-team.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAQpD,wBAAsB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC,CAY3E"}
1
+ {"version":3,"file":"custom-team.d.ts","sourceRoot":"","sources":["../../../src/wizard/steps/custom-team.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAMhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGrE,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,mBAA8B,GACxC,OAAO,CAAC,gBAAgB,CAAC,CAY3B"}
@@ -1,8 +1,8 @@
1
1
  import chalk from 'chalk';
2
2
  import { promptCheckbox } from '../../utils/prompts.js';
3
3
  import { listRoleTemplates, } from '../../team-templates/roles.js';
4
- import { buildTeamFromRoles } from '../../application/team.js';
5
- export async function stepCustomTeam(projectName) {
4
+ import { buildManifestFromRoles } from '../../application/team.js';
5
+ export async function stepCustomTeam(projectName, selection = 'claude') {
6
6
  const roleTemplates = listRoleTemplates();
7
7
  const selectedRoles = await promptCheckbox({
8
8
  message: 'Select roles for your team:',
@@ -12,6 +12,6 @@ export async function stepCustomTeam(projectName) {
12
12
  })),
13
13
  validate: (value) => value.length > 0 || 'Select at least one role',
14
14
  });
15
- return buildTeamFromRoles(projectName, selectedRoles);
15
+ return buildManifestFromRoles(projectName, selectedRoles, selection);
16
16
  }
17
17
  //# sourceMappingURL=custom-team.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"custom-team.js","sourceRoot":"","sources":["../../../src/wizard/steps/custom-team.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EACL,iBAAiB,GAElB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,WAAmB;IACtD,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,MAAM,cAAc,CAAe;QACvD,OAAO,EAAE,6BAA6B;QACtC,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YAC3E,KAAK,EAAE,IAAI,CAAC,IAAI;SACjB,CAAC,CAAC;QACH,QAAQ,EAAE,CAAC,KAAqB,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,0BAA0B;KACpF,CAAC,CAAC;IAEH,OAAO,kBAAkB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"custom-team.js","sourceRoot":"","sources":["../../../src/wizard/steps/custom-team.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EACL,iBAAiB,GAElB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,WAAmB,EACnB,YAAiC,QAAQ;IAEzC,MAAM,aAAa,GAAG,iBAAiB,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,MAAM,cAAc,CAAe;QACvD,OAAO,EAAE,6BAA6B;QACtC,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YACpC,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE;YAC3E,KAAK,EAAE,IAAI,CAAC,IAAI;SACjB,CAAC,CAAC;QACH,QAAQ,EAAE,CAAC,KAAqB,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,0BAA0B;KACpF,CAAC,CAAC;IAEH,OAAO,sBAAsB,CAAC,WAAW,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;AACvE,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { InitTargetSelection } from '../../application/team.js';
2
+ export declare function stepTargetSelection(options?: {
3
+ nonInteractive?: boolean;
4
+ defaultSelection?: InitTargetSelection;
5
+ }): Promise<InitTargetSelection>;
6
+ //# sourceMappingURL=target-selection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-selection.d.ts","sourceRoot":"","sources":["../../../src/wizard/steps/target-selection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAGrE,wBAAsB,mBAAmB,CACvC,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,mBAAmB,CAAA;CAAE,GAC7E,OAAO,CAAC,mBAAmB,CAAC,CAyB9B"}
@@ -0,0 +1,27 @@
1
+ import chalk from 'chalk';
2
+ import { promptList } from '../../utils/prompts.js';
3
+ export async function stepTargetSelection(options) {
4
+ const fallback = options?.defaultSelection ?? 'claude';
5
+ if (options?.nonInteractive) {
6
+ return fallback;
7
+ }
8
+ return promptList({
9
+ message: 'Which target configs should TeamCast generate?',
10
+ choices: [
11
+ {
12
+ name: `${chalk.bold('Claude')} ${chalk.dim('Generate .claude/ files only')}`,
13
+ value: 'claude',
14
+ },
15
+ {
16
+ name: `${chalk.bold('Codex')} ${chalk.dim('Generate .codex/ files only')}`,
17
+ value: 'codex',
18
+ },
19
+ {
20
+ name: `${chalk.bold('Both')} ${chalk.dim('Keep one manifest and generate both targets')}`,
21
+ value: 'both',
22
+ },
23
+ ],
24
+ default: fallback,
25
+ });
26
+ }
27
+ //# sourceMappingURL=target-selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"target-selection.js","sourceRoot":"","sources":["../../../src/wizard/steps/target-selection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEpD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAA8E;IAE9E,MAAM,QAAQ,GAAG,OAAO,EAAE,gBAAgB,IAAI,QAAQ,CAAC;IAEvD,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;QAC5B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,UAAU,CAAsB;QACrC,OAAO,EAAE,gDAAgD;QACzD,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,8BAA8B,CAAC,EAAE;gBAC5E,KAAK,EAAE,QAAQ;aAChB;YACD;gBACE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,KAAK,CAAC,GAAG,CAAC,6BAA6B,CAAC,EAAE;gBAC3E,KAAK,EAAE,OAAO;aACf;YACD;gBACE,IAAI,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,GAAG,CAAC,6CAA6C,CAAC,EAAE;gBAC3F,KAAK,EAAE,MAAM;aACd;SACF;QACD,OAAO,EAAE,QAAQ;KAClB,CAAC,CAAC;AACL,CAAC"}
@@ -1,5 +1,7 @@
1
1
  import type { CoreTeam } from '../../core/types.js';
2
- export declare function stepTeamSelection(partial: Pick<CoreTeam, 'project'>, options?: {
2
+ import type { TeamCastManifest } from '../../manifest/types.js';
3
+ import type { InitTargetSelection } from '../../application/team.js';
4
+ export declare function stepTeamSelection(partial: Pick<CoreTeam, 'project'>, selection: InitTargetSelection, options?: {
3
5
  nonInteractive?: boolean;
4
- }): Promise<CoreTeam>;
6
+ }): Promise<TeamCastManifest>;
5
7
  //# sourceMappingURL=team-selection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"team-selection.d.ts","sourceRoot":"","sources":["../../../src/wizard/steps/team-selection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAQpD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAClC,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GACrC,OAAO,CAAC,QAAQ,CAAC,CA0CnB"}
1
+ {"version":3,"file":"team-selection.d.ts","sourceRoot":"","sources":["../../../src/wizard/steps/team-selection.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAIhE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAQrE,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,EAClC,SAAS,EAAE,mBAAmB,EAC9B,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,GACrC,OAAO,CAAC,gBAAgB,CAAC,CA0C3B"}
@@ -2,11 +2,11 @@ import chalk from 'chalk';
2
2
  import { listPresets } from '../../presets/index.js';
3
3
  import { stepCustomTeam } from './custom-team.js';
4
4
  import { promptList } from '../../utils/prompts.js';
5
- import { buildSingleAgentTeam, buildTeamFromPreset } from '../../application/team.js';
6
- export async function stepTeamSelection(partial, options) {
5
+ import { buildManifestFromPreset, buildSingleAgentManifest, } from '../../application/team.js';
6
+ export async function stepTeamSelection(partial, selection, options) {
7
7
  const projectName = partial.project.name;
8
8
  if (options?.nonInteractive) {
9
- return buildTeamFromPreset('feature-team', projectName);
9
+ return buildManifestFromPreset('feature-team', projectName, selection);
10
10
  }
11
11
  const mode = await promptList({
12
12
  message: 'How do you want to set up your agent team?',
@@ -34,11 +34,11 @@ export async function stepTeamSelection(partial, options) {
34
34
  value: preset.name,
35
35
  })),
36
36
  });
37
- return buildTeamFromPreset(presetName, projectName);
37
+ return buildManifestFromPreset(presetName, projectName, selection);
38
38
  }
39
39
  if (mode === 'custom') {
40
- return stepCustomTeam(projectName);
40
+ return stepCustomTeam(projectName, selection);
41
41
  }
42
- return buildSingleAgentTeam(projectName);
42
+ return buildSingleAgentManifest(projectName, selection);
43
43
  }
44
44
  //# sourceMappingURL=team-selection.js.map
@@ -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;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACpD,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAItF,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAkC,EAClC,OAAsC;IAEtC,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;IAEzC,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;QAC5B,OAAO,mBAAmB,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;IAC1D,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,WAAW,EAAE,CAAC;QAC9B,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,mBAAmB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,cAAc,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,oBAAoB,CAAC,WAAW,CAAC,CAAC;AAC3C,CAAC"}
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,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,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,WAAW,EAAE,CAAC;QAC9B,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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "teamcast",
3
- "version": "0.6.0",
4
- "description": "YAML-driven CLI to design, validate, and generate multi-agent team configs from a single manifest",
3
+ "version": "0.8.0",
4
+ "description": "YAML-driven CLI to design, validate, and generate multi-target agent teams for Claude Code and Codex",
5
5
  "type": "module",
6
6
  "bin": {
7
7
  "teamcast": "./dist/index.js"
@@ -20,7 +20,20 @@
20
20
  "README.md",
21
21
  "LICENSE"
22
22
  ],
23
- "keywords": ["claude", "claude-code", "agents", "multi-agent", "cli", "team", "codegen"],
23
+ "keywords": [
24
+ "agents",
25
+ "claude",
26
+ "claude-code",
27
+ "cli",
28
+ "codegen",
29
+ "codex",
30
+ "manifest",
31
+ "multi-agent",
32
+ "multi-target",
33
+ "openai",
34
+ "team",
35
+ "yaml"
36
+ ],
24
37
  "author": "Nickolas Voznyuk",
25
38
  "license": "MIT",
26
39
  "repository": {