@nio-cli/cli 0.1.0 → 0.2.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 (382) hide show
  1. package/README.md +332 -139
  2. package/dist/adapters/docker/docker-gateway.js +100 -0
  3. package/dist/adapters/docker/docker-gateway.js.map +1 -0
  4. package/dist/adapters/ide/ide-gateway.js +50 -0
  5. package/dist/adapters/ide/ide-gateway.js.map +1 -0
  6. package/dist/adapters/lang/knowledge-store.js +97 -0
  7. package/dist/adapters/lang/knowledge-store.js.map +1 -0
  8. package/dist/adapters/lang/language-catalog.js +86 -0
  9. package/dist/adapters/lang/language-catalog.js.map +1 -0
  10. package/dist/adapters/lang/package-map.js +98 -0
  11. package/dist/adapters/lang/package-map.js.map +1 -0
  12. package/dist/adapters/lang/project-detector.js +40 -0
  13. package/dist/adapters/lang/project-detector.js.map +1 -0
  14. package/dist/adapters/lang/repos.js +8 -0
  15. package/dist/adapters/lang/repos.js.map +1 -0
  16. package/dist/adapters/lang/scaffold-gateway.js +135 -0
  17. package/dist/adapters/lang/scaffold-gateway.js.map +1 -0
  18. package/dist/adapters/lang/vendor.js +52 -0
  19. package/dist/adapters/lang/vendor.js.map +1 -0
  20. package/dist/adapters/pg/auth-session-repository.js +41 -0
  21. package/dist/adapters/pg/auth-session-repository.js.map +1 -0
  22. package/dist/adapters/pg/client.js +74 -0
  23. package/dist/adapters/pg/client.js.map +1 -0
  24. package/dist/adapters/pg/dependency-event-repository.js +40 -0
  25. package/dist/adapters/pg/dependency-event-repository.js.map +1 -0
  26. package/dist/adapters/pg/login-challenge-repository.js +54 -0
  27. package/dist/adapters/pg/login-challenge-repository.js.map +1 -0
  28. package/dist/adapters/pg/session-repository.js +70 -0
  29. package/dist/adapters/pg/session-repository.js.map +1 -0
  30. package/dist/adapters/pg/user-repository.js +71 -0
  31. package/dist/adapters/pg/user-repository.js.map +1 -0
  32. package/dist/adapters/pkg/toolchain-gateway.js +35 -0
  33. package/dist/adapters/pkg/toolchain-gateway.js.map +1 -0
  34. package/dist/adapters/skills/recipe-catalog.js +84 -0
  35. package/dist/adapters/skills/recipe-catalog.js.map +1 -0
  36. package/dist/adapters/sms/http-generic.js +50 -0
  37. package/dist/adapters/sms/http-generic.js.map +1 -0
  38. package/dist/app/dependency-watcher.js +87 -0
  39. package/dist/app/dependency-watcher.js.map +1 -0
  40. package/dist/app/docker-manager.js +110 -0
  41. package/dist/app/docker-manager.js.map +1 -0
  42. package/dist/app/environment-builder.js +73 -0
  43. package/dist/app/environment-builder.js.map +1 -0
  44. package/dist/app/language-configurator.js +30 -0
  45. package/dist/app/language-configurator.js.map +1 -0
  46. package/dist/app/session-manager.js +124 -0
  47. package/dist/app/session-manager.js.map +1 -0
  48. package/dist/brand.js +3 -61
  49. package/dist/brand.js.map +1 -1
  50. package/dist/cli/commands/agents.js +30 -0
  51. package/dist/cli/commands/agents.js.map +1 -0
  52. package/dist/cli/commands/auth.js +122 -90
  53. package/dist/cli/commands/auth.js.map +1 -1
  54. package/dist/cli/commands/clean.js +1 -13
  55. package/dist/cli/commands/clean.js.map +1 -1
  56. package/dist/cli/commands/command.js +58 -0
  57. package/dist/cli/commands/command.js.map +1 -0
  58. package/dist/cli/commands/completion.js +0 -3
  59. package/dist/cli/commands/completion.js.map +1 -1
  60. package/dist/cli/commands/config.js +41 -0
  61. package/dist/cli/commands/config.js.map +1 -0
  62. package/dist/cli/commands/debug.js +93 -0
  63. package/dist/cli/commands/debug.js.map +1 -0
  64. package/dist/cli/commands/deps.js +94 -0
  65. package/dist/cli/commands/deps.js.map +1 -0
  66. package/dist/cli/commands/docker.js +360 -0
  67. package/dist/cli/commands/docker.js.map +1 -0
  68. package/dist/cli/commands/docs/content.js +199 -0
  69. package/dist/cli/commands/docs/content.js.map +1 -0
  70. package/dist/cli/commands/docs/dynamic.js +42 -0
  71. package/dist/cli/commands/docs/dynamic.js.map +1 -0
  72. package/dist/cli/commands/docs/html.js +108 -0
  73. package/dist/cli/commands/docs/html.js.map +1 -0
  74. package/dist/cli/commands/docs/terminal.js +42 -0
  75. package/dist/cli/commands/docs/terminal.js.map +1 -0
  76. package/dist/cli/commands/docs.js +34 -0
  77. package/dist/cli/commands/docs.js.map +1 -0
  78. package/dist/cli/commands/exec.js +2 -7
  79. package/dist/cli/commands/exec.js.map +1 -1
  80. package/dist/cli/commands/init/auth-step.js +9 -45
  81. package/dist/cli/commands/init/auth-step.js.map +1 -1
  82. package/dist/cli/commands/init/clients-step.js +12 -39
  83. package/dist/cli/commands/init/clients-step.js.map +1 -1
  84. package/dist/cli/commands/init/context-step.js +7 -33
  85. package/dist/cli/commands/init/context-step.js.map +1 -1
  86. package/dist/cli/commands/init/index.js +177 -33
  87. package/dist/cli/commands/init/index.js.map +1 -1
  88. package/dist/cli/commands/init/lang-step.js +40 -0
  89. package/dist/cli/commands/init/lang-step.js.map +1 -0
  90. package/dist/cli/commands/init/profile-step.js +43 -0
  91. package/dist/cli/commands/init/profile-step.js.map +1 -0
  92. package/dist/cli/commands/init/provision-step.js +8 -23
  93. package/dist/cli/commands/init/provision-step.js.map +1 -1
  94. package/dist/cli/commands/init/recipe-step.js +18 -0
  95. package/dist/cli/commands/init/recipe-step.js.map +1 -0
  96. package/dist/cli/commands/lang.js +27 -0
  97. package/dist/cli/commands/lang.js.map +1 -0
  98. package/dist/cli/commands/open.js +51 -0
  99. package/dist/cli/commands/open.js.map +1 -0
  100. package/dist/cli/commands/plan.js +2 -6
  101. package/dist/cli/commands/plan.js.map +1 -1
  102. package/dist/cli/commands/security.js +143 -0
  103. package/dist/cli/commands/security.js.map +1 -0
  104. package/dist/cli/commands/sessions.js +92 -0
  105. package/dist/cli/commands/sessions.js.map +1 -0
  106. package/dist/cli/commands/skills.js +1 -1
  107. package/dist/cli/commands/skills.js.map +1 -1
  108. package/dist/cli/commands/sync.js +52 -58
  109. package/dist/cli/commands/sync.js.map +1 -1
  110. package/dist/cli/commands/validate-plan.js +2 -6
  111. package/dist/cli/commands/validate-plan.js.map +1 -1
  112. package/dist/cli/copy/auth.json +9 -2
  113. package/dist/cli/copy/init.json +2 -6
  114. package/dist/cli/copy.js +0 -8
  115. package/dist/cli/copy.js.map +1 -1
  116. package/dist/cli/flows/clients.js +3 -94
  117. package/dist/cli/flows/clients.js.map +1 -1
  118. package/dist/cli/flows/completion.js +1 -6
  119. package/dist/cli/flows/completion.js.map +1 -1
  120. package/dist/cli/flows/dependencies.js +1 -18
  121. package/dist/cli/flows/dependencies.js.map +1 -1
  122. package/dist/cli/flows/sections.js +2 -10
  123. package/dist/cli/flows/sections.js.map +1 -1
  124. package/dist/cli/flows/user-config.js +5 -10
  125. package/dist/cli/flows/user-config.js.map +1 -1
  126. package/dist/cli/ui/render.js +2 -53
  127. package/dist/cli/ui/render.js.map +1 -1
  128. package/dist/cli/ui/report.js +0 -13
  129. package/dist/cli/ui/report.js.map +1 -1
  130. package/dist/cli.js +23 -0
  131. package/dist/cli.js.map +1 -1
  132. package/dist/config.js +27 -56
  133. package/dist/config.js.map +1 -1
  134. package/dist/core/docker.js +2 -0
  135. package/dist/core/docker.js.map +1 -0
  136. package/dist/core/environment.js +2 -0
  137. package/dist/core/environment.js.map +1 -0
  138. package/dist/core/lang.js +11 -0
  139. package/dist/core/lang.js.map +1 -0
  140. package/dist/core/messaging.js +2 -0
  141. package/dist/core/messaging.js.map +1 -0
  142. package/dist/core/repositories.js +2 -0
  143. package/dist/core/repositories.js.map +1 -0
  144. package/dist/core/types.js +0 -5
  145. package/dist/core/types.js.map +1 -1
  146. package/dist/gateway/config.js +14 -0
  147. package/dist/gateway/config.js.map +1 -0
  148. package/dist/gateway/edge-filter.js +55 -0
  149. package/dist/gateway/edge-filter.js.map +1 -0
  150. package/dist/gateway/index.js +176 -0
  151. package/dist/gateway/index.js.map +1 -0
  152. package/dist/gateway/middleware/auth.js +34 -0
  153. package/dist/gateway/middleware/auth.js.map +1 -0
  154. package/dist/gateway/services/login.js +112 -0
  155. package/dist/gateway/services/login.js.map +1 -0
  156. package/dist/gateway/services/security.js +99 -0
  157. package/dist/gateway/services/security.js.map +1 -0
  158. package/dist/lib/auth/backup-codes.js +46 -0
  159. package/dist/lib/auth/backup-codes.js.map +1 -0
  160. package/dist/lib/auth/gateway-client.js +106 -0
  161. package/dist/lib/auth/gateway-client.js.map +1 -0
  162. package/dist/lib/auth/gateway-token.js +26 -0
  163. package/dist/lib/auth/gateway-token.js.map +1 -0
  164. package/dist/lib/auth/nio-config.js +138 -0
  165. package/dist/lib/auth/nio-config.js.map +1 -0
  166. package/dist/lib/auth/otp.js +23 -0
  167. package/dist/lib/auth/otp.js.map +1 -0
  168. package/dist/lib/auth/password.js +23 -0
  169. package/dist/lib/auth/password.js.map +1 -0
  170. package/dist/lib/auth/session-store.js +49 -0
  171. package/dist/lib/auth/session-store.js.map +1 -0
  172. package/dist/lib/clients/autopull.js +8 -0
  173. package/dist/lib/clients/autopull.js.map +1 -0
  174. package/dist/lib/{client-configs.js → clients/client-configs.js} +99 -34
  175. package/dist/lib/clients/client-configs.js.map +1 -0
  176. package/dist/lib/clients/client-install.js +20 -0
  177. package/dist/lib/clients/client-install.js.map +1 -0
  178. package/dist/lib/{harness.js → clients/harness.js} +1 -16
  179. package/dist/lib/clients/harness.js.map +1 -0
  180. package/dist/lib/{hooks.js → clients/hooks.js} +5 -31
  181. package/dist/lib/clients/hooks.js.map +1 -0
  182. package/dist/lib/{targets.js → clients/targets.js} +17 -53
  183. package/dist/lib/clients/targets.js.map +1 -0
  184. package/dist/lib/colors.js +0 -24
  185. package/dist/lib/colors.js.map +1 -1
  186. package/dist/lib/cowork-extension.js +2 -25
  187. package/dist/lib/cowork-extension.js.map +1 -1
  188. package/dist/lib/{dependencies.js → deps/dependencies.js} +1 -26
  189. package/dist/lib/deps/dependencies.js.map +1 -0
  190. package/dist/lib/deps/dependency-install-project.js +27 -0
  191. package/dist/lib/deps/dependency-install-project.js.map +1 -0
  192. package/dist/lib/{dependency-install.js → deps/dependency-install.js} +10 -35
  193. package/dist/lib/deps/dependency-install.js.map +1 -0
  194. package/dist/lib/deps/dependency-installed.js +64 -0
  195. package/dist/lib/deps/dependency-installed.js.map +1 -0
  196. package/dist/lib/deps/dependency-scan.js +100 -0
  197. package/dist/lib/deps/dependency-scan.js.map +1 -0
  198. package/dist/lib/docker.js +50 -0
  199. package/dist/lib/docker.js.map +1 -0
  200. package/dist/lib/dotfiles.js +57 -0
  201. package/dist/lib/dotfiles.js.map +1 -0
  202. package/dist/lib/{exec-delegate.js → exec/exec-delegate.js} +4 -13
  203. package/dist/lib/exec/exec-delegate.js.map +1 -0
  204. package/dist/lib/{exec-engines.js → exec/exec-engines.js} +1 -10
  205. package/dist/lib/exec/exec-engines.js.map +1 -0
  206. package/dist/lib/{plan-delegate.js → exec/plan-delegate.js} +1 -7
  207. package/dist/lib/exec/plan-delegate.js.map +1 -0
  208. package/dist/lib/{validate-plan-delegate.js → exec/validate-plan-delegate.js} +2 -7
  209. package/dist/lib/exec/validate-plan-delegate.js.map +1 -0
  210. package/dist/lib/load-env.js +15 -0
  211. package/dist/lib/load-env.js.map +1 -0
  212. package/dist/lib/open-url.js +9 -0
  213. package/dist/lib/open-url.js.map +1 -0
  214. package/dist/lib/prompts.js +0 -13
  215. package/dist/lib/prompts.js.map +1 -1
  216. package/dist/lib/{provision-apply.js → provision/provision-apply.js} +4 -30
  217. package/dist/lib/provision/provision-apply.js.map +1 -0
  218. package/dist/lib/{provision-collect.js → provision/provision-collect.js} +0 -9
  219. package/dist/lib/provision/provision-collect.js.map +1 -0
  220. package/dist/lib/{provision.js → provision/provision.js} +4 -17
  221. package/dist/lib/provision/provision.js.map +1 -0
  222. package/dist/lib/{patterns.js → skills/patterns.js} +0 -13
  223. package/dist/lib/skills/patterns.js.map +1 -0
  224. package/dist/lib/{rules.js → skills/rules.js} +0 -22
  225. package/dist/lib/skills/rules.js.map +1 -0
  226. package/dist/lib/skills/sections.js +58 -0
  227. package/dist/lib/skills/sections.js.map +1 -0
  228. package/dist/lib/{skill-serve.js → skills/skill-serve.js} +1 -26
  229. package/dist/lib/skills/skill-serve.js.map +1 -0
  230. package/dist/lib/{skills-cache.js → skills/skills-cache.js} +15 -21
  231. package/dist/lib/skills/skills-cache.js.map +1 -0
  232. package/dist/lib/{skills.js → skills/skills.js} +3 -49
  233. package/dist/lib/skills/skills.js.map +1 -0
  234. package/dist/lib/spinner.js.map +1 -0
  235. package/dist/lib/telemetry.js +3 -20
  236. package/dist/lib/telemetry.js.map +1 -1
  237. package/dist/lib/version-check.js +0 -20
  238. package/dist/lib/version-check.js.map +1 -1
  239. package/dist/matrix-logo.js +0 -10
  240. package/dist/matrix-logo.js.map +1 -1
  241. package/dist/mcp-server-lang.js +39 -0
  242. package/dist/mcp-server-lang.js.map +1 -0
  243. package/dist/mcp-server.js +37 -41
  244. package/dist/mcp-server.js.map +1 -1
  245. package/dist/profiles/analyst.js +10 -0
  246. package/dist/profiles/analyst.js.map +1 -0
  247. package/dist/profiles/bi.js +9 -0
  248. package/dist/profiles/bi.js.map +1 -0
  249. package/dist/profiles/dba.js +21 -0
  250. package/dist/profiles/dba.js.map +1 -0
  251. package/dist/profiles/fullstack.js +9 -0
  252. package/dist/profiles/fullstack.js.map +1 -0
  253. package/dist/profiles/index.js +39 -0
  254. package/dist/profiles/index.js.map +1 -0
  255. package/dist/profiles/mcps.js +23 -0
  256. package/dist/profiles/mcps.js.map +1 -0
  257. package/dist/profiles/qa.js +10 -0
  258. package/dist/profiles/qa.js.map +1 -0
  259. package/dist/profiles/scientist.js +9 -0
  260. package/dist/profiles/scientist.js.map +1 -0
  261. package/dist/profiles/toolchains.js +9 -0
  262. package/dist/profiles/toolchains.js.map +1 -0
  263. package/dist/tools/delegate-exec.js +2 -2
  264. package/dist/tools/delegate-exec.js.map +1 -1
  265. package/dist/tools/env-detect-deps.js +54 -0
  266. package/dist/tools/env-detect-deps.js.map +1 -0
  267. package/dist/tools/env-materialize.js +43 -0
  268. package/dist/tools/env-materialize.js.map +1 -0
  269. package/dist/tools/exec-status.js +1 -1
  270. package/dist/tools/exec-status.js.map +1 -1
  271. package/dist/tools/index.js +12 -32
  272. package/dist/tools/index.js.map +1 -1
  273. package/dist/tools/lang-recipe.js +31 -0
  274. package/dist/tools/lang-recipe.js.map +1 -0
  275. package/dist/tools/lang-reference.js +34 -0
  276. package/dist/tools/lang-reference.js.map +1 -0
  277. package/dist/tools/plan.js +2 -2
  278. package/dist/tools/plan.js.map +1 -1
  279. package/dist/tools/profile-get.js +57 -0
  280. package/dist/tools/profile-get.js.map +1 -0
  281. package/dist/tools/session-activate.js +35 -0
  282. package/dist/tools/session-activate.js.map +1 -0
  283. package/dist/tools/session-create.js +83 -0
  284. package/dist/tools/session-create.js.map +1 -0
  285. package/dist/tools/session-list.js +29 -0
  286. package/dist/tools/session-list.js.map +1 -0
  287. package/dist/tools/session-shared.js +25 -0
  288. package/dist/tools/session-shared.js.map +1 -0
  289. package/dist/tools/validate-plan.js +2 -2
  290. package/dist/tools/validate-plan.js.map +1 -1
  291. package/docker/docker-compose.yml +44 -0
  292. package/package.json +30 -16
  293. package/dist/adapters/supabase/allocation-gateway.js +0 -236
  294. package/dist/adapters/supabase/allocation-gateway.js.map +0 -1
  295. package/dist/adapters/supabase/analytics-gateway.js +0 -18
  296. package/dist/adapters/supabase/analytics-gateway.js.map +0 -1
  297. package/dist/adapters/supabase/client.js +0 -96
  298. package/dist/adapters/supabase/client.js.map +0 -1
  299. package/dist/adapters/supabase/context-gateway.js +0 -23
  300. package/dist/adapters/supabase/context-gateway.js.map +0 -1
  301. package/dist/adapters/supabase/gateway.js +0 -18
  302. package/dist/adapters/supabase/gateway.js.map +0 -1
  303. package/dist/adapters/supabase/task-gateway.js +0 -450
  304. package/dist/adapters/supabase/task-gateway.js.map +0 -1
  305. package/dist/auth.js +0 -118
  306. package/dist/auth.js.map +0 -1
  307. package/dist/cli/commands/init/project-step.js +0 -105
  308. package/dist/cli/commands/init/project-step.js.map +0 -1
  309. package/dist/constants.js +0 -9
  310. package/dist/constants.js.map +0 -1
  311. package/dist/core/ports.js +0 -2
  312. package/dist/core/ports.js.map +0 -1
  313. package/dist/database.types.js +0 -11
  314. package/dist/database.types.js.map +0 -1
  315. package/dist/lib/active-project.js +0 -28
  316. package/dist/lib/active-project.js.map +0 -1
  317. package/dist/lib/autopull.js +0 -13
  318. package/dist/lib/autopull.js.map +0 -1
  319. package/dist/lib/client-configs.js.map +0 -1
  320. package/dist/lib/client-install.js +0 -40
  321. package/dist/lib/client-install.js.map +0 -1
  322. package/dist/lib/dependencies.js.map +0 -1
  323. package/dist/lib/dependency-install.js.map +0 -1
  324. package/dist/lib/exec-delegate.js.map +0 -1
  325. package/dist/lib/exec-engines.js.map +0 -1
  326. package/dist/lib/harness.js.map +0 -1
  327. package/dist/lib/hooks.js.map +0 -1
  328. package/dist/lib/patterns.js.map +0 -1
  329. package/dist/lib/plan-delegate.js.map +0 -1
  330. package/dist/lib/project-context.js +0 -151
  331. package/dist/lib/project-context.js.map +0 -1
  332. package/dist/lib/provision-apply.js.map +0 -1
  333. package/dist/lib/provision-collect.js.map +0 -1
  334. package/dist/lib/provision.js.map +0 -1
  335. package/dist/lib/require-config.js +0 -32
  336. package/dist/lib/require-config.js.map +0 -1
  337. package/dist/lib/rules.js.map +0 -1
  338. package/dist/lib/sections.js +0 -89
  339. package/dist/lib/sections.js.map +0 -1
  340. package/dist/lib/skill-serve.js.map +0 -1
  341. package/dist/lib/skills-cache.js.map +0 -1
  342. package/dist/lib/skills.js.map +0 -1
  343. package/dist/lib/targets.js.map +0 -1
  344. package/dist/lib/task-history.js +0 -15
  345. package/dist/lib/task-history.js.map +0 -1
  346. package/dist/lib/validate-plan-delegate.js.map +0 -1
  347. package/dist/session-factory.js +0 -19
  348. package/dist/session-factory.js.map +0 -1
  349. package/dist/spinner.js.map +0 -1
  350. package/dist/tools/comment-task.js +0 -72
  351. package/dist/tools/comment-task.js.map +0 -1
  352. package/dist/tools/create-task.js +0 -129
  353. package/dist/tools/create-task.js.map +0 -1
  354. package/dist/tools/end-allocation.js +0 -38
  355. package/dist/tools/end-allocation.js.map +0 -1
  356. package/dist/tools/end-task-allocation.js +0 -37
  357. package/dist/tools/end-task-allocation.js.map +0 -1
  358. package/dist/tools/get-active-allocation.js +0 -69
  359. package/dist/tools/get-active-allocation.js.map +0 -1
  360. package/dist/tools/get-context.js +0 -48
  361. package/dist/tools/get-context.js.map +0 -1
  362. package/dist/tools/get-task.js +0 -137
  363. package/dist/tools/get-task.js.map +0 -1
  364. package/dist/tools/list-my-allocations.js +0 -71
  365. package/dist/tools/list-my-allocations.js.map +0 -1
  366. package/dist/tools/list-projects.js +0 -38
  367. package/dist/tools/list-projects.js.map +0 -1
  368. package/dist/tools/list-tasks.js +0 -93
  369. package/dist/tools/list-tasks.js.map +0 -1
  370. package/dist/tools/move-task.js +0 -82
  371. package/dist/tools/move-task.js.map +0 -1
  372. package/dist/tools/record-delivery.js +0 -71
  373. package/dist/tools/record-delivery.js.map +0 -1
  374. package/dist/tools/set-project.js +0 -52
  375. package/dist/tools/set-project.js.map +0 -1
  376. package/dist/tools/start-allocation.js +0 -32
  377. package/dist/tools/start-allocation.js.map +0 -1
  378. package/dist/tools/start-task-allocation.js +0 -75
  379. package/dist/tools/start-task-allocation.js.map +0 -1
  380. package/dist/tools/update-task.js +0 -139
  381. package/dist/tools/update-task.js.map +0 -1
  382. /package/dist/{spinner.js → lib/spinner.js} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../src/cli/flows/dependencies.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dependencies.js","sourceRoot":"","sources":["../../../src/cli/flows/dependencies.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,8 @@
1
1
  import { checkbox, select } from "../../lib/prompts.js";
2
- import { skillsDir } from "../../lib/skills.js";
3
- import { discoverRoles, discoverAreas, discoverStacks, DEV_ROLE, GENERAL, } from "../../lib/sections.js";
2
+ import { skillsDir } from "../../lib/skills/skills.js";
3
+ import { discoverRoles, discoverAreas, discoverStacks, DEV_ROLE, GENERAL, } from "../../lib/skills/sections.js";
4
4
  import { c, sym, section } from "../../lib/colors.js";
5
5
  const ROLE_LABELS = { dev: "Desenvolvedor", management: "Gestão" };
6
- /**
7
- * Prompt de seleção unificado: **role → áreas → stack por área**. O resultado
8
- * (`{ roles, stacks }`) dita skills, rules e dependencies no `init`/`sync`. O `general`
9
- * (do role e da área) entra sempre em cascata — não é perguntado.
10
- */
11
6
  export async function promptSelection() {
12
7
  console.log("");
13
8
  section("Perfil", "define quais skills, rules e deps entram");
@@ -27,7 +22,6 @@ export async function promptSelection() {
27
22
  }
28
23
  }
29
24
  catch {
30
- /* @nio-cli/skills ausente — sem roles pra listar */
31
25
  }
32
26
  const stacks = {};
33
27
  if (roles.includes(DEV_ROLE)) {
@@ -36,7 +30,6 @@ export async function promptSelection() {
36
30
  areas = discoverAreas(skillsDir(), DEV_ROLE);
37
31
  }
38
32
  catch {
39
- /* ignore */
40
33
  }
41
34
  if (areas.length > 0) {
42
35
  const chosen = await checkbox({
@@ -50,7 +43,6 @@ export async function promptSelection() {
50
43
  ss = discoverStacks(skillsDir(), DEV_ROLE, area);
51
44
  }
52
45
  catch {
53
- /* ignore */
54
46
  }
55
47
  if (ss.length === 0) {
56
48
  stacks[area] = GENERAL;
@@ -1 +1 @@
1
- {"version":3,"file":"sections.js","sourceRoot":"","sources":["../../../src/cli/flows/sections.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sections.js","sourceRoot":"","sources":["../../../src/cli/flows/sections.ts"],"names":[],"mappings":"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"}
@@ -3,30 +3,25 @@ import { select } from "../../lib/prompts.js";
3
3
  import { getUserConfigPath, writeUserConfig, migrateConfigSplit, fixGitignoreForSplit, USER_CONFIG_FILE, } from "../../config.js";
4
4
  import { c, sym, section } from "../../lib/colors.js";
5
5
  import { brand } from "../../brand.js";
6
- /**
7
- * Garante o `nio.user.json` (prefs por-máquina, gitignored). Primeiro **migra** o
8
- * formato antigo monolítico (move `ide` do `nio.json` versionado pro user file, e tira
9
- * o `nio.json` do `.gitignore`). Se ainda não houver prefs e for TTY, **prompta** — é o
10
- * caso do dev que clonou um repo já configurado (o `nio.json` do time já existe) e roda
11
- * só `nio sync`.
12
- */
13
6
  export async function ensureUserConfig(opts) {
14
7
  if (migrateConfigSplit()) {
15
8
  fixGitignoreForSplit();
16
9
  console.log(` ${c.dim(`migrado: ide → ${USER_CONFIG_FILE}; ${brand.projectConfigFile} versionado`)}`);
17
10
  }
18
11
  if (!opts.hasRepoConfig)
19
- return; // sem binding do repo → é caso de `nio init`
12
+ return;
20
13
  if (existsSync(getUserConfigPath()))
21
- return; // já tem prefs
14
+ return;
22
15
  if (!opts.interactive)
23
- return; // não-TTY → não dá pra perguntar
16
+ return;
24
17
  section("Suas preferências", "por-máquina, não versionadas");
25
18
  const ide = await select({
26
19
  message: "Qual IDE você usa? (habilita integrações do /implement)",
27
20
  choices: [
28
21
  { name: "VS Code", value: "vscode" },
22
+ { name: "Cursor", value: "cursor" },
29
23
  { name: "Xcode", value: "xcode" },
24
+ { name: "Terminal (sem editor)", value: "terminal" },
30
25
  { name: "Outra", value: "other" },
31
26
  ],
32
27
  });
@@ -1 +1 @@
1
- {"version":3,"file":"user-config.js","sourceRoot":"","sources":["../../../src/cli/flows/user-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,GAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAGtC;IACC,IAAI,kBAAkB,EAAE,EAAE,CAAC;QACzB,oBAAoB,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,kBAAkB,gBAAgB,KAAK,KAAK,CAAC,iBAAiB,aAAa,CAAC,EAAE,CAAC,CAAC;IACzG,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,aAAa;QAAE,OAAO,CAAC,6CAA6C;IAC9E,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAAE,OAAO,CAAC,eAAe;IAC5D,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,OAAO,CAAC,iCAAiC;IAEhE,OAAO,CAAC,mBAAmB,EAAE,8BAA8B,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAM;QAC5B,OAAO,EAAE,yDAAyD;QAClE,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE;YACpC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;YACjC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;SAClC;KACF,CAAC,CAAC;IACH,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACzB,oBAAoB,EAAE,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,gBAAgB,eAAe,CAAC,EAAE,CAAC,CAAC;AAC5F,CAAC"}
1
+ {"version":3,"file":"user-config.js","sourceRoot":"","sources":["../../../src/cli/flows/user-config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,GAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AASvC,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,IAGtC;IACC,IAAI,kBAAkB,EAAE,EAAE,CAAC;QACzB,oBAAoB,EAAE,CAAC;QACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,kBAAkB,gBAAgB,KAAK,KAAK,CAAC,iBAAiB,aAAa,CAAC,EAAE,CAAC,CAAC;IACzG,CAAC;IAED,IAAI,CAAC,IAAI,CAAC,aAAa;QAAE,OAAO;IAChC,IAAI,UAAU,CAAC,iBAAiB,EAAE,CAAC;QAAE,OAAO;IAC5C,IAAI,CAAC,IAAI,CAAC,WAAW;QAAE,OAAO;IAE9B,OAAO,CAAC,mBAAmB,EAAE,8BAA8B,CAAC,CAAC;IAC7D,MAAM,GAAG,GAAG,MAAM,MAAM,CAAM;QAC5B,OAAO,EAAE,yDAAyD;QAClE,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE;YACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;YACnC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;YACjC,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,UAAU,EAAE;YACpD,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;SAClC;KACF,CAAC,CAAC;IACH,eAAe,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IACzB,oBAAoB,EAAE,CAAC;IACvB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,YAAY,gBAAgB,eAAe,CAAC,EAAE,CAAC,CAAC;AAC5F,CAAC"}
@@ -1,6 +1,6 @@
1
- import { c, sym, cmd, link, badge, section, highlightInlineCode, } from "../../lib/colors.js";
1
+ import { c, sym, cmd, link, badge, highlightInlineCode, } from "../../lib/colors.js";
2
2
  import { brand } from "../../brand.js";
3
- import { HARNESS_RULES_REL } from "../../lib/harness.js";
3
+ import { HARNESS_RULES_REL } from "../../lib/clients/harness.js";
4
4
  export function printInstallResult(label, result) {
5
5
  const at = (p) => c.dim(p);
6
6
  switch (result.status) {
@@ -34,17 +34,12 @@ export function provisionTag(action) {
34
34
  return " ";
35
35
  }
36
36
  }
37
- /**
38
- * Chave de agrupamento de um relPath: uma skill (`skills/<id>/…`) agrupa por sua
39
- * pasta; o resto (`commands`, `agents`) agrupa pelo kind de topo.
40
- */
41
37
  function groupKey(relPath) {
42
38
  const parts = relPath.split("/");
43
39
  if (parts[0] === "skills" && parts.length >= 3)
44
40
  return `skills/${parts[1]}`;
45
41
  return parts[0];
46
42
  }
47
- /** Ordena arquivos de um grupo: SKILL.md primeiro, depois alfabético. */
48
43
  function sortInGroup(a, b) {
49
44
  const aS = a.toLowerCase() === "skill.md";
50
45
  const bS = b.toLowerCase() === "skill.md";
@@ -54,7 +49,6 @@ function sortInGroup(a, b) {
54
49
  }
55
50
  export function printProvisionResult(result) {
56
51
  const changed = result.files.filter((f) => f.action !== "unchanged");
57
- // Agrupa por skill/kind, preservando os detalhes por arquivo.
58
52
  const groups = new Map();
59
53
  for (const f of changed) {
60
54
  const key = groupKey(f.relPath);
@@ -168,7 +162,6 @@ export function printDepHeader(dep, status) {
168
162
  ? ` ${badge("a instalar", "yellow")}`
169
163
  : "";
170
164
  console.log(` ${c.magenta(sym.dot)} ${c.bold(dep.title)}${state} ${depBadge(dep)}`);
171
- // Instalada → o header já basta; repo/descrição só poluem.
172
165
  if (status === "installed")
173
166
  return;
174
167
  if (dep.repo)
@@ -190,48 +183,4 @@ export function printManualSteps(manual) {
190
183
  console.log(` ${bar} ${highlightInlineCode(line)}`);
191
184
  }
192
185
  }
193
- export function printContextSummary(ctx) {
194
- const dash = "—";
195
- const fmtBool = (v) => v && v.length > 0 ? `sim (${v.length} caracteres)` : dash;
196
- const fmtDate = (v) => v ?? "?";
197
- const field = (label, value) => ` ${c.dim(label.padEnd(13))}${value}`;
198
- section("Contexto do projeto");
199
- console.log("");
200
- console.log(field("Projeto", `${c.bold(ctx.project.name)} ${c.dim(`(${ctx.project.color})`)}`));
201
- console.log(field("Horas/mês", `${ctx.project.monthly_hours ?? c.dim(dash)}`));
202
- console.log(field("Notas", `${ctx.project.notes ?? c.dim(dash)}`));
203
- console.log(field("AI context", fmtBool(ctx.project.ai_context)));
204
- console.log("");
205
- if (ctx.current_repository) {
206
- const r = ctx.current_repository;
207
- console.log(field("Repositório", `${c.bold(r.name)} ${c.dim(`(branch: ${r.default_branch})`)}`));
208
- console.log(field("", link(r.url)));
209
- console.log(field("AI context", fmtBool(r.ai_context)));
210
- }
211
- else {
212
- console.log(field("Repositório", c.dim(`${dash} (nenhum vinculado)`)));
213
- }
214
- const otherRepos = ctx.repositories.filter((r) => r.id !== ctx.current_repository?.id);
215
- if (otherRepos.length > 0) {
216
- console.log(field("Outros repos", c.dim(otherRepos.map((r) => r.name).join(", "))));
217
- }
218
- console.log("");
219
- if (ctx.active_sprint) {
220
- const s = ctx.active_sprint;
221
- console.log(field("Sprint ativa", `${c.bold(s.name)} ${c.dim(`(${fmtDate(s.start_date)} → ${fmtDate(s.end_date)})`)}`));
222
- }
223
- else {
224
- console.log(field("Sprint ativa", c.dim(dash)));
225
- }
226
- console.log("");
227
- console.log(` ${c.dim(`Membros (${ctx.members.length})`)}`);
228
- for (const m of ctx.members) {
229
- const name = m.full_name ?? "(sem nome)";
230
- const handle = m.username ? c.cyan(`@${m.username}`) : c.dim(dash);
231
- console.log(` ${c.magenta(sym.dot)} ${name.padEnd(26)} ${handle}`);
232
- }
233
- console.log("");
234
- const you = ctx.current_user;
235
- console.log(field("Você", `${c.bold(you.full_name ?? "(sem nome)")} ${c.dim(`<${you.email}>`)}`));
236
- }
237
186
  //# sourceMappingURL=render.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/cli/ui/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../../../src/cli/ui/render.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,5 @@
1
1
  import { select } from "../../lib/prompts.js";
2
2
  import { c, sym } from "../../lib/colors.js";
3
- /**
4
- * Captura o que `fn` imprimiria via `console.log` num array de linhas — deixa reusar os
5
- * `print*` existentes como fonte do detalhe, sem reescrevê-los.
6
- */
7
3
  export function capture(fn) {
8
4
  const lines = [];
9
5
  const orig = console.log;
@@ -23,12 +19,10 @@ export class SyncReport {
23
19
  add(section) {
24
20
  this.sections.push(section);
25
21
  }
26
- /** Adiciona uma seção cujo detalhe vem da saída capturada de `fn`. */
27
22
  addCaptured(meta, fn) {
28
23
  this.add({ ...meta, lines: capture(fn) });
29
24
  }
30
25
  }
31
- /** Resumo + status de um resultado de provisionamento (usado por sync e init). */
32
26
  export function summarizeProvision(files) {
33
27
  const n = (a) => files.filter((f) => f.action === a).length;
34
28
  const werr = n("write-error");
@@ -55,7 +49,6 @@ function icon(status) {
55
49
  function headline(s) {
56
50
  return ` ${icon(s.status)} ${c.bold(s.title)} ${c.dim(`· ${s.summary}`)}`;
57
51
  }
58
- /** Resolve o modo: `--verbose`/`--quiet` mandam; senão TTY → resumo, não-TTY → plano. */
59
52
  export function resolveReportMode(opts) {
60
53
  if (opts.verbose)
61
54
  return "verbose";
@@ -63,7 +56,6 @@ export function resolveReportMode(opts) {
63
56
  return "quiet";
64
57
  return process.stdout.isTTY ? "summary" : "plain";
65
58
  }
66
- /** Imprime o report conforme o modo. */
67
59
  export function renderReport(report, mode) {
68
60
  if (report.sections.length === 0)
69
61
  return;
@@ -76,7 +68,6 @@ export function renderReport(report, mode) {
76
68
  }
77
69
  return;
78
70
  }
79
- // summary / quiet: uma linha por seção; no summary, expande as que não estão ok.
80
71
  for (const s of report.sections) {
81
72
  console.log(headline(s));
82
73
  if (mode === "summary" && s.status !== "ok")
@@ -85,10 +76,6 @@ export function renderReport(report, mode) {
85
76
  }
86
77
  }
87
78
  const DONE = "__done__";
88
- /**
89
- * Menu navegável pós-resumo (só TTY): o usuário escolhe uma seção pra ver o detalhe e
90
- * volta ao menu; "seguir" continua o fluxo. É o "ir pro lado e ver as outras infos".
91
- */
92
79
  export async function browseReport(report) {
93
80
  if (!process.stdout.isTTY || report.sections.length === 0)
94
81
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/cli/ui/report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/cli/ui/report.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env node
2
+ import "./lib/load-env.js";
2
3
  import { Command } from "commander";
3
4
  import { VERSION } from "./version.js";
4
5
  import { brand } from "./brand.js";
@@ -13,6 +14,17 @@ import { registerExecCommand } from "./cli/commands/exec.js";
13
14
  import { registerPlanCommand } from "./cli/commands/plan.js";
14
15
  import { registerValidatePlanCommand } from "./cli/commands/validate-plan.js";
15
16
  import { registerCompletionCommand } from "./cli/commands/completion.js";
17
+ import { registerLangCommand } from "./cli/commands/lang.js";
18
+ import { registerSessionsCommand } from "./cli/commands/sessions.js";
19
+ import { registerDebugCommand } from "./cli/commands/debug.js";
20
+ import { registerAgentsCommand } from "./cli/commands/agents.js";
21
+ import { registerCommandCommand } from "./cli/commands/command.js";
22
+ import { registerOpenCommand } from "./cli/commands/open.js";
23
+ import { registerDepsCommand } from "./cli/commands/deps.js";
24
+ import { registerDockerCommand } from "./cli/commands/docker.js";
25
+ import { registerSecurityCommands } from "./cli/commands/security.js";
26
+ import { registerDocsCommand } from "./cli/commands/docs.js";
27
+ import { registerConfigCommand } from "./cli/commands/config.js";
16
28
  notifyCliIfUpdate();
17
29
  const program = new Command();
18
30
  program
@@ -29,6 +41,17 @@ registerExecCommand(program);
29
41
  registerPlanCommand(program);
30
42
  registerValidatePlanCommand(program);
31
43
  registerCompletionCommand(program);
44
+ registerLangCommand(program);
45
+ registerSessionsCommand(program);
46
+ registerDebugCommand(program);
47
+ registerAgentsCommand(program);
48
+ registerCommandCommand(program);
49
+ registerOpenCommand(program);
50
+ registerDepsCommand(program);
51
+ registerDockerCommand(program);
52
+ registerSecurityCommands(program);
53
+ registerDocsCommand(program);
54
+ registerConfigCommand(program);
32
55
  program.parseAsync(process.argv).catch((err) => {
33
56
  console.error(`Erro: ${err.message}`);
34
57
  process.exit(1);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,iBAAiB,EAAE,CAAC;AAEpB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;KAChB,WAAW,CAAC,UAAU,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,eAAe,GAAG,CAAC;KACrE,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAEtD,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,2BAA2B,CAAC,OAAO,CAAC,CAAC;AACrC,yBAAyB,CAAC,OAAO,CAAC,CAAC;AAEnC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC7C,OAAO,CAAC,KAAK,CAAC,SAAU,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,mBAAmB,CAAC;AAC3B,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,2BAA2B,EAAE,MAAM,iCAAiC,CAAC;AAC9E,OAAO,EAAE,yBAAyB,EAAE,MAAM,8BAA8B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAEjE,iBAAiB,EAAE,CAAC;AAEpB,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAC9B,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC;KAChB,WAAW,CAAC,UAAU,KAAK,CAAC,WAAW,KAAK,KAAK,CAAC,eAAe,GAAG,CAAC;KACrE,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,gBAAgB,EAAE,CAAC,CAAC;AAEtD,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,2BAA2B,CAAC,OAAO,CAAC,CAAC;AACrC,yBAAyB,CAAC,OAAO,CAAC,CAAC;AACnC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,uBAAuB,CAAC,OAAO,CAAC,CAAC;AACjC,oBAAoB,CAAC,OAAO,CAAC,CAAC;AAC9B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,sBAAsB,CAAC,OAAO,CAAC,CAAC;AAChC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAC/B,wBAAwB,CAAC,OAAO,CAAC,CAAC;AAClC,mBAAmB,CAAC,OAAO,CAAC,CAAC;AAC7B,qBAAqB,CAAC,OAAO,CAAC,CAAC;AAE/B,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IAC7C,OAAO,CAAC,KAAK,CAAC,SAAU,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
package/dist/config.js CHANGED
@@ -1,30 +1,30 @@
1
1
  import { readFileSync, writeFileSync, existsSync } from 'node:fs';
2
2
  import { join, isAbsolute, dirname } from 'node:path';
3
- import { PROJECT_CONFIG_FILE } from './constants.js';
4
3
  import { brand, env } from './brand.js';
5
- import { DEV_ROLE, GENERAL } from './lib/sections.js';
6
- /** Arquivo de config do usuário — `nio.json` → `nio.user.json` (respeita o brand). */
4
+ import { DEV_ROLE, GENERAL } from './lib/skills/sections.js';
5
+ const PROJECT_CONFIG_FILE = brand.projectConfigFile;
6
+ export const IDE_VALUES = ['vscode', 'cursor', 'xcode', 'terminal', 'other'];
7
+ export function isIde(value) {
8
+ return typeof value === 'string' && IDE_VALUES.includes(value);
9
+ }
7
10
  export const USER_CONFIG_FILE = PROJECT_CONFIG_FILE.replace(/\.json$/, ".user.json");
8
11
  export function getUserConfigPath(cwd = process.cwd()) {
9
12
  const base = isAbsolute(cwd) ? cwd : join(process.cwd(), cwd);
10
13
  return join(base, USER_CONFIG_FILE);
11
14
  }
12
- /** Lê o `ide` do `nio.user.json` em `dir`, se houver (parse tolerante). */
13
15
  function readUserIde(dir) {
14
16
  const path = join(dir, USER_CONFIG_FILE);
15
17
  if (!existsSync(path))
16
18
  return undefined;
17
19
  try {
18
20
  const u = JSON.parse(readFileSync(path, "utf8"));
19
- if (u.ide === "vscode" || u.ide === "xcode" || u.ide === "other")
21
+ if (isIde(u.ide))
20
22
  return u.ide;
21
23
  }
22
24
  catch {
23
- /* user file inválido → ignora */
24
25
  }
25
26
  return undefined;
26
27
  }
27
- /** Parse leniente do bloco `selection` do nio.json. */
28
28
  function parseSelection(value) {
29
29
  if (!value || typeof value !== 'object')
30
30
  return undefined;
@@ -43,12 +43,6 @@ function parseSelection(value) {
43
43
  return undefined;
44
44
  return { roles, stacks };
45
45
  }
46
- /**
47
- * Migra o formato antigo (`sections: {profiles, fields}` + `rules: {área: stack}`) pra
48
- * a `selection` unificada. `developer`→`dev`, `other`→`management`; cada field vira uma
49
- * área com a stack do mapa `rules` (ou `general` se não houver). Retorna `undefined` se
50
- * não há nada antigo.
51
- */
52
46
  function migrateLegacySelection(obj) {
53
47
  const sec = obj.sections;
54
48
  const oldRules = (obj.rules ?? {});
@@ -76,11 +70,6 @@ export const UUID_REGEX = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9
76
70
  export function getProjectConfigPath(cwd = process.cwd()) {
77
71
  return isAbsolute(cwd) ? join(cwd, PROJECT_CONFIG_FILE) : join(process.cwd(), cwd, PROJECT_CONFIG_FILE);
78
72
  }
79
- /**
80
- * Acha o `nio.json` subindo de `cwd` até a raiz — assim um agente rodando numa
81
- * subpasta (ex.: `proj-x/backend/src`) ainda encontra o binding em `proj-x/backend`
82
- * ou `proj-x`. O mais próximo vence (binding do repo tem precedência sobre o do pai).
83
- */
84
73
  export function findProjectConfigPath(cwd = process.cwd()) {
85
74
  let dir = isAbsolute(cwd) ? cwd : join(process.cwd(), cwd);
86
75
  for (;;) {
@@ -93,11 +82,6 @@ export function findProjectConfigPath(cwd = process.cwd()) {
93
82
  dir = parent;
94
83
  }
95
84
  }
96
- /**
97
- * ProjectConfig a partir de NIO_PROJECT_ID / NIO_REPOSITORY_ID — override
98
- * opcional pro env do cliente MCP. O Cowork NÃO usa isto (projeto é por sessão).
99
- * Retorna null se NIO_PROJECT_ID não estiver definido.
100
- */
101
85
  function loadProjectConfigFromEnv() {
102
86
  const projectId = env('PROJECT_ID')?.trim();
103
87
  if (!projectId)
@@ -115,7 +99,6 @@ function loadProjectConfigFromEnv() {
115
99
  }
116
100
  return config;
117
101
  }
118
- /** Lê e faz `JSON.parse` do `nio.json` em `path` — erros viram mensagens com o nome do arquivo. */
119
102
  function readProjectConfigFile(path) {
120
103
  let raw;
121
104
  try {
@@ -136,11 +119,10 @@ function readProjectConfigFile(path) {
136
119
  }
137
120
  return parsed;
138
121
  }
139
- /** Valida e monta o `ProjectConfig` a partir do objeto já parseado do `nio.json`. */
140
122
  function shapeProjectConfig(obj) {
141
123
  const projectId = obj.project_id;
142
- if (typeof projectId !== 'string' || !UUID_REGEX.test(projectId)) {
143
- throw new Error(`${PROJECT_CONFIG_FILE}: campo "project_id" ausente ou não é um UUID válido.`);
124
+ if (projectId !== undefined && (typeof projectId !== 'string' || !UUID_REGEX.test(projectId))) {
125
+ throw new Error(`${PROJECT_CONFIG_FILE}: campo "project_id", quando presente, deve ser um UUID válido.`);
144
126
  }
145
127
  const repositoryId = obj.repository_id;
146
128
  if (repositoryId !== undefined &&
@@ -148,23 +130,29 @@ function shapeProjectConfig(obj) {
148
130
  (typeof repositoryId !== 'string' || !UUID_REGEX.test(repositoryId))) {
149
131
  throw new Error(`${PROJECT_CONFIG_FILE}: campo "repository_id" deve ser UUID, null ou ausente.`);
150
132
  }
151
- const config = { project_id: projectId };
133
+ const sessionId = obj.session_id;
134
+ if (sessionId !== undefined && (typeof sessionId !== 'string' || !UUID_REGEX.test(sessionId))) {
135
+ throw new Error(`${PROJECT_CONFIG_FILE}: campo "session_id", quando presente, deve ser um UUID válido.`);
136
+ }
137
+ const config = {};
138
+ if (typeof projectId === 'string')
139
+ config.project_id = projectId;
152
140
  if (typeof repositoryId === 'string') {
153
141
  config.repository_id = repositoryId;
154
142
  }
155
143
  else if (repositoryId === null) {
156
144
  config.repository_id = null;
157
145
  }
146
+ if (typeof sessionId === 'string')
147
+ config.session_id = sessionId;
158
148
  const selection = parseSelection(obj.selection) ?? migrateLegacySelection(obj);
159
149
  if (selection)
160
150
  config.selection = selection;
161
- if (obj.ide === 'vscode' || obj.ide === 'xcode' || obj.ide === 'other') {
151
+ if (isIde(obj.ide))
162
152
  config.ide = obj.ide;
163
- }
164
153
  return config;
165
154
  }
166
155
  export function loadProjectConfig(cwd = process.cwd()) {
167
- // Precedência pro ambiente (Desktop Extension / Cowork não têm nio.json no cwd).
168
156
  const envConfig = loadProjectConfigFromEnv();
169
157
  if (envConfig)
170
158
  return envConfig;
@@ -172,35 +160,29 @@ export function loadProjectConfig(cwd = process.cwd()) {
172
160
  if (!path)
173
161
  return null;
174
162
  const config = shapeProjectConfig(readProjectConfigFile(path));
175
- // Prefs do usuário (`nio.user.json`, ao lado do repo file) sobrepõem o `ide`.
176
163
  const userIde = readUserIde(dirname(path));
177
164
  if (userIde)
178
165
  config.ide = userIde;
179
166
  return config;
180
167
  }
181
- /**
182
- * Grava o `nio.json` **do repo** (versionado): binding + seleção. **Não** grava `ide`
183
- * (isso é do usuário → `writeUserConfig`).
184
- */
185
168
  export function writeProjectConfig(config, cwd = process.cwd()) {
186
- const repo = { project_id: config.project_id };
169
+ const repo = {};
170
+ if (config.project_id)
171
+ repo.project_id = config.project_id;
187
172
  if (config.repository_id !== undefined)
188
173
  repo.repository_id = config.repository_id;
174
+ if (config.session_id)
175
+ repo.session_id = config.session_id;
189
176
  if (config.selection)
190
177
  repo.selection = config.selection;
191
178
  writeFileSync(getProjectConfigPath(cwd), JSON.stringify(repo, null, 2) + "\n", "utf8");
192
179
  }
193
- /** Grava o `nio.user.json` (por-máquina, gitignored): ide + prefs pessoais. */
194
180
  export function writeUserConfig(user, cwd = process.cwd()) {
195
181
  const obj = {};
196
182
  if (user.ide)
197
183
  obj.ide = user.ide;
198
184
  writeFileSync(getUserConfigPath(cwd), JSON.stringify(obj, null, 2) + "\n", "utf8");
199
185
  }
200
- /**
201
- * Migra o formato antigo monolítico: se o `nio.json` ainda tem `ide`, move pro
202
- * `nio.user.json` e reescreve o `nio.json` sem ele. Idempotente. `true` se migrou.
203
- */
204
186
  export function migrateConfigSplit(cwd = process.cwd()) {
205
187
  const repoPath = getProjectConfigPath(cwd);
206
188
  if (!existsSync(repoPath))
@@ -216,10 +198,10 @@ export function migrateConfigSplit(cwd = process.cwd()) {
216
198
  return false;
217
199
  const ide = obj.ide;
218
200
  delete obj.ide;
219
- delete obj.sections; // resquícios do formato ainda mais antigo
201
+ delete obj.sections;
220
202
  delete obj.rules;
221
203
  writeFileSync(repoPath, JSON.stringify(obj, null, 2) + "\n", "utf8");
222
- if ((ide === "vscode" || ide === "xcode" || ide === "other") && !readUserIde(cwd)) {
204
+ if (isIde(ide) && !readUserIde(cwd)) {
223
205
  writeUserConfig({ ide }, cwd);
224
206
  }
225
207
  return true;
@@ -228,28 +210,22 @@ function readGitignore(cwd) {
228
210
  const path = join(cwd, ".gitignore");
229
211
  return { path, text: existsSync(path) ? readFileSync(path, "utf8") : "" };
230
212
  }
231
- // Sufixos ESTÁVEIS dos marcadores do `.gitignore`. O prefixo é a marca (`# nio`),
232
- // que muda num rebrand — então casamos por sufixo pra reconhecer/limpar o marcador de
233
- // QUALQUER marca (é a migração que remove o marcador antigo).
234
213
  const GITIGNORE_USER_SUFFIX = "(config local do usuário)";
235
214
  const GITIGNORE_PROJECT_SUFFIX = "(binding local do projeto)";
236
- /** Linha é um marcador nosso do sufixo dado? Agnóstico à marca. */
237
215
  function isGitignoreMarker(line, suffix) {
238
216
  const t = line.trim();
239
217
  return t.startsWith("#") && t.endsWith(suffix);
240
218
  }
241
- /** Garante uma entrada no `.gitignore` (idempotente). Cria o arquivo se não existir. */
242
219
  export function ensureGitignored(entry = USER_CONFIG_FILE, cwd = process.cwd()) {
243
220
  const { path, text } = readGitignore(cwd);
244
221
  const marker = `# ${brand.name} ${GITIGNORE_USER_SUFFIX}`;
245
- // Migração: varre marcadores de usuário de outra marca (preserva o atual).
246
222
  const kept = text
247
223
  .split(/\r?\n/)
248
224
  .filter((l) => l.trim() === marker || !isGitignoreMarker(l, GITIGNORE_USER_SUFFIX));
249
225
  const base = kept.join("\n");
250
226
  if (kept.some((l) => l.trim() === entry)) {
251
227
  if (base !== text)
252
- writeFileSync(path, base, "utf8"); // persiste a limpeza
228
+ writeFileSync(path, base, "utf8");
253
229
  return "present";
254
230
  }
255
231
  const sep = base.length > 0 && !base.endsWith("\n") ? "\n" : "";
@@ -257,7 +233,6 @@ export function ensureGitignored(entry = USER_CONFIG_FILE, cwd = process.cwd())
257
233
  writeFileSync(path, base + block, "utf8");
258
234
  return "added";
259
235
  }
260
- /** Remove uma entrada exata do `.gitignore` (+ o marcador de projeto órfão, de qualquer marca). `true` se removeu. */
261
236
  export function removeFromGitignore(entry, cwd = process.cwd()) {
262
237
  const { path, text } = readGitignore(cwd);
263
238
  if (!text)
@@ -269,10 +244,6 @@ export function removeFromGitignore(entry, cwd = process.cwd()) {
269
244
  writeFileSync(path, kept.join("\n"), "utf8");
270
245
  return true;
271
246
  }
272
- /**
273
- * Ajusta o `.gitignore` pro split: tira o `nio.json` (agora versionado, do time) e
274
- * garante o `nio.user.json` (do usuário) ignorado. Retorna se acrescentou o user file.
275
- */
276
247
  export function fixGitignoreForSplit(cwd = process.cwd()) {
277
248
  removeFromGitignore(PROJECT_CONFIG_FILE, cwd);
278
249
  return ensureGitignored(USER_CONFIG_FILE, cwd);