@dotcontext/mcp 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (835) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +22 -0
  3. package/dist/cli/index.d.ts +15 -0
  4. package/dist/cli/index.d.ts.map +1 -0
  5. package/dist/cli/index.js +27 -0
  6. package/dist/cli/index.js.map +1 -0
  7. package/dist/generators/agents/agentConfig.d.ts +4 -0
  8. package/dist/generators/agents/agentConfig.d.ts.map +1 -0
  9. package/dist/generators/agents/agentConfig.js +180 -0
  10. package/dist/generators/agents/agentConfig.js.map +1 -0
  11. package/dist/generators/agents/agentGenerator.d.ts +36 -0
  12. package/dist/generators/agents/agentGenerator.d.ts.map +1 -0
  13. package/dist/generators/agents/agentGenerator.js +304 -0
  14. package/dist/generators/agents/agentGenerator.js.map +1 -0
  15. package/dist/generators/agents/agentTypes.d.ts +4 -0
  16. package/dist/generators/agents/agentTypes.d.ts.map +1 -0
  17. package/dist/generators/agents/agentTypes.js +25 -0
  18. package/dist/generators/agents/agentTypes.js.map +1 -0
  19. package/dist/generators/agents/index.d.ts +4 -0
  20. package/dist/generators/agents/index.d.ts.map +1 -0
  21. package/dist/generators/agents/index.js +12 -0
  22. package/dist/generators/agents/index.js.map +1 -0
  23. package/dist/generators/agents/templates/index.d.ts +3 -0
  24. package/dist/generators/agents/templates/index.d.ts.map +1 -0
  25. package/dist/generators/agents/templates/index.js +6 -0
  26. package/dist/generators/agents/templates/index.js.map +1 -0
  27. package/dist/generators/agents/templates/indexTemplate.d.ts +3 -0
  28. package/dist/generators/agents/templates/indexTemplate.d.ts.map +1 -0
  29. package/dist/generators/agents/templates/indexTemplate.js +36 -0
  30. package/dist/generators/agents/templates/indexTemplate.js.map +1 -0
  31. package/dist/generators/agents/templates/types.d.ts +22 -0
  32. package/dist/generators/agents/templates/types.d.ts.map +1 -0
  33. package/dist/generators/agents/templates/types.js +3 -0
  34. package/dist/generators/agents/templates/types.js.map +1 -0
  35. package/dist/generators/documentation/codebaseMapGenerator.d.ts +126 -0
  36. package/dist/generators/documentation/codebaseMapGenerator.d.ts.map +1 -0
  37. package/dist/generators/documentation/codebaseMapGenerator.js +570 -0
  38. package/dist/generators/documentation/codebaseMapGenerator.js.map +1 -0
  39. package/dist/generators/documentation/documentationGenerator.d.ts +22 -0
  40. package/dist/generators/documentation/documentationGenerator.d.ts.map +1 -0
  41. package/dist/generators/documentation/documentationGenerator.js +268 -0
  42. package/dist/generators/documentation/documentationGenerator.js.map +1 -0
  43. package/dist/generators/documentation/guideRegistry.d.ts +6 -0
  44. package/dist/generators/documentation/guideRegistry.d.ts.map +1 -0
  45. package/dist/generators/documentation/guideRegistry.js +74 -0
  46. package/dist/generators/documentation/guideRegistry.js.map +1 -0
  47. package/dist/generators/documentation/index.d.ts +4 -0
  48. package/dist/generators/documentation/index.d.ts.map +1 -0
  49. package/dist/generators/documentation/index.js +8 -0
  50. package/dist/generators/documentation/index.js.map +1 -0
  51. package/dist/generators/documentation/templates/common.d.ts +42 -0
  52. package/dist/generators/documentation/templates/common.d.ts.map +1 -0
  53. package/dist/generators/documentation/templates/common.js +194 -0
  54. package/dist/generators/documentation/templates/common.js.map +1 -0
  55. package/dist/generators/documentation/templates/index.d.ts +3 -0
  56. package/dist/generators/documentation/templates/index.d.ts.map +1 -0
  57. package/dist/generators/documentation/templates/index.js +6 -0
  58. package/dist/generators/documentation/templates/index.js.map +1 -0
  59. package/dist/generators/documentation/templates/indexTemplate.d.ts +3 -0
  60. package/dist/generators/documentation/templates/indexTemplate.d.ts.map +1 -0
  61. package/dist/generators/documentation/templates/indexTemplate.js +25 -0
  62. package/dist/generators/documentation/templates/indexTemplate.js.map +1 -0
  63. package/dist/generators/documentation/templates/types.d.ts +24 -0
  64. package/dist/generators/documentation/templates/types.d.ts.map +1 -0
  65. package/dist/generators/documentation/templates/types.js +3 -0
  66. package/dist/generators/documentation/templates/types.js.map +1 -0
  67. package/dist/generators/plans/index.d.ts +2 -0
  68. package/dist/generators/plans/index.d.ts.map +1 -0
  69. package/dist/generators/plans/index.js +6 -0
  70. package/dist/generators/plans/index.js.map +1 -0
  71. package/dist/generators/plans/planGenerator.d.ts +26 -0
  72. package/dist/generators/plans/planGenerator.d.ts.map +1 -0
  73. package/dist/generators/plans/planGenerator.js +137 -0
  74. package/dist/generators/plans/planGenerator.js.map +1 -0
  75. package/dist/generators/plans/templates/indexTemplate.d.ts +3 -0
  76. package/dist/generators/plans/templates/indexTemplate.d.ts.map +1 -0
  77. package/dist/generators/plans/templates/indexTemplate.js +28 -0
  78. package/dist/generators/plans/templates/indexTemplate.js.map +1 -0
  79. package/dist/generators/plans/templates/planTemplate.d.ts +14 -0
  80. package/dist/generators/plans/templates/planTemplate.d.ts.map +1 -0
  81. package/dist/generators/plans/templates/planTemplate.js +270 -0
  82. package/dist/generators/plans/templates/planTemplate.js.map +1 -0
  83. package/dist/generators/plans/templates/types.d.ts +29 -0
  84. package/dist/generators/plans/templates/types.d.ts.map +1 -0
  85. package/dist/generators/plans/templates/types.js +3 -0
  86. package/dist/generators/plans/templates/types.js.map +1 -0
  87. package/dist/generators/shared/contextGenerator.d.ts +7 -0
  88. package/dist/generators/shared/contextGenerator.d.ts.map +1 -0
  89. package/dist/generators/shared/contextGenerator.js +13 -0
  90. package/dist/generators/shared/contextGenerator.js.map +1 -0
  91. package/dist/generators/shared/directoryTemplateHelpers.d.ts +2 -0
  92. package/dist/generators/shared/directoryTemplateHelpers.d.ts.map +1 -0
  93. package/dist/generators/shared/directoryTemplateHelpers.js +12 -0
  94. package/dist/generators/shared/directoryTemplateHelpers.js.map +1 -0
  95. package/dist/generators/shared/generatorUtils.d.ts +16 -0
  96. package/dist/generators/shared/generatorUtils.d.ts.map +1 -0
  97. package/dist/generators/shared/generatorUtils.js +116 -0
  98. package/dist/generators/shared/generatorUtils.js.map +1 -0
  99. package/dist/generators/shared/index.d.ts +5 -0
  100. package/dist/generators/shared/index.d.ts.map +1 -0
  101. package/dist/generators/shared/index.js +26 -0
  102. package/dist/generators/shared/index.js.map +1 -0
  103. package/dist/generators/shared/scaffoldStructures.d.ts +13 -0
  104. package/dist/generators/shared/scaffoldStructures.d.ts.map +1 -0
  105. package/dist/generators/shared/scaffoldStructures.js +30 -0
  106. package/dist/generators/shared/scaffoldStructures.js.map +1 -0
  107. package/dist/generators/shared/structures/agents/definitions.d.ts +18 -0
  108. package/dist/generators/shared/structures/agents/definitions.d.ts.map +1 -0
  109. package/dist/generators/shared/structures/agents/definitions.js +561 -0
  110. package/dist/generators/shared/structures/agents/definitions.js.map +1 -0
  111. package/dist/generators/shared/structures/agents/factory.d.ts +25 -0
  112. package/dist/generators/shared/structures/agents/factory.d.ts.map +1 -0
  113. package/dist/generators/shared/structures/agents/factory.js +138 -0
  114. package/dist/generators/shared/structures/agents/factory.js.map +1 -0
  115. package/dist/generators/shared/structures/agents/index.d.ts +6 -0
  116. package/dist/generators/shared/structures/agents/index.d.ts.map +1 -0
  117. package/dist/generators/shared/structures/agents/index.js +24 -0
  118. package/dist/generators/shared/structures/agents/index.js.map +1 -0
  119. package/dist/generators/shared/structures/documentation/apiReference.d.ts +3 -0
  120. package/dist/generators/shared/structures/documentation/apiReference.d.ts.map +1 -0
  121. package/dist/generators/shared/structures/documentation/apiReference.js +100 -0
  122. package/dist/generators/shared/structures/documentation/apiReference.js.map +1 -0
  123. package/dist/generators/shared/structures/documentation/architecture.d.ts +3 -0
  124. package/dist/generators/shared/structures/documentation/architecture.d.ts.map +1 -0
  125. package/dist/generators/shared/structures/documentation/architecture.js +176 -0
  126. package/dist/generators/shared/structures/documentation/architecture.js.map +1 -0
  127. package/dist/generators/shared/structures/documentation/dataFlow.d.ts +3 -0
  128. package/dist/generators/shared/structures/documentation/dataFlow.d.ts.map +1 -0
  129. package/dist/generators/shared/structures/documentation/dataFlow.js +107 -0
  130. package/dist/generators/shared/structures/documentation/dataFlow.js.map +1 -0
  131. package/dist/generators/shared/structures/documentation/glossary.d.ts +3 -0
  132. package/dist/generators/shared/structures/documentation/glossary.d.ts.map +1 -0
  133. package/dist/generators/shared/structures/documentation/glossary.js +91 -0
  134. package/dist/generators/shared/structures/documentation/glossary.js.map +1 -0
  135. package/dist/generators/shared/structures/documentation/index.d.ts +16 -0
  136. package/dist/generators/shared/structures/documentation/index.d.ts.map +1 -0
  137. package/dist/generators/shared/structures/documentation/index.js +31 -0
  138. package/dist/generators/shared/structures/documentation/index.js.map +1 -0
  139. package/dist/generators/shared/structures/documentation/migration.d.ts +3 -0
  140. package/dist/generators/shared/structures/documentation/migration.d.ts.map +1 -0
  141. package/dist/generators/shared/structures/documentation/migration.js +113 -0
  142. package/dist/generators/shared/structures/documentation/migration.js.map +1 -0
  143. package/dist/generators/shared/structures/documentation/onboarding.d.ts +3 -0
  144. package/dist/generators/shared/structures/documentation/onboarding.d.ts.map +1 -0
  145. package/dist/generators/shared/structures/documentation/onboarding.js +99 -0
  146. package/dist/generators/shared/structures/documentation/onboarding.js.map +1 -0
  147. package/dist/generators/shared/structures/documentation/projectOverview.d.ts +3 -0
  148. package/dist/generators/shared/structures/documentation/projectOverview.d.ts.map +1 -0
  149. package/dist/generators/shared/structures/documentation/projectOverview.js +162 -0
  150. package/dist/generators/shared/structures/documentation/projectOverview.js.map +1 -0
  151. package/dist/generators/shared/structures/documentation/security.d.ts +3 -0
  152. package/dist/generators/shared/structures/documentation/security.d.ts.map +1 -0
  153. package/dist/generators/shared/structures/documentation/security.js +100 -0
  154. package/dist/generators/shared/structures/documentation/security.js.map +1 -0
  155. package/dist/generators/shared/structures/documentation/testing.d.ts +3 -0
  156. package/dist/generators/shared/structures/documentation/testing.d.ts.map +1 -0
  157. package/dist/generators/shared/structures/documentation/testing.js +130 -0
  158. package/dist/generators/shared/structures/documentation/testing.js.map +1 -0
  159. package/dist/generators/shared/structures/documentation/tooling.d.ts +3 -0
  160. package/dist/generators/shared/structures/documentation/tooling.d.ts.map +1 -0
  161. package/dist/generators/shared/structures/documentation/tooling.js +114 -0
  162. package/dist/generators/shared/structures/documentation/tooling.js.map +1 -0
  163. package/dist/generators/shared/structures/documentation/troubleshooting.d.ts +3 -0
  164. package/dist/generators/shared/structures/documentation/troubleshooting.d.ts.map +1 -0
  165. package/dist/generators/shared/structures/documentation/troubleshooting.js +91 -0
  166. package/dist/generators/shared/structures/documentation/troubleshooting.js.map +1 -0
  167. package/dist/generators/shared/structures/documentation/workflow.d.ts +3 -0
  168. package/dist/generators/shared/structures/documentation/workflow.d.ts.map +1 -0
  169. package/dist/generators/shared/structures/documentation/workflow.js +116 -0
  170. package/dist/generators/shared/structures/documentation/workflow.js.map +1 -0
  171. package/dist/generators/shared/structures/index.d.ts +15 -0
  172. package/dist/generators/shared/structures/index.d.ts.map +1 -0
  173. package/dist/generators/shared/structures/index.js +37 -0
  174. package/dist/generators/shared/structures/index.js.map +1 -0
  175. package/dist/generators/shared/structures/plans/index.d.ts +5 -0
  176. package/dist/generators/shared/structures/plans/index.d.ts.map +1 -0
  177. package/dist/generators/shared/structures/plans/index.js +9 -0
  178. package/dist/generators/shared/structures/plans/index.js.map +1 -0
  179. package/dist/generators/shared/structures/plans/planStructure.d.ts +6 -0
  180. package/dist/generators/shared/structures/plans/planStructure.d.ts.map +1 -0
  181. package/dist/generators/shared/structures/plans/planStructure.js +65 -0
  182. package/dist/generators/shared/structures/plans/planStructure.js.map +1 -0
  183. package/dist/generators/shared/structures/registry.d.ts +18 -0
  184. package/dist/generators/shared/structures/registry.d.ts.map +1 -0
  185. package/dist/generators/shared/structures/registry.js +104 -0
  186. package/dist/generators/shared/structures/registry.js.map +1 -0
  187. package/dist/generators/shared/structures/serialization.d.ts +15 -0
  188. package/dist/generators/shared/structures/serialization.d.ts.map +1 -0
  189. package/dist/generators/shared/structures/serialization.js +124 -0
  190. package/dist/generators/shared/structures/serialization.js.map +1 -0
  191. package/dist/generators/shared/structures/skills/definitions.d.ts +25 -0
  192. package/dist/generators/shared/structures/skills/definitions.d.ts.map +1 -0
  193. package/dist/generators/shared/structures/skills/definitions.js +427 -0
  194. package/dist/generators/shared/structures/skills/definitions.js.map +1 -0
  195. package/dist/generators/shared/structures/skills/factory.d.ts +18 -0
  196. package/dist/generators/shared/structures/skills/factory.d.ts.map +1 -0
  197. package/dist/generators/shared/structures/skills/factory.js +79 -0
  198. package/dist/generators/shared/structures/skills/factory.js.map +1 -0
  199. package/dist/generators/shared/structures/skills/index.d.ts +6 -0
  200. package/dist/generators/shared/structures/skills/index.d.ts.map +1 -0
  201. package/dist/generators/shared/structures/skills/index.js +30 -0
  202. package/dist/generators/shared/structures/skills/index.js.map +1 -0
  203. package/dist/generators/shared/structures/types.d.ts +61 -0
  204. package/dist/generators/shared/structures/types.d.ts.map +1 -0
  205. package/dist/generators/shared/structures/types.js +6 -0
  206. package/dist/generators/shared/structures/types.js.map +1 -0
  207. package/dist/generators/shared/structures/validation.d.ts +13 -0
  208. package/dist/generators/shared/structures/validation.d.ts.map +1 -0
  209. package/dist/generators/shared/structures/validation.js +51 -0
  210. package/dist/generators/shared/structures/validation.js.map +1 -0
  211. package/dist/generators/skills/index.d.ts +7 -0
  212. package/dist/generators/skills/index.d.ts.map +1 -0
  213. package/dist/generators/skills/index.js +15 -0
  214. package/dist/generators/skills/index.js.map +1 -0
  215. package/dist/generators/skills/skillGenerator.d.ts +59 -0
  216. package/dist/generators/skills/skillGenerator.d.ts.map +1 -0
  217. package/dist/generators/skills/skillGenerator.js +199 -0
  218. package/dist/generators/skills/skillGenerator.js.map +1 -0
  219. package/dist/generators/skills/templates/indexTemplate.d.ts +13 -0
  220. package/dist/generators/skills/templates/indexTemplate.d.ts.map +1 -0
  221. package/dist/generators/skills/templates/indexTemplate.js +109 -0
  222. package/dist/generators/skills/templates/indexTemplate.js.map +1 -0
  223. package/dist/generators/skills/templates/skillTemplate.d.ts +30 -0
  224. package/dist/generators/skills/templates/skillTemplate.d.ts.map +1 -0
  225. package/dist/generators/skills/templates/skillTemplate.js +95 -0
  226. package/dist/generators/skills/templates/skillTemplate.js.map +1 -0
  227. package/dist/harness/index.d.ts +11 -0
  228. package/dist/harness/index.d.ts.map +1 -0
  229. package/dist/harness/index.js +33 -0
  230. package/dist/harness/index.js.map +1 -0
  231. package/dist/index.d.ts +3 -0
  232. package/dist/index.d.ts.map +1 -0
  233. package/dist/index.js +1205 -0
  234. package/dist/index.js.map +1 -0
  235. package/dist/mcp/bin.d.ts +19 -0
  236. package/dist/mcp/bin.d.ts.map +1 -0
  237. package/dist/mcp/bin.js +189 -0
  238. package/dist/mcp/bin.js.map +1 -0
  239. package/dist/mcp/index.d.ts +12 -0
  240. package/dist/mcp/index.d.ts.map +1 -0
  241. package/dist/mcp/index.js +28 -0
  242. package/dist/mcp/index.js.map +1 -0
  243. package/dist/prompts/defaults.d.ts +8 -0
  244. package/dist/prompts/defaults.d.ts.map +1 -0
  245. package/dist/prompts/defaults.js +108 -0
  246. package/dist/prompts/defaults.js.map +1 -0
  247. package/dist/services/autoFill/autoFillService.d.ts +52 -0
  248. package/dist/services/autoFill/autoFillService.d.ts.map +1 -0
  249. package/dist/services/autoFill/autoFillService.js +474 -0
  250. package/dist/services/autoFill/autoFillService.js.map +1 -0
  251. package/dist/services/autoFill/index.d.ts +2 -0
  252. package/dist/services/autoFill/index.d.ts.map +1 -0
  253. package/dist/services/autoFill/index.js +6 -0
  254. package/dist/services/autoFill/index.js.map +1 -0
  255. package/dist/services/cli/index.d.ts +8 -0
  256. package/dist/services/cli/index.d.ts.map +1 -0
  257. package/dist/services/cli/index.js +17 -0
  258. package/dist/services/cli/index.js.map +1 -0
  259. package/dist/services/cli/mcpInstallService.d.ts +57 -0
  260. package/dist/services/cli/mcpInstallService.d.ts.map +1 -0
  261. package/dist/services/cli/mcpInstallService.js +607 -0
  262. package/dist/services/cli/mcpInstallService.js.map +1 -0
  263. package/dist/services/cli/stateDetector.d.ts +55 -0
  264. package/dist/services/cli/stateDetector.d.ts.map +1 -0
  265. package/dist/services/cli/stateDetector.js +191 -0
  266. package/dist/services/cli/stateDetector.js.map +1 -0
  267. package/dist/services/export/contextExportService.d.ts +45 -0
  268. package/dist/services/export/contextExportService.d.ts.map +1 -0
  269. package/dist/services/export/contextExportService.js +161 -0
  270. package/dist/services/export/contextExportService.js.map +1 -0
  271. package/dist/services/export/exportRulesService.d.ts +77 -0
  272. package/dist/services/export/exportRulesService.d.ts.map +1 -0
  273. package/dist/services/export/exportRulesService.js +318 -0
  274. package/dist/services/export/exportRulesService.js.map +1 -0
  275. package/dist/services/export/index.d.ts +7 -0
  276. package/dist/services/export/index.d.ts.map +1 -0
  277. package/dist/services/export/index.js +12 -0
  278. package/dist/services/export/index.js.map +1 -0
  279. package/dist/services/export/skillExportService.d.ts +69 -0
  280. package/dist/services/export/skillExportService.d.ts.map +1 -0
  281. package/dist/services/export/skillExportService.js +265 -0
  282. package/dist/services/export/skillExportService.js.map +1 -0
  283. package/dist/services/harness/agentsService.d.ts +31 -0
  284. package/dist/services/harness/agentsService.d.ts.map +1 -0
  285. package/dist/services/harness/agentsService.js +135 -0
  286. package/dist/services/harness/agentsService.js.map +1 -0
  287. package/dist/services/harness/contextService.d.ts +167 -0
  288. package/dist/services/harness/contextService.d.ts.map +1 -0
  289. package/dist/services/harness/contextService.js +403 -0
  290. package/dist/services/harness/contextService.js.map +1 -0
  291. package/dist/services/harness/contextTools.d.ts +95 -0
  292. package/dist/services/harness/contextTools.d.ts.map +1 -0
  293. package/dist/services/harness/contextTools.js +990 -0
  294. package/dist/services/harness/contextTools.js.map +1 -0
  295. package/dist/services/harness/datasetService.d.ts +63 -0
  296. package/dist/services/harness/datasetService.d.ts.map +1 -0
  297. package/dist/services/harness/datasetService.js +261 -0
  298. package/dist/services/harness/datasetService.js.map +1 -0
  299. package/dist/services/harness/executionService.d.ts +74 -0
  300. package/dist/services/harness/executionService.d.ts.map +1 -0
  301. package/dist/services/harness/executionService.js +213 -0
  302. package/dist/services/harness/executionService.js.map +1 -0
  303. package/dist/services/harness/index.d.ts +21 -0
  304. package/dist/services/harness/index.d.ts.map +1 -0
  305. package/dist/services/harness/index.js +52 -0
  306. package/dist/services/harness/index.js.map +1 -0
  307. package/dist/services/harness/plansService.d.ts +45 -0
  308. package/dist/services/harness/plansService.d.ts.map +1 -0
  309. package/dist/services/harness/plansService.js +251 -0
  310. package/dist/services/harness/plansService.js.map +1 -0
  311. package/dist/services/harness/policyService.d.ts +116 -0
  312. package/dist/services/harness/policyService.d.ts.map +1 -0
  313. package/dist/services/harness/policyService.js +510 -0
  314. package/dist/services/harness/policyService.js.map +1 -0
  315. package/dist/services/harness/replayService.d.ts +63 -0
  316. package/dist/services/harness/replayService.d.ts.map +1 -0
  317. package/dist/services/harness/replayService.js +242 -0
  318. package/dist/services/harness/replayService.js.map +1 -0
  319. package/dist/services/harness/runtimeStateService.d.ts +120 -0
  320. package/dist/services/harness/runtimeStateService.d.ts.map +1 -0
  321. package/dist/services/harness/runtimeStateService.js +316 -0
  322. package/dist/services/harness/runtimeStateService.js.map +1 -0
  323. package/dist/services/harness/sensorCatalogService.d.ts +50 -0
  324. package/dist/services/harness/sensorCatalogService.d.ts.map +1 -0
  325. package/dist/services/harness/sensorCatalogService.js +308 -0
  326. package/dist/services/harness/sensorCatalogService.js.map +1 -0
  327. package/dist/services/harness/sensorsService.d.ts +64 -0
  328. package/dist/services/harness/sensorsService.d.ts.map +1 -0
  329. package/dist/services/harness/sensorsService.js +88 -0
  330. package/dist/services/harness/sensorsService.js.map +1 -0
  331. package/dist/services/harness/skillsService.d.ts +31 -0
  332. package/dist/services/harness/skillsService.d.ts.map +1 -0
  333. package/dist/services/harness/skillsService.js +296 -0
  334. package/dist/services/harness/skillsService.js.map +1 -0
  335. package/dist/services/harness/taskContractsService.d.ts +88 -0
  336. package/dist/services/harness/taskContractsService.d.ts.map +1 -0
  337. package/dist/services/harness/taskContractsService.js +210 -0
  338. package/dist/services/harness/taskContractsService.js.map +1 -0
  339. package/dist/services/harness/workflowStateService.d.ts +51 -0
  340. package/dist/services/harness/workflowStateService.d.ts.map +1 -0
  341. package/dist/services/harness/workflowStateService.js +215 -0
  342. package/dist/services/harness/workflowStateService.js.map +1 -0
  343. package/dist/services/import/agentsDetector.d.ts +12 -0
  344. package/dist/services/import/agentsDetector.d.ts.map +1 -0
  345. package/dist/services/import/agentsDetector.js +189 -0
  346. package/dist/services/import/agentsDetector.js.map +1 -0
  347. package/dist/services/import/importAgentsService.d.ts +14 -0
  348. package/dist/services/import/importAgentsService.d.ts.map +1 -0
  349. package/dist/services/import/importAgentsService.js +201 -0
  350. package/dist/services/import/importAgentsService.js.map +1 -0
  351. package/dist/services/import/importRulesService.d.ts +17 -0
  352. package/dist/services/import/importRulesService.d.ts.map +1 -0
  353. package/dist/services/import/importRulesService.js +228 -0
  354. package/dist/services/import/importRulesService.js.map +1 -0
  355. package/dist/services/import/index.d.ts +7 -0
  356. package/dist/services/import/index.d.ts.map +1 -0
  357. package/dist/services/import/index.js +28 -0
  358. package/dist/services/import/index.js.map +1 -0
  359. package/dist/services/import/presets.d.ts +20 -0
  360. package/dist/services/import/presets.d.ts.map +1 -0
  361. package/dist/services/import/presets.js +56 -0
  362. package/dist/services/import/presets.js.map +1 -0
  363. package/dist/services/import/rulesDetector.d.ts +16 -0
  364. package/dist/services/import/rulesDetector.d.ts.map +1 -0
  365. package/dist/services/import/rulesDetector.js +293 -0
  366. package/dist/services/import/rulesDetector.js.map +1 -0
  367. package/dist/services/import/types.d.ts +72 -0
  368. package/dist/services/import/types.d.ts.map +1 -0
  369. package/dist/services/import/types.js +3 -0
  370. package/dist/services/import/types.js.map +1 -0
  371. package/dist/services/mcp/actionLogger.d.ts +20 -0
  372. package/dist/services/mcp/actionLogger.d.ts.map +1 -0
  373. package/dist/services/mcp/actionLogger.js +189 -0
  374. package/dist/services/mcp/actionLogger.js.map +1 -0
  375. package/dist/services/mcp/gateway/agent.d.ts +17 -0
  376. package/dist/services/mcp/gateway/agent.d.ts.map +1 -0
  377. package/dist/services/mcp/gateway/agent.js +58 -0
  378. package/dist/services/mcp/gateway/agent.js.map +1 -0
  379. package/dist/services/mcp/gateway/context.d.ts +21 -0
  380. package/dist/services/mcp/gateway/context.d.ts.map +1 -0
  381. package/dist/services/mcp/gateway/context.js +137 -0
  382. package/dist/services/mcp/gateway/context.js.map +1 -0
  383. package/dist/services/mcp/gateway/explore.d.ts +16 -0
  384. package/dist/services/mcp/gateway/explore.d.ts.map +1 -0
  385. package/dist/services/mcp/gateway/explore.js +60 -0
  386. package/dist/services/mcp/gateway/explore.js.map +1 -0
  387. package/dist/services/mcp/gateway/harness.d.ts +7 -0
  388. package/dist/services/mcp/gateway/harness.d.ts.map +1 -0
  389. package/dist/services/mcp/gateway/harness.js +337 -0
  390. package/dist/services/mcp/gateway/harness.js.map +1 -0
  391. package/dist/services/mcp/gateway/index.d.ts +25 -0
  392. package/dist/services/mcp/gateway/index.d.ts.map +1 -0
  393. package/dist/services/mcp/gateway/index.js +55 -0
  394. package/dist/services/mcp/gateway/index.js.map +1 -0
  395. package/dist/services/mcp/gateway/metrics.d.ts +56 -0
  396. package/dist/services/mcp/gateway/metrics.d.ts.map +1 -0
  397. package/dist/services/mcp/gateway/metrics.js +153 -0
  398. package/dist/services/mcp/gateway/metrics.js.map +1 -0
  399. package/dist/services/mcp/gateway/plan.d.ts +18 -0
  400. package/dist/services/mcp/gateway/plan.d.ts.map +1 -0
  401. package/dist/services/mcp/gateway/plan.js +85 -0
  402. package/dist/services/mcp/gateway/plan.js.map +1 -0
  403. package/dist/services/mcp/gateway/response.d.ts +45 -0
  404. package/dist/services/mcp/gateway/response.d.ts.map +1 -0
  405. package/dist/services/mcp/gateway/response.js +111 -0
  406. package/dist/services/mcp/gateway/response.js.map +1 -0
  407. package/dist/services/mcp/gateway/shared.d.ts +7 -0
  408. package/dist/services/mcp/gateway/shared.d.ts.map +1 -0
  409. package/dist/services/mcp/gateway/shared.js +13 -0
  410. package/dist/services/mcp/gateway/shared.js.map +1 -0
  411. package/dist/services/mcp/gateway/skill.d.ts +17 -0
  412. package/dist/services/mcp/gateway/skill.d.ts.map +1 -0
  413. package/dist/services/mcp/gateway/skill.js +56 -0
  414. package/dist/services/mcp/gateway/skill.js.map +1 -0
  415. package/dist/services/mcp/gateway/sync.d.ts +17 -0
  416. package/dist/services/mcp/gateway/sync.d.ts.map +1 -0
  417. package/dist/services/mcp/gateway/sync.js +219 -0
  418. package/dist/services/mcp/gateway/sync.js.map +1 -0
  419. package/dist/services/mcp/gateway/types.d.ts +187 -0
  420. package/dist/services/mcp/gateway/types.d.ts.map +1 -0
  421. package/dist/services/mcp/gateway/types.js +12 -0
  422. package/dist/services/mcp/gateway/types.js.map +1 -0
  423. package/dist/services/mcp/gateway/workflowAdvance.d.ts +25 -0
  424. package/dist/services/mcp/gateway/workflowAdvance.d.ts.map +1 -0
  425. package/dist/services/mcp/gateway/workflowAdvance.js +161 -0
  426. package/dist/services/mcp/gateway/workflowAdvance.js.map +1 -0
  427. package/dist/services/mcp/gateway/workflowInit.d.ts +28 -0
  428. package/dist/services/mcp/gateway/workflowInit.d.ts.map +1 -0
  429. package/dist/services/mcp/gateway/workflowInit.js +219 -0
  430. package/dist/services/mcp/gateway/workflowInit.js.map +1 -0
  431. package/dist/services/mcp/gateway/workflowManage.d.ts +47 -0
  432. package/dist/services/mcp/gateway/workflowManage.d.ts.map +1 -0
  433. package/dist/services/mcp/gateway/workflowManage.js +367 -0
  434. package/dist/services/mcp/gateway/workflowManage.js.map +1 -0
  435. package/dist/services/mcp/gateway/workflowStatus.d.ts +17 -0
  436. package/dist/services/mcp/gateway/workflowStatus.d.ts.map +1 -0
  437. package/dist/services/mcp/gateway/workflowStatus.js +93 -0
  438. package/dist/services/mcp/gateway/workflowStatus.js.map +1 -0
  439. package/dist/services/mcp/gatewayTools.d.ts +15 -0
  440. package/dist/services/mcp/gatewayTools.d.ts.map +1 -0
  441. package/dist/services/mcp/gatewayTools.js +39 -0
  442. package/dist/services/mcp/gatewayTools.js.map +1 -0
  443. package/dist/services/mcp/index.d.ts +15 -0
  444. package/dist/services/mcp/index.d.ts.map +1 -0
  445. package/dist/services/mcp/index.js +34 -0
  446. package/dist/services/mcp/index.js.map +1 -0
  447. package/dist/services/mcp/mcpInstallService.d.ts +8 -0
  448. package/dist/services/mcp/mcpInstallService.d.ts.map +1 -0
  449. package/dist/services/mcp/mcpInstallService.js +12 -0
  450. package/dist/services/mcp/mcpInstallService.js.map +1 -0
  451. package/dist/services/mcp/mcpServer.d.ts +100 -0
  452. package/dist/services/mcp/mcpServer.d.ts.map +1 -0
  453. package/dist/services/mcp/mcpServer.js +1036 -0
  454. package/dist/services/mcp/mcpServer.js.map +1 -0
  455. package/dist/services/qa/index.d.ts +9 -0
  456. package/dist/services/qa/index.d.ts.map +1 -0
  457. package/dist/services/qa/index.js +15 -0
  458. package/dist/services/qa/index.js.map +1 -0
  459. package/dist/services/qa/patternInferer.d.ts +12 -0
  460. package/dist/services/qa/patternInferer.d.ts.map +1 -0
  461. package/dist/services/qa/patternInferer.js +17 -0
  462. package/dist/services/qa/patternInferer.js.map +1 -0
  463. package/dist/services/qa/qaService.d.ts +103 -0
  464. package/dist/services/qa/qaService.d.ts.map +1 -0
  465. package/dist/services/qa/qaService.js +838 -0
  466. package/dist/services/qa/qaService.js.map +1 -0
  467. package/dist/services/qa/topicDetector.d.ts +54 -0
  468. package/dist/services/qa/topicDetector.d.ts.map +1 -0
  469. package/dist/services/qa/topicDetector.js +306 -0
  470. package/dist/services/qa/topicDetector.js.map +1 -0
  471. package/dist/services/quickSync/index.d.ts +3 -0
  472. package/dist/services/quickSync/index.d.ts.map +1 -0
  473. package/dist/services/quickSync/index.js +7 -0
  474. package/dist/services/quickSync/index.js.map +1 -0
  475. package/dist/services/quickSync/quickSyncService.d.ts +70 -0
  476. package/dist/services/quickSync/quickSyncService.d.ts.map +1 -0
  477. package/dist/services/quickSync/quickSyncService.js +263 -0
  478. package/dist/services/quickSync/quickSyncService.js.map +1 -0
  479. package/dist/services/report/index.d.ts +3 -0
  480. package/dist/services/report/index.d.ts.map +1 -0
  481. package/dist/services/report/index.js +6 -0
  482. package/dist/services/report/index.js.map +1 -0
  483. package/dist/services/report/reportService.d.ts +131 -0
  484. package/dist/services/report/reportService.d.ts.map +1 -0
  485. package/dist/services/report/reportService.js +372 -0
  486. package/dist/services/report/reportService.js.map +1 -0
  487. package/dist/services/reverseSync/importSkillsService.d.ts +47 -0
  488. package/dist/services/reverseSync/importSkillsService.d.ts.map +1 -0
  489. package/dist/services/reverseSync/importSkillsService.js +365 -0
  490. package/dist/services/reverseSync/importSkillsService.js.map +1 -0
  491. package/dist/services/reverseSync/index.d.ts +12 -0
  492. package/dist/services/reverseSync/index.d.ts.map +1 -0
  493. package/dist/services/reverseSync/index.js +49 -0
  494. package/dist/services/reverseSync/index.js.map +1 -0
  495. package/dist/services/reverseSync/presets.d.ts +51 -0
  496. package/dist/services/reverseSync/presets.d.ts.map +1 -0
  497. package/dist/services/reverseSync/presets.js +77 -0
  498. package/dist/services/reverseSync/presets.js.map +1 -0
  499. package/dist/services/reverseSync/reverseQuickSyncService.d.ts +37 -0
  500. package/dist/services/reverseSync/reverseQuickSyncService.d.ts.map +1 -0
  501. package/dist/services/reverseSync/reverseQuickSyncService.js +269 -0
  502. package/dist/services/reverseSync/reverseQuickSyncService.js.map +1 -0
  503. package/dist/services/reverseSync/skillsDetector.d.ts +36 -0
  504. package/dist/services/reverseSync/skillsDetector.d.ts.map +1 -0
  505. package/dist/services/reverseSync/skillsDetector.js +287 -0
  506. package/dist/services/reverseSync/skillsDetector.js.map +1 -0
  507. package/dist/services/reverseSync/toolDetector.d.ts +36 -0
  508. package/dist/services/reverseSync/toolDetector.d.ts.map +1 -0
  509. package/dist/services/reverseSync/toolDetector.js +177 -0
  510. package/dist/services/reverseSync/toolDetector.js.map +1 -0
  511. package/dist/services/reverseSync/types.d.ts +203 -0
  512. package/dist/services/reverseSync/types.d.ts.map +1 -0
  513. package/dist/services/reverseSync/types.js +9 -0
  514. package/dist/services/reverseSync/types.js.map +1 -0
  515. package/dist/services/semantic/codebaseAnalyzer.d.ts +62 -0
  516. package/dist/services/semantic/codebaseAnalyzer.d.ts.map +1 -0
  517. package/dist/services/semantic/codebaseAnalyzer.js +1071 -0
  518. package/dist/services/semantic/codebaseAnalyzer.js.map +1 -0
  519. package/dist/services/semantic/contextBuilder.d.ts +86 -0
  520. package/dist/services/semantic/contextBuilder.d.ts.map +1 -0
  521. package/dist/services/semantic/contextBuilder.js +641 -0
  522. package/dist/services/semantic/contextBuilder.js.map +1 -0
  523. package/dist/services/semantic/contextCache.d.ts +67 -0
  524. package/dist/services/semantic/contextCache.d.ts.map +1 -0
  525. package/dist/services/semantic/contextCache.js +158 -0
  526. package/dist/services/semantic/contextCache.js.map +1 -0
  527. package/dist/services/semantic/index.d.ts +13 -0
  528. package/dist/services/semantic/index.d.ts.map +1 -0
  529. package/dist/services/semantic/index.js +35 -0
  530. package/dist/services/semantic/index.js.map +1 -0
  531. package/dist/services/semantic/lsp/index.d.ts +2 -0
  532. package/dist/services/semantic/lsp/index.d.ts.map +1 -0
  533. package/dist/services/semantic/lsp/index.js +6 -0
  534. package/dist/services/semantic/lsp/index.js.map +1 -0
  535. package/dist/services/semantic/lsp/lspLayer.d.ts +32 -0
  536. package/dist/services/semantic/lsp/lspLayer.d.ts.map +1 -0
  537. package/dist/services/semantic/lsp/lspLayer.js +378 -0
  538. package/dist/services/semantic/lsp/lspLayer.js.map +1 -0
  539. package/dist/services/semantic/semanticSnapshotService.d.ts +86 -0
  540. package/dist/services/semantic/semanticSnapshotService.d.ts.map +1 -0
  541. package/dist/services/semantic/semanticSnapshotService.js +573 -0
  542. package/dist/services/semantic/semanticSnapshotService.js.map +1 -0
  543. package/dist/services/semantic/treeSitter/index.d.ts +2 -0
  544. package/dist/services/semantic/treeSitter/index.d.ts.map +1 -0
  545. package/dist/services/semantic/treeSitter/index.js +6 -0
  546. package/dist/services/semantic/treeSitter/index.js.map +1 -0
  547. package/dist/services/semantic/treeSitter/treeSitterLayer.d.ts +37 -0
  548. package/dist/services/semantic/treeSitter/treeSitterLayer.d.ts.map +1 -0
  549. package/dist/services/semantic/treeSitter/treeSitterLayer.js +518 -0
  550. package/dist/services/semantic/treeSitter/treeSitterLayer.js.map +1 -0
  551. package/dist/services/semantic/types.d.ts +172 -0
  552. package/dist/services/semantic/types.d.ts.map +1 -0
  553. package/dist/services/semantic/types.js +33 -0
  554. package/dist/services/semantic/types.js.map +1 -0
  555. package/dist/services/shared/contentTypeRegistry.d.ts +66 -0
  556. package/dist/services/shared/contentTypeRegistry.d.ts.map +1 -0
  557. package/dist/services/shared/contentTypeRegistry.js +122 -0
  558. package/dist/services/shared/contentTypeRegistry.js.map +1 -0
  559. package/dist/services/shared/contextLayout.d.ts +18 -0
  560. package/dist/services/shared/contextLayout.d.ts.map +1 -0
  561. package/dist/services/shared/contextLayout.js +139 -0
  562. package/dist/services/shared/contextLayout.js.map +1 -0
  563. package/dist/services/shared/contextRootResolver.d.ts +57 -0
  564. package/dist/services/shared/contextRootResolver.d.ts.map +1 -0
  565. package/dist/services/shared/contextRootResolver.js +102 -0
  566. package/dist/services/shared/contextRootResolver.js.map +1 -0
  567. package/dist/services/shared/executionContext.d.ts +38 -0
  568. package/dist/services/shared/executionContext.d.ts.map +1 -0
  569. package/dist/services/shared/executionContext.js +39 -0
  570. package/dist/services/shared/executionContext.js.map +1 -0
  571. package/dist/services/shared/globPatterns.d.ts +48 -0
  572. package/dist/services/shared/globPatterns.d.ts.map +1 -0
  573. package/dist/services/shared/globPatterns.js +110 -0
  574. package/dist/services/shared/globPatterns.js.map +1 -0
  575. package/dist/services/shared/index.d.ts +15 -0
  576. package/dist/services/shared/index.d.ts.map +1 -0
  577. package/dist/services/shared/index.js +94 -0
  578. package/dist/services/shared/index.js.map +1 -0
  579. package/dist/services/shared/pathHelpers.d.ts +85 -0
  580. package/dist/services/shared/pathHelpers.d.ts.map +1 -0
  581. package/dist/services/shared/pathHelpers.js +187 -0
  582. package/dist/services/shared/pathHelpers.js.map +1 -0
  583. package/dist/services/shared/toolRegistry.d.ts +141 -0
  584. package/dist/services/shared/toolRegistry.d.ts.map +1 -0
  585. package/dist/services/shared/toolRegistry.js +559 -0
  586. package/dist/services/shared/toolRegistry.js.map +1 -0
  587. package/dist/services/shared/types.d.ts +68 -0
  588. package/dist/services/shared/types.d.ts.map +1 -0
  589. package/dist/services/shared/types.js +44 -0
  590. package/dist/services/shared/types.js.map +1 -0
  591. package/dist/services/shared/uiHelpers.d.ts +70 -0
  592. package/dist/services/shared/uiHelpers.d.ts.map +1 -0
  593. package/dist/services/shared/uiHelpers.js +131 -0
  594. package/dist/services/shared/uiHelpers.js.map +1 -0
  595. package/dist/services/stack/index.d.ts +6 -0
  596. package/dist/services/stack/index.d.ts.map +1 -0
  597. package/dist/services/stack/index.js +25 -0
  598. package/dist/services/stack/index.js.map +1 -0
  599. package/dist/services/stack/projectTypeClassifier.d.ts +59 -0
  600. package/dist/services/stack/projectTypeClassifier.d.ts.map +1 -0
  601. package/dist/services/stack/projectTypeClassifier.js +242 -0
  602. package/dist/services/stack/projectTypeClassifier.js.map +1 -0
  603. package/dist/services/stack/scaffoldFilter.d.ts +75 -0
  604. package/dist/services/stack/scaffoldFilter.d.ts.map +1 -0
  605. package/dist/services/stack/scaffoldFilter.js +222 -0
  606. package/dist/services/stack/scaffoldFilter.js.map +1 -0
  607. package/dist/services/stack/stackDetector.d.ts +43 -0
  608. package/dist/services/stack/stackDetector.d.ts.map +1 -0
  609. package/dist/services/stack/stackDetector.js +406 -0
  610. package/dist/services/stack/stackDetector.js.map +1 -0
  611. package/dist/services/state/index.d.ts +2 -0
  612. package/dist/services/state/index.d.ts.map +1 -0
  613. package/dist/services/state/index.js +6 -0
  614. package/dist/services/state/index.js.map +1 -0
  615. package/dist/services/state/stateDetector.d.ts +8 -0
  616. package/dist/services/state/stateDetector.d.ts.map +1 -0
  617. package/dist/services/state/stateDetector.js +16 -0
  618. package/dist/services/state/stateDetector.js.map +1 -0
  619. package/dist/services/sync/index.d.ts +6 -0
  620. package/dist/services/sync/index.d.ts.map +1 -0
  621. package/dist/services/sync/index.js +16 -0
  622. package/dist/services/sync/index.js.map +1 -0
  623. package/dist/services/sync/markdownReferenceHandler.d.ts +3 -0
  624. package/dist/services/sync/markdownReferenceHandler.d.ts.map +1 -0
  625. package/dist/services/sync/markdownReferenceHandler.js +138 -0
  626. package/dist/services/sync/markdownReferenceHandler.js.map +1 -0
  627. package/dist/services/sync/presets.d.ts +9 -0
  628. package/dist/services/sync/presets.d.ts.map +1 -0
  629. package/dist/services/sync/presets.js +53 -0
  630. package/dist/services/sync/presets.js.map +1 -0
  631. package/dist/services/sync/symlinkHandler.d.ts +7 -0
  632. package/dist/services/sync/symlinkHandler.d.ts.map +1 -0
  633. package/dist/services/sync/symlinkHandler.js +134 -0
  634. package/dist/services/sync/symlinkHandler.js.map +1 -0
  635. package/dist/services/sync/syncService.d.ts +23 -0
  636. package/dist/services/sync/syncService.d.ts.map +1 -0
  637. package/dist/services/sync/syncService.js +254 -0
  638. package/dist/services/sync/syncService.js.map +1 -0
  639. package/dist/services/sync/types.d.ts +70 -0
  640. package/dist/services/sync/types.d.ts.map +1 -0
  641. package/dist/services/sync/types.js +3 -0
  642. package/dist/services/sync/types.js.map +1 -0
  643. package/dist/services/workflow/autoAdvance.d.ts +38 -0
  644. package/dist/services/workflow/autoAdvance.d.ts.map +1 -0
  645. package/dist/services/workflow/autoAdvance.js +219 -0
  646. package/dist/services/workflow/autoAdvance.js.map +1 -0
  647. package/dist/services/workflow/index.d.ts +6 -0
  648. package/dist/services/workflow/index.d.ts.map +1 -0
  649. package/dist/services/workflow/index.js +12 -0
  650. package/dist/services/workflow/index.js.map +1 -0
  651. package/dist/services/workflow/workflowService.d.ts +219 -0
  652. package/dist/services/workflow/workflowService.d.ts.map +1 -0
  653. package/dist/services/workflow/workflowService.js +698 -0
  654. package/dist/services/workflow/workflowService.js.map +1 -0
  655. package/dist/types/scaffoldFrontmatter.d.ts +145 -0
  656. package/dist/types/scaffoldFrontmatter.d.ts.map +1 -0
  657. package/dist/types/scaffoldFrontmatter.js +172 -0
  658. package/dist/types/scaffoldFrontmatter.js.map +1 -0
  659. package/dist/types.d.ts +61 -0
  660. package/dist/types.d.ts.map +1 -0
  661. package/dist/types.js +3 -0
  662. package/dist/types.js.map +1 -0
  663. package/dist/utils/cliUI.d.ts +26 -0
  664. package/dist/utils/cliUI.d.ts.map +1 -0
  665. package/dist/utils/cliUI.js +216 -0
  666. package/dist/utils/cliUI.js.map +1 -0
  667. package/dist/utils/fileMapper.d.ts +13 -0
  668. package/dist/utils/fileMapper.d.ts.map +1 -0
  669. package/dist/utils/fileMapper.js +165 -0
  670. package/dist/utils/fileMapper.js.map +1 -0
  671. package/dist/utils/frontMatter.d.ts +104 -0
  672. package/dist/utils/frontMatter.d.ts.map +1 -0
  673. package/dist/utils/frontMatter.js +325 -0
  674. package/dist/utils/frontMatter.js.map +1 -0
  675. package/dist/utils/gitService.d.ts +76 -0
  676. package/dist/utils/gitService.d.ts.map +1 -0
  677. package/dist/utils/gitService.js +564 -0
  678. package/dist/utils/gitService.js.map +1 -0
  679. package/dist/utils/gitignoreManager.d.ts +69 -0
  680. package/dist/utils/gitignoreManager.d.ts.map +1 -0
  681. package/dist/utils/gitignoreManager.js +211 -0
  682. package/dist/utils/gitignoreManager.js.map +1 -0
  683. package/dist/utils/i18n.d.ts +530 -0
  684. package/dist/utils/i18n.d.ts.map +1 -0
  685. package/dist/utils/i18n.js +1179 -0
  686. package/dist/utils/i18n.js.map +1 -0
  687. package/dist/utils/pathSecurity.d.ts +55 -0
  688. package/dist/utils/pathSecurity.d.ts.map +1 -0
  689. package/dist/utils/pathSecurity.js +132 -0
  690. package/dist/utils/pathSecurity.js.map +1 -0
  691. package/dist/utils/processShutdown.d.ts +20 -0
  692. package/dist/utils/processShutdown.d.ts.map +1 -0
  693. package/dist/utils/processShutdown.js +47 -0
  694. package/dist/utils/processShutdown.js.map +1 -0
  695. package/dist/utils/prompts/configSummary.d.ts +7 -0
  696. package/dist/utils/prompts/configSummary.d.ts.map +1 -0
  697. package/dist/utils/prompts/configSummary.js +35 -0
  698. package/dist/utils/prompts/configSummary.js.map +1 -0
  699. package/dist/utils/prompts/index.d.ts +27 -0
  700. package/dist/utils/prompts/index.d.ts.map +1 -0
  701. package/dist/utils/prompts/index.js +112 -0
  702. package/dist/utils/prompts/index.js.map +1 -0
  703. package/dist/utils/prompts/smartDefaults.d.ts +6 -0
  704. package/dist/utils/prompts/smartDefaults.d.ts.map +1 -0
  705. package/dist/utils/prompts/smartDefaults.js +82 -0
  706. package/dist/utils/prompts/smartDefaults.js.map +1 -0
  707. package/dist/utils/prompts/types.d.ts +27 -0
  708. package/dist/utils/prompts/types.d.ts.map +1 -0
  709. package/dist/utils/prompts/types.js +3 -0
  710. package/dist/utils/prompts/types.js.map +1 -0
  711. package/dist/utils/splashScreen.d.ts +14 -0
  712. package/dist/utils/splashScreen.d.ts.map +1 -0
  713. package/dist/utils/splashScreen.js +106 -0
  714. package/dist/utils/splashScreen.js.map +1 -0
  715. package/dist/utils/theme.d.ts +69 -0
  716. package/dist/utils/theme.d.ts.map +1 -0
  717. package/dist/utils/theme.js +97 -0
  718. package/dist/utils/theme.js.map +1 -0
  719. package/dist/utils/themedPrompt.d.ts +46 -0
  720. package/dist/utils/themedPrompt.d.ts.map +1 -0
  721. package/dist/utils/themedPrompt.js +47 -0
  722. package/dist/utils/themedPrompt.js.map +1 -0
  723. package/dist/utils/versionChecker.d.ts +15 -0
  724. package/dist/utils/versionChecker.d.ts.map +1 -0
  725. package/dist/utils/versionChecker.js +58 -0
  726. package/dist/utils/versionChecker.js.map +1 -0
  727. package/dist/version.d.ts +10 -0
  728. package/dist/version.d.ts.map +1 -0
  729. package/dist/version.js +50 -0
  730. package/dist/version.js.map +1 -0
  731. package/dist/workflow/agents/agentRegistry.d.ts +82 -0
  732. package/dist/workflow/agents/agentRegistry.d.ts.map +1 -0
  733. package/dist/workflow/agents/agentRegistry.js +205 -0
  734. package/dist/workflow/agents/agentRegistry.js.map +1 -0
  735. package/dist/workflow/agents/index.d.ts +7 -0
  736. package/dist/workflow/agents/index.d.ts.map +1 -0
  737. package/dist/workflow/agents/index.js +14 -0
  738. package/dist/workflow/agents/index.js.map +1 -0
  739. package/dist/workflow/collaboration.d.ts +110 -0
  740. package/dist/workflow/collaboration.d.ts.map +1 -0
  741. package/dist/workflow/collaboration.js +301 -0
  742. package/dist/workflow/collaboration.js.map +1 -0
  743. package/dist/workflow/errors.d.ts +48 -0
  744. package/dist/workflow/errors.d.ts.map +1 -0
  745. package/dist/workflow/errors.js +52 -0
  746. package/dist/workflow/errors.js.map +1 -0
  747. package/dist/workflow/gates/gateChecker.d.ts +93 -0
  748. package/dist/workflow/gates/gateChecker.d.ts.map +1 -0
  749. package/dist/workflow/gates/gateChecker.js +197 -0
  750. package/dist/workflow/gates/gateChecker.js.map +1 -0
  751. package/dist/workflow/gates/index.d.ts +7 -0
  752. package/dist/workflow/gates/index.d.ts.map +1 -0
  753. package/dist/workflow/gates/index.js +13 -0
  754. package/dist/workflow/gates/index.js.map +1 -0
  755. package/dist/workflow/index.d.ts +27 -0
  756. package/dist/workflow/index.d.ts.map +1 -0
  757. package/dist/workflow/index.js +140 -0
  758. package/dist/workflow/index.js.map +1 -0
  759. package/dist/workflow/orchestration/agentOrchestrator.d.ts +68 -0
  760. package/dist/workflow/orchestration/agentOrchestrator.d.ts.map +1 -0
  761. package/dist/workflow/orchestration/agentOrchestrator.js +280 -0
  762. package/dist/workflow/orchestration/agentOrchestrator.js.map +1 -0
  763. package/dist/workflow/orchestration/documentLinker.d.ts +100 -0
  764. package/dist/workflow/orchestration/documentLinker.d.ts.map +1 -0
  765. package/dist/workflow/orchestration/documentLinker.js +266 -0
  766. package/dist/workflow/orchestration/documentLinker.js.map +1 -0
  767. package/dist/workflow/orchestration/index.d.ts +9 -0
  768. package/dist/workflow/orchestration/index.d.ts.map +1 -0
  769. package/dist/workflow/orchestration/index.js +25 -0
  770. package/dist/workflow/orchestration/index.js.map +1 -0
  771. package/dist/workflow/orchestrator.d.ts +188 -0
  772. package/dist/workflow/orchestrator.d.ts.map +1 -0
  773. package/dist/workflow/orchestrator.js +495 -0
  774. package/dist/workflow/orchestrator.js.map +1 -0
  775. package/dist/workflow/phases.d.ts +64 -0
  776. package/dist/workflow/phases.d.ts.map +1 -0
  777. package/dist/workflow/phases.js +151 -0
  778. package/dist/workflow/phases.js.map +1 -0
  779. package/dist/workflow/plans/index.d.ts +8 -0
  780. package/dist/workflow/plans/index.d.ts.map +1 -0
  781. package/dist/workflow/plans/index.js +27 -0
  782. package/dist/workflow/plans/index.js.map +1 -0
  783. package/dist/workflow/plans/planLinker.d.ts +208 -0
  784. package/dist/workflow/plans/planLinker.d.ts.map +1 -0
  785. package/dist/workflow/plans/planLinker.js +1093 -0
  786. package/dist/workflow/plans/planLinker.js.map +1 -0
  787. package/dist/workflow/plans/types.d.ts +237 -0
  788. package/dist/workflow/plans/types.d.ts.map +1 -0
  789. package/dist/workflow/plans/types.js +25 -0
  790. package/dist/workflow/plans/types.js.map +1 -0
  791. package/dist/workflow/prevcConfig.d.ts +27 -0
  792. package/dist/workflow/prevcConfig.d.ts.map +1 -0
  793. package/dist/workflow/prevcConfig.js +153 -0
  794. package/dist/workflow/prevcConfig.js.map +1 -0
  795. package/dist/workflow/roles.d.ts +50 -0
  796. package/dist/workflow/roles.d.ts.map +1 -0
  797. package/dist/workflow/roles.js +118 -0
  798. package/dist/workflow/roles.js.map +1 -0
  799. package/dist/workflow/scaling.d.ts +45 -0
  800. package/dist/workflow/scaling.d.ts.map +1 -0
  801. package/dist/workflow/scaling.js +215 -0
  802. package/dist/workflow/scaling.js.map +1 -0
  803. package/dist/workflow/skills/frontmatter.d.ts +32 -0
  804. package/dist/workflow/skills/frontmatter.d.ts.map +1 -0
  805. package/dist/workflow/skills/frontmatter.js +117 -0
  806. package/dist/workflow/skills/frontmatter.js.map +1 -0
  807. package/dist/workflow/skills/index.d.ts +10 -0
  808. package/dist/workflow/skills/index.d.ts.map +1 -0
  809. package/dist/workflow/skills/index.js +24 -0
  810. package/dist/workflow/skills/index.js.map +1 -0
  811. package/dist/workflow/skills/skillRegistry.d.ts +67 -0
  812. package/dist/workflow/skills/skillRegistry.d.ts.map +1 -0
  813. package/dist/workflow/skills/skillRegistry.js +279 -0
  814. package/dist/workflow/skills/skillRegistry.js.map +1 -0
  815. package/dist/workflow/skills/skillTemplates.d.ts +20 -0
  816. package/dist/workflow/skills/skillTemplates.d.ts.map +1 -0
  817. package/dist/workflow/skills/skillTemplates.js +150 -0
  818. package/dist/workflow/skills/skillTemplates.js.map +1 -0
  819. package/dist/workflow/skills/types.d.ts +72 -0
  820. package/dist/workflow/skills/types.d.ts.map +1 -0
  821. package/dist/workflow/skills/types.js +48 -0
  822. package/dist/workflow/skills/types.js.map +1 -0
  823. package/dist/workflow/status/statusManager.d.ts +142 -0
  824. package/dist/workflow/status/statusManager.d.ts.map +1 -0
  825. package/dist/workflow/status/statusManager.js +971 -0
  826. package/dist/workflow/status/statusManager.js.map +1 -0
  827. package/dist/workflow/status/templates.d.ts +49 -0
  828. package/dist/workflow/status/templates.d.ts.map +1 -0
  829. package/dist/workflow/status/templates.js +162 -0
  830. package/dist/workflow/status/templates.js.map +1 -0
  831. package/dist/workflow/types.d.ts +314 -0
  832. package/dist/workflow/types.d.ts.map +1 -0
  833. package/dist/workflow/types.js +24 -0
  834. package/dist/workflow/types.js.map +1 -0
  835. package/package.json +45 -0
@@ -0,0 +1,1179 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DEFAULT_LOCALE = exports.SUPPORTED_LOCALES = void 0;
4
+ exports.createTranslator = createTranslator;
5
+ exports.normalizeLocale = normalizeLocale;
6
+ exports.detectLocale = detectLocale;
7
+ exports.isSupportedLocale = isSupportedLocale;
8
+ exports.SUPPORTED_LOCALES = ['en', 'pt-BR'];
9
+ exports.DEFAULT_LOCALE = 'en';
10
+ const englishMessages = {
11
+ 'cli.description': 'Sync .context assets, reverse-sync tool state, and install MCP integrations for your repository',
12
+ 'global.options.lang': 'Language for CLI output (en or pt-BR)',
13
+ 'ui.version': 'Version {version}',
14
+ 'ui.projectConfiguration.title': 'Project Configuration',
15
+ 'ui.projectConfiguration.repository': 'Repository',
16
+ 'ui.projectConfiguration.output': 'Output',
17
+ 'ui.projectConfiguration.mode': 'Mode',
18
+ 'ui.progress.starting': 'Starting...',
19
+ 'ui.analysis.complete.title': 'Analysis Complete',
20
+ 'ui.analysis.files': 'Files',
21
+ 'ui.analysis.directories': 'Directories',
22
+ 'ui.analysis.totalSize': 'Total Size',
23
+ 'ui.fileTypeDistribution.title': 'File Type Distribution',
24
+ 'ui.generationSummary.title': 'Scaffold Complete',
25
+ 'ui.generationSummary.documentation': 'Documentation',
26
+ 'ui.generationSummary.agents': 'Agents',
27
+ 'ui.generationSummary.skills': 'Skills',
28
+ 'ui.generationSummary.timeElapsed': 'Time',
29
+ 'ui.generationSummary.nextStep': 'Next step: customize the generated templates to match your project.',
30
+ 'ui.error.title': 'Error',
31
+ 'ui.splash.directoryLabel': 'directory',
32
+ 'info.prompt.title': 'System Prompt',
33
+ 'info.prompt.usingCustom': 'Using prompt from {path}.',
34
+ 'info.prompt.usingPackage': 'Using packaged prompt at {path}.',
35
+ 'info.prompt.usingBundled': 'Using built-in prompt bundled with dotcontext.',
36
+ 'info.update.available.title': 'Update available',
37
+ 'info.update.available.detail': 'A newer version {latest} is available (current {current}). Update with {command}.',
38
+ 'commands.init.description': 'Generate docs and agent scaffolding for a repository',
39
+ 'commands.init.arguments.repoPath': 'Path to the repository to analyze',
40
+ 'commands.init.arguments.type': 'Scaffold type: "docs", "agents", or "both" (default)',
41
+ 'commands.init.options.output': 'Output directory for generated assets',
42
+ 'commands.init.options.exclude': 'Glob patterns to exclude from analysis',
43
+ 'commands.init.options.include': 'Glob patterns to include during analysis',
44
+ 'commands.init.options.verbose': 'Enable verbose logging',
45
+ 'commands.init.options.noSemantic': 'Disable semantic code analysis (enabled by default)',
46
+ 'commands.init.options.noContentStubs': 'Disable content stubs (section headings and guidance) in scaffolds',
47
+ 'commands.fill.description': 'Use an LLM to fill generated docs and agent playbooks with the latest repo context',
48
+ 'commands.fill.arguments.repoPath': 'Path to the repository root used to build context',
49
+ 'commands.fill.options.output': 'Scaffold directory containing docs/ and agents/',
50
+ 'commands.fill.options.apiKey': 'API key for the LLM provider',
51
+ 'commands.fill.options.model': 'LLM model to use',
52
+ 'commands.fill.options.provider': 'LLM provider (openrouter, openai, anthropic, google)',
53
+ 'commands.fill.options.baseUrl': 'Custom base URL for provider APIs',
54
+ 'commands.fill.options.prompt': 'Path to an instruction prompt',
55
+ 'commands.fill.options.limit': 'Maximum number of files to process',
56
+ 'commands.fill.options.exclude': 'Glob patterns to exclude from repository analysis',
57
+ 'commands.fill.options.include': 'Glob patterns to include during analysis',
58
+ 'commands.fill.options.verbose': 'Enable verbose logging',
59
+ 'commands.fill.options.noSemantic': 'Disable semantic context mode and use tool-based exploration instead',
60
+ 'commands.fill.options.languages': 'Programming languages to analyze (e.g., typescript,python)',
61
+ 'commands.fill.options.useLsp': 'Enable LSP for deeper semantic analysis (type info, references)',
62
+ 'prompts.fill.semantic': 'Use semantic context mode? (faster, fewer tokens - recommended)',
63
+ 'prompts.fill.languages': 'Select programming languages for analysis',
64
+ 'prompts.fill.useLsp': 'Use LSP for deeper type analysis? (slower but more accurate)',
65
+ 'commands.plan.description': 'Create a development plan that links documentation and agent playbooks',
66
+ 'commands.plan.arguments.planName': 'Name of the plan (used to create the file slug)',
67
+ 'commands.plan.options.output': 'Output directory for generated plan files',
68
+ 'commands.plan.options.title': 'Custom title for the plan document',
69
+ 'commands.plan.options.summary': 'Seed summary for the plan header',
70
+ 'commands.plan.options.force': 'Overwrite the plan if it already exists (scaffold mode)',
71
+ 'commands.plan.options.fill': 'Use an LLM to fill or update the plan instead of scaffolding',
72
+ 'commands.plan.options.repo': 'Repository root for semantic context',
73
+ 'commands.plan.options.apiKey': 'API key for the LLM provider',
74
+ 'commands.plan.options.model': 'LLM model to use',
75
+ 'commands.plan.options.provider': 'LLM provider (openrouter, openai, anthropic, google)',
76
+ 'commands.plan.options.baseUrl': 'Custom base URL for provider APIs',
77
+ 'commands.plan.options.prompt': 'Path to a plan update instruction prompt',
78
+ 'commands.plan.options.dryRun': 'Preview updates without writing files',
79
+ 'commands.plan.options.include': 'Glob patterns to include during repository analysis',
80
+ 'commands.plan.options.exclude': 'Glob patterns to exclude from repository analysis',
81
+ 'commands.plan.options.verbose': 'Enable verbose logging',
82
+ 'commands.plan.options.noSemantic': 'Disable semantic code analysis (enabled by default)',
83
+ 'commands.plan.options.noLsp': 'Disable LSP semantic analysis (enabled by default for plans)',
84
+ 'errors.init.scaffoldFailed': 'Failed to scaffold repository assets',
85
+ 'errors.fill.failed': 'Failed to fill documentation with LLM assistance',
86
+ 'errors.plan.creationFailed': 'Failed to create plan template',
87
+ 'errors.init.invalidType': 'Invalid scaffold type "{value}". Expected one of: {allowed}',
88
+ 'errors.common.repoMissing': 'Repository path does not exist: {path}',
89
+ 'warnings.scaffold.noneSelected': 'No documentation or agent playbooks selected. Nothing to scaffold.',
90
+ 'warnings.agents.missingDirectory': 'No agents directory found. Initialize or import context through MCP first.',
91
+ 'steps.init.analyze': 'Analyzing repository structure',
92
+ 'steps.init.docs': 'Scaffolding documentation',
93
+ 'steps.init.agents': 'Scaffolding agent playbooks',
94
+ 'spinner.repo.scanning': 'Scanning repository...',
95
+ 'spinner.repo.scanComplete': 'Found {fileCount} files across {directoryCount} directories',
96
+ 'spinner.docs.creating': 'Creating docs directory and templates...',
97
+ 'spinner.docs.creatingWithSemantic': 'Analyzing codebase and creating docs templates...',
98
+ 'spinner.docs.created': 'Documentation scaffold created ({count} files)',
99
+ 'spinner.agents.creating': 'Creating agent directory and templates...',
100
+ 'spinner.agents.creatingWithSemantic': 'Analyzing codebase and creating agent playbooks...',
101
+ 'spinner.agents.created': 'Agent scaffold created ({count} files)',
102
+ 'spinner.plan.creating': 'Creating plan template...',
103
+ 'spinner.plan.created': 'Plan template created',
104
+ 'spinner.plan.creationFailed': 'Failed to create plan template',
105
+ 'success.scaffold.ready': 'Scaffold ready in {path}',
106
+ 'success.plan.createdAt': 'Plan created at {path}',
107
+ 'errors.fill.missingDocsScaffold': 'Documentation scaffold not found. Run `dotcontext init` first.',
108
+ 'errors.fill.missingAgentsScaffold': 'Agent scaffold not found. Run `dotcontext init` first.',
109
+ 'errors.fill.missingScaffold': 'No scaffold found. Run `dotcontext init` first to create docs and/or agents.',
110
+ 'steps.fill.analyze': 'Analyzing repository structure',
111
+ 'warnings.fill.noTargets': 'No Markdown files found in .context/docs or .context/agents. Run "dotcontext init" before filling.',
112
+ 'steps.fill.processFiles': 'Updating {count} files with {model}',
113
+ 'spinner.fill.processing': 'Processing {path}...',
114
+ 'spinner.fill.noContent': 'No content received for {path}',
115
+ 'messages.fill.emptyResponse': 'Empty response from LLM',
116
+ 'messages.fill.previewStart': '--- Preview Start ---',
117
+ 'messages.fill.previewEnd': '--- Preview End ---',
118
+ 'spinner.fill.updated': 'Updated {path}',
119
+ 'spinner.fill.failed': 'Failed {path}',
120
+ 'steps.fill.summary': 'Summarizing LLM usage',
121
+ 'success.fill.completed': 'LLM-assisted update complete. Review the changes and commit when ready.',
122
+ 'errors.plan.invalidName': 'Plan name must contain at least one alphanumeric character.',
123
+ 'messages.plan.regenerated': 'Regenerated {path} before LLM fill.',
124
+ 'messages.plan.created': 'Created {path} before LLM fill.',
125
+ 'info.plan.scaffolded.title': 'Plan scaffolded',
126
+ 'errors.plan.missingPlansDir': 'Plans directory not found. Run `dotcontext plan <name>` to create one.',
127
+ 'errors.plan.notFound': 'Plan not found. Expected {expected}.',
128
+ 'steps.plan.summary': 'Summarizing repository state',
129
+ 'spinner.planFill.analyzingRepo': 'Analyzing repository...',
130
+ 'spinner.planFill.summaryReady': 'Repository summary ready',
131
+ 'steps.plan.update': 'Updating {path} with {model}',
132
+ 'spinner.planFill.updating': 'Filling {path}...',
133
+ 'spinner.planFill.noContent': 'No content received from LLM',
134
+ 'spinner.planFill.dryRun': 'Dry run - preview follows',
135
+ 'spinner.planFill.updated': 'Updated {path}',
136
+ 'spinner.planFill.failed': 'Failed to fill plan',
137
+ 'steps.plan.summaryResults': 'Summarizing LLM usage',
138
+ 'success.plan.filled': 'Plan fill complete. Review the updates and commit when ready.',
139
+ 'errors.commands.analyzeRemoved': 'The analyze command has been removed in the scaffolding-only version of dotcontext.',
140
+ 'errors.commands.fillRemoved': 'The fill command is now available only through MCP-enabled AI tools.',
141
+ 'errors.commands.updateRemoved': 'The update command is no longer supported. Re-run `dotcontext init` to refresh scaffolds.',
142
+ 'errors.commands.previewRemoved': 'Preview mode has been retired. Use the generated docs and agent templates directly.',
143
+ 'errors.commands.guidelinesRemoved': 'Guidelines generation relied on LLMs and is no longer available.',
144
+ 'errors.cli.executionFailed': 'CLI execution failed',
145
+ 'errors.init.overwriteDeclined': 'Scaffold aborted to avoid overwriting existing content.',
146
+ 'prompts.main.action': 'What would you like to do?',
147
+ 'prompts.main.choice.scaffold': 'Generate documentation/agent scaffolding',
148
+ 'prompts.main.choice.fill': 'Fill docs and agents with an LLM',
149
+ 'prompts.main.choice.plan': 'Create a development plan',
150
+ 'prompts.main.choice.changeLanguage': 'Change language',
151
+ 'prompts.main.choice.exit': 'Exit interactive mode',
152
+ 'prompts.scaffold.repoPath': 'Repository path to analyze',
153
+ 'prompts.scaffold.type': 'What should we scaffold?',
154
+ 'prompts.scaffold.typeBoth': 'Docs and agents',
155
+ 'prompts.scaffold.typeDocs': 'Docs only',
156
+ 'prompts.scaffold.typeAgents': 'Agents only',
157
+ 'prompts.scaffold.selectComponents': 'What should we scaffold? (Select all that apply)',
158
+ 'prompts.scaffold.componentDocs': 'Documentation',
159
+ 'prompts.scaffold.componentAgents': 'Agent playbooks',
160
+ 'prompts.scaffold.componentSkills': 'Skills',
161
+ 'spinner.skills.creating': 'Creating skills directory and templates...',
162
+ 'spinner.skills.created': 'Skills scaffold created ({count} files)',
163
+ 'steps.init.skills': 'Scaffolding skills',
164
+ 'prompts.init.confirmOverwriteDocs': 'Documentation already exists at {path}. Overwrite existing files?',
165
+ 'prompts.init.confirmOverwriteAgents': 'Agent playbooks already exist at {path}. Overwrite existing files?',
166
+ 'prompts.init.confirmOverwriteSkills': 'Skills already exist at {path}. Overwrite existing files?',
167
+ 'prompts.common.verbose': 'Enable verbose logging?',
168
+ 'prompts.fill.repoPath': 'Repository path containing the scaffold',
169
+ 'prompts.fill.promptPath': 'Custom prompt path (leave blank to use the bundled default)',
170
+ 'prompts.fill.limit': 'Maximum number of files to update (leave blank for all)',
171
+ 'prompts.fill.overrideModel': 'Override provider/model configuration?',
172
+ 'prompts.fill.provider': 'Select LLM provider',
173
+ 'prompts.fill.provider.openrouter': 'OpenRouter (access to multiple models)',
174
+ 'prompts.fill.provider.openai': 'OpenAI (GPT-4, etc.)',
175
+ 'prompts.fill.provider.anthropic': 'Anthropic (Claude)',
176
+ 'prompts.fill.provider.google': 'Google (Gemini)',
177
+ 'prompts.fill.model': 'Model identifier',
178
+ 'prompts.fill.provideApiKey': 'Provide an API key for this run?',
179
+ 'prompts.fill.apiKey': 'API key',
180
+ 'prompts.plan.name': 'Plan name (used for the file slug)',
181
+ 'prompts.plan.goal': 'What should be planned?',
182
+ 'prompts.plan.mode': 'How would you like to work with this plan?',
183
+ 'prompts.plan.modeScaffold': 'Scaffold a plan template',
184
+ 'prompts.plan.modeFill': 'Create a plan with AI (outline or AI-filled)',
185
+ 'prompts.plan.summary': 'Optional summary to seed the plan (leave blank to add later)',
186
+ 'prompts.plan.repoPath': 'Repository root for context',
187
+ 'prompts.plan.dryRun': 'Preview updates without writing files?',
188
+ 'prompts.plan.useLsp': 'Use LSP for deeper type analysis? (recommended for plans)',
189
+ 'prompts.language.select': 'Choose the CLI language / Escolha o idioma do CLI',
190
+ 'prompts.language.option.en': 'English / Inglês',
191
+ 'prompts.language.option.pt-BR': 'Portuguese (Brazil) / Português (Brasil)',
192
+ 'errors.plan.fillFailed': 'Failed to fill plan with LLM assistance',
193
+ 'errors.fill.promptMissing': 'Prompt file not found at {path}.',
194
+ 'errors.fill.apiKeyMissing': '{provider} API key is required. Set one of {envVars} or use --api-key.',
195
+ 'info.interactive.returning.title': 'Main menu',
196
+ 'info.interactive.returning.detail': 'Returning to the interactive menu. Pick another action or choose Exit.',
197
+ 'success.interactive.goodbye': 'Goodbye! Thanks for using dotcontext.',
198
+ 'agent.starting': 'Starting',
199
+ 'agent.complete': 'Complete',
200
+ 'agent.steps': 'steps',
201
+ 'agent.type.documentation': 'Documentation Agent',
202
+ 'agent.type.playbook': 'Playbook Agent',
203
+ 'agent.type.plan': 'Plan Agent',
204
+ 'agent.type.fill': 'Fill Agent',
205
+ 'agent.type.skill': 'Skill Agent',
206
+ 'commands.sync.description': 'Sync agent playbooks to AI tool directories (.claude, .github, etc.)',
207
+ 'commands.sync.options.source': 'Source agents directory',
208
+ 'commands.sync.options.target': 'Target directories to sync to',
209
+ 'commands.sync.options.mode': 'Reference type: symlink or markdown',
210
+ 'commands.sync.options.preset': 'Built-in preset: claude, github, cursor, or all',
211
+ 'commands.sync.options.force': 'Overwrite existing files/symlinks',
212
+ 'commands.sync.options.dryRun': 'Preview changes without writing',
213
+ 'commands.sync.options.verbose': 'Enable verbose logging',
214
+ 'prompts.main.choice.syncAgents': 'Sync agents to AI tools',
215
+ 'prompts.main.choice.create': 'Create documentation for this project',
216
+ 'prompts.main.choice.moreOptions': 'More options...',
217
+ 'prompts.main.choice.viewPending': 'View pending files',
218
+ 'prompts.main.choice.updateDocs': 'Update documentation',
219
+ 'prompts.main.choice.updateDocsBehind': 'Update documentation ({daysBehind} days behind)',
220
+ 'prompts.main.choice.rescaffold': 'Re-scaffold (overwrite)',
221
+ 'prompts.main.unfilledPrompt': '{count} files still need content. What would you like to do?',
222
+ 'prompts.main.pendingFilesHeader': 'Files pending content:',
223
+ 'prompts.setup.confirmContinue': 'This will create and fill documentation. Continue?',
224
+ 'spinner.setup.creatingStructure': 'Creating documentation structure...',
225
+ 'spinner.setup.fillingDocs': 'Filling documentation with AI...',
226
+ 'info.setup.incomplete.title': 'Setup incomplete',
227
+ 'info.setup.incomplete.detail': 'Use MCP in your AI tool to fill or refresh documentation later.',
228
+ 'info.setup.enhanceWithAI': 'Use MCP in your AI tool to fill or refresh context files.',
229
+ 'success.setup.docsCreated': 'Documentation created!',
230
+ 'success.setup.scaffoldCreated': 'Scaffolds created with codebase context!',
231
+ 'info.setup.reviewFiles': 'Review the files in .context/ and commit them.',
232
+ 'prompts.sync.source': 'Source agents directory',
233
+ 'prompts.sync.mode': 'How should references be created?',
234
+ 'prompts.sync.modeSymlink': 'Symlinks (recommended)',
235
+ 'prompts.sync.modeMarkdown': 'Markdown reference files',
236
+ 'prompts.sync.targetType': 'Where to sync agents?',
237
+ 'prompts.sync.targetPreset': 'Use a preset (Claude, GitHub, etc.)',
238
+ 'prompts.sync.targetCustom': 'Custom path',
239
+ 'prompts.sync.selectPreset': 'Select target preset',
240
+ 'prompts.sync.preset.claude': 'Claude Code (.claude/agents)',
241
+ 'prompts.sync.preset.github': 'GitHub Copilot (.github/agents)',
242
+ 'prompts.sync.preset.cursor': 'Cursor (.cursor/agents)',
243
+ 'prompts.sync.preset.all': 'All presets',
244
+ 'prompts.sync.customPath': 'Enter custom target path',
245
+ 'prompts.sync.dryRun': 'Preview changes first (dry-run)?',
246
+ 'prompts.sync.force': 'Overwrite existing files?',
247
+ 'errors.sync.failed': 'Failed to sync agents',
248
+ 'errors.sync.noTargetsSpecified': 'No targets specified. Use --target or --preset.',
249
+ 'errors.sync.sourceMissing': 'Source directory does not exist: {path}',
250
+ 'errors.sync.sourceNotDirectory': 'Source path is not a directory: {path}',
251
+ 'warnings.sync.noAgentsFound': 'No agent files found in source directory.',
252
+ 'spinner.sync.processing': 'Syncing to {path}...',
253
+ 'spinner.sync.complete': 'Synced {count} files to {path}',
254
+ 'spinner.sync.failed': 'Failed to sync to {path}',
255
+ 'success.sync.completed': 'Agent sync complete. Your AI tools are now configured.',
256
+ 'steps.sync.processingTarget': 'Processing target: {path}',
257
+ 'steps.sync.summary': 'Generating sync summary',
258
+ 'info.sync.foundAgents': 'Agent files discovered',
259
+ 'info.sync.foundAgentsDetail': 'Found {count} agent playbooks to sync',
260
+ // Import commands translations
261
+ 'commands.importRules.description': 'Import cursor rules and AI assistant rules to .context/docs',
262
+ 'commands.importRules.options.source': 'Source paths to scan for rules',
263
+ 'commands.importRules.options.target': 'Target directory for imported rules',
264
+ 'commands.importRules.options.format': 'Output format: markdown, formatted, or raw',
265
+ 'commands.importRules.options.force': 'Overwrite existing files',
266
+ 'commands.importRules.options.dryRun': 'Preview changes without writing',
267
+ 'commands.importRules.options.verbose': 'Enable verbose logging',
268
+ 'commands.importRules.options.autoDetect': 'Auto-detect rules in common locations',
269
+ 'commands.importAgents.description': 'Import agents from AI tool directories to .context/agents',
270
+ 'commands.importAgents.options.source': 'Source paths to scan for agents',
271
+ 'commands.importAgents.options.target': 'Target directory for imported agents',
272
+ 'commands.importAgents.options.force': 'Overwrite existing files',
273
+ 'commands.importAgents.options.dryRun': 'Preview changes without writing',
274
+ 'commands.importAgents.options.verbose': 'Enable verbose logging',
275
+ 'commands.importAgents.options.autoDetect': 'Auto-detect agents in common locations',
276
+ 'warnings.import.noRulesFound': 'No rules files found.',
277
+ 'warnings.import.noAgentsFound': 'No agent files found.',
278
+ 'spinner.import.detectingRules': 'Detecting rules files...',
279
+ 'spinner.import.detectingAgents': 'Detecting agent files...',
280
+ 'spinner.import.scanningPaths': 'Scanning source paths...',
281
+ 'spinner.import.importing': 'Importing to {path}...',
282
+ 'spinner.import.complete': 'Imported {count} files to {path}',
283
+ 'info.import.foundRules': 'Rules files discovered',
284
+ 'info.import.foundRulesDetail': 'Found {count} rules files to import',
285
+ 'info.import.foundAgents': 'Agent files discovered',
286
+ 'info.import.foundAgentsDetail': 'Found {count} agent files to import',
287
+ 'success.import.completed': 'Import completed successfully.',
288
+ 'errors.import.failed': 'Failed to import files',
289
+ 'prompts.mode.select': 'How would you like to configure this operation?',
290
+ 'prompts.mode.quick': 'Quick Start (use smart defaults)',
291
+ 'prompts.mode.advanced': 'Advanced (customize all options)',
292
+ 'prompts.summary.title': 'Configuration Summary',
293
+ 'prompts.summary.proceed': 'Proceed with this configuration?',
294
+ 'prompts.llm.autoDetected': 'Auto-detected from environment',
295
+ 'prompts.quick.confirmRepo': 'Use this repository?',
296
+ 'prompts.sync.quickTarget': 'Where should agents be synced?',
297
+ 'prompts.sync.quickTarget.common': 'Claude Code + GitHub Copilot (recommended)',
298
+ 'prompts.sync.quickTarget.claude': 'Claude Code only',
299
+ 'prompts.sync.quickTarget.all': 'All AI tools',
300
+ 'prompts.sync.quickTarget.custom': 'Custom path...',
301
+ // PREVC Workflow translations
302
+ 'prompts.main.choice.workflow': 'PREVC Workflow',
303
+ 'prompts.workflow.noWorkflowFound': 'No PREVC workflow found. Create a new one?',
304
+ 'prompts.workflow.projectName': 'Project/feature name:',
305
+ 'prompts.workflow.projectNameRequired': 'Name is required',
306
+ 'prompts.workflow.description': 'Brief description (for scale detection):',
307
+ 'prompts.workflow.scale': 'Project scale:',
308
+ 'prompts.workflow.scale.auto': 'Auto-detect (based on description)',
309
+ 'prompts.workflow.scale.quick': 'Quick - Bug fixes, tweaks (~5 min)',
310
+ 'prompts.workflow.scale.small': 'Small - Simple features (~15 min)',
311
+ 'prompts.workflow.scale.medium': 'Medium - Regular features (~30 min)',
312
+ 'prompts.workflow.scale.large': 'Large - Complex systems, compliance (~1+ hours)',
313
+ 'prompts.workflow.action': 'Workflow action:',
314
+ 'prompts.workflow.action.advance': 'Advance to next phase',
315
+ 'prompts.workflow.action.refresh': 'Refresh status',
316
+ 'prompts.workflow.action.back': 'Back to main menu',
317
+ 'success.workflow.initialized': 'Workflow PREVC initialized: {name}',
318
+ 'success.workflow.advanced': 'Advanced to phase: {phase} - {phaseName}',
319
+ 'success.workflow.completed': 'Workflow completed.',
320
+ 'errors.workflow.initFailed': 'Failed to initialize workflow',
321
+ 'errors.workflow.advanceFailed': 'Failed to advance workflow',
322
+ 'errors.workflow.notFound': 'No workflow found. Run "workflow init <name>" first.',
323
+ 'info.workflow.scale': 'Scale',
324
+ 'info.workflow.currentPhase': 'Current Phase',
325
+ 'prompts.workflow.workflowComplete': 'Current workflow is complete. What would you like to do?',
326
+ 'prompts.workflow.action.newWorkflow': 'Start a new workflow',
327
+ 'prompts.workflow.action.viewStatus': 'View completed workflow status',
328
+ 'prompts.workflow.confirmNewWorkflow': 'This will replace the current workflow. Continue?',
329
+ // Start command translations
330
+ 'commands.start.description': 'Smart start: initialize context and start workflow in one command',
331
+ 'commands.start.arguments.featureName': 'Optional feature name to start a workflow',
332
+ 'commands.start.options.template': 'Workflow template: hotfix, feature, mvp, or auto',
333
+ 'commands.start.options.skipFill': 'Skip AI-assisted documentation filling',
334
+ 'commands.start.options.skipWorkflow': 'Skip workflow initialization',
335
+ 'commands.previewSplash.description': 'Render the interactive splash screen preview',
336
+ 'commands.previewSplash.options.title': 'Override the splash title',
337
+ 'commands.previewSplash.options.directory': 'Directory to display in the splash',
338
+ 'spinner.start.detectingStack': 'Detecting technology stack...',
339
+ 'spinner.start.stackDetected': 'Stack detected: {stack}',
340
+ 'spinner.start.initializing': 'Initializing project context...',
341
+ 'spinner.start.initialized': 'Project context initialized',
342
+ 'spinner.start.initFailed': 'Failed to initialize context',
343
+ 'spinner.start.filling': 'Filling documentation with AI...',
344
+ 'spinner.start.filled': 'Documentation filled',
345
+ 'spinner.start.fillFailed': 'Documentation refresh is now handled through MCP-enabled AI tools',
346
+ 'errors.start.workflowFailed': 'Failed to start workflow',
347
+ 'success.start.complete': 'Project ready! {details}',
348
+ // MCP Install command translations
349
+ 'commands.mcpInstall.description': 'Install MCP server configuration for AI tools (Claude Code, Cursor, etc.)',
350
+ 'commands.mcpInstall.options.global': 'Install globally in home directory (default)',
351
+ 'commands.mcpInstall.options.local': 'Install locally in project directory',
352
+ 'commands.mcpInstall.options.dryRun': 'Preview changes without writing',
353
+ 'commands.mcpInstall.options.verbose': 'Enable verbose output',
354
+ 'commands.mcpInstall.selectTool': 'Select the tool to configure MCP for:',
355
+ 'commands.mcpInstall.allDetected': 'All detected tools',
356
+ 'labels.detected': 'detected',
357
+ 'info.mcp.wouldInstall': 'Would install MCP for {tool} at {path}',
358
+ 'info.mcp.installed': 'MCP configured for {tool} at {path}',
359
+ 'info.mcp.alreadyConfigured': '{tool} already has MCP configured',
360
+ 'info.mcp.restartTools': 'Restart your AI tools to apply the MCP configuration.',
361
+ 'success.mcp.installed': 'MCP installed for {count} tool(s)',
362
+ 'warnings.mcp.noToolsDetected': 'No supported AI tools detected. Specify a tool manually.',
363
+ 'errors.mcp.unsupportedTool': 'Unsupported tool: {tool}. Supported: {supported}',
364
+ 'errors.mcp.installFailed': 'Failed to install MCP for {tool}',
365
+ // MCP tool display names
366
+ 'commands.mcpInstall.selectTool.claudeDesktop': 'Claude Desktop',
367
+ 'commands.mcpInstall.selectTool.vscode': 'VS Code (GitHub Copilot)',
368
+ 'commands.mcpInstall.selectTool.roo': 'Roo Code',
369
+ 'commands.mcpInstall.selectTool.warp': 'Warp Terminal',
370
+ 'commands.mcpInstall.selectTool.amazonq': 'Amazon Q Developer CLI',
371
+ 'commands.mcpInstall.selectTool.geminiCli': 'Gemini CLI',
372
+ 'commands.mcpInstall.selectTool.kiro': 'Kiro',
373
+ 'commands.mcpInstall.selectTool.zed': 'Zed Editor',
374
+ 'commands.mcpInstall.selectTool.jetbrains': 'JetBrains IDEs',
375
+ // Export command translations
376
+ 'commands.export.description': 'Export rules from .context to AI tool directories',
377
+ 'commands.export.options.source': 'Source directory for rules',
378
+ 'commands.export.options.targets': 'Target paths to export to',
379
+ 'commands.export.options.preset': 'Export preset: cursor, claude, github, windsurf, cline, aider, codex, or all',
380
+ 'commands.export.options.force': 'Overwrite existing files',
381
+ 'commands.export.options.dryRun': 'Preview changes without writing',
382
+ 'spinner.export.exporting': 'Exporting to {target}...',
383
+ 'spinner.export.exported': 'Exported to {target}',
384
+ 'spinner.export.skipped': 'Skipped {target} (already exists)',
385
+ 'spinner.export.failed': 'Failed to export to {target}',
386
+ 'spinner.export.dryRun': 'Would export to {target}',
387
+ 'errors.export.noTargets': 'No export targets specified. Use --preset or --targets.',
388
+ 'errors.export.noRules': 'No rules found in source directory.',
389
+ 'success.export.completed': 'Exported rules to {count} target(s)',
390
+ // Report command translations
391
+ 'commands.report.description': 'Generate workflow progress report',
392
+ 'commands.report.options.format': 'Output format: console, markdown, or json',
393
+ 'commands.report.options.output': 'Output file path (for markdown/json)',
394
+ 'commands.report.options.includeStack': 'Include technology stack analysis',
395
+ 'errors.report.noWorkflow': 'No workflow found. Run "workflow init" first.',
396
+ 'success.report.saved': 'Report saved to {path}',
397
+ // Visual dashboard translations
398
+ 'dashboard.title': 'Workflow Dashboard',
399
+ 'dashboard.phase.completed': 'Completed',
400
+ 'dashboard.phase.inProgress': 'In Progress',
401
+ 'dashboard.phase.pending': 'Pending',
402
+ 'dashboard.phase.skipped': 'Skipped',
403
+ // Auto-advance translations
404
+ 'autoAdvance.detected': 'Detected {count} output(s) for phase {phase}',
405
+ 'autoAdvance.suggest': 'Ready to advance to next phase?',
406
+ // Workflow template translations
407
+ 'prompts.workflow.template': 'Select workflow template:',
408
+ 'prompts.workflow.template.hotfix': 'Hotfix - Quick bug fix (E → V)',
409
+ 'prompts.workflow.template.feature': 'Feature - Regular development (P → R → E → V)',
410
+ 'prompts.workflow.template.mvp': 'MVP - Full product workflow (P → R → E → V → C)',
411
+ 'prompts.workflow.template.auto': 'Auto-detect based on description',
412
+ // Skill command translations
413
+ 'commands.skill.description': 'Manage skills (on-demand expertise for AI agents)',
414
+ 'commands.skill.init.description': 'Initialize skills directory with built-in skills',
415
+ 'commands.skill.fill.description': 'Fill skills with AI-generated project-specific content',
416
+ 'commands.skill.list.description': 'List available skills',
417
+ 'commands.skill.export.description': 'Export skills to AI tool directories (Claude, Gemini, Codex)',
418
+ 'commands.skill.create.description': 'Create a new custom skill',
419
+ 'prompts.main.choice.skills': 'Manage skills',
420
+ 'prompts.skill.action': 'What would you like to do with skills?',
421
+ 'prompts.skill.action.init': 'Initialize built-in skills',
422
+ 'prompts.skill.action.fill': 'Fill skills with AI',
423
+ 'prompts.skill.action.list': 'List available skills',
424
+ 'prompts.skill.action.export': 'Export skills to AI tools',
425
+ 'prompts.skill.action.create': 'Create a custom skill',
426
+ 'prompts.skill.action.back': 'Back to main menu',
427
+ 'prompts.skill.name': 'Skill name:',
428
+ 'prompts.skill.description': 'Skill description:',
429
+ 'prompts.skill.phases': 'PREVC phases (comma-separated: P,R,E,V,C):',
430
+ 'prompts.skill.exportPreset': 'Export to which AI tools?',
431
+ 'prompts.skill.exportPreset.all': 'All tools (Claude, Gemini, Codex)',
432
+ 'prompts.skill.exportPreset.claude': 'Claude Code only',
433
+ 'prompts.skill.exportPreset.gemini': 'Gemini CLI only',
434
+ 'prompts.skill.exportPreset.codex': 'Codex CLI only',
435
+ 'success.skill.initialized': 'Skills initialized in {path}',
436
+ 'success.skill.created': 'Created skill: {name}',
437
+ 'success.skill.exported': 'Exported {count} skills to {targets} targets',
438
+ 'success.skill.filled': 'Filled {count} skills with project-specific content',
439
+ 'errors.skill.initFailed': 'Failed to initialize skills',
440
+ 'errors.skill.listFailed': 'Failed to list skills',
441
+ 'errors.skill.exportFailed': 'Failed to export skills',
442
+ 'errors.skill.createFailed': 'Failed to create skill',
443
+ 'errors.skill.fillFailed': 'Failed to fill skills',
444
+ 'errors.skill.missingScaffold': 'Skills directory not found. Run "skill init" first.',
445
+ 'steps.skill.discover': 'Discovering skills',
446
+ 'steps.skill.loadContext': 'Loading docs and agents context',
447
+ 'steps.skill.fillSkills': 'Filling {count} skills with {model}',
448
+ 'steps.skill.summary': 'Summary',
449
+ 'spinner.skill.discovering': 'Discovering scaffolded skills...',
450
+ 'spinner.skill.discovered': 'Found {count} skills to fill',
451
+ 'spinner.skill.loadingContext': 'Loading docs and agents context...',
452
+ 'spinner.skill.contextLoaded': 'Loaded docs ({docsSize} chars) and agents ({agentsSize} chars)',
453
+ 'spinner.skill.noContent': 'No content generated for {skill}',
454
+ 'spinner.skill.filled': 'Filled {skill}',
455
+ 'spinner.skill.failed': 'Failed to fill {skill}',
456
+ 'warnings.skill.noTargets': 'No skills found to fill. Run "skill init" first.',
457
+ 'info.skill.generated': 'Generated',
458
+ 'info.skill.skipped': 'Skipped (already exist)',
459
+ 'info.skill.path': 'Path',
460
+ // Quick Sync translations
461
+ 'prompts.main.choice.quickSync': 'Quick Sync',
462
+ 'prompts.quickSync.selectComponents': 'Select components to sync:',
463
+ 'prompts.quickSync.components.agents': 'Agents',
464
+ 'prompts.quickSync.components.skills': 'Skills',
465
+ 'prompts.quickSync.components.docs': 'Documentation',
466
+ 'prompts.quickSync.noComponentsSelected': 'No components selected',
467
+ 'prompts.quickSync.selectAgentTargets': 'Select agent sync targets:',
468
+ 'prompts.quickSync.selectSkillTargets': 'Select skill export targets:',
469
+ 'prompts.quickSync.selectDocTargets': 'Select doc export targets:',
470
+ 'prompts.quickSync.syncing.agents': 'Syncing agents...',
471
+ 'prompts.quickSync.syncing.skills': 'Exporting skills...',
472
+ 'prompts.quickSync.syncing.rules': 'Exporting rules...',
473
+ 'prompts.quickSync.syncing.docs': 'Checking docs...',
474
+ 'prompts.quickSync.docsOutdated': '{days} days old',
475
+ 'prompts.quickSync.updateDocs': 'Update docs too?',
476
+ 'success.quickSync.complete': 'Sync complete',
477
+ // Reverse Sync translations
478
+ 'prompts.main.choice.reverseSync': 'Reverse Sync (import from AI tools)',
479
+ 'prompts.reverseSync.detecting': 'Detecting AI tool configurations...',
480
+ 'prompts.reverseSync.detected': 'Detected AI Tools:',
481
+ 'prompts.reverseSync.noFilesFound': 'No AI tool configuration files found',
482
+ 'prompts.reverseSync.noComponentsSelected': 'No components selected for import',
483
+ 'prompts.reverseSync.selectComponents': 'Select components to import:',
484
+ 'prompts.reverseSync.mergeStrategy': 'How should conflicts be handled?',
485
+ 'prompts.reverseSync.strategy.skip': 'Skip existing files',
486
+ 'prompts.reverseSync.strategy.overwrite': 'Overwrite existing files',
487
+ 'prompts.reverseSync.strategy.merge': 'Merge content (append)',
488
+ 'prompts.reverseSync.strategy.rename': 'Rename new files',
489
+ 'success.reverseSync.complete': 'Imported {count} files',
490
+ 'errors.reverseSync.failed': 'Reverse sync failed',
491
+ // Manage submenus
492
+ 'prompts.main.choice.manageSkills': 'Manage Skills',
493
+ 'prompts.main.choice.manageAgents': 'Manage Agents',
494
+ 'prompts.main.choice.settings': 'Settings (language)',
495
+ 'prompts.main.choice.mcpInstall': 'Install/Configure MCP',
496
+ 'prompts.main.choice.startWorkflow': 'Start Workflow',
497
+ 'prompts.main.choice.createPlan': 'Create Plan',
498
+ 'prompts.main.choice.quickSetup': 'Quick Setup (creates context from codebase)',
499
+ 'prompts.main.choice.enhanceWithAI': 'Enhance context with AI',
500
+ // Agents submenu
501
+ 'prompts.agents.action': 'Agents:',
502
+ 'prompts.agents.choice.sync': 'Sync to targets',
503
+ 'prompts.agents.choice.create': 'Create custom agent',
504
+ 'prompts.agents.choice.list': 'List agents',
505
+ 'prompts.agents.choice.back': 'Back',
506
+ // Create custom agent
507
+ 'prompts.agent.name': 'Agent name:',
508
+ 'prompts.agent.description': 'Agent description:',
509
+ 'prompts.agent.role': 'Agent role/specialty:',
510
+ 'success.agent.created': 'Created agent: {name}',
511
+ 'spinner.agent.creating': 'Creating agent with AI...',
512
+ 'spinner.agent.created': 'Agent created',
513
+ // Settings submenu
514
+ 'prompts.settings.action': 'Settings:',
515
+ 'prompts.settings.choice.language': 'Change language',
516
+ 'prompts.settings.choice.back': 'Back',
517
+ // Mode selection (interactive entry)
518
+ 'prompts.modeSelect.select': 'How would you like to use @dotcontext/cli?',
519
+ 'prompts.modeSelect.choice.mcp': 'Set up MCP for my AI tool (recommended — no API key needed)',
520
+ 'prompts.modeSelect.choice.cli': 'Use the interactive CLI for workflow, sync, imports, and MCP setup',
521
+ 'prompts.modeSelect.choice.exit': 'Exit',
522
+ // More options submenu
523
+ 'prompts.more.action': 'More options:',
524
+ 'prompts.more.choice.back': 'Back',
525
+ // Quick Sync mode
526
+ 'prompts.quickSync.mode': 'Sync all (agents, skills, docs) to common targets?',
527
+ 'prompts.quickSync.mode.syncAll': 'Yes, sync all',
528
+ 'prompts.quickSync.mode.customize': 'Customize targets...',
529
+ 'prompts.quickSync.mode.cancel': 'Cancel',
530
+ // Compact status
531
+ 'status.compact': '✓ Context ready ({docs} docs, {agents} agents, {skills} skills)',
532
+ 'status.outdated': '⚠ Context outdated ({days} days) - refresh via MCP',
533
+ 'status.new': 'No context found. Use MCP or reverse sync.',
534
+ 'status.unfilled': 'Context found, {count} files still need content',
535
+ 'status.detected.project': 'Detected: {languages} project',
536
+ // Hit Enter / Press Enter
537
+ 'prompts.pressEnter': 'Press Enter to continue...',
538
+ // Environment variable loading
539
+ 'prompts.env.loadEnv': 'Load environment variables from .env file?',
540
+ // Config summary labels
541
+ 'configSummary.config': 'Config:',
542
+ 'configSummary.options': 'Options:',
543
+ 'configSummary.repo': 'repo',
544
+ 'configSummary.provider': 'provider',
545
+ 'configSummary.yes': 'Yes',
546
+ 'configSummary.no': 'No',
547
+ // API key validation
548
+ 'warnings.apiKey.empty': 'API key is empty. LLM calls will likely fail.',
549
+ 'warnings.apiKey.formatMismatch': 'API key does not start with expected prefix "{prefix}" for {provider}. It may still work if correct.',
550
+ // Back/cancel options
551
+ 'prompts.analysis.back': 'Back (cancel analysis options)',
552
+ 'prompts.llm.back': 'Back (cancel LLM configuration)'
553
+ };
554
+ const portugueseMessages = {
555
+ 'cli.description': 'Sincronize assets de .context, faça reverse-sync do estado das ferramentas e instale integrações MCP para o seu repositório',
556
+ 'global.options.lang': 'Idioma para a saída do CLI (en ou pt-BR)',
557
+ 'ui.version': 'Versão {version}',
558
+ 'ui.projectConfiguration.title': 'Configuração do Projeto',
559
+ 'ui.projectConfiguration.repository': 'Repositório',
560
+ 'ui.projectConfiguration.output': 'Saída',
561
+ 'ui.projectConfiguration.mode': 'Modo',
562
+ 'ui.progress.starting': 'Iniciando...',
563
+ 'ui.analysis.complete.title': 'Análise Concluída',
564
+ 'ui.analysis.files': 'Arquivos',
565
+ 'ui.analysis.directories': 'Diretórios',
566
+ 'ui.analysis.totalSize': 'Tamanho total',
567
+ 'ui.fileTypeDistribution.title': 'Distribuição de Tipos',
568
+ 'ui.generationSummary.title': 'Scaffold Concluído',
569
+ 'ui.generationSummary.documentation': 'Documentação',
570
+ 'ui.generationSummary.agents': 'Agentes',
571
+ 'ui.generationSummary.skills': 'Skills',
572
+ 'ui.generationSummary.timeElapsed': 'Tempo',
573
+ 'ui.generationSummary.nextStep': 'Próximo passo: personalize os templates gerados para o seu projeto.',
574
+ 'ui.error.title': 'Erro',
575
+ 'ui.splash.directoryLabel': 'diretorio',
576
+ 'info.prompt.title': 'Prompt do sistema',
577
+ 'info.prompt.usingCustom': 'Usando prompt em {path}.',
578
+ 'info.prompt.usingPackage': 'Usando prompt empacotado em {path}.',
579
+ 'info.prompt.usingBundled': 'Usando prompt padrão incluído no dotcontext.',
580
+ 'info.update.available.title': 'Atualização disponível',
581
+ 'info.update.available.detail': 'Uma nova versão {latest} está disponível (atual {current}). Atualize com {command}.',
582
+ 'commands.init.description': 'Gerar bases de documentação e agentes para um repositório',
583
+ 'commands.init.arguments.repoPath': 'Caminho do repositório a ser analisado',
584
+ 'commands.init.arguments.type': 'Tipo de base: "docs", "agents" ou "both" (padrão)',
585
+ 'commands.init.options.output': 'Diretório de saída para os artefatos gerados',
586
+ 'commands.init.options.exclude': 'Padrões glob para excluir da análise',
587
+ 'commands.init.options.include': 'Padrões glob para incluir durante a análise',
588
+ 'commands.init.options.verbose': 'Ativa logs detalhados',
589
+ 'commands.init.options.noSemantic': 'Desativa análise semântica de código (ativada por padrão)',
590
+ 'commands.init.options.noContentStubs': 'Desativa stubs de conteúdo (cabeçalhos e orientações) nos scaffolds',
591
+ 'commands.fill.description': 'Usar um assistente de IA para preencher docs e agents com o contexto mais recente do repositório',
592
+ 'commands.fill.arguments.repoPath': 'Caminho da raiz do repositório usado para montar o contexto',
593
+ 'commands.fill.options.output': 'Diretório com docs/ e agents/ gerados pela base',
594
+ 'commands.fill.options.apiKey': 'Chave de API para o provedor de LLM',
595
+ 'commands.fill.options.model': 'Modelo de LLM a ser utilizado',
596
+ 'commands.fill.options.provider': 'Provedor de LLM (openrouter, openai, anthropic, google)',
597
+ 'commands.fill.options.baseUrl': 'URL base personalizada para as APIs do provedor',
598
+ 'commands.fill.options.prompt': 'Caminho para o prompt de instrução',
599
+ 'commands.fill.options.limit': 'Número máximo de arquivos a processar',
600
+ 'commands.fill.options.exclude': 'Padrões glob para excluir da análise do repositório',
601
+ 'commands.fill.options.include': 'Padrões glob para incluir durante a análise',
602
+ 'commands.fill.options.verbose': 'Ativa logs detalhados',
603
+ 'commands.fill.options.noSemantic': 'Desativa modo de contexto semântico e usa exploração baseada em ferramentas',
604
+ 'commands.fill.options.languages': 'Linguagens de programação a analisar (ex: typescript,python)',
605
+ 'commands.fill.options.useLsp': 'Habilita LSP para análise semântica mais profunda (tipos, referências)',
606
+ 'prompts.fill.semantic': 'Usar modo de contexto semântico? (mais rápido, menos tokens - recomendado)',
607
+ 'prompts.fill.languages': 'Selecione as linguagens de programação para análise',
608
+ 'prompts.fill.useLsp': 'Usar LSP para análise de tipos mais profunda? (mais lento mas mais preciso)',
609
+ 'commands.plan.description': 'Criar um plano de desenvolvimento que conecta docs e playbooks de agentes',
610
+ 'commands.plan.arguments.planName': 'Nome do plano (usado como slug do arquivo)',
611
+ 'commands.plan.options.output': 'Diretório de saída para os arquivos de plano gerados',
612
+ 'commands.plan.options.title': 'Título personalizado para o plano',
613
+ 'commands.plan.options.summary': 'Resumo inicial para o cabeçalho do plano',
614
+ 'commands.plan.options.force': 'Sobrescreve o plano se ele já existir (modo base)',
615
+ 'commands.plan.options.fill': 'Usa um assistente de IA para preencher ou atualizar o plano em vez de apenas gerar',
616
+ 'commands.plan.options.repo': 'Raiz do repositório para contexto semântico',
617
+ 'commands.plan.options.apiKey': 'Chave de API para o provedor de LLM',
618
+ 'commands.plan.options.model': 'Modelo de LLM a ser utilizado',
619
+ 'commands.plan.options.provider': 'Provedor de LLM (openrouter, openai, anthropic, google)',
620
+ 'commands.plan.options.baseUrl': 'URL base personalizada para as APIs do provedor',
621
+ 'commands.plan.options.prompt': 'Caminho para o prompt de atualização do plano',
622
+ 'commands.plan.options.dryRun': 'Pré-visualiza as atualizações sem escrever arquivos',
623
+ 'commands.plan.options.include': 'Padrões glob para incluir na análise do repositório',
624
+ 'commands.plan.options.exclude': 'Padrões glob para excluir da análise do repositório',
625
+ 'commands.plan.options.verbose': 'Ativa logs detalhados',
626
+ 'commands.plan.options.noSemantic': 'Desativa análise semântica de código (ativada por padrão)',
627
+ 'commands.plan.options.noLsp': 'Desativa análise semântica LSP (ativada por padrão para planos)',
628
+ 'errors.init.scaffoldFailed': 'Falha ao gerar os artefatos base',
629
+ 'errors.fill.failed': 'Falha ao preencher documentação e agentes com ajuda de um assistente de IA',
630
+ 'errors.plan.creationFailed': 'Falha ao criar o template do plano',
631
+ 'errors.init.invalidType': 'Tipo de base "{value}" inválido. Use um dos seguintes: {allowed}',
632
+ 'errors.common.repoMissing': 'O caminho do repositório não existe: {path}',
633
+ 'warnings.scaffold.noneSelected': 'Nenhuma documentação ou playbook selecionado. Nada a gerar.',
634
+ 'warnings.agents.missingDirectory': 'Nenhum diretório de agents encontrado. Inicialize ou importe o contexto via MCP primeiro.',
635
+ 'steps.init.analyze': 'Analisando a estrutura do repositório',
636
+ 'steps.init.docs': 'Gerando bases de documentação',
637
+ 'steps.init.agents': 'Gerando playbooks de agentes',
638
+ 'spinner.repo.scanning': 'Escaneando o repositório...',
639
+ 'spinner.repo.scanComplete': 'Encontrados {fileCount} arquivos em {directoryCount} diretórios',
640
+ 'spinner.docs.creating': 'Criando diretório e templates de docs...',
641
+ 'spinner.docs.creatingWithSemantic': 'Analisando codebase e criando templates de docs...',
642
+ 'spinner.docs.created': 'Scaffold de documentação criado ({count} arquivos)',
643
+ 'spinner.agents.creating': 'Criando diretório e templates de agentes...',
644
+ 'spinner.agents.creatingWithSemantic': 'Analisando codebase e criando playbooks de agentes...',
645
+ 'spinner.agents.created': 'Scaffold de agentes criado ({count} arquivos)',
646
+ 'spinner.plan.creating': 'Criando template de plano...',
647
+ 'spinner.plan.created': 'Template de plano criado',
648
+ 'spinner.plan.creationFailed': 'Falha ao criar o template do plano',
649
+ 'success.scaffold.ready': 'Base disponível em {path}',
650
+ 'success.plan.createdAt': 'Plano criado em {path}',
651
+ 'errors.fill.missingDocsScaffold': 'Scaffold de documentação não encontrado. Execute `dotcontext init` primeiro.',
652
+ 'errors.fill.missingAgentsScaffold': 'Scaffold de agentes não encontrado. Execute `dotcontext init` primeiro.',
653
+ 'errors.fill.missingScaffold': 'Nenhum scaffold encontrado. Execute `dotcontext init` primeiro para criar docs e/ou agents.',
654
+ 'steps.fill.analyze': 'Analisando a estrutura do repositório',
655
+ 'warnings.fill.noTargets': 'Nenhum arquivo Markdown foi encontrado em .context/docs ou .context/agents. Execute "dotcontext init" antes de preencher.',
656
+ 'steps.fill.processFiles': 'Atualizando {count} arquivos com {model}',
657
+ 'spinner.fill.processing': 'Processando {path}...',
658
+ 'spinner.fill.noContent': 'Nenhum conteúdo recebido para {path}',
659
+ 'messages.fill.emptyResponse': 'Resposta vazia do assistente de IA',
660
+ 'messages.fill.previewStart': '--- Início da prévia ---',
661
+ 'messages.fill.previewEnd': '--- Fim da prévia ---',
662
+ 'spinner.fill.updated': 'Atualizado {path}',
663
+ 'spinner.fill.failed': 'Falha em {path}',
664
+ 'steps.fill.summary': 'Resumindo o uso do assistente de IA',
665
+ 'success.fill.completed': 'Preenchimento com assistente de IA concluído. Revise as mudanças e faça o commit quando estiver pronto.',
666
+ 'errors.plan.invalidName': 'O nome do plano deve conter ao menos um caractere alfanumérico.',
667
+ 'messages.plan.regenerated': 'Regerado {path} antes do preenchimento com assistente de IA.',
668
+ 'messages.plan.created': 'Criado {path} antes do preenchimento com assistente de IA.',
669
+ 'info.plan.scaffolded.title': 'Plano criado',
670
+ 'errors.plan.missingPlansDir': 'Diretório de planos não encontrado. Execute `dotcontext plan <nome>` para criar um.',
671
+ 'errors.plan.notFound': 'Plano não encontrado. Esperado {expected}.',
672
+ 'steps.plan.summary': 'Resumindo estado do repositório',
673
+ 'spinner.planFill.analyzingRepo': 'Analisando repositório...',
674
+ 'spinner.planFill.summaryReady': 'Resumo do repositório pronto',
675
+ 'steps.plan.update': 'Atualizando {path} com {model}',
676
+ 'spinner.planFill.updating': 'Preenchendo {path}...',
677
+ 'spinner.planFill.noContent': 'Nenhum conteúdo recebido do assistente de IA',
678
+ 'spinner.planFill.dryRun': 'Execução simulada - prévia a seguir',
679
+ 'spinner.planFill.updated': 'Atualizado {path}',
680
+ 'spinner.planFill.failed': 'Falha ao preencher o plano',
681
+ 'steps.plan.summaryResults': 'Resumindo o uso do assistente de IA',
682
+ 'success.plan.filled': 'Preenchimento do plano concluído. Revise as atualizações e faça o commit quando estiver pronto.',
683
+ 'errors.commands.analyzeRemoved': 'O comando analyze foi removido na versão focada em bases do dotcontext.',
684
+ 'errors.commands.fillRemoved': 'O comando fill agora está disponível apenas por ferramentas de IA com MCP.',
685
+ 'errors.commands.updateRemoved': 'O comando update não é mais suportado. Execute `dotcontext init` novamente para atualizar as bases.',
686
+ 'errors.commands.previewRemoved': 'O modo de pré-visualização foi descontinuado. Use diretamente os docs e playbooks gerados.',
687
+ 'errors.commands.guidelinesRemoved': 'A geração de guidelines dependia de LLMs e não está mais disponível.',
688
+ 'errors.cli.executionFailed': 'Falha na execução do CLI',
689
+ 'errors.init.overwriteDeclined': 'Scaffold cancelado para evitar sobrescrever conteúdo existente.',
690
+ 'prompts.main.action': 'O que você gostaria de fazer?',
691
+ 'prompts.main.choice.scaffold': 'Gerar bases de documentação/agentes',
692
+ 'prompts.main.choice.fill': 'Preencher docs e agentes com um LLM',
693
+ 'prompts.main.choice.plan': 'Criar um plano de desenvolvimento',
694
+ 'prompts.main.choice.changeLanguage': 'Mudar idioma',
695
+ 'prompts.main.choice.exit': 'Sair do modo interativo',
696
+ 'prompts.scaffold.repoPath': 'Caminho do repositório para analisar',
697
+ 'prompts.scaffold.type': 'O que devemos gerar?',
698
+ 'prompts.scaffold.typeBoth': 'Docs e playbooks',
699
+ 'prompts.scaffold.typeDocs': 'Somente docs',
700
+ 'prompts.scaffold.typeAgents': 'Somente playbooks',
701
+ 'prompts.scaffold.selectComponents': 'O que devemos gerar? (Selecione todos que desejar)',
702
+ 'prompts.scaffold.componentDocs': 'Documentacao',
703
+ 'prompts.scaffold.componentAgents': 'Playbooks de agentes',
704
+ 'prompts.scaffold.componentSkills': 'Skills',
705
+ 'spinner.skills.creating': 'Criando diretorio e templates de skills...',
706
+ 'spinner.skills.created': 'Scaffold de skills criado ({count} arquivos)',
707
+ 'steps.init.skills': 'Gerando skills',
708
+ 'prompts.init.confirmOverwriteDocs': 'A documentação já existe em {path}. Deseja sobrescrever os arquivos atuais?',
709
+ 'prompts.init.confirmOverwriteAgents': 'Os playbooks de agentes já existem em {path}. Deseja sobrescrever os arquivos atuais?',
710
+ 'prompts.init.confirmOverwriteSkills': 'Os skills já existem em {path}. Deseja sobrescrever os arquivos atuais?',
711
+ 'prompts.common.verbose': 'Ativar logs detalhados?',
712
+ 'prompts.fill.repoPath': 'Caminho do repositório que contém a base',
713
+ 'prompts.fill.promptPath': 'Caminho do prompt personalizado (deixe em branco para usar o padrão incluso)',
714
+ 'prompts.fill.limit': 'Número máximo de arquivos a atualizar (deixe em branco para todos)',
715
+ 'prompts.fill.overrideModel': 'Sobrescrever configuração de provedor/modelo?',
716
+ 'prompts.fill.provider': 'Selecione o provedor de LLM',
717
+ 'prompts.fill.provider.openrouter': 'OpenRouter (acesso a múltiplos modelos)',
718
+ 'prompts.fill.provider.openai': 'OpenAI (GPT-4, etc.)',
719
+ 'prompts.fill.provider.anthropic': 'Anthropic (Claude)',
720
+ 'prompts.fill.provider.google': 'Google (Gemini)',
721
+ 'prompts.fill.model': 'Identificador do modelo',
722
+ 'prompts.fill.provideApiKey': 'Informar uma chave de API para esta execução?',
723
+ 'prompts.fill.apiKey': 'Chave de API',
724
+ 'prompts.plan.name': 'Nome do plano (usado no slug do arquivo)',
725
+ 'prompts.plan.goal': 'O que deve ser planejado?',
726
+ 'prompts.plan.mode': 'Como você quer trabalhar com este plano?',
727
+ 'prompts.plan.modeScaffold': 'Gerar um template de plano',
728
+ 'prompts.plan.modeFill': 'Criar um plano com I.A. (cria um plano com o contexto atual)',
729
+ 'prompts.plan.summary': 'Resumo opcional para iniciar o plano (deixe em branco para adicionar depois)',
730
+ 'prompts.plan.repoPath': 'Raiz do repositório para contexto',
731
+ 'prompts.plan.dryRun': 'Pré-visualizar atualizações sem escrever arquivos?',
732
+ 'prompts.plan.useLsp': 'Usar LSP para análise de tipos mais profunda? (recomendado para planos)',
733
+ 'prompts.language.select': 'Escolha o idioma do CLI / Choose the CLI language',
734
+ 'prompts.language.option.en': 'Inglês / English',
735
+ 'prompts.language.option.pt-BR': 'Português (Brasil) / Portuguese (Brazil)',
736
+ 'errors.plan.fillFailed': 'Falha ao preencher o plano com ajuda de um assistente de IA',
737
+ 'errors.fill.promptMissing': 'Arquivo de prompt não encontrado em {path}.',
738
+ 'errors.fill.apiKeyMissing': 'É necessária uma chave de API {provider}. Defina uma das variáveis {envVars} ou use --api-key.',
739
+ 'info.interactive.returning.title': 'Menu principal',
740
+ 'info.interactive.returning.detail': 'Voltando ao menu interativo. Escolha outra ação ou selecione Sair.',
741
+ 'success.interactive.goodbye': 'Até logo! Obrigado por usar o dotcontext.',
742
+ 'agent.starting': 'Iniciando',
743
+ 'agent.complete': 'Concluído',
744
+ 'agent.steps': 'passos',
745
+ 'agent.type.documentation': 'Agente de Documentação',
746
+ 'agent.type.playbook': 'Agente de Playbook',
747
+ 'agent.type.plan': 'Agente de Plano',
748
+ 'agent.type.fill': 'Agente de Preenchimento',
749
+ 'agent.type.skill': 'Agente de Skill',
750
+ 'commands.sync.description': 'Sincronizar playbooks de agentes com diretórios de ferramentas IA (.claude, .github, etc.)',
751
+ 'commands.sync.options.source': 'Diretório de origem dos agentes',
752
+ 'commands.sync.options.target': 'Diretórios de destino para sincronizar',
753
+ 'commands.sync.options.mode': 'Tipo de referência: symlink ou markdown',
754
+ 'commands.sync.options.preset': 'Preset padrão: claude, github, cursor ou all',
755
+ 'commands.sync.options.force': 'Sobrescrever arquivos/symlinks existentes',
756
+ 'commands.sync.options.dryRun': 'Pré-visualizar mudanças sem escrever',
757
+ 'commands.sync.options.verbose': 'Ativa logs detalhados',
758
+ 'prompts.main.choice.syncAgents': 'Sincronizar agentes com ferramentas IA',
759
+ 'prompts.main.choice.create': 'Criar documentação para este projeto',
760
+ 'prompts.main.choice.moreOptions': 'Mais opções...',
761
+ 'prompts.main.choice.viewPending': 'Ver arquivos pendentes',
762
+ 'prompts.main.choice.updateDocs': 'Atualizar documentação',
763
+ 'prompts.main.choice.updateDocsBehind': 'Atualizar documentação ({daysBehind} dias atrás)',
764
+ 'prompts.main.choice.rescaffold': 'Refazer scaffold (sobrescrever)',
765
+ 'prompts.main.unfilledPrompt': '{count} arquivos ainda precisam de conteudo. O que você gostaria de fazer?',
766
+ 'prompts.main.pendingFilesHeader': 'Arquivos pendentes de conteúdo:',
767
+ 'prompts.setup.confirmContinue': 'Isso criará e preencherá a documentação. Continuar?',
768
+ 'spinner.setup.creatingStructure': 'Criando estrutura de documentação...',
769
+ 'spinner.setup.fillingDocs': 'Preenchendo documentação com IA...',
770
+ 'info.setup.incomplete.title': 'Configuração incompleta',
771
+ 'info.setup.incomplete.detail': 'Use MCP na sua ferramenta de IA para preencher ou atualizar a documentação depois.',
772
+ 'info.setup.enhanceWithAI': 'Use MCP na sua ferramenta de IA para preencher ou atualizar os arquivos de contexto.',
773
+ 'success.setup.docsCreated': 'Documentação criada!',
774
+ 'success.setup.scaffoldCreated': 'Scaffolds criados com contexto do codebase!',
775
+ 'info.setup.reviewFiles': 'Revise os arquivos em .context/ e faça commit.',
776
+ 'prompts.sync.source': 'Diretório de origem dos agentes',
777
+ 'prompts.sync.mode': 'Como as referências devem ser criadas?',
778
+ 'prompts.sync.modeSymlink': 'Symlinks (recomendado)',
779
+ 'prompts.sync.modeMarkdown': 'Arquivos de referência Markdown',
780
+ 'prompts.sync.targetType': 'Para onde sincronizar os agentes?',
781
+ 'prompts.sync.targetPreset': 'Usar um preset (Claude, GitHub, etc.)',
782
+ 'prompts.sync.targetCustom': 'Caminho personalizado',
783
+ 'prompts.sync.selectPreset': 'Selecione o preset de destino',
784
+ 'prompts.sync.preset.claude': 'Claude Code (.claude/agents)',
785
+ 'prompts.sync.preset.github': 'GitHub Copilot (.github/agents)',
786
+ 'prompts.sync.preset.cursor': 'Cursor (.cursor/agents)',
787
+ 'prompts.sync.preset.all': 'Todos os presets',
788
+ 'prompts.sync.customPath': 'Digite o caminho personalizado de destino',
789
+ 'prompts.sync.dryRun': 'Pré-visualizar mudanças primeiro (dry-run)?',
790
+ 'prompts.sync.force': 'Sobrescrever arquivos existentes?',
791
+ 'errors.sync.failed': 'Falha ao sincronizar agentes',
792
+ 'errors.sync.noTargetsSpecified': 'Nenhum destino especificado. Use --target ou --preset.',
793
+ 'errors.sync.sourceMissing': 'Diretório de origem não existe: {path}',
794
+ 'errors.sync.sourceNotDirectory': 'Caminho de origem não é um diretório: {path}',
795
+ 'warnings.sync.noAgentsFound': 'Nenhum arquivo de agente encontrado no diretório de origem.',
796
+ 'spinner.sync.processing': 'Sincronizando para {path}...',
797
+ 'spinner.sync.complete': 'Sincronizados {count} arquivos para {path}',
798
+ 'spinner.sync.failed': 'Falha ao sincronizar para {path}',
799
+ 'success.sync.completed': 'Sincronização de agentes concluída. Suas ferramentas IA estão configuradas.',
800
+ 'steps.sync.processingTarget': 'Processando destino: {path}',
801
+ 'steps.sync.summary': 'Gerando resumo da sincronização',
802
+ 'info.sync.foundAgents': 'Arquivos de agentes descobertos',
803
+ 'info.sync.foundAgentsDetail': 'Encontrados {count} playbooks de agentes para sincronizar',
804
+ // Traduções dos comandos de importação
805
+ 'commands.importRules.description': 'Importar regras do Cursor e de assistentes IA para .context/docs',
806
+ 'commands.importRules.options.source': 'Caminhos de origem para procurar regras',
807
+ 'commands.importRules.options.target': 'Diretório de destino para regras importadas',
808
+ 'commands.importRules.options.format': 'Formato de saída: markdown, formatted ou raw',
809
+ 'commands.importRules.options.force': 'Sobrescrever arquivos existentes',
810
+ 'commands.importRules.options.dryRun': 'Pré-visualizar mudanças sem escrever',
811
+ 'commands.importRules.options.verbose': 'Ativar logs detalhados',
812
+ 'commands.importRules.options.autoDetect': 'Auto-detectar regras em locais comuns',
813
+ 'commands.importAgents.description': 'Importar agentes de diretórios de ferramentas IA para .context/agents',
814
+ 'commands.importAgents.options.source': 'Caminhos de origem para procurar agentes',
815
+ 'commands.importAgents.options.target': 'Diretório de destino para agentes importados',
816
+ 'commands.importAgents.options.force': 'Sobrescrever arquivos existentes',
817
+ 'commands.importAgents.options.dryRun': 'Pré-visualizar mudanças sem escrever',
818
+ 'commands.importAgents.options.verbose': 'Ativar logs detalhados',
819
+ 'commands.importAgents.options.autoDetect': 'Auto-detectar agentes em locais comuns',
820
+ 'warnings.import.noRulesFound': 'Nenhum arquivo de regras encontrado.',
821
+ 'warnings.import.noAgentsFound': 'Nenhum arquivo de agente encontrado.',
822
+ 'spinner.import.detectingRules': 'Detectando arquivos de regras...',
823
+ 'spinner.import.detectingAgents': 'Detectando arquivos de agentes...',
824
+ 'spinner.import.scanningPaths': 'Escaneando caminhos de origem...',
825
+ 'spinner.import.importing': 'Importando para {path}...',
826
+ 'spinner.import.complete': 'Importados {count} arquivos para {path}',
827
+ 'info.import.foundRules': 'Arquivos de regras descobertos',
828
+ 'info.import.foundRulesDetail': 'Encontrados {count} arquivos de regras para importar',
829
+ 'info.import.foundAgents': 'Arquivos de agentes descobertos',
830
+ 'info.import.foundAgentsDetail': 'Encontrados {count} arquivos de agentes para importar',
831
+ 'success.import.completed': 'Importação concluída com sucesso.',
832
+ 'errors.import.failed': 'Falha ao importar arquivos',
833
+ 'prompts.mode.select': 'Como você quer configurar esta operação?',
834
+ 'prompts.mode.quick': 'Início Rápido (usar configurações automáticas)',
835
+ 'prompts.mode.advanced': 'Avançado (personalizar todas as opções)',
836
+ 'prompts.summary.title': 'Resumo da Configuração',
837
+ 'prompts.summary.proceed': 'Prosseguir com esta configuração?',
838
+ 'prompts.llm.autoDetected': 'Detectado automaticamente do ambiente',
839
+ 'prompts.quick.confirmRepo': 'Usar este repositório?',
840
+ 'prompts.sync.quickTarget': 'Para onde sincronizar os agentes?',
841
+ 'prompts.sync.quickTarget.common': 'Claude Code + GitHub Copilot (recomendado)',
842
+ 'prompts.sync.quickTarget.claude': 'Somente Claude Code',
843
+ 'prompts.sync.quickTarget.all': 'Todas as ferramentas IA',
844
+ 'prompts.sync.quickTarget.custom': 'Caminho personalizado...',
845
+ // PREVC Workflow translations
846
+ 'prompts.main.choice.workflow': 'Workflow PREVC',
847
+ 'prompts.workflow.noWorkflowFound': 'Nenhum workflow PREVC encontrado. Criar um novo?',
848
+ 'prompts.workflow.projectName': 'Nome do projeto/feature:',
849
+ 'prompts.workflow.projectNameRequired': 'Nome é obrigatório',
850
+ 'prompts.workflow.description': 'Descrição breve (para detecção de escala):',
851
+ 'prompts.workflow.scale': 'Escala do projeto:',
852
+ 'prompts.workflow.scale.auto': 'Auto-detectar (baseado na descrição)',
853
+ 'prompts.workflow.scale.quick': 'Rápido - Bug fixes, ajustes (~5 min)',
854
+ 'prompts.workflow.scale.small': 'Pequeno - Features simples (~15 min)',
855
+ 'prompts.workflow.scale.medium': 'Médio - Features regulares (~30 min)',
856
+ 'prompts.workflow.scale.large': 'Grande - Sistemas complexos, compliance (~1+ hora)',
857
+ 'prompts.workflow.action': 'Ação do workflow:',
858
+ 'prompts.workflow.action.advance': 'Avançar para próxima fase',
859
+ 'prompts.workflow.action.refresh': 'Atualizar status',
860
+ 'prompts.workflow.action.back': 'Voltar ao menu principal',
861
+ 'success.workflow.initialized': 'Workflow PREVC inicializado: {name}',
862
+ 'success.workflow.advanced': 'Avançou para fase: {phase} - {phaseName}',
863
+ 'success.workflow.completed': 'Workflow concluído.',
864
+ 'errors.workflow.initFailed': 'Falha ao inicializar workflow',
865
+ 'errors.workflow.advanceFailed': 'Falha ao avançar workflow',
866
+ 'errors.workflow.notFound': 'Nenhum workflow encontrado. Execute "workflow init <nome>" primeiro.',
867
+ 'info.workflow.scale': 'Escala',
868
+ 'info.workflow.currentPhase': 'Fase Atual',
869
+ 'prompts.workflow.workflowComplete': 'O workflow atual está concluído. O que você gostaria de fazer?',
870
+ 'prompts.workflow.action.newWorkflow': 'Iniciar um novo workflow',
871
+ 'prompts.workflow.action.viewStatus': 'Ver status do workflow concluído',
872
+ 'prompts.workflow.confirmNewWorkflow': 'Isso substituirá o workflow atual. Continuar?',
873
+ // Traduções do comando start
874
+ 'commands.start.description': 'Inicio inteligente: inicializa o contexto e inicia o workflow em um comando',
875
+ 'commands.start.arguments.featureName': 'Nome opcional da feature para iniciar um workflow',
876
+ 'commands.start.options.template': 'Template de workflow: hotfix, feature, mvp ou auto',
877
+ 'commands.start.options.skipFill': 'Pular preenchimento de documentação com IA',
878
+ 'commands.start.options.skipWorkflow': 'Pular inicialização do workflow',
879
+ 'commands.previewSplash.description': 'Renderizar uma previa da splash screen interativa',
880
+ 'commands.previewSplash.options.title': 'Sobrescrever o titulo da splash',
881
+ 'commands.previewSplash.options.directory': 'Diretorio exibido na splash',
882
+ 'spinner.start.detectingStack': 'Detectando stack de tecnologia...',
883
+ 'spinner.start.stackDetected': 'Stack detectada: {stack}',
884
+ 'spinner.start.initializing': 'Inicializando contexto do projeto...',
885
+ 'spinner.start.initialized': 'Contexto do projeto inicializado',
886
+ 'spinner.start.initFailed': 'Falha ao inicializar contexto',
887
+ 'spinner.start.filling': 'Preenchendo documentação com IA...',
888
+ 'spinner.start.filled': 'Documentação preenchida',
889
+ 'spinner.start.fillFailed': 'A atualização da documentação agora é feita por ferramentas de IA com MCP',
890
+ 'errors.start.workflowFailed': 'Falha ao iniciar workflow',
891
+ 'success.start.complete': 'Projeto pronto! {details}',
892
+ // Traduções do comando mcp:install
893
+ 'commands.mcpInstall.description': 'Instalar configuração do servidor MCP para ferramentas de IA (Claude Code, Cursor, etc.)',
894
+ 'commands.mcpInstall.options.global': 'Instalar globalmente no diretório home (padrão)',
895
+ 'commands.mcpInstall.options.local': 'Instalar localmente no diretório do projeto',
896
+ 'commands.mcpInstall.options.dryRun': 'Visualizar mudanças sem escrever',
897
+ 'commands.mcpInstall.options.verbose': 'Habilitar saída detalhada',
898
+ 'commands.mcpInstall.selectTool': 'Selecione a ferramenta para configurar o MCP:',
899
+ 'commands.mcpInstall.allDetected': 'Todas as ferramentas detectadas',
900
+ 'labels.detected': 'detectado',
901
+ 'info.mcp.wouldInstall': 'Instalaria MCP para {tool} em {path}',
902
+ 'info.mcp.installed': 'MCP configurado para {tool} em {path}',
903
+ 'info.mcp.alreadyConfigured': '{tool} já tem MCP configurado',
904
+ 'info.mcp.restartTools': 'Reinicie suas ferramentas de IA para aplicar a configuração do MCP.',
905
+ 'success.mcp.installed': 'MCP instalado para {count} ferramenta(s)',
906
+ 'warnings.mcp.noToolsDetected': 'Nenhuma ferramenta de IA suportada detectada. Especifique uma ferramenta manualmente.',
907
+ 'errors.mcp.unsupportedTool': 'Ferramenta não suportada: {tool}. Suportadas: {supported}',
908
+ 'errors.mcp.installFailed': 'Falha ao instalar MCP para {tool}',
909
+ // Nomes de exibição das ferramentas MCP
910
+ 'commands.mcpInstall.selectTool.claudeDesktop': 'Claude Desktop',
911
+ 'commands.mcpInstall.selectTool.vscode': 'VS Code (GitHub Copilot)',
912
+ 'commands.mcpInstall.selectTool.roo': 'Roo Code',
913
+ 'commands.mcpInstall.selectTool.warp': 'Warp Terminal',
914
+ 'commands.mcpInstall.selectTool.amazonq': 'Amazon Q Developer CLI',
915
+ 'commands.mcpInstall.selectTool.geminiCli': 'Gemini CLI',
916
+ 'commands.mcpInstall.selectTool.kiro': 'Kiro',
917
+ 'commands.mcpInstall.selectTool.zed': 'Zed Editor',
918
+ 'commands.mcpInstall.selectTool.jetbrains': 'JetBrains IDEs',
919
+ // Traduções do comando export
920
+ 'commands.export.description': 'Exportar regras de .context para diretórios de ferramentas IA',
921
+ 'commands.export.options.source': 'Diretório fonte das regras',
922
+ 'commands.export.options.targets': 'Caminhos de destino para exportar',
923
+ 'commands.export.options.preset': 'Preset de exportação: cursor, claude, github, windsurf, cline, aider, codex ou all',
924
+ 'commands.export.options.force': 'Sobrescrever arquivos existentes',
925
+ 'commands.export.options.dryRun': 'Pré-visualizar mudanças sem escrever',
926
+ 'spinner.export.exporting': 'Exportando para {target}...',
927
+ 'spinner.export.exported': 'Exportado para {target}',
928
+ 'spinner.export.skipped': 'Pulado {target} (já existe)',
929
+ 'spinner.export.failed': 'Falha ao exportar para {target}',
930
+ 'spinner.export.dryRun': 'Exportaria para {target}',
931
+ 'errors.export.noTargets': 'Nenhum destino de exportação especificado. Use --preset ou --targets.',
932
+ 'errors.export.noRules': 'Nenhuma regra encontrada no diretório fonte.',
933
+ 'success.export.completed': 'Regras exportadas para {count} destino(s)',
934
+ // Traduções do comando report
935
+ 'commands.report.description': 'Gerar relatório de progresso do workflow',
936
+ 'commands.report.options.format': 'Formato de saída: console, markdown ou json',
937
+ 'commands.report.options.output': 'Caminho do arquivo de saída (para markdown/json)',
938
+ 'commands.report.options.includeStack': 'Incluir análise da stack de tecnologia',
939
+ 'errors.report.noWorkflow': 'Nenhum workflow encontrado. Execute "workflow init" primeiro.',
940
+ 'success.report.saved': 'Relatório salvo em {path}',
941
+ // Traduções do dashboard visual
942
+ 'dashboard.title': 'Dashboard do Workflow',
943
+ 'dashboard.phase.completed': 'Concluído',
944
+ 'dashboard.phase.inProgress': 'Em Andamento',
945
+ 'dashboard.phase.pending': 'Pendente',
946
+ 'dashboard.phase.skipped': 'Pulado',
947
+ // Traduções do auto-advance
948
+ 'autoAdvance.detected': 'Detectados {count} output(s) para fase {phase}',
949
+ 'autoAdvance.suggest': 'Pronto para avançar para próxima fase?',
950
+ // Traduções de templates de workflow
951
+ 'prompts.workflow.template': 'Selecione o template de workflow:',
952
+ 'prompts.workflow.template.hotfix': 'Hotfix - Correção rápida de bug (E → V)',
953
+ 'prompts.workflow.template.feature': 'Feature - Desenvolvimento regular (P → R → E → V)',
954
+ 'prompts.workflow.template.mvp': 'MVP - Workflow completo de produto (P → R → E → V → C)',
955
+ 'prompts.workflow.template.auto': 'Auto-detectar baseado na descrição',
956
+ // Traduções do comando skill
957
+ 'commands.skill.description': 'Gerenciar skills (expertise sob demanda para agentes IA)',
958
+ 'commands.skill.init.description': 'Inicializar diretório de skills com skills built-in',
959
+ 'commands.skill.fill.description': 'Preencher skills com conteúdo específico do projeto gerado por IA',
960
+ 'commands.skill.list.description': 'Listar skills disponíveis',
961
+ 'commands.skill.export.description': 'Exportar skills para diretórios de ferramentas IA (Claude, Gemini, Codex)',
962
+ 'commands.skill.create.description': 'Criar uma nova skill personalizada',
963
+ 'prompts.main.choice.skills': 'Gerenciar skills',
964
+ 'prompts.skill.action': 'O que você gostaria de fazer com skills?',
965
+ 'prompts.skill.action.init': 'Inicializar skills built-in',
966
+ 'prompts.skill.action.fill': 'Preencher skills com IA',
967
+ 'prompts.skill.action.list': 'Listar skills disponíveis',
968
+ 'prompts.skill.action.export': 'Exportar skills para ferramentas IA',
969
+ 'prompts.skill.action.create': 'Criar uma skill personalizada',
970
+ 'prompts.skill.action.back': 'Voltar ao menu principal',
971
+ 'prompts.skill.name': 'Nome da skill:',
972
+ 'prompts.skill.description': 'Descrição da skill:',
973
+ 'prompts.skill.phases': 'Fases PREVC (separadas por vírgula: P,R,E,V,C):',
974
+ 'prompts.skill.exportPreset': 'Exportar para quais ferramentas IA?',
975
+ 'prompts.skill.exportPreset.all': 'Todas as ferramentas (Claude, Gemini, Codex)',
976
+ 'prompts.skill.exportPreset.claude': 'Somente Claude Code',
977
+ 'prompts.skill.exportPreset.gemini': 'Somente Gemini CLI',
978
+ 'prompts.skill.exportPreset.codex': 'Somente Codex CLI',
979
+ 'success.skill.initialized': 'Skills inicializadas em {path}',
980
+ 'success.skill.created': 'Skill criada: {name}',
981
+ 'success.skill.exported': 'Exportadas {count} skills para {targets} destinos',
982
+ 'success.skill.filled': '{count} skills preenchidas com conteúdo específico do projeto',
983
+ 'errors.skill.initFailed': 'Falha ao inicializar skills',
984
+ 'errors.skill.listFailed': 'Falha ao listar skills',
985
+ 'errors.skill.exportFailed': 'Falha ao exportar skills',
986
+ 'errors.skill.createFailed': 'Falha ao criar skill',
987
+ 'errors.skill.fillFailed': 'Falha ao preencher skills',
988
+ 'errors.skill.missingScaffold': 'Diretório de skills não encontrado. Execute "skill init" primeiro.',
989
+ 'steps.skill.discover': 'Descobrindo skills',
990
+ 'steps.skill.loadContext': 'Carregando contexto de docs e agents',
991
+ 'steps.skill.fillSkills': 'Preenchendo {count} skills com {model}',
992
+ 'steps.skill.summary': 'Resumo',
993
+ 'spinner.skill.discovering': 'Descobrindo skills scaffolded...',
994
+ 'spinner.skill.discovered': 'Encontradas {count} skills para preencher',
995
+ 'spinner.skill.loadingContext': 'Carregando contexto de docs e agents...',
996
+ 'spinner.skill.contextLoaded': 'Carregado docs ({docsSize} chars) e agents ({agentsSize} chars)',
997
+ 'spinner.skill.noContent': 'Nenhum conteúdo gerado para {skill}',
998
+ 'spinner.skill.filled': '{skill} preenchida',
999
+ 'spinner.skill.failed': 'Falha ao preencher {skill}',
1000
+ 'warnings.skill.noTargets': 'Nenhuma skill encontrada para preencher. Execute "skill init" primeiro.',
1001
+ 'info.skill.generated': 'Geradas',
1002
+ 'info.skill.skipped': 'Puladas (já existem)',
1003
+ 'info.skill.path': 'Caminho',
1004
+ // Quick Sync translations
1005
+ 'prompts.main.choice.quickSync': 'Sincronização Rápida',
1006
+ 'prompts.quickSync.selectComponents': 'Selecione os componentes para sincronizar:',
1007
+ 'prompts.quickSync.components.agents': 'Agents',
1008
+ 'prompts.quickSync.components.skills': 'Skills',
1009
+ 'prompts.quickSync.components.docs': 'Documentação',
1010
+ 'prompts.quickSync.noComponentsSelected': 'Nenhum componente selecionado',
1011
+ 'prompts.quickSync.selectAgentTargets': 'Selecione os destinos para agents:',
1012
+ 'prompts.quickSync.selectSkillTargets': 'Selecione os destinos para skills:',
1013
+ 'prompts.quickSync.selectDocTargets': 'Selecione os destinos para docs:',
1014
+ 'prompts.quickSync.syncing.agents': 'Sincronizando agents...',
1015
+ 'prompts.quickSync.syncing.skills': 'Exportando skills...',
1016
+ 'prompts.quickSync.syncing.rules': 'Exportando regras...',
1017
+ 'prompts.quickSync.syncing.docs': 'Verificando docs...',
1018
+ 'prompts.quickSync.docsOutdated': '{days} dias atrás',
1019
+ 'prompts.quickSync.updateDocs': 'Atualizar docs também?',
1020
+ 'success.quickSync.complete': 'Sincronização completa',
1021
+ // Reverse Sync translations
1022
+ 'prompts.main.choice.reverseSync': 'Sincronização Reversa (importar de ferramentas de IA)',
1023
+ 'prompts.reverseSync.detecting': 'Detectando configurações de ferramentas IA...',
1024
+ 'prompts.reverseSync.detected': 'Ferramentas IA Detectadas:',
1025
+ 'prompts.reverseSync.noFilesFound': 'Nenhum arquivo de configuração de ferramentas IA encontrado',
1026
+ 'prompts.reverseSync.noComponentsSelected': 'Nenhum componente selecionado para importação',
1027
+ 'prompts.reverseSync.selectComponents': 'Selecione os componentes para importar:',
1028
+ 'prompts.reverseSync.mergeStrategy': 'Como devemos lidar com conflitos?',
1029
+ 'prompts.reverseSync.strategy.skip': 'Pular arquivos existentes',
1030
+ 'prompts.reverseSync.strategy.overwrite': 'Sobrescrever arquivos existentes',
1031
+ 'prompts.reverseSync.strategy.merge': 'Mesclar conteúdo (anexar)',
1032
+ 'prompts.reverseSync.strategy.rename': 'Renomear novos arquivos',
1033
+ 'success.reverseSync.complete': '{count} arquivos importados',
1034
+ 'errors.reverseSync.failed': 'Reverse sync falhou',
1035
+ // Manage submenus
1036
+ 'prompts.main.choice.manageSkills': 'Gerenciar Skills',
1037
+ 'prompts.main.choice.manageAgents': 'Gerenciar Agents',
1038
+ 'prompts.main.choice.settings': 'Configurações (idioma)',
1039
+ 'prompts.main.choice.mcpInstall': 'Instalar/Configurar MCP',
1040
+ 'prompts.main.choice.startWorkflow': 'Iniciar Workflow',
1041
+ 'prompts.main.choice.createPlan': 'Criar Plano',
1042
+ 'prompts.main.choice.quickSetup': 'Setup Rápido (cria contexto do codebase)',
1043
+ 'prompts.main.choice.enhanceWithAI': 'Aprimorar contexto com IA',
1044
+ // Agents submenu
1045
+ 'prompts.agents.action': 'Agents:',
1046
+ 'prompts.agents.choice.sync': 'Sincronizar para targets',
1047
+ 'prompts.agents.choice.create': 'Criar agent personalizado',
1048
+ 'prompts.agents.choice.list': 'Listar agents',
1049
+ 'prompts.agents.choice.back': 'Voltar',
1050
+ // Create custom agent
1051
+ 'prompts.agent.name': 'Nome do agent:',
1052
+ 'prompts.agent.description': 'Descrição do agent:',
1053
+ 'prompts.agent.role': 'Role/especialidade do agent:',
1054
+ 'success.agent.created': 'Agent criado: {name}',
1055
+ 'spinner.agent.creating': 'Criando agent com IA...',
1056
+ 'spinner.agent.created': 'Agent criado',
1057
+ // Settings submenu
1058
+ 'prompts.settings.action': 'Configurações:',
1059
+ 'prompts.settings.choice.language': 'Mudar idioma',
1060
+ 'prompts.settings.choice.back': 'Voltar',
1061
+ // Mode selection (interactive entry)
1062
+ 'prompts.modeSelect.select': 'Como você gostaria de usar o @dotcontext/cli?',
1063
+ 'prompts.modeSelect.choice.mcp': 'Configurar MCP para minha ferramenta de IA (recomendado — sem API key)',
1064
+ 'prompts.modeSelect.choice.cli': 'Usar a CLI interativa para workflow, sincronização, importações e configuração MCP',
1065
+ 'prompts.modeSelect.choice.exit': 'Sair',
1066
+ // More options submenu
1067
+ 'prompts.more.action': 'Mais opções:',
1068
+ 'prompts.more.choice.back': 'Voltar',
1069
+ // Quick Sync mode
1070
+ 'prompts.quickSync.mode': 'Sincronizar tudo (agents, skills, docs) para destinos comuns?',
1071
+ 'prompts.quickSync.mode.syncAll': 'Sim, sincronizar tudo',
1072
+ 'prompts.quickSync.mode.customize': 'Personalizar destinos...',
1073
+ 'prompts.quickSync.mode.cancel': 'Cancelar',
1074
+ // Compact status
1075
+ 'status.compact': '✓ Contexto pronto ({docs} docs, {agents} agents, {skills} skills)',
1076
+ 'status.outdated': '⚠ Contexto desatualizado ({days} dias) - atualize via MCP',
1077
+ 'status.new': 'Nenhum contexto encontrado. Use MCP ou reverse sync.',
1078
+ 'status.unfilled': 'Contexto encontrado, {count} arquivos ainda precisam de conteúdo',
1079
+ 'status.detected.project': 'Detectado: projeto {languages}',
1080
+ // Hit Enter / Press Enter
1081
+ 'prompts.pressEnter': 'Pressione Enter para continuar...',
1082
+ // Environment variable loading
1083
+ 'prompts.env.loadEnv': 'Carregar variáveis de ambiente do arquivo .env?',
1084
+ // Config summary labels
1085
+ 'configSummary.config': 'Configuração:',
1086
+ 'configSummary.options': 'Opções:',
1087
+ 'configSummary.repo': 'repo',
1088
+ 'configSummary.provider': 'provedor',
1089
+ 'configSummary.yes': 'Sim',
1090
+ 'configSummary.no': 'Não',
1091
+ // API key validation
1092
+ 'warnings.apiKey.empty': 'A chave de API está vazia. Chamadas ao LLM provavelmente falharão.',
1093
+ 'warnings.apiKey.formatMismatch': 'A chave de API não começa com o prefixo esperado "{prefix}" para {provider}. Pode funcionar se estiver correta.',
1094
+ // Back/cancel options
1095
+ 'prompts.analysis.back': 'Voltar (cancelar opções de análise)',
1096
+ 'prompts.llm.back': 'Voltar (cancelar configuração do LLM)'
1097
+ };
1098
+ const dictionaries = {
1099
+ en: englishMessages,
1100
+ 'pt-BR': portugueseMessages
1101
+ };
1102
+ function createTranslator(locale) {
1103
+ const normalized = normalizeLocale(locale);
1104
+ return (key, params) => {
1105
+ const dictionary = dictionaries[normalized] || dictionaries[exports.DEFAULT_LOCALE];
1106
+ const fallback = dictionaries[exports.DEFAULT_LOCALE];
1107
+ const template = dictionary[key] ?? fallback[key];
1108
+ return fillTemplate(template, params);
1109
+ };
1110
+ }
1111
+ function normalizeLocale(locale) {
1112
+ return resolveLocaleCandidate(locale) || exports.DEFAULT_LOCALE;
1113
+ }
1114
+ function detectLocale(argv, envLocale, systemLocaleCandidates = []) {
1115
+ const candidates = [
1116
+ extractLocaleFromArgs(argv),
1117
+ envLocale,
1118
+ ...systemLocaleCandidates
1119
+ ];
1120
+ for (const candidate of candidates) {
1121
+ const resolved = resolveLocaleCandidate(candidate);
1122
+ if (resolved) {
1123
+ return resolved;
1124
+ }
1125
+ }
1126
+ return exports.DEFAULT_LOCALE;
1127
+ }
1128
+ function extractLocaleFromArgs(argv) {
1129
+ for (let index = 0; index < argv.length; index += 1) {
1130
+ const segment = argv[index];
1131
+ if (segment === '--lang' || segment === '--language' || segment === '-l') {
1132
+ return argv[index + 1];
1133
+ }
1134
+ if (segment.startsWith('--lang=')) {
1135
+ return segment.split('=')[1];
1136
+ }
1137
+ if (segment.startsWith('--language=')) {
1138
+ return segment.split('=')[1];
1139
+ }
1140
+ }
1141
+ return undefined;
1142
+ }
1143
+ function fillTemplate(template, params) {
1144
+ if (!params) {
1145
+ return template;
1146
+ }
1147
+ return template.replace(/\{(\w+)\}/g, (_match, key) => {
1148
+ const value = params[key];
1149
+ return value === undefined ? '' : String(value);
1150
+ });
1151
+ }
1152
+ function isSupportedLocale(locale) {
1153
+ return exports.SUPPORTED_LOCALES.some(candidate => candidate.toLowerCase() === locale.toLowerCase());
1154
+ }
1155
+ function resolveLocaleCandidate(locale) {
1156
+ if (!locale) {
1157
+ return undefined;
1158
+ }
1159
+ const trimmed = locale.trim();
1160
+ if (!trimmed) {
1161
+ return undefined;
1162
+ }
1163
+ const directMatch = exports.SUPPORTED_LOCALES.find(candidate => candidate.toLowerCase() === trimmed.toLowerCase());
1164
+ if (directMatch) {
1165
+ return directMatch;
1166
+ }
1167
+ const normalized = trimmed.replace(/_/g, '-').split('.')[0].toLowerCase();
1168
+ if (normalized === 'c' || normalized === 'posix') {
1169
+ return undefined;
1170
+ }
1171
+ if (normalized === 'pt' || normalized.startsWith('pt-')) {
1172
+ return 'pt-BR';
1173
+ }
1174
+ if (normalized === 'en' || normalized.startsWith('en-')) {
1175
+ return 'en';
1176
+ }
1177
+ return undefined;
1178
+ }
1179
+ //# sourceMappingURL=i18n.js.map