@build-astron-co/nimbus 0.4.1 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (435) hide show
  1. package/CHANGELOG.md +268 -89
  2. package/README.md +26 -567
  3. package/dist/src/agent/compaction-agent.js +24 -12
  4. package/dist/src/agent/context-manager.js +2 -1
  5. package/dist/src/agent/expand-files.js +2 -1
  6. package/dist/src/agent/loop.js +71 -33
  7. package/dist/src/agent/permissions.js +4 -2
  8. package/dist/src/agent/system-prompt.js +34 -17
  9. package/dist/src/app.js +1 -1
  10. package/dist/src/auth/keychain.js +8 -4
  11. package/dist/src/auth/store.js +70 -107
  12. package/dist/src/cli/init.js +35 -19
  13. package/dist/src/cli/run.js +18 -10
  14. package/dist/src/cli/serve.js +4 -2
  15. package/dist/src/cli.js +52 -11
  16. package/dist/src/commands/alias.js +5 -3
  17. package/dist/src/commands/audit/index.js +2 -1
  18. package/dist/src/commands/aws-terraform.js +36 -18
  19. package/dist/src/commands/completions.js +1 -1
  20. package/dist/src/commands/config.js +3 -2
  21. package/dist/src/commands/connect-github.js +92 -0
  22. package/dist/src/commands/cost/index.js +3 -2
  23. package/dist/src/commands/deploy.js +15 -10
  24. package/dist/src/commands/doctor.js +9 -6
  25. package/dist/src/commands/drift/index.js +2 -1
  26. package/dist/src/commands/export.js +5 -3
  27. package/dist/src/commands/generate-terraform.js +110 -2
  28. package/dist/src/commands/import.js +3 -3
  29. package/dist/src/commands/incident.js +10 -5
  30. package/dist/src/commands/login.js +8 -93
  31. package/dist/src/commands/logs.js +16 -8
  32. package/dist/src/commands/onboarding.js +6 -4
  33. package/dist/src/commands/pipeline.js +6 -3
  34. package/dist/src/commands/plugin.js +3 -2
  35. package/dist/src/commands/profile.js +27 -14
  36. package/dist/src/commands/questionnaire.js +1 -1
  37. package/dist/src/commands/rollback.js +3 -2
  38. package/dist/src/commands/rollout.js +5 -3
  39. package/dist/src/commands/runbook.js +17 -10
  40. package/dist/src/commands/schedule.js +10 -5
  41. package/dist/src/commands/status.js +2 -1
  42. package/dist/src/commands/team-context.js +12 -7
  43. package/dist/src/commands/template.js +1 -1
  44. package/dist/src/commands/tf/index.js +6 -3
  45. package/dist/src/commands/upgrade.js +5 -3
  46. package/dist/src/commands/version.js +6 -3
  47. package/dist/src/commands/watch.js +6 -3
  48. package/dist/src/compat/sqlite.js +5 -3
  49. package/dist/src/config/mode-store.js +2 -1
  50. package/dist/src/config/profiles.js +4 -2
  51. package/dist/src/config/types.js +2 -1
  52. package/dist/src/engine/executor.js +8 -4
  53. package/dist/src/engine/planner.js +9 -5
  54. package/dist/src/llm/providers/anthropic.js +6 -3
  55. package/dist/src/llm/providers/ollama.js +1 -1
  56. package/dist/src/llm/router.js +22 -7
  57. package/dist/src/nimbus.js +1 -0
  58. package/dist/src/sessions/manager.js +6 -3
  59. package/dist/src/sharing/viewer.js +2 -1
  60. package/dist/src/tools/file-ops.js +1 -2
  61. package/dist/src/tools/schemas/devops.js +197 -108
  62. package/dist/src/tools/schemas/standard.js +1 -1
  63. package/dist/src/ui/App.js +25 -13
  64. package/dist/src/ui/FileDiffModal.js +22 -11
  65. package/dist/src/ui/HelpModal.js +2 -1
  66. package/dist/src/ui/InputBox.js +6 -3
  67. package/dist/src/ui/MessageList.js +40 -20
  68. package/dist/src/ui/TerminalPane.js +2 -1
  69. package/dist/src/ui/ToolCallDisplay.js +12 -6
  70. package/dist/src/ui/TreePane.js +2 -1
  71. package/dist/src/ui/ink/index.js +37 -21
  72. package/dist/src/version.js +1 -1
  73. package/dist/src/watcher/index.js +8 -4
  74. package/package.json +3 -5
  75. package/src/__tests__/alias.test.ts +0 -133
  76. package/src/__tests__/app.test.ts +0 -76
  77. package/src/__tests__/audit.test.ts +0 -877
  78. package/src/__tests__/circuit-breaker.test.ts +0 -116
  79. package/src/__tests__/cli-run.test.ts +0 -351
  80. package/src/__tests__/compat-sqlite.test.ts +0 -68
  81. package/src/__tests__/context-manager.test.ts +0 -632
  82. package/src/__tests__/context.test.ts +0 -242
  83. package/src/__tests__/devops-terminal-gaps.test.ts +0 -718
  84. package/src/__tests__/doctor.test.ts +0 -48
  85. package/src/__tests__/enterprise.test.ts +0 -401
  86. package/src/__tests__/export.test.ts +0 -236
  87. package/src/__tests__/gap-11-18-20.test.ts +0 -958
  88. package/src/__tests__/generator.test.ts +0 -433
  89. package/src/__tests__/helm-streaming.test.ts +0 -127
  90. package/src/__tests__/hooks.test.ts +0 -582
  91. package/src/__tests__/incident.test.ts +0 -179
  92. package/src/__tests__/init.test.ts +0 -487
  93. package/src/__tests__/intent-parser.test.ts +0 -229
  94. package/src/__tests__/llm-router.test.ts +0 -209
  95. package/src/__tests__/logs.test.ts +0 -107
  96. package/src/__tests__/loop-errors.test.ts +0 -244
  97. package/src/__tests__/lsp.test.ts +0 -293
  98. package/src/__tests__/modes.test.ts +0 -336
  99. package/src/__tests__/perf-optimizations.test.ts +0 -847
  100. package/src/__tests__/permissions.test.ts +0 -338
  101. package/src/__tests__/pipeline.test.ts +0 -50
  102. package/src/__tests__/polish-phase3.test.ts +0 -340
  103. package/src/__tests__/profile.test.ts +0 -237
  104. package/src/__tests__/rollback.test.ts +0 -83
  105. package/src/__tests__/runbook.test.ts +0 -219
  106. package/src/__tests__/schedule.test.ts +0 -206
  107. package/src/__tests__/serve.test.ts +0 -275
  108. package/src/__tests__/sessions.test.ts +0 -322
  109. package/src/__tests__/sharing.test.ts +0 -340
  110. package/src/__tests__/snapshots.test.ts +0 -581
  111. package/src/__tests__/standalone-migration.test.ts +0 -199
  112. package/src/__tests__/state-db.test.ts +0 -334
  113. package/src/__tests__/status.test.ts +0 -158
  114. package/src/__tests__/stream-with-tools.test.ts +0 -778
  115. package/src/__tests__/subagents.test.ts +0 -176
  116. package/src/__tests__/system-prompt.test.ts +0 -248
  117. package/src/__tests__/terminal-gap-v2.test.ts +0 -395
  118. package/src/__tests__/terminal-parity.test.ts +0 -393
  119. package/src/__tests__/tf-apply.test.ts +0 -187
  120. package/src/__tests__/tool-converter.test.ts +0 -256
  121. package/src/__tests__/tool-schemas.test.ts +0 -602
  122. package/src/__tests__/tools.test.ts +0 -144
  123. package/src/__tests__/version-json.test.ts +0 -184
  124. package/src/__tests__/version.test.ts +0 -49
  125. package/src/__tests__/watch.test.ts +0 -129
  126. package/src/agent/compaction-agent.ts +0 -266
  127. package/src/agent/context-manager.ts +0 -499
  128. package/src/agent/context.ts +0 -427
  129. package/src/agent/deploy-preview.ts +0 -487
  130. package/src/agent/expand-files.ts +0 -108
  131. package/src/agent/index.ts +0 -68
  132. package/src/agent/loop.ts +0 -1998
  133. package/src/agent/modes.ts +0 -429
  134. package/src/agent/permissions.ts +0 -513
  135. package/src/agent/subagents/base.ts +0 -116
  136. package/src/agent/subagents/cost.ts +0 -51
  137. package/src/agent/subagents/explore.ts +0 -42
  138. package/src/agent/subagents/general.ts +0 -54
  139. package/src/agent/subagents/index.ts +0 -102
  140. package/src/agent/subagents/infra.ts +0 -59
  141. package/src/agent/subagents/security.ts +0 -69
  142. package/src/agent/system-prompt.ts +0 -990
  143. package/src/app.ts +0 -180
  144. package/src/audit/activity-log.ts +0 -290
  145. package/src/audit/compliance-checker.ts +0 -540
  146. package/src/audit/cost-tracker.ts +0 -318
  147. package/src/audit/index.ts +0 -23
  148. package/src/audit/security-scanner.ts +0 -641
  149. package/src/auth/guard.ts +0 -75
  150. package/src/auth/index.ts +0 -56
  151. package/src/auth/keychain.ts +0 -82
  152. package/src/auth/oauth.ts +0 -465
  153. package/src/auth/providers.ts +0 -470
  154. package/src/auth/sso.ts +0 -113
  155. package/src/auth/store.ts +0 -505
  156. package/src/auth/types.ts +0 -187
  157. package/src/build.ts +0 -141
  158. package/src/cli/index.ts +0 -16
  159. package/src/cli/init.ts +0 -1227
  160. package/src/cli/openapi-spec.ts +0 -356
  161. package/src/cli/run.ts +0 -628
  162. package/src/cli/serve-auth.ts +0 -80
  163. package/src/cli/serve.ts +0 -539
  164. package/src/cli/web.ts +0 -71
  165. package/src/cli.ts +0 -1728
  166. package/src/clients/core-engine-client.ts +0 -227
  167. package/src/clients/enterprise-client.ts +0 -334
  168. package/src/clients/generator-client.ts +0 -351
  169. package/src/clients/git-client.ts +0 -627
  170. package/src/clients/github-client.ts +0 -410
  171. package/src/clients/helm-client.ts +0 -504
  172. package/src/clients/index.ts +0 -80
  173. package/src/clients/k8s-client.ts +0 -497
  174. package/src/clients/llm-client.ts +0 -161
  175. package/src/clients/rest-client.ts +0 -130
  176. package/src/clients/service-discovery.ts +0 -38
  177. package/src/clients/terraform-client.ts +0 -482
  178. package/src/clients/tools-client.ts +0 -1843
  179. package/src/clients/ws-client.ts +0 -115
  180. package/src/commands/alias.ts +0 -100
  181. package/src/commands/analyze/index.ts +0 -352
  182. package/src/commands/apply/helm.ts +0 -473
  183. package/src/commands/apply/index.ts +0 -213
  184. package/src/commands/apply/k8s.ts +0 -454
  185. package/src/commands/apply/terraform.ts +0 -582
  186. package/src/commands/ask.ts +0 -167
  187. package/src/commands/audit/index.ts +0 -357
  188. package/src/commands/auth-cloud.ts +0 -407
  189. package/src/commands/auth-list.ts +0 -134
  190. package/src/commands/auth-profile.ts +0 -121
  191. package/src/commands/auth-refresh.ts +0 -187
  192. package/src/commands/auth-status.ts +0 -141
  193. package/src/commands/aws/ec2.ts +0 -501
  194. package/src/commands/aws/iam.ts +0 -397
  195. package/src/commands/aws/index.ts +0 -133
  196. package/src/commands/aws/lambda.ts +0 -396
  197. package/src/commands/aws/rds.ts +0 -439
  198. package/src/commands/aws/s3.ts +0 -439
  199. package/src/commands/aws/vpc.ts +0 -393
  200. package/src/commands/aws-discover.ts +0 -542
  201. package/src/commands/aws-terraform.ts +0 -755
  202. package/src/commands/azure/aks.ts +0 -376
  203. package/src/commands/azure/functions.ts +0 -253
  204. package/src/commands/azure/index.ts +0 -116
  205. package/src/commands/azure/storage.ts +0 -478
  206. package/src/commands/azure/vm.ts +0 -355
  207. package/src/commands/billing/index.ts +0 -256
  208. package/src/commands/chat.ts +0 -320
  209. package/src/commands/completions.ts +0 -268
  210. package/src/commands/config.ts +0 -372
  211. package/src/commands/cost/cloud-cost-estimator.ts +0 -266
  212. package/src/commands/cost/estimator.ts +0 -79
  213. package/src/commands/cost/index.ts +0 -810
  214. package/src/commands/cost/parsers/terraform.ts +0 -273
  215. package/src/commands/cost/parsers/types.ts +0 -25
  216. package/src/commands/cost/pricing/aws.ts +0 -544
  217. package/src/commands/cost/pricing/azure.ts +0 -499
  218. package/src/commands/cost/pricing/gcp.ts +0 -396
  219. package/src/commands/cost/pricing/index.ts +0 -40
  220. package/src/commands/demo.ts +0 -250
  221. package/src/commands/deploy.ts +0 -260
  222. package/src/commands/doctor.ts +0 -1386
  223. package/src/commands/drift/index.ts +0 -787
  224. package/src/commands/explain.ts +0 -277
  225. package/src/commands/export.ts +0 -146
  226. package/src/commands/feedback.ts +0 -389
  227. package/src/commands/fix.ts +0 -324
  228. package/src/commands/fs/index.ts +0 -402
  229. package/src/commands/gcp/compute.ts +0 -325
  230. package/src/commands/gcp/functions.ts +0 -271
  231. package/src/commands/gcp/gke.ts +0 -438
  232. package/src/commands/gcp/iam.ts +0 -344
  233. package/src/commands/gcp/index.ts +0 -129
  234. package/src/commands/gcp/storage.ts +0 -284
  235. package/src/commands/generate-helm.ts +0 -1249
  236. package/src/commands/generate-k8s.ts +0 -1508
  237. package/src/commands/generate-terraform.ts +0 -1202
  238. package/src/commands/gh/index.ts +0 -863
  239. package/src/commands/git/index.ts +0 -1343
  240. package/src/commands/helm/index.ts +0 -1126
  241. package/src/commands/help.ts +0 -715
  242. package/src/commands/history.ts +0 -149
  243. package/src/commands/import.ts +0 -868
  244. package/src/commands/incident.ts +0 -166
  245. package/src/commands/index.ts +0 -367
  246. package/src/commands/init.ts +0 -1051
  247. package/src/commands/k8s/index.ts +0 -1137
  248. package/src/commands/login.ts +0 -716
  249. package/src/commands/logout.ts +0 -83
  250. package/src/commands/logs.ts +0 -167
  251. package/src/commands/onboarding.ts +0 -405
  252. package/src/commands/pipeline.ts +0 -186
  253. package/src/commands/plan/display.ts +0 -279
  254. package/src/commands/plan/index.ts +0 -599
  255. package/src/commands/plugin.ts +0 -398
  256. package/src/commands/preview.ts +0 -452
  257. package/src/commands/profile.ts +0 -342
  258. package/src/commands/questionnaire.ts +0 -1172
  259. package/src/commands/resume.ts +0 -47
  260. package/src/commands/rollback.ts +0 -315
  261. package/src/commands/rollout.ts +0 -88
  262. package/src/commands/runbook.ts +0 -346
  263. package/src/commands/schedule.ts +0 -236
  264. package/src/commands/status.ts +0 -252
  265. package/src/commands/team/index.ts +0 -346
  266. package/src/commands/team-context.ts +0 -220
  267. package/src/commands/template.ts +0 -233
  268. package/src/commands/tf/index.ts +0 -1093
  269. package/src/commands/upgrade.ts +0 -607
  270. package/src/commands/usage/index.ts +0 -134
  271. package/src/commands/version.ts +0 -174
  272. package/src/commands/watch.ts +0 -153
  273. package/src/compat/index.ts +0 -2
  274. package/src/compat/runtime.ts +0 -12
  275. package/src/compat/sqlite.ts +0 -177
  276. package/src/config/index.ts +0 -17
  277. package/src/config/manager.ts +0 -530
  278. package/src/config/mode-store.ts +0 -62
  279. package/src/config/profiles.ts +0 -84
  280. package/src/config/safety-policy.ts +0 -358
  281. package/src/config/schema.ts +0 -125
  282. package/src/config/types.ts +0 -609
  283. package/src/config/workspace-state.ts +0 -53
  284. package/src/context/context-db.ts +0 -199
  285. package/src/demo/index.ts +0 -349
  286. package/src/demo/scenarios/full-journey.ts +0 -229
  287. package/src/demo/scenarios/getting-started.ts +0 -127
  288. package/src/demo/scenarios/helm-release.ts +0 -341
  289. package/src/demo/scenarios/k8s-deployment.ts +0 -194
  290. package/src/demo/scenarios/terraform-vpc.ts +0 -170
  291. package/src/demo/types.ts +0 -92
  292. package/src/engine/cost-estimator.ts +0 -480
  293. package/src/engine/diagram-generator.ts +0 -256
  294. package/src/engine/drift-detector.ts +0 -902
  295. package/src/engine/executor.ts +0 -1066
  296. package/src/engine/index.ts +0 -76
  297. package/src/engine/orchestrator.ts +0 -636
  298. package/src/engine/planner.ts +0 -787
  299. package/src/engine/safety.ts +0 -743
  300. package/src/engine/verifier.ts +0 -770
  301. package/src/enterprise/audit.ts +0 -348
  302. package/src/enterprise/auth.ts +0 -270
  303. package/src/enterprise/billing.ts +0 -822
  304. package/src/enterprise/index.ts +0 -17
  305. package/src/enterprise/teams.ts +0 -443
  306. package/src/generator/best-practices.ts +0 -1608
  307. package/src/generator/helm.ts +0 -630
  308. package/src/generator/index.ts +0 -37
  309. package/src/generator/intent-parser.ts +0 -514
  310. package/src/generator/kubernetes.ts +0 -976
  311. package/src/generator/terraform.ts +0 -1875
  312. package/src/history/index.ts +0 -8
  313. package/src/history/manager.ts +0 -250
  314. package/src/history/types.ts +0 -34
  315. package/src/hooks/config.ts +0 -432
  316. package/src/hooks/engine.ts +0 -392
  317. package/src/hooks/index.ts +0 -4
  318. package/src/llm/auth-bridge.ts +0 -198
  319. package/src/llm/circuit-breaker.ts +0 -140
  320. package/src/llm/config-loader.ts +0 -201
  321. package/src/llm/cost-calculator.ts +0 -171
  322. package/src/llm/index.ts +0 -8
  323. package/src/llm/model-aliases.ts +0 -115
  324. package/src/llm/provider-registry.ts +0 -63
  325. package/src/llm/providers/anthropic.ts +0 -462
  326. package/src/llm/providers/bedrock.ts +0 -477
  327. package/src/llm/providers/google.ts +0 -405
  328. package/src/llm/providers/ollama.ts +0 -767
  329. package/src/llm/providers/openai-compatible.ts +0 -340
  330. package/src/llm/providers/openai.ts +0 -328
  331. package/src/llm/providers/openrouter.ts +0 -338
  332. package/src/llm/router.ts +0 -1104
  333. package/src/llm/types.ts +0 -232
  334. package/src/lsp/client.ts +0 -298
  335. package/src/lsp/languages.ts +0 -119
  336. package/src/lsp/manager.ts +0 -294
  337. package/src/mcp/client.ts +0 -402
  338. package/src/mcp/index.ts +0 -5
  339. package/src/mcp/manager.ts +0 -133
  340. package/src/nimbus.ts +0 -233
  341. package/src/plugins/index.ts +0 -27
  342. package/src/plugins/loader.ts +0 -334
  343. package/src/plugins/manager.ts +0 -376
  344. package/src/plugins/types.ts +0 -284
  345. package/src/scanners/cicd-scanner.ts +0 -258
  346. package/src/scanners/cloud-scanner.ts +0 -466
  347. package/src/scanners/framework-scanner.ts +0 -469
  348. package/src/scanners/iac-scanner.ts +0 -388
  349. package/src/scanners/index.ts +0 -539
  350. package/src/scanners/language-scanner.ts +0 -276
  351. package/src/scanners/package-manager-scanner.ts +0 -277
  352. package/src/scanners/types.ts +0 -172
  353. package/src/sessions/manager.ts +0 -472
  354. package/src/sessions/types.ts +0 -44
  355. package/src/sharing/sync.ts +0 -300
  356. package/src/sharing/viewer.ts +0 -163
  357. package/src/snapshots/index.ts +0 -2
  358. package/src/snapshots/manager.ts +0 -530
  359. package/src/state/artifacts.ts +0 -147
  360. package/src/state/audit.ts +0 -137
  361. package/src/state/billing.ts +0 -240
  362. package/src/state/checkpoints.ts +0 -117
  363. package/src/state/config.ts +0 -67
  364. package/src/state/conversations.ts +0 -14
  365. package/src/state/credentials.ts +0 -154
  366. package/src/state/db.ts +0 -58
  367. package/src/state/index.ts +0 -26
  368. package/src/state/messages.ts +0 -115
  369. package/src/state/projects.ts +0 -123
  370. package/src/state/schema.ts +0 -236
  371. package/src/state/sessions.ts +0 -147
  372. package/src/state/teams.ts +0 -200
  373. package/src/telemetry.ts +0 -108
  374. package/src/tools/aws-ops.ts +0 -952
  375. package/src/tools/azure-ops.ts +0 -579
  376. package/src/tools/file-ops.ts +0 -615
  377. package/src/tools/gcp-ops.ts +0 -625
  378. package/src/tools/git-ops.ts +0 -773
  379. package/src/tools/github-ops.ts +0 -799
  380. package/src/tools/helm-ops.ts +0 -943
  381. package/src/tools/index.ts +0 -17
  382. package/src/tools/k8s-ops.ts +0 -819
  383. package/src/tools/schemas/converter.ts +0 -184
  384. package/src/tools/schemas/devops.ts +0 -3502
  385. package/src/tools/schemas/index.ts +0 -73
  386. package/src/tools/schemas/standard.ts +0 -1148
  387. package/src/tools/schemas/types.ts +0 -735
  388. package/src/tools/spawn-exec.ts +0 -148
  389. package/src/tools/terraform-ops.ts +0 -862
  390. package/src/types/ambient.d.ts +0 -193
  391. package/src/types/config.ts +0 -83
  392. package/src/types/drift.ts +0 -116
  393. package/src/types/enterprise.ts +0 -335
  394. package/src/types/index.ts +0 -20
  395. package/src/types/plan.ts +0 -44
  396. package/src/types/request.ts +0 -65
  397. package/src/types/response.ts +0 -54
  398. package/src/types/service.ts +0 -51
  399. package/src/ui/App.tsx +0 -2114
  400. package/src/ui/DeployPreview.tsx +0 -174
  401. package/src/ui/FileDiffModal.tsx +0 -162
  402. package/src/ui/Header.tsx +0 -131
  403. package/src/ui/HelpModal.tsx +0 -57
  404. package/src/ui/InputBox.tsx +0 -503
  405. package/src/ui/MessageList.tsx +0 -1032
  406. package/src/ui/PermissionPrompt.tsx +0 -163
  407. package/src/ui/StatusBar.tsx +0 -277
  408. package/src/ui/TerminalPane.tsx +0 -84
  409. package/src/ui/ToolCallDisplay.tsx +0 -643
  410. package/src/ui/TreePane.tsx +0 -132
  411. package/src/ui/chat-ui.ts +0 -850
  412. package/src/ui/index.ts +0 -33
  413. package/src/ui/ink/index.ts +0 -1444
  414. package/src/ui/streaming.ts +0 -176
  415. package/src/ui/theme.ts +0 -104
  416. package/src/ui/types.ts +0 -75
  417. package/src/utils/analytics.ts +0 -72
  418. package/src/utils/cost-warning.ts +0 -27
  419. package/src/utils/env.ts +0 -46
  420. package/src/utils/errors.ts +0 -69
  421. package/src/utils/event-bus.ts +0 -38
  422. package/src/utils/index.ts +0 -24
  423. package/src/utils/logger.ts +0 -171
  424. package/src/utils/rate-limiter.ts +0 -121
  425. package/src/utils/service-auth.ts +0 -49
  426. package/src/utils/validation.ts +0 -53
  427. package/src/version.ts +0 -4
  428. package/src/watcher/index.ts +0 -214
  429. package/src/wizard/approval.ts +0 -383
  430. package/src/wizard/index.ts +0 -25
  431. package/src/wizard/prompts.ts +0 -338
  432. package/src/wizard/types.ts +0 -172
  433. package/src/wizard/ui.ts +0 -556
  434. package/src/wizard/wizard.ts +0 -304
  435. package/tsconfig.json +0 -24
@@ -1,229 +0,0 @@
1
- /**
2
- * Full Journey Demo Scenario
3
- *
4
- * End-to-end demo from discovery to deployment
5
- */
6
-
7
- import type { DemoScenario } from '../types';
8
-
9
- export const fullJourneyScenario: DemoScenario = {
10
- id: 'full-journey',
11
- name: 'Full Infrastructure Journey',
12
- description: 'Complete workflow: Discovery → Generation → Preview → Deploy',
13
- category: 'full-journey',
14
- duration: 15,
15
- prerequisites: [
16
- 'AWS CLI configured with credentials',
17
- 'Terraform installed (v1.0+)',
18
- 'kubectl configured (for K8s steps)',
19
- 'Nimbus CLI installed',
20
- ],
21
- tags: ['full-demo', 'aws', 'terraform', 'kubernetes'],
22
- steps: [
23
- {
24
- id: 'init',
25
- title: 'Initialize Nimbus Project',
26
- description: 'Set up Nimbus in the current project',
27
- command: 'nimbus init',
28
- showOutput: true,
29
- waitForInput: true,
30
- mockResponse: `
31
- Nimbus Initialization
32
-
33
- Scanning project...
34
-
35
- Detected:
36
- ✓ Languages: TypeScript, Python
37
- ✓ Frameworks: Next.js, FastAPI
38
- ✓ Package Managers: npm, pip
39
- ✓ IaC: Terraform
40
- ✓ CI/CD: GitHub Actions
41
- ✓ Cloud: AWS
42
-
43
- Created .nimbus/project.yaml
44
-
45
- Project initialized successfully!
46
- `.trim(),
47
- },
48
- {
49
- id: 'discover-aws',
50
- title: 'Discover AWS Resources',
51
- description: 'Scan your AWS account for existing infrastructure',
52
- command: 'nimbus aws discover --regions us-east-1',
53
- showOutput: true,
54
- waitForInput: true,
55
- mockResponse: `
56
- AWS Discovery
57
-
58
- Scanning AWS account...
59
- Region: us-east-1
60
-
61
- Discovery Summary:
62
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
63
- EC2 Instances: 3
64
- VPCs: 2
65
- S3 Buckets: 5
66
- RDS Instances: 1
67
- Lambda Functions: 8
68
- ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
69
-
70
- Resources discovered and saved to .nimbus/inventory.yaml
71
- `.trim(),
72
- },
73
- {
74
- id: 'generate-terraform',
75
- title: 'Generate Terraform from Inventory',
76
- description: 'Create Terraform code from discovered resources',
77
- command: 'nimbus generate terraform --from-inventory',
78
- showOutput: true,
79
- waitForInput: true,
80
- mockResponse: `
81
- Generate Terraform
82
-
83
- Generating from .nimbus/inventory.yaml...
84
-
85
- Generated files:
86
- ● terraform/main.tf
87
- ● terraform/vpc.tf
88
- ● terraform/ec2.tf
89
- ● terraform/rds.tf
90
- ● terraform/s3.tf
91
- ● terraform/variables.tf
92
- ● terraform/outputs.tf
93
-
94
- Output directory: ./terraform
95
-
96
- Generation complete!
97
- Run 'nimbus preview terraform' to see the plan.
98
- `.trim(),
99
- },
100
- {
101
- id: 'preview',
102
- title: 'Preview Infrastructure Changes',
103
- description: 'Review what will be created/modified',
104
- command: 'nimbus preview terraform ./terraform',
105
- showOutput: true,
106
- waitForInput: true,
107
- mockResponse: `
108
- Preview Terraform Changes
109
-
110
- Directory: ./terraform
111
-
112
- Creating execution plan...
113
- Plan created
114
-
115
- Plan Summary:
116
-
117
- + 12 to add
118
- ~ 0 to change
119
- - 0 to destroy
120
-
121
- Resources to be created:
122
- + aws_vpc.main
123
- + aws_subnet.private[0-2]
124
- + aws_subnet.public[0-2]
125
- + aws_security_group.main
126
- + aws_instance.app
127
- + aws_db_instance.main
128
- + aws_s3_bucket.assets
129
-
130
- Safety Check Summary:
131
-
132
- 🟡 [MEDIUM] This operation will modify infrastructure
133
-
134
- All safety checks passed
135
- `.trim(),
136
- },
137
- {
138
- id: 'apply',
139
- title: 'Apply Infrastructure',
140
- description: 'Deploy the infrastructure with safety approval',
141
- command: 'nimbus apply terraform ./terraform',
142
- showOutput: true,
143
- waitForInput: true,
144
- mockResponse: `
145
- Terraform Apply
146
-
147
- Creating execution plan...
148
- Plan created
149
-
150
- ╔══════════════════════════════════════════════════════════╗
151
- ║ APPROVAL REQUIRED ║
152
- ╠══════════════════════════════════════════════════════════╣
153
- ║ Operation: terraform apply ║
154
- ╚══════════════════════════════════════════════════════════╝
155
-
156
- Identified Risks:
157
- 🟡 [MEDIUM] This operation will modify infrastructure
158
-
159
- Do you want to proceed? Yes
160
-
161
- Applying changes...
162
-
163
- Apply complete! Resources: 12 added, 0 changed, 0 destroyed.
164
- `.trim(),
165
- },
166
- {
167
- id: 'generate-k8s',
168
- title: 'Generate Kubernetes Manifests',
169
- description: 'Create K8s deployment for the application',
170
- command: 'nimbus questionnaire kubernetes',
171
- showOutput: true,
172
- waitForInput: true,
173
- mockResponse: `
174
- Kubernetes Configuration Wizard
175
-
176
- Step 1/4: Application Info
177
- Name: my-app
178
- Image: my-registry/my-app:latest
179
-
180
- Step 2/4: Deployment Settings
181
- Replicas: 3
182
- Port: 8080
183
-
184
- Step 3/4: Resource Limits
185
- CPU Request: 100m
186
- Memory Request: 128Mi
187
-
188
- Step 4/4: Service Configuration
189
- Type: ClusterIP
190
- Port: 80
191
-
192
- Generated files:
193
- ● k8s/deployment.yaml
194
- ● k8s/service.yaml
195
-
196
- Output directory: ./k8s
197
- `.trim(),
198
- },
199
- {
200
- id: 'deploy-k8s',
201
- title: 'Deploy to Kubernetes',
202
- description: 'Apply K8s manifests to the cluster',
203
- command: 'nimbus apply k8s ./k8s',
204
- showOutput: true,
205
- waitForInput: false,
206
- mockResponse: `
207
- Kubernetes Apply
208
-
209
- Manifests: ./k8s
210
- Namespace: default
211
-
212
- Found 2 manifest file(s)
213
-
214
- Resources to apply:
215
- - Deployment/my-app
216
- - Service/my-app
217
-
218
- Apply 2 resource(s)? Yes
219
-
220
- Applying manifests...
221
- Apply complete!
222
-
223
- Created:
224
- + Deployment/my-app
225
- + Service/my-app
226
- `.trim(),
227
- },
228
- ],
229
- };
@@ -1,127 +0,0 @@
1
- /**
2
- * Getting Started Tutorial
3
- *
4
- * Interactive tutorial for new Nimbus users
5
- */
6
-
7
- import type { DemoScenario } from '../types';
8
-
9
- export const gettingStartedScenario: DemoScenario = {
10
- id: 'getting-started',
11
- name: 'Getting Started with Nimbus',
12
- description: 'Learn the basics of Nimbus CLI in this interactive tutorial',
13
- category: 'tutorial',
14
- duration: 5,
15
- prerequisites: ['Nimbus CLI installed'],
16
- tags: ['tutorial', 'beginner', 'basics'],
17
- steps: [
18
- {
19
- id: 'check-version',
20
- title: 'Check Nimbus Version',
21
- description: "First, let's make sure Nimbus is installed correctly",
22
- command: 'nimbus --version',
23
- showOutput: true,
24
- waitForInput: true,
25
- mockResponse: 'nimbus version 1.0.0',
26
- },
27
- {
28
- id: 'help',
29
- title: 'View Available Commands',
30
- description: "Nimbus has many commands - let's see what's available",
31
- command: 'nimbus --help',
32
- showOutput: true,
33
- waitForInput: true,
34
- mockResponse: `
35
- Nimbus CLI - AI-powered infrastructure assistant
36
-
37
- USAGE:
38
- nimbus <command> [options]
39
-
40
- COMMANDS:
41
- init Initialize Nimbus in the current project
42
- chat Start an interactive chat session
43
- generate Generate infrastructure code
44
- apply Apply infrastructure changes
45
- preview Preview changes without applying
46
- aws AWS CLI commands
47
- tf Terraform commands
48
- k8s Kubernetes commands
49
- helm Helm commands
50
-
51
- FLAGS:
52
- --version Show version
53
- --help Show help
54
- `.trim(),
55
- },
56
- {
57
- id: 'doctor',
58
- title: 'Run System Check',
59
- description: 'Check that all required tools are installed',
60
- command: 'nimbus doctor',
61
- showOutput: true,
62
- waitForInput: true,
63
- mockResponse: `
64
- Nimbus Doctor
65
-
66
- Checking system requirements...
67
-
68
- ✓ Node.js 18.0.0
69
- ✓ Bun 1.0.0
70
- ✓ Git 2.40.0
71
- ✓ Terraform 1.5.0
72
- ✓ kubectl 1.28.0
73
- ✓ Helm 3.12.0
74
- ✓ AWS CLI 2.13.0
75
-
76
- All checks passed!
77
- `.trim(),
78
- },
79
- {
80
- id: 'init-demo',
81
- title: 'Initialize a Project',
82
- description: 'Set up Nimbus in any directory to get started',
83
- command: 'nimbus init --scan-depth quick',
84
- showOutput: true,
85
- waitForInput: true,
86
- mockResponse: `
87
- Nimbus Initialization
88
-
89
- Scanning project (quick mode)...
90
-
91
- Project Summary:
92
- Type: unknown
93
- Languages: none detected
94
-
95
- Created .nimbus/project.yaml
96
- Created .nimbus/config.yaml
97
-
98
- Project initialized!
99
-
100
- Next steps:
101
- 1. Run 'nimbus chat' to get AI assistance
102
- 2. Run 'nimbus generate terraform' to create infrastructure
103
- 3. Run 'nimbus aws discover' to scan your AWS account
104
- `.trim(),
105
- },
106
- {
107
- id: 'config-list',
108
- title: 'View Configuration',
109
- description: 'See your current Nimbus configuration',
110
- command: 'nimbus config list',
111
- showOutput: true,
112
- waitForInput: false,
113
- mockResponse: `
114
- Nimbus Configuration
115
-
116
- Key Value
117
- ─────────────────────────────────────────
118
- llm.provider anthropic
119
- llm.model claude-3-sonnet
120
- safety.enabled true
121
- safety.costThreshold 500
122
- output.format table
123
- output.colors true
124
- `.trim(),
125
- },
126
- ],
127
- };
@@ -1,341 +0,0 @@
1
- /**
2
- * Helm Release Demo Scenario
3
- *
4
- * Demonstrates creating and deploying a Helm chart
5
- */
6
-
7
- import type { DemoScenario } from '../types';
8
-
9
- export const helmReleaseScenario: DemoScenario = {
10
- id: 'helm-release',
11
- name: 'Create and Deploy Helm Chart',
12
- description: 'Learn how to create and deploy Helm charts with Nimbus',
13
- category: 'helm',
14
- duration: 15,
15
- prerequisites: [
16
- 'Helm 3.x installed',
17
- 'kubectl configured with cluster access',
18
- 'Nimbus CLI installed',
19
- ],
20
- tags: ['helm', 'charts', 'deployment', 'kubernetes'],
21
- steps: [
22
- {
23
- id: 'check-helm',
24
- title: 'Verify Helm Installation',
25
- description: 'Check that Helm is installed and configured',
26
- command: 'nimbus helm version',
27
- showOutput: true,
28
- waitForInput: true,
29
- mockResponse: `
30
- Helm Version: v3.14.0
31
- Kubernetes Version: v1.28.0
32
- `.trim(),
33
- },
34
- {
35
- id: 'generate-chart',
36
- title: 'Generate Helm Chart',
37
- description: 'Create a new Helm chart for a web application',
38
- command: 'nimbus generate helm --name my-webapp --type web --output ./charts',
39
- showOutput: true,
40
- waitForInput: true,
41
- mockResponse: `
42
- Generating Helm chart...
43
-
44
- Created chart: my-webapp
45
-
46
- charts/my-webapp/
47
- ├── Chart.yaml # Chart metadata
48
- ├── values.yaml # Default values
49
- ├── templates/
50
- │ ├── _helpers.tpl # Template helpers
51
- │ ├── deployment.yaml # Deployment template
52
- │ ├── service.yaml # Service template
53
- │ ├── ingress.yaml # Ingress template
54
- │ ├── configmap.yaml # ConfigMap template
55
- │ ├── hpa.yaml # HPA template
56
- │ └── NOTES.txt # Post-install notes
57
- └── .helmignore # Files to ignore
58
-
59
- Chart type: Web Application
60
- Features:
61
- ✓ Deployment with health checks
62
- ✓ Service (ClusterIP/LoadBalancer)
63
- ✓ Ingress with TLS support
64
- ✓ ConfigMap for environment
65
- ✓ Horizontal Pod Autoscaler
66
-
67
- Generated successfully!
68
- `.trim(),
69
- },
70
- {
71
- id: 'review-chart',
72
- title: 'Review Chart Configuration',
73
- description: 'Examine the generated Chart.yaml and values.yaml',
74
- command: 'nimbus explain helm charts/my-webapp',
75
- showOutput: true,
76
- waitForInput: true,
77
- mockResponse: `
78
- Chart: my-webapp
79
-
80
- Chart.yaml:
81
- name: my-webapp
82
- version: 0.1.0
83
- appVersion: "1.0.0"
84
- description: A Helm chart for a web application
85
- type: application
86
-
87
- values.yaml (key configurations):
88
-
89
- replicaCount: 2
90
-
91
- image:
92
- repository: nginx
93
- tag: "latest"
94
- pullPolicy: IfNotPresent
95
-
96
- service:
97
- type: ClusterIP
98
- port: 80
99
-
100
- ingress:
101
- enabled: false
102
- className: "nginx"
103
- hosts:
104
- - host: my-webapp.local
105
- paths:
106
- - path: /
107
- pathType: Prefix
108
-
109
- resources:
110
- limits:
111
- cpu: 500m
112
- memory: 512Mi
113
- requests:
114
- cpu: 100m
115
- memory: 128Mi
116
-
117
- autoscaling:
118
- enabled: true
119
- minReplicas: 2
120
- maxReplicas: 10
121
- targetCPUUtilization: 70
122
-
123
- This chart follows Helm best practices with
124
- configurable replicas, resources, and scaling.
125
- `.trim(),
126
- },
127
- {
128
- id: 'lint-chart',
129
- title: 'Lint the Chart',
130
- description: 'Validate the chart structure and templates',
131
- command: 'nimbus helm lint charts/my-webapp',
132
- showOutput: true,
133
- waitForInput: true,
134
- mockResponse: `
135
- ==> Linting charts/my-webapp
136
-
137
- [INFO] Chart.yaml: icon is recommended
138
-
139
- 1 chart(s) linted, 0 chart(s) failed
140
-
141
- Lint Summary:
142
- ✓ Chart.yaml valid
143
- ✓ values.yaml valid
144
- ✓ Templates compile correctly
145
- ✓ Required files present
146
-
147
- Chart is ready for deployment!
148
- `.trim(),
149
- },
150
- {
151
- id: 'template-preview',
152
- title: 'Preview Rendered Templates',
153
- description: 'See what the chart will generate when installed',
154
- command:
155
- 'nimbus helm template my-webapp charts/my-webapp --values charts/my-webapp/values.yaml | head -50',
156
- showOutput: true,
157
- waitForInput: true,
158
- mockResponse: `
159
- ---
160
- # Source: my-webapp/templates/configmap.yaml
161
- apiVersion: v1
162
- kind: ConfigMap
163
- metadata:
164
- name: my-webapp-config
165
- labels:
166
- app.kubernetes.io/name: my-webapp
167
- app.kubernetes.io/instance: my-webapp
168
- data:
169
- APP_ENV: "production"
170
- ---
171
- # Source: my-webapp/templates/service.yaml
172
- apiVersion: v1
173
- kind: Service
174
- metadata:
175
- name: my-webapp
176
- labels:
177
- app.kubernetes.io/name: my-webapp
178
- spec:
179
- type: ClusterIP
180
- ports:
181
- - port: 80
182
- targetPort: http
183
- protocol: TCP
184
- name: http
185
- selector:
186
- app.kubernetes.io/name: my-webapp
187
- ---
188
- # Source: my-webapp/templates/deployment.yaml
189
- apiVersion: apps/v1
190
- kind: Deployment
191
- metadata:
192
- name: my-webapp
193
- labels:
194
- app.kubernetes.io/name: my-webapp
195
- spec:
196
- replicas: 2
197
- selector:
198
- matchLabels:
199
- app.kubernetes.io/name: my-webapp
200
- template:
201
- ...
202
- `.trim(),
203
- },
204
- {
205
- id: 'install-release',
206
- title: 'Install Helm Release (Dry Run)',
207
- description: 'Deploy the chart to Kubernetes (dry run mode)',
208
- command:
209
- 'nimbus apply helm --release my-webapp --chart charts/my-webapp --namespace demo --dry-run',
210
- showOutput: true,
211
- waitForInput: true,
212
- mockResponse: `
213
- Dry Run - Helm Install
214
-
215
- Release: my-webapp
216
- Namespace: demo
217
- Chart: charts/my-webapp (0.1.0)
218
-
219
- Resources to be created:
220
- ✓ ConfigMap/my-webapp-config
221
- ✓ Service/my-webapp
222
- ✓ Deployment/my-webapp
223
- ✓ HorizontalPodAutoscaler/my-webapp
224
-
225
- Computed Values:
226
- replicaCount: 2
227
- image.repository: nginx
228
- image.tag: latest
229
- service.type: ClusterIP
230
-
231
- No resources were created (dry run mode)
232
-
233
- To install for real, remove --dry-run flag
234
- `.trim(),
235
- },
236
- {
237
- id: 'install-actual',
238
- title: 'Install Helm Release',
239
- description: 'Actually deploy the chart to the cluster',
240
- command:
241
- 'nimbus apply helm --release my-webapp --chart charts/my-webapp --namespace demo --create-namespace',
242
- showOutput: true,
243
- waitForInput: true,
244
- mockResponse: `
245
- Installing Helm release...
246
-
247
- NAME: my-webapp
248
- NAMESPACE: demo
249
- STATUS: deployed
250
- REVISION: 1
251
-
252
- Resources:
253
- ✓ ConfigMap/my-webapp-config created
254
- ✓ Service/my-webapp created
255
- ✓ Deployment/my-webapp created
256
- ✓ HorizontalPodAutoscaler/my-webapp created
257
-
258
- Waiting for deployment...
259
- Pods: 2/2 ready
260
-
261
- NOTES:
262
- Thank you for installing my-webapp!
263
-
264
- To access the application:
265
- kubectl port-forward svc/my-webapp 8080:80 -n demo
266
- Then visit: http://localhost:8080
267
-
268
- Installation complete!
269
- `.trim(),
270
- },
271
- {
272
- id: 'list-releases',
273
- title: 'List Helm Releases',
274
- description: 'View all deployed Helm releases',
275
- command: 'nimbus helm list --namespace demo',
276
- showOutput: true,
277
- waitForInput: true,
278
- mockResponse: `
279
- NAME NAMESPACE REVISION STATUS CHART APP VERSION
280
- my-webapp demo 1 deployed my-webapp-0.1.0 1.0.0
281
- `.trim(),
282
- },
283
- {
284
- id: 'upgrade-release',
285
- title: 'Upgrade Release',
286
- description: 'Upgrade the release with new values',
287
- command:
288
- 'nimbus helm upgrade my-webapp charts/my-webapp --namespace demo --set replicaCount=3',
289
- showOutput: true,
290
- waitForInput: true,
291
- mockResponse: `
292
- Upgrading Helm release...
293
-
294
- Release "my-webapp" has been upgraded.
295
- REVISION: 2
296
-
297
- Changes:
298
- - replicaCount: 2 -> 3
299
-
300
- Waiting for rollout...
301
- Deployment updated: 3/3 replicas ready
302
-
303
- Upgrade complete!
304
- `.trim(),
305
- },
306
- {
307
- id: 'history',
308
- title: 'View Release History',
309
- description: 'See the revision history of the release',
310
- command: 'nimbus helm history my-webapp --namespace demo',
311
- showOutput: true,
312
- waitForInput: true,
313
- mockResponse: `
314
- REVISION STATUS DESCRIPTION
315
- 1 superseded Install complete
316
- 2 deployed Upgrade complete
317
- `.trim(),
318
- },
319
- {
320
- id: 'cleanup',
321
- title: 'Uninstall Release',
322
- description: 'Remove the Helm release (optional)',
323
- command: 'nimbus helm uninstall my-webapp --namespace demo',
324
- showOutput: true,
325
- waitForInput: false,
326
- mockResponse: `
327
- Uninstalling release...
328
-
329
- release "my-webapp" uninstalled
330
-
331
- All resources removed:
332
- - ConfigMap/my-webapp-config
333
- - Service/my-webapp
334
- - Deployment/my-webapp
335
- - HorizontalPodAutoscaler/my-webapp
336
-
337
- Cleanup complete!
338
- `.trim(),
339
- },
340
- ],
341
- };