teamcast 0.9.2 → 0.9.3-b

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 (191) hide show
  1. package/README.md +37 -22
  2. package/dist/application/team.d.ts +0 -1
  3. package/dist/application/team.d.ts.map +1 -1
  4. package/dist/application/team.js +74 -6
  5. package/dist/application/team.js.map +1 -1
  6. package/dist/application/validate-team.d.ts +3 -2
  7. package/dist/application/validate-team.d.ts.map +1 -1
  8. package/dist/application/validate-team.js +12 -88
  9. package/dist/application/validate-team.js.map +1 -1
  10. package/dist/cli/diff.d.ts +2 -2
  11. package/dist/cli/diff.d.ts.map +1 -1
  12. package/dist/cli/diff.js +47 -50
  13. package/dist/cli/diff.js.map +1 -1
  14. package/dist/cli/errors.d.ts +7 -0
  15. package/dist/cli/errors.d.ts.map +1 -0
  16. package/dist/cli/errors.js +15 -0
  17. package/dist/cli/errors.js.map +1 -0
  18. package/dist/cli/explain.d.ts +2 -3
  19. package/dist/cli/explain.d.ts.map +1 -1
  20. package/dist/cli/explain.js +33 -37
  21. package/dist/cli/explain.js.map +1 -1
  22. package/dist/cli/generate.d.ts +4 -2
  23. package/dist/cli/generate.d.ts.map +1 -1
  24. package/dist/cli/generate.js +50 -54
  25. package/dist/cli/generate.js.map +1 -1
  26. package/dist/cli/import.d.ts +4 -2
  27. package/dist/cli/import.d.ts.map +1 -1
  28. package/dist/cli/import.js +92 -117
  29. package/dist/cli/import.js.map +1 -1
  30. package/dist/cli/index.js +8 -8
  31. package/dist/cli/index.js.map +1 -1
  32. package/dist/cli/init.d.ts +7 -2
  33. package/dist/cli/init.d.ts.map +1 -1
  34. package/dist/cli/init.js +37 -44
  35. package/dist/cli/init.js.map +1 -1
  36. package/dist/cli/manage.d.ts +21 -2
  37. package/dist/cli/manage.d.ts.map +1 -1
  38. package/dist/cli/manage.js +158 -199
  39. package/dist/cli/manage.js.map +1 -1
  40. package/dist/cli/registrars/diff.d.ts +3 -0
  41. package/dist/cli/registrars/diff.d.ts.map +1 -0
  42. package/dist/cli/registrars/diff.js +10 -0
  43. package/dist/cli/registrars/diff.js.map +1 -0
  44. package/dist/cli/registrars/explain.d.ts +3 -0
  45. package/dist/cli/registrars/explain.d.ts.map +1 -0
  46. package/dist/cli/registrars/explain.js +10 -0
  47. package/dist/cli/registrars/explain.js.map +1 -0
  48. package/dist/cli/registrars/generate.d.ts +3 -0
  49. package/dist/cli/registrars/generate.d.ts.map +1 -0
  50. package/dist/cli/registrars/generate.js +11 -0
  51. package/dist/cli/registrars/generate.js.map +1 -0
  52. package/dist/cli/registrars/import.d.ts +3 -0
  53. package/dist/cli/registrars/import.d.ts.map +1 -0
  54. package/dist/cli/registrars/import.js +11 -0
  55. package/dist/cli/registrars/import.js.map +1 -0
  56. package/dist/cli/registrars/init.d.ts +3 -0
  57. package/dist/cli/registrars/init.d.ts.map +1 -0
  58. package/dist/cli/registrars/init.js +14 -0
  59. package/dist/cli/registrars/init.js.map +1 -0
  60. package/dist/cli/registrars/manage.d.ts +3 -0
  61. package/dist/cli/registrars/manage.d.ts.map +1 -0
  62. package/dist/cli/registrars/manage.js +54 -0
  63. package/dist/cli/registrars/manage.js.map +1 -0
  64. package/dist/cli/registrars/reset.d.ts +3 -0
  65. package/dist/cli/registrars/reset.d.ts.map +1 -0
  66. package/dist/cli/registrars/reset.js +19 -0
  67. package/dist/cli/registrars/reset.js.map +1 -0
  68. package/dist/cli/registrars/validate.d.ts +3 -0
  69. package/dist/cli/registrars/validate.d.ts.map +1 -0
  70. package/dist/cli/registrars/validate.js +12 -0
  71. package/dist/cli/registrars/validate.js.map +1 -0
  72. package/dist/cli/reset.d.ts +7 -2
  73. package/dist/cli/reset.d.ts.map +1 -1
  74. package/dist/cli/reset.js +60 -69
  75. package/dist/cli/reset.js.map +1 -1
  76. package/dist/cli/validate.d.ts +5 -2
  77. package/dist/cli/validate.d.ts.map +1 -1
  78. package/dist/cli/validate.js +33 -38
  79. package/dist/cli/validate.js.map +1 -1
  80. package/dist/generator/index.d.ts +0 -1
  81. package/dist/generator/index.d.ts.map +1 -1
  82. package/dist/generator/index.js +1 -3
  83. package/dist/generator/index.js.map +1 -1
  84. package/dist/importer/claude.d.ts +4 -0
  85. package/dist/importer/claude.d.ts.map +1 -0
  86. package/dist/importer/claude.js +51 -0
  87. package/dist/importer/claude.js.map +1 -0
  88. package/dist/importer/codex.d.ts +4 -0
  89. package/dist/importer/codex.d.ts.map +1 -0
  90. package/dist/importer/codex.js +50 -0
  91. package/dist/importer/codex.js.map +1 -0
  92. package/dist/importer/index.d.ts +8 -12
  93. package/dist/importer/index.d.ts.map +1 -1
  94. package/dist/importer/index.js +36 -509
  95. package/dist/importer/index.js.map +1 -1
  96. package/dist/importer/shared.d.ts +40 -0
  97. package/dist/importer/shared.d.ts.map +1 -0
  98. package/dist/importer/shared.js +373 -0
  99. package/dist/importer/shared.js.map +1 -0
  100. package/dist/importer/types.d.ts +16 -0
  101. package/dist/importer/types.d.ts.map +1 -0
  102. package/dist/importer/types.js +2 -0
  103. package/dist/importer/types.js.map +1 -0
  104. package/dist/index.d.ts +1 -1
  105. package/dist/index.d.ts.map +1 -1
  106. package/dist/index.js +19 -4
  107. package/dist/index.js.map +1 -1
  108. package/dist/manifest/defaults.d.ts.map +1 -1
  109. package/dist/manifest/defaults.js +76 -20
  110. package/dist/manifest/defaults.js.map +1 -1
  111. package/dist/manifest/normalize.d.ts.map +1 -1
  112. package/dist/manifest/normalize.js +9 -5
  113. package/dist/manifest/normalize.js.map +1 -1
  114. package/dist/manifest/targets.d.ts +11 -0
  115. package/dist/manifest/targets.d.ts.map +1 -0
  116. package/dist/manifest/targets.js +29 -0
  117. package/dist/manifest/targets.js.map +1 -0
  118. package/dist/manifest/types.d.ts +0 -2
  119. package/dist/manifest/types.d.ts.map +1 -1
  120. package/dist/manifest/types.js.map +1 -1
  121. package/dist/plugins/catalog.d.ts +10 -0
  122. package/dist/plugins/catalog.d.ts.map +1 -0
  123. package/dist/plugins/catalog.js +30 -0
  124. package/dist/plugins/catalog.js.map +1 -0
  125. package/dist/plugins/core/presets-plugin.d.ts +3 -0
  126. package/dist/plugins/core/presets-plugin.d.ts.map +1 -0
  127. package/dist/plugins/core/presets-plugin.js +10 -0
  128. package/dist/plugins/core/presets-plugin.js.map +1 -0
  129. package/dist/plugins/index.d.ts.map +1 -1
  130. package/dist/plugins/index.js +2 -1
  131. package/dist/plugins/index.js.map +1 -1
  132. package/dist/plugins/inject.d.ts +6 -2
  133. package/dist/plugins/inject.d.ts.map +1 -1
  134. package/dist/plugins/inject.js +41 -9
  135. package/dist/plugins/inject.js.map +1 -1
  136. package/dist/plugins/merge-policies.d.ts +1 -1
  137. package/dist/plugins/merge-policies.d.ts.map +1 -1
  138. package/dist/plugins/merge-policies.js +49 -15
  139. package/dist/plugins/merge-policies.js.map +1 -1
  140. package/dist/plugins/registry.d.ts +12 -6
  141. package/dist/plugins/registry.d.ts.map +1 -1
  142. package/dist/plugins/registry.js +34 -0
  143. package/dist/plugins/registry.js.map +1 -1
  144. package/dist/plugins/types.d.ts +8 -4
  145. package/dist/plugins/types.d.ts.map +1 -1
  146. package/dist/presets/index.d.ts +1 -0
  147. package/dist/presets/index.d.ts.map +1 -1
  148. package/dist/presets/index.js +62 -16
  149. package/dist/presets/index.js.map +1 -1
  150. package/dist/renderers/codex/skill-map.d.ts.map +1 -1
  151. package/dist/renderers/codex/skill-map.js.map +1 -1
  152. package/dist/renderers/registry.d.ts +1 -0
  153. package/dist/renderers/registry.d.ts.map +1 -1
  154. package/dist/renderers/registry.js +21 -0
  155. package/dist/renderers/registry.js.map +1 -1
  156. package/dist/team-templates/presets.d.ts.map +1 -1
  157. package/dist/team-templates/presets.js +9 -5
  158. package/dist/team-templates/presets.js.map +1 -1
  159. package/dist/team-templates/roles.d.ts.map +1 -1
  160. package/dist/team-templates/roles.js +0 -3
  161. package/dist/team-templates/roles.js.map +1 -1
  162. package/dist/utils/skill-prompt-options.d.ts +4 -0
  163. package/dist/utils/skill-prompt-options.d.ts.map +1 -0
  164. package/dist/utils/skill-prompt-options.js +12 -0
  165. package/dist/utils/skill-prompt-options.js.map +1 -0
  166. package/dist/validator/reporter.d.ts +2 -0
  167. package/dist/validator/reporter.d.ts.map +1 -1
  168. package/dist/validator/reporter.js +38 -30
  169. package/dist/validator/reporter.js.map +1 -1
  170. package/dist/wizard/index.d.ts.map +1 -1
  171. package/dist/wizard/index.js +7 -6
  172. package/dist/wizard/index.js.map +1 -1
  173. package/dist/wizard/steps/agent-customization.d.ts.map +1 -1
  174. package/dist/wizard/steps/agent-customization.js +4 -20
  175. package/dist/wizard/steps/agent-customization.js.map +1 -1
  176. package/dist/wizard/steps/team-selection.js +2 -2
  177. package/dist/wizard/steps/team-selection.js.map +1 -1
  178. package/package.json +2 -2
  179. package/schema/teamcast.schema.json +0 -6
  180. package/templates/presets/feature-team.yaml +9 -9
  181. package/templates/presets/research-and-build.yaml +9 -9
  182. package/templates/presets/secure-dev.yaml +20 -20
  183. package/templates/presets/solo-dev.yaml +8 -8
  184. package/dist/core/index.d.ts +0 -8
  185. package/dist/core/index.d.ts.map +0 -1
  186. package/dist/core/index.js +0 -8
  187. package/dist/core/index.js.map +0 -1
  188. package/dist/renderers/index.d.ts +0 -6
  189. package/dist/renderers/index.d.ts.map +0 -1
  190. package/dist/renderers/index.js +0 -9
  191. package/dist/renderers/index.js.map +0 -1
package/README.md CHANGED
@@ -1,8 +1,8 @@
1
1
  # TeamCast
2
2
 
3
- CLI to design, generate, and validate Claude Code subagents from a single manifest.
3
+ CLI to design, generate, and validate multi-target agent teams for Claude Code and Codex from a single manifest.
4
4
 
5
- Define your subagents in one `teamcast.yaml` file. TeamCast generates Claude Code config files, validates the configuration, and keeps generated output in sync with the manifest.
5
+ Define your agent team in one `teamcast.yaml` file. TeamCast validates the manifest, generates `.claude/` and/or `.codex/` config files, and keeps generated output in sync with the source config.
6
6
 
7
7
  ## Install
8
8
 
@@ -23,29 +23,36 @@ npx teamcast <command>
23
23
  teamcast init
24
24
 
25
25
  # Or skip the wizard and use a preset directly
26
- teamcast init --preset feature-team
26
+ teamcast init --preset feature-team --target both
27
27
 
28
- # Generate Claude Code config files from teamcast.yaml
28
+ # Generate files for the targets defined in teamcast.yaml
29
29
  teamcast generate
30
30
 
31
31
  # Validate the manifest
32
32
  teamcast validate
33
33
  ```
34
34
 
35
- After `generate`, your project will have:
36
- - `.claude/agents/<name>.md` - one file per agent
37
- - `.claude/skills/<skill>/SKILL.md` - one stub file per unique skill
38
- - `.claude/settings.json` - permissions and sandbox config
39
- - `.claude/settings.local.json` - local Claude settings when enabled
40
- - `CLAUDE.md` - team documentation for Claude Code
41
- - `AGENTS.md` - universal AI agent documentation
35
+ After `generate`, your project will have files for the selected target(s):
36
+ - Claude target:
37
+ - `.claude/agents/<name>.md` - one file per agent
38
+ - `.claude/skills/<skill>/SKILL.md` - one stub file per unique skill
39
+ - `.claude/settings.json` - permissions and sandbox config
40
+ - `.claude/settings.local.json` - local Claude settings when enabled
41
+ - `CLAUDE.md` - team documentation for Claude Code
42
+ - `AGENTS.md` - shared agent documentation generated alongside the Claude docs target
43
+ - Codex target:
44
+ - `.codex/config.toml` - workspace-level Codex config
45
+ - `.codex/agents/<name>.toml` - one TOML config per agent
42
46
 
43
- ## Native Claude Code Model
47
+ Use `teamcast init --target claude|codex|both` to choose which outputs are generated up front.
44
48
 
45
- TeamCast now uses a canonical agent shape that separates:
49
+ ## Target Model
46
50
 
47
- - `agents.<name>.claude` - native Claude Code subagent runtime fields
48
- - `agents.<name>.forge` - TeamCast-only metadata such as delegation graph
51
+ TeamCast now uses a canonical manifest shape with target-specific blocks:
52
+
53
+ - `claude.agents.<name>` - native Claude Code runtime fields and doc outputs
54
+ - `codex.agents.<name>` - native Codex runtime fields and TOML outputs
55
+ - `<target>.agents.<name>.forge` - TeamCast-only metadata such as delegation graph
49
56
 
50
57
  Legacy flat manifests are still accepted and normalized automatically, but new writes use the canonical shape.
51
58
 
@@ -54,7 +61,7 @@ Legacy flat manifests are still accepted and normalized automatically, but new w
54
61
  | Command | Description |
55
62
  |---------|-------------|
56
63
  | `init` | Initialize `teamcast.yaml` and generate files |
57
- | `generate` | Generate Claude Code files from `teamcast.yaml` |
64
+ | `generate` | Generate target files from `teamcast.yaml` |
58
65
  | `validate` | Validate the team configuration |
59
66
  | `validate --format json` | Machine-readable validation output for CI pipelines |
60
67
  | `explain` | Print a human-readable view of the team architecture |
@@ -73,6 +80,7 @@ Useful options:
73
80
  ```bash
74
81
  teamcast init --preset <name> # skip wizard and use a preset
75
82
  teamcast init --from <path> # initialize from an existing YAML file
83
+ teamcast init --target <name> # generate claude, codex, or both
76
84
  teamcast init --yes # non-interactive init, uses defaults
77
85
  teamcast generate --dry-run # preview generated files without writing
78
86
  teamcast validate --strict # fail on warnings as well as errors
@@ -109,20 +117,24 @@ Interactive wizard flow:
109
117
  1. `Project name:`
110
118
  - default is auto-detected from the current directory
111
119
  - must match lowercase letters, numbers, and hyphens
112
- 2. `How do you want to set up your agent team?`
120
+ 2. `Which target configs should TeamCast generate?`
121
+ - `Claude`
122
+ - `Codex`
123
+ - `Both`
124
+ 3. `How do you want to set up your agent team?`
113
125
  - `Use a preset`
114
126
  - `Custom team`
115
127
  - `Single agent`
116
- 3. If you choose `Use a preset`:
128
+ 4. If you choose `Use a preset`:
117
129
  - `Select a preset:`
118
- 4. If you choose `Custom team`:
130
+ 5. If you choose `Custom team`:
119
131
  - `Select roles for your team:`
120
132
  - available roles: `orchestrator`, `planner`, `researcher`, `developer`, `tester`, `reviewer`, `security-auditor`
121
133
  - if `orchestrator` is selected with other roles, handoffs are auto-wired to the other selected agents
122
- 5. `Customize agents before generating?`
134
+ 6. `Customize agents before generating?`
123
135
  - if yes, each agent gets:
124
136
  - `Model for <agent>:`
125
- 6. Preview:
137
+ 7. Preview:
126
138
  - shows the files that will be created
127
139
  - asks `Generate these files?`
128
140
 
@@ -139,6 +151,7 @@ Non-interactive `init` flows:
139
151
  - `teamcast init --preset <name>`
140
152
  - skips the wizard
141
153
  - loads the preset
154
+ - uses the selected `--target` value, or `claude` if omitted
142
155
  - uses the detected directory name as `project.name`
143
156
  - writes `teamcast.yaml`
144
157
  - generates files immediately
@@ -440,7 +453,9 @@ Use `--yes` to skip confirmation.
440
453
 
441
454
  Everything is defined in `teamcast.yaml` at the root of your project.
442
455
 
443
- For each agent, TeamCast renders `.claude/agents/<name>.md` from `agents.<name>.claude`.
456
+ For Claude targets, TeamCast renders `.claude/agents/<name>.md`, `CLAUDE.md`, and `AGENTS.md` from `claude.agents.<name>`.
457
+
458
+ For Codex targets, TeamCast renders `.codex/agents/<name>.toml` plus `.codex/config.toml` from `codex.agents.<name>`.
444
459
 
445
460
  Native Claude Code fields are rendered into frontmatter:
446
461
 
@@ -1,7 +1,6 @@
1
1
  import type { CoreAgent, CoreTeam, ReasoningEffort } from '../core/types.js';
2
2
  import type { TeamCastManifest } from '../manifest/types.js';
3
3
  import type { TeamRoleName } from '../team-templates/roles.js';
4
- import '../renderers/index.js';
5
4
  export type InitTargetName = 'claude' | 'codex';
6
5
  export type InitTargetSelection = InitTargetName | 'both';
7
6
  export declare function resolveInitTargets(selection?: InitTargetSelection): InitTargetName[];
@@ -1 +1 @@
1
- {"version":3,"file":"team.d.ts","sourceRoot":"","sources":["../../src/application/team.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EAAe,gBAAgB,EAAgB,MAAM,sBAAsB,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAM/D,OAAO,uBAAuB,CAAC;AAG/B,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,CAAC;AAChD,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,MAAM,CAAC;AAE1D,wBAAgB,kBAAkB,CAAC,SAAS,GAAE,mBAA8B,GAAG,cAAc,EAAE,CAE9F;AA0FD,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,mBAA8B,GACxC,gBAAgB,CAyBlB;AAED,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,cAAyB,GACpC,QAAQ,CAGV;AAED,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,YAAY,EAAE,EACrB,UAAU,GAAE,cAAyB,GACpC,QAAQ,CA0BV;AAED,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,YAAY,EAAE,EACrB,SAAS,GAAE,mBAA8B,GACxC,gBAAgB,CAOlB;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CA2BlE;AAED,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,cAAyB,GACpC,QAAQ,CAmCV;AAED,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,mBAA8B,GACxC,gBAAgB,CAOlB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,KAAK,CAAC;IAAE,UAAU,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GAC3D,gBAAgB,CAWlB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,QAAQ,CAWvF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,QAAQ,CAWxF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAoB1E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,QAAQ,CAsBjG;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;CAC3D,GACA,SAAS,CAkBX"}
1
+ {"version":3,"file":"team.d.ts","sourceRoot":"","sources":["../../src/application/team.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,KAAK,EAAe,gBAAgB,EAAgB,MAAM,sBAAsB,CAAC;AACxF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAO/D,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,CAAC;AAChD,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG,MAAM,CAAC;AAE1D,wBAAgB,kBAAkB,CAAC,SAAS,GAAE,mBAA8B,GAAG,cAAc,EAAE,CAE9F;AA0JD,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,mBAA8B,GACxC,gBAAgB,CA8BlB;AAED,wBAAgB,mBAAmB,CACjC,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,cAAyB,GACpC,QAAQ,CAGV;AAED,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,YAAY,EAAE,EACrB,UAAU,GAAE,cAAyB,GACpC,QAAQ,CA0BV;AAED,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,YAAY,EAAE,EACrB,SAAS,GAAE,mBAA8B,GACxC,gBAAgB,CAOlB;AAED,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,QAAQ,CA2BlE;AAED,wBAAgB,6BAA6B,CAC3C,WAAW,EAAE,MAAM,EACnB,UAAU,GAAE,cAAyB,GACpC,QAAQ,CAmCV;AAED,wBAAgB,wBAAwB,CACtC,WAAW,EAAE,MAAM,EACnB,SAAS,GAAE,mBAA8B,GACxC,gBAAgB,CAOlB;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,KAAK,CAAC;IAAE,UAAU,EAAE,cAAc,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC,GAC3D,gBAAgB,CAWlB;AAED,wBAAgB,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,QAAQ,CAWvF;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,QAAQ,CAWxF;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,GAAG,QAAQ,CAoB1E;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,GAAG,QAAQ,CAsBjG;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,EAChB,OAAO,EAAE;IACP,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;IACtC,eAAe,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;CAC3D,GACA,SAAS,CAkBX"}
@@ -1,8 +1,7 @@
1
1
  import { createPolicies } from '../team-templates/policies.js';
2
+ import { buildPresetManifest } from '../team-templates/presets.js';
2
3
  import { createRoleAgent, getRoleRuntimeDefaults, isTeamRoleName } from '../team-templates/roles.js';
3
- import { applyPreset, loadPreset } from '../presets/index.js';
4
4
  import { createManifestForTarget, normalizeManifest } from '../manifest/normalize.js';
5
- import '../renderers/index.js';
6
5
  import { getTarget } from '../renderers/registry.js';
7
6
  export function resolveInitTargets(selection = 'claude') {
8
7
  return selection === 'both' ? ['claude', 'codex'] : [selection];
@@ -70,6 +69,70 @@ function cloneTargetConfig(targetConfig, options) {
70
69
  };
71
70
  })(),
72
71
  ])),
72
+ policies: targetConfig.policies
73
+ ? {
74
+ ...targetConfig.policies,
75
+ fragments: targetConfig.policies.fragments ? [...targetConfig.policies.fragments] : undefined,
76
+ permissions: targetConfig.policies.permissions
77
+ ? {
78
+ ...targetConfig.policies.permissions,
79
+ allow: targetConfig.policies.permissions.allow ? [...targetConfig.policies.permissions.allow] : undefined,
80
+ ask: targetConfig.policies.permissions.ask ? [...targetConfig.policies.permissions.ask] : undefined,
81
+ deny: targetConfig.policies.permissions.deny ? [...targetConfig.policies.permissions.deny] : undefined,
82
+ rules: targetConfig.policies.permissions.rules
83
+ ? {
84
+ allow: targetConfig.policies.permissions.rules.allow
85
+ ? [...targetConfig.policies.permissions.rules.allow]
86
+ : undefined,
87
+ ask: targetConfig.policies.permissions.rules.ask
88
+ ? [...targetConfig.policies.permissions.rules.ask]
89
+ : undefined,
90
+ deny: targetConfig.policies.permissions.rules.deny
91
+ ? [...targetConfig.policies.permissions.rules.deny]
92
+ : undefined,
93
+ }
94
+ : undefined,
95
+ }
96
+ : undefined,
97
+ sandbox: targetConfig.policies.sandbox
98
+ ? {
99
+ ...targetConfig.policies.sandbox,
100
+ excluded_commands: targetConfig.policies.sandbox.excluded_commands
101
+ ? [...targetConfig.policies.sandbox.excluded_commands]
102
+ : undefined,
103
+ network: targetConfig.policies.sandbox.network
104
+ ? {
105
+ allow_unix_sockets: targetConfig.policies.sandbox.network.allow_unix_sockets
106
+ ? [...targetConfig.policies.sandbox.network.allow_unix_sockets]
107
+ : undefined,
108
+ allow_local_binding: targetConfig.policies.sandbox.network.allow_local_binding,
109
+ }
110
+ : undefined,
111
+ }
112
+ : undefined,
113
+ hooks: targetConfig.policies.hooks
114
+ ? {
115
+ pre_tool_use: targetConfig.policies.hooks.pre_tool_use?.map((entry) => ({ ...entry })),
116
+ post_tool_use: targetConfig.policies.hooks.post_tool_use?.map((entry) => ({ ...entry })),
117
+ notification: targetConfig.policies.hooks.notification?.map((entry) => ({ ...entry })),
118
+ }
119
+ : undefined,
120
+ network: targetConfig.policies.network
121
+ ? {
122
+ allowed_domains: targetConfig.policies.network.allowed_domains
123
+ ? [...targetConfig.policies.network.allowed_domains]
124
+ : undefined,
125
+ }
126
+ : undefined,
127
+ assertions: targetConfig.policies.assertions ? [...targetConfig.policies.assertions] : undefined,
128
+ }
129
+ : undefined,
130
+ settings: targetConfig.settings
131
+ ? {
132
+ generate_docs: targetConfig.settings.generate_docs,
133
+ generate_local_settings: targetConfig.settings.generate_local_settings,
134
+ }
135
+ : undefined,
73
136
  };
74
137
  }
75
138
  function mergeManifests(base, extra) {
@@ -82,15 +145,20 @@ function mergeManifests(base, extra) {
82
145
  };
83
146
  }
84
147
  export function buildManifestFromPreset(presetName, projectName, selection = 'claude') {
85
- const preset = loadPreset(presetName);
86
- const manifest = applyPreset(preset, projectName);
148
+ const presetManifest = buildPresetManifest(presetName);
149
+ const manifest = {
150
+ ...presetManifest,
151
+ project: {
152
+ ...presetManifest.project,
153
+ name: projectName,
154
+ },
155
+ };
87
156
  const sourceTarget = manifest.claude ?? manifest.codex;
88
157
  const targetNames = resolveInitTargets(selection);
89
158
  return {
90
159
  version: '2',
91
160
  project: { ...manifest.project },
92
- policies: manifest.policies ? { ...manifest.policies } : undefined,
93
- settings: manifest.settings ? { ...manifest.settings } : undefined,
161
+ plugins: manifest.plugins ? [...manifest.plugins] : undefined,
94
162
  preset_meta: manifest.preset_meta ? { ...manifest.preset_meta } : undefined,
95
163
  claude: targetNames.includes('claude')
96
164
  ? cloneTargetConfig(manifest.claude ?? sourceTarget, {
@@ -1 +1 @@
1
- {"version":3,"file":"team.js","sourceRoot":"","sources":["../../src/application/team.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"team.js","sourceRoot":"","sources":["../../src/application/team.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import type { TeamCastManifest } from '../types/manifest.js';
2
2
  import type { ValidationResult } from '../validator/types.js';
3
- import '../renderers/index.js';
4
3
  export interface TeamValidationSummary {
5
4
  schemaErrors: Array<{
6
5
  path: string;
@@ -9,7 +8,9 @@ export interface TeamValidationSummary {
9
8
  validationResults: ValidationResult[];
10
9
  policyAssertionCount?: number;
11
10
  }
12
- export declare function evaluateTeam(manifest: TeamCastManifest): TeamValidationSummary;
11
+ export declare function evaluateTeam(manifest: TeamCastManifest, options?: {
12
+ cwd?: string;
13
+ }): TeamValidationSummary;
13
14
  export declare function teamHasBlockingIssues(summary: TeamValidationSummary): boolean;
14
15
  export declare function printManifestValidation(summary: TeamValidationSummary): void;
15
16
  //# sourceMappingURL=validate-team.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-team.d.ts","sourceRoot":"","sources":["../../src/application/validate-team.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAM7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,uBAAuB,CAAC;AAG/B,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,GAAG,qBAAqB,CAiC9E;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAE7E;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAgB5E"}
1
+ {"version":3,"file":"validate-team.d.ts","sourceRoot":"","sources":["../../src/application/validate-team.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAU7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAI9D,MAAM,WAAW,qBAAqB;IACpC,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,CAAC,EAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GACzB,qBAAqB,CAuCvB;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAE7E;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,qBAAqB,GAAG,IAAI,CAE5E"}
@@ -1,12 +1,12 @@
1
- import chalk from 'chalk';
2
1
  import { applyDefaults } from '../manifest/defaults.js';
2
+ import { getManifestTargetConfig, isManifestTargetName } from '../manifest/targets.js';
3
3
  import { validateSchema } from '../manifest/schema-validator.js';
4
4
  import { normalizeManifest } from '../manifest/normalize.js';
5
5
  import { runValidation } from '../validator/index.js';
6
- import { hasErrors } from '../validator/reporter.js';
7
- import '../renderers/index.js';
6
+ import { hasErrors, printManifestValidationSummary, } from '../validator/reporter.js';
8
7
  import { getTarget, getRegisteredTargetNames } from '../renderers/registry.js';
9
- export function evaluateTeam(manifest) {
8
+ import { injectEnvironmentPolicies } from '../plugins/inject.js';
9
+ export function evaluateTeam(manifest, options) {
10
10
  const schemaResult = validateSchema(manifest);
11
11
  if (!schemaResult.valid) {
12
12
  return {
@@ -15,14 +15,17 @@ export function evaluateTeam(manifest) {
15
15
  };
16
16
  }
17
17
  const rawManifest = applyDefaults(schemaResult.data);
18
- const rawManifestRecord = rawManifest;
19
- const activeTargets = getRegisteredTargetNames().filter((targetName) => rawManifestRecord[targetName]);
18
+ const resolvedManifest = options?.cwd ? injectEnvironmentPolicies(rawManifest, options.cwd) : rawManifest;
19
+ const activeTargets = getRegisteredTargetNames().filter((targetName) => isManifestTargetName(targetName) &&
20
+ Boolean(getManifestTargetConfig(resolvedManifest, targetName)));
20
21
  const validationResults = [];
22
+ let policyAssertionCount = 0;
21
23
  for (const targetName of activeTargets) {
22
24
  const targetContext = getTarget(targetName);
23
- const team = normalizeManifest(rawManifest, targetContext);
25
+ const team = normalizeManifest(resolvedManifest, targetContext);
24
26
  const targetResults = runValidation(team, targetContext);
25
27
  const prefix = activeTargets.length > 1 ? `[${targetName}] ` : '';
28
+ policyAssertionCount += team.policies?.assertions?.length ?? 0;
26
29
  validationResults.push(...targetResults.map((result) => ({
27
30
  ...result,
28
31
  message: prefix + result.message,
@@ -31,92 +34,13 @@ export function evaluateTeam(manifest) {
31
34
  return {
32
35
  schemaErrors: [],
33
36
  validationResults,
34
- policyAssertionCount: rawManifest.policies?.assertions?.length ?? 0,
37
+ policyAssertionCount,
35
38
  };
36
39
  }
37
40
  export function teamHasBlockingIssues(summary) {
38
41
  return summary.schemaErrors.length > 0 || hasErrors(summary.validationResults);
39
42
  }
40
43
  export function printManifestValidation(summary) {
41
- if (summary.schemaErrors.length > 0) {
42
- console.log('');
43
- console.log(` ${chalk.red('[!!]')} ${chalk.bold('Schema')} ${chalk.dim('—')} ${chalk.red('manifest structure invalid')}`);
44
- for (const error of summary.schemaErrors) {
45
- console.log(` ${chalk.red('[error]')} ${error.path}: ${error.message}`);
46
- }
47
- console.log('');
48
- return;
49
- }
50
- console.log('');
51
- console.log(chalk.bold('Validation results:'));
52
- console.log(` ${chalk.green('[ok]')} ${chalk.bold('Schema')} ${chalk.dim('—')} ${chalk.dim('manifest structure valid')}`);
53
- printCategoryRows(summary.validationResults, summary.policyAssertionCount);
54
- }
55
- function printCategoryRows(results, policyAssertionCount) {
56
- const categoryOrder = [
57
- { label: 'Handoff graph', okDescription: 'delegation paths verified' },
58
- { label: 'Tool conflicts', okDescription: 'no allow/deny overlaps' },
59
- { label: 'Role separation', okDescription: 'roles match capabilities' },
60
- { label: 'Security', okDescription: 'sandbox and permissions checked' },
61
- { label: 'Instruction blocks', okDescription: 'all blocks valid' },
62
- { label: 'policy', okDescription: 'all assertions passed' },
63
- ];
64
- const byCategory = new Map();
65
- for (const result of results) {
66
- const existing = byCategory.get(result.category) ?? [];
67
- byCategory.set(result.category, [...existing, result]);
68
- }
69
- for (const meta of categoryOrder) {
70
- const categoryResults = byCategory.get(meta.label) ?? [];
71
- const errors = categoryResults.filter((result) => result.severity === 'error');
72
- const warnings = categoryResults.filter((result) => result.severity === 'warning');
73
- if (errors.length > 0) {
74
- const desc = chalk.red(`${errors.length} error${errors.length !== 1 ? 's' : ''}`);
75
- const extra = warnings.length > 0
76
- ? `, ${chalk.yellow(`${warnings.length} warning${warnings.length !== 1 ? 's' : ''}`)}`
77
- : '';
78
- console.log(` ${chalk.red('[!!]')} ${chalk.bold(meta.label)} ${chalk.dim('—')} ${desc}${extra}`);
79
- for (const result of [...errors, ...warnings]) {
80
- const prefix = result.severity === 'error' ? chalk.red(' [error]') : chalk.yellow(' [warn]');
81
- console.log(` ${prefix} ${result.message}`);
82
- }
83
- }
84
- else if (warnings.length > 0) {
85
- const desc = chalk.yellow(`${warnings.length} warning${warnings.length !== 1 ? 's' : ''}`);
86
- console.log(` ${chalk.yellow('[--]')} ${chalk.bold(meta.label)} ${chalk.dim('—')} ${desc}`);
87
- for (const result of warnings) {
88
- console.log(` ${chalk.yellow(' [warn]')} ${result.message}`);
89
- }
90
- }
91
- else {
92
- let okDesc;
93
- if (meta.label === 'policy' && policyAssertionCount !== undefined) {
94
- okDesc =
95
- policyAssertionCount === 0
96
- ? chalk.dim('no assertions defined')
97
- : chalk.dim(`${policyAssertionCount} rule${policyAssertionCount !== 1 ? 's' : ''} passed`);
98
- }
99
- else {
100
- okDesc = chalk.dim(meta.okDescription);
101
- }
102
- console.log(` ${chalk.green('[ok]')} ${chalk.bold(meta.label)} ${chalk.dim('—')} ${okDesc}`);
103
- }
104
- }
105
- console.log('');
106
- const totalErrors = results.filter((result) => result.severity === 'error').length;
107
- const totalWarnings = results.filter((result) => result.severity === 'warning').length;
108
- if (totalErrors === 0 && totalWarnings === 0) {
109
- console.log(chalk.green('All checks passed.'));
110
- }
111
- else {
112
- const parts = [];
113
- if (totalErrors > 0)
114
- parts.push(chalk.red(`${totalErrors} error${totalErrors !== 1 ? 's' : ''}`));
115
- if (totalWarnings > 0) {
116
- parts.push(chalk.yellow(`${totalWarnings} warning${totalWarnings !== 1 ? 's' : ''}`));
117
- }
118
- console.log(`${parts.join(', ')} found.`);
119
- }
120
- console.log('');
44
+ printManifestValidationSummary(summary);
121
45
  }
122
46
  //# sourceMappingURL=validate-team.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-team.js","sourceRoot":"","sources":["../../src/application/validate-team.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-team.js","sourceRoot":"","sources":["../../src/application/validate-team.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EACL,SAAS,EACT,8BAA8B,GAC/B,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAQjE,MAAM,UAAU,YAAY,CAC1B,QAA0B,EAC1B,OAA0B;IAE1B,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IAE9C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO;YACL,YAAY,EAAE,YAAY,CAAC,MAAM;YACjC,iBAAiB,EAAE,EAAE;SACtB,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,yBAAyB,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAC1G,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAC,MAAM,CACrD,CAAC,UAAU,EAAE,EAAE,CACb,oBAAoB,CAAC,UAAU,CAAC;QAChC,OAAO,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC,CACjE,CAAC;IACF,MAAM,iBAAiB,GAAuB,EAAE,CAAC;IACjD,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAE7B,KAAK,MAAM,UAAU,IAAI,aAAa,EAAE,CAAC;QACvC,MAAM,aAAa,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,iBAAiB,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;QAChE,MAAM,aAAa,GAAG,aAAa,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,oBAAoB,IAAI,IAAI,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC,CAAC;QAC/D,iBAAiB,CAAC,IAAI,CACpB,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChC,GAAG,MAAM;YACT,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,OAAO;SACjC,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IAED,OAAO;QACL,YAAY,EAAE,EAAE;QAChB,iBAAiB;QACjB,oBAAoB;KACrB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,OAA8B;IAClE,OAAO,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AACjF,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,OAA8B;IACpE,8BAA8B,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC"}
@@ -1,3 +1,3 @@
1
- import type { Command } from 'commander';
2
- export declare function registerDiffCommand(program: Command): void;
1
+ export declare function runDiffCommand(): void;
2
+ export { registerDiffCommand } from './registrars/diff.js';
3
3
  //# sourceMappingURL=diff.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/cli/diff.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAMzC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA0D1D"}
1
+ {"version":3,"file":"diff.d.ts","sourceRoot":"","sources":["../../src/cli/diff.ts"],"names":[],"mappings":"AAMA,wBAAgB,cAAc,IAAI,IAAI,CAqDrC;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC"}
package/dist/cli/diff.js CHANGED
@@ -2,56 +2,53 @@ import chalk from 'chalk';
2
2
  import { readManifest, ManifestError } from '../manifest/reader.js';
3
3
  import { diffManifest } from '../diff/index.js';
4
4
  import { printHeader, printCommandSuccess, printDim } from '../utils/chalk-helpers.js';
5
- export function registerDiffCommand(program) {
6
- program
7
- .command('diff')
8
- .description('Show differences between teamcast.yaml and generated files on disk')
9
- .action(() => {
10
- const cwd = process.cwd();
11
- let manifest;
12
- try {
13
- manifest = readManifest(cwd);
5
+ import { abortCli } from './errors.js';
6
+ export function runDiffCommand() {
7
+ const cwd = process.cwd();
8
+ let manifest;
9
+ try {
10
+ manifest = readManifest(cwd);
11
+ }
12
+ catch (err) {
13
+ if (err instanceof ManifestError) {
14
+ console.error(chalk.red(`\nError: ${err.message}`));
15
+ abortCli(1);
14
16
  }
15
- catch (err) {
16
- if (err instanceof ManifestError) {
17
- console.error(chalk.red(`\nError: ${err.message}`));
18
- process.exit(1);
19
- }
20
- throw err;
21
- }
22
- const entries = diffManifest(manifest, cwd);
23
- const modified = entries.filter((entry) => entry.status === 'modified');
24
- const newFiles = entries.filter((entry) => entry.status === 'new');
25
- const unchanged = entries.filter((entry) => entry.status === 'unchanged');
26
- printHeader('Diff');
27
- if (modified.length === 0 && newFiles.length === 0) {
28
- printCommandSuccess('All generated files are up to date');
29
- return;
30
- }
31
- for (const entry of newFiles) {
32
- console.log(` ${chalk.green('+')} ${entry.path} ${chalk.dim('(new)')}`);
33
- }
34
- for (const entry of modified) {
35
- const stats = entry.addedLines !== undefined
36
- ? chalk.dim(` (+${entry.addedLines} -${entry.removedLines})`)
37
- : '';
38
- console.log(` ${chalk.yellow('~')} ${entry.path}${stats} ${chalk.dim('(modified)')}`);
39
- }
40
- for (const entry of unchanged) {
41
- console.log(` ${chalk.dim('-')} ${entry.path} ${chalk.dim('(unchanged)')}`);
42
- }
43
- console.log('');
44
- const parts = [];
45
- if (newFiles.length)
46
- parts.push(chalk.green(`${newFiles.length} new`));
47
- if (modified.length)
48
- parts.push(chalk.yellow(`${modified.length} modified`));
49
- if (unchanged.length)
50
- parts.push(chalk.dim(`${unchanged.length} unchanged`));
51
- console.log(` ${parts.join(chalk.dim(' | '))}`);
52
- console.log('');
53
- printDim(' Run "teamcast generate" to apply changes');
54
- console.log('');
55
- });
17
+ throw err;
18
+ }
19
+ const entries = diffManifest(manifest, cwd);
20
+ const modified = entries.filter((entry) => entry.status === 'modified');
21
+ const newFiles = entries.filter((entry) => entry.status === 'new');
22
+ const unchanged = entries.filter((entry) => entry.status === 'unchanged');
23
+ printHeader('Diff');
24
+ if (modified.length === 0 && newFiles.length === 0) {
25
+ printCommandSuccess('All generated files are up to date');
26
+ return;
27
+ }
28
+ for (const entry of newFiles) {
29
+ console.log(` ${chalk.green('+')} ${entry.path} ${chalk.dim('(new)')}`);
30
+ }
31
+ for (const entry of modified) {
32
+ const stats = entry.addedLines !== undefined
33
+ ? chalk.dim(` (+${entry.addedLines} -${entry.removedLines})`)
34
+ : '';
35
+ console.log(` ${chalk.yellow('~')} ${entry.path}${stats} ${chalk.dim('(modified)')}`);
36
+ }
37
+ for (const entry of unchanged) {
38
+ console.log(` ${chalk.dim('-')} ${entry.path} ${chalk.dim('(unchanged)')}`);
39
+ }
40
+ console.log('');
41
+ const parts = [];
42
+ if (newFiles.length)
43
+ parts.push(chalk.green(`${newFiles.length} new`));
44
+ if (modified.length)
45
+ parts.push(chalk.yellow(`${modified.length} modified`));
46
+ if (unchanged.length)
47
+ parts.push(chalk.dim(`${unchanged.length} unchanged`));
48
+ console.log(` ${parts.join(chalk.dim(' | '))}`);
49
+ console.log('');
50
+ printDim(' Run "teamcast generate" to apply changes');
51
+ console.log('');
56
52
  }
53
+ export { registerDiffCommand } from './registrars/diff.js';
57
54
  //# sourceMappingURL=diff.js.map