jumbo-cli 2.0.1 → 2.0.2

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 (263) hide show
  1. package/LICENSE.txt +661 -661
  2. package/README.md +239 -239
  3. package/assets/claude-logo.svg +7 -7
  4. package/assets/codex-logo.svg +3 -3
  5. package/assets/cursor-logo.svg +31 -31
  6. package/assets/mistral-logo.svg +19 -19
  7. package/assets/skills/codify-jumbo-goal/SKILL.md +116 -116
  8. package/assets/skills/define-jumbo-goals/SKILL.md +193 -193
  9. package/assets/skills/refine-jumbo-goals/SKILL.md +156 -156
  10. package/assets/skills/reject-jumbo-goal/SKILL.md +58 -58
  11. package/assets/skills/review-jumbo-goal/SKILL.md +94 -94
  12. package/assets/skills/start-jumbo-goal/SKILL.md +86 -86
  13. package/assets/vscode-logo.svg +41 -41
  14. package/dist/domain/project/AgentFileReferenceContent.js +7 -7
  15. package/dist/domain/project/AgentsMdContent.js +74 -74
  16. package/dist/domain/project/CopilotInstructionsContent.js +38 -38
  17. package/dist/infrastructure/context/architecture/define/SqliteArchitectureDefinedProjector.js +5 -5
  18. package/dist/infrastructure/context/architecture/migrations/001-create-architecture-views.sql +16 -16
  19. package/dist/infrastructure/context/architecture/migrations/002-drop-dataflow-column.sql +4 -4
  20. package/dist/infrastructure/context/architecture/update/SqliteArchitectureUpdatedProjector.js +4 -4
  21. package/dist/infrastructure/context/audience-pains/add/SqliteAudiencePainAddedProjector.js +4 -4
  22. package/dist/infrastructure/context/audience-pains/migrations/001-create-audience-pain-views.sql +17 -17
  23. package/dist/infrastructure/context/audience-pains/update/SqliteAudiencePainUpdatedProjector.js +4 -4
  24. package/dist/infrastructure/context/audiences/add/SqliteAudienceAddedProjector.js +5 -5
  25. package/dist/infrastructure/context/audiences/migrations/001-create-audience-views.sql +17 -17
  26. package/dist/infrastructure/context/audiences/remove/SqliteAudienceRemovedProjector.js +6 -6
  27. package/dist/infrastructure/context/audiences/update/SqliteAudienceUpdatedProjector.js +4 -4
  28. package/dist/infrastructure/context/components/add/SqliteComponentAddedProjector.js +5 -5
  29. package/dist/infrastructure/context/components/deprecate/SqliteComponentDeprecatedProjector.js +7 -7
  30. package/dist/infrastructure/context/components/migrations/001-create-component-views.sql +21 -21
  31. package/dist/infrastructure/context/components/remove/SqliteComponentRemovedProjector.js +6 -6
  32. package/dist/infrastructure/context/components/rename/SqliteComponentRenamedProjector.js +4 -4
  33. package/dist/infrastructure/context/components/undeprecate/SqliteComponentUndeprecatedProjector.js +7 -7
  34. package/dist/infrastructure/context/components/update/SqliteComponentUpdatedProjector.js +4 -4
  35. package/dist/infrastructure/context/decisions/add/SqliteDecisionAddedProjector.js +6 -6
  36. package/dist/infrastructure/context/decisions/migrations/001-create-decision-views.sql +22 -22
  37. package/dist/infrastructure/context/decisions/restore/SqliteDecisionRestoredProjector.js +9 -9
  38. package/dist/infrastructure/context/decisions/reverse/SqliteDecisionReversedProjector.js +8 -8
  39. package/dist/infrastructure/context/decisions/supersede/SqliteDecisionSupersededProjector.js +7 -7
  40. package/dist/infrastructure/context/decisions/update/SqliteDecisionUpdatedProjector.js +10 -10
  41. package/dist/infrastructure/context/dependencies/add/SqliteDependencyAddedProjector.js +5 -5
  42. package/dist/infrastructure/context/dependencies/get/SqliteLegacyDependencyReader.js +5 -5
  43. package/dist/infrastructure/context/dependencies/migrations/001-create-dependency-views.sql +21 -21
  44. package/dist/infrastructure/context/dependencies/migrations/002-add-external-dependency-columns.sql +11 -11
  45. package/dist/infrastructure/context/dependencies/remove/SqliteDependencyRemovedProjector.js +8 -8
  46. package/dist/infrastructure/context/dependencies/update/SqliteDependencyUpdatedProjector.js +4 -4
  47. package/dist/infrastructure/context/goals/add/SqliteGoalAddedProjector.js +7 -7
  48. package/dist/infrastructure/context/goals/approve/SqliteGoalApprovedProjector.js +9 -9
  49. package/dist/infrastructure/context/goals/block/SqliteGoalBlockedProjector.js +7 -7
  50. package/dist/infrastructure/context/goals/close/SqliteGoalClosedProjector.js +9 -9
  51. package/dist/infrastructure/context/goals/codify/SqliteGoalCodifyingStartedProjector.js +9 -9
  52. package/dist/infrastructure/context/goals/commit/SqliteGoalCommittedProjector.js +9 -9
  53. package/dist/infrastructure/context/goals/complete/SqliteGoalCompletedProjector.js +9 -9
  54. package/dist/infrastructure/context/goals/migrate/SqliteGoalStatusMigratedProjector.js +7 -7
  55. package/dist/infrastructure/context/goals/migrations/001-create-goal-views.sql +20 -20
  56. package/dist/infrastructure/context/goals/migrations/002-add-embedded-context-columns.sql +11 -11
  57. package/dist/infrastructure/context/goals/migrations/003-add-next-goal-column.sql +4 -4
  58. package/dist/infrastructure/context/goals/migrations/004-add-claim-columns.sql +7 -7
  59. package/dist/infrastructure/context/goals/migrations/005-add-progress-column.sql +4 -4
  60. package/dist/infrastructure/context/goals/migrations/006-drop-boundaries-and-embedded-context-columns.sql +11 -11
  61. package/dist/infrastructure/context/goals/migrations/007-add-title-column.sql +2 -2
  62. package/dist/infrastructure/context/goals/migrations/008-add-prerequisite-goals-column.sql +1 -1
  63. package/dist/infrastructure/context/goals/migrations/009-add-review-issues-column.sql +1 -1
  64. package/dist/infrastructure/context/goals/pause/SqliteGoalPausedProjector.js +7 -7
  65. package/dist/infrastructure/context/goals/qualify/SqliteGoalQualifiedProjector.js +9 -9
  66. package/dist/infrastructure/context/goals/refine/SqliteGoalRefinedProjector.js +15 -15
  67. package/dist/infrastructure/context/goals/reject/SqliteGoalRejectedProjector.js +10 -10
  68. package/dist/infrastructure/context/goals/remove/SqliteGoalRemovedProjector.js +3 -3
  69. package/dist/infrastructure/context/goals/reset/SqliteGoalResetProjector.js +11 -11
  70. package/dist/infrastructure/context/goals/resume/SqliteGoalResumedProjector.js +10 -10
  71. package/dist/infrastructure/context/goals/review/SqliteGoalSubmittedForReviewProjector.js +9 -9
  72. package/dist/infrastructure/context/goals/start/SqliteGoalStartedProjector.js +9 -9
  73. package/dist/infrastructure/context/goals/submit/SqliteGoalSubmittedProjector.js +9 -9
  74. package/dist/infrastructure/context/goals/unblock/SqliteGoalUnblockedProjector.js +7 -7
  75. package/dist/infrastructure/context/goals/update/SqliteGoalUpdatedProjector.js +4 -4
  76. package/dist/infrastructure/context/goals/update-progress/SqliteGoalProgressUpdatedProjector.js +8 -8
  77. package/dist/infrastructure/context/guidelines/add/SqliteGuidelineAddedProjector.js +5 -5
  78. package/dist/infrastructure/context/guidelines/migrations/001-create-guideline-views.sql +22 -22
  79. package/dist/infrastructure/context/guidelines/remove/SqliteGuidelineRemovedProjector.js +8 -8
  80. package/dist/infrastructure/context/guidelines/update/SqliteGuidelineUpdatedProjector.js +4 -4
  81. package/dist/infrastructure/context/invariants/add/SqliteInvariantAddedProjector.js +5 -5
  82. package/dist/infrastructure/context/invariants/migrations/001-create-invariant-views.sql +16 -16
  83. package/dist/infrastructure/context/invariants/remove/SqliteInvariantRemovedProjector.js +2 -2
  84. package/dist/infrastructure/context/invariants/update/SqliteInvariantUpdatedProjector.js +9 -9
  85. package/dist/infrastructure/context/project/init/SqliteProjectInitializedProjector.js +5 -5
  86. package/dist/infrastructure/context/project/migrations/001-create-project-views.sql +13 -13
  87. package/dist/infrastructure/context/project/migrations/002-drop-boundaries-column.sql +4 -4
  88. package/dist/infrastructure/context/project/update/SqliteProjectUpdatedProjector.js +4 -4
  89. package/dist/infrastructure/context/relations/add/SqliteRelationAddedProjector.js +12 -12
  90. package/dist/infrastructure/context/relations/deactivate/SqliteRelationDeactivatedProjector.js +14 -14
  91. package/dist/infrastructure/context/relations/migrations/001-create-relation-views.sql +28 -28
  92. package/dist/infrastructure/context/relations/reactivate/SqliteRelationReactivatedProjector.js +14 -14
  93. package/dist/infrastructure/context/relations/remove/SqliteRelationRemovedProjector.js +14 -14
  94. package/dist/infrastructure/context/sessions/end/SqliteSessionEndedProjector.js +8 -8
  95. package/dist/infrastructure/context/sessions/migrations/001-create-session-views.sql +43 -43
  96. package/dist/infrastructure/context/sessions/migrations/002-add-goal-lifecycle-columns.sql +7 -7
  97. package/dist/infrastructure/context/sessions/migrations/003-remove-session-pause-status.sql +8 -8
  98. package/dist/infrastructure/context/sessions/migrations/004-drop-session-summary-views.sql +5 -5
  99. package/dist/infrastructure/context/sessions/start/SqliteSessionStartedProjector.js +5 -5
  100. package/dist/infrastructure/context/value-propositions/add/SqliteValuePropositionAddedProjector.js +5 -5
  101. package/dist/infrastructure/context/value-propositions/migrations/001-create-value-proposition-views.sql +19 -19
  102. package/dist/infrastructure/context/value-propositions/remove/SqliteValuePropositionRemovedProjector.js +2 -2
  103. package/dist/infrastructure/context/value-propositions/update/SqliteValuePropositionUpdatedProjector.js +4 -4
  104. package/dist/infrastructure/host/workers/migrations/001-create-workers.sql +12 -12
  105. package/dist/infrastructure/persistence/MigrationRunner.js +10 -10
  106. package/dist/infrastructure/settings/FsSettingsInitializer.js +25 -25
  107. package/dist/infrastructure/settings/FsSettingsReader.js +25 -25
  108. package/dist/presentation/cli/commands/project/init/project.init.d.ts.map +1 -1
  109. package/dist/presentation/cli/commands/project/init/project.init.js +4 -1
  110. package/dist/presentation/cli/commands/project/init/project.init.js.map +1 -1
  111. package/package.json +89 -89
  112. package/dist/application/context/goals/complete/CompleteGoalCommand.d.ts +0 -8
  113. package/dist/application/context/goals/complete/CompleteGoalCommand.d.ts.map +0 -1
  114. package/dist/application/context/goals/complete/CompleteGoalCommand.js +0 -3
  115. package/dist/application/context/goals/complete/CompleteGoalCommand.js.map +0 -1
  116. package/dist/application/context/goals/complete/CompleteGoalCommandHandler.d.ts +0 -27
  117. package/dist/application/context/goals/complete/CompleteGoalCommandHandler.d.ts.map +0 -1
  118. package/dist/application/context/goals/complete/CompleteGoalCommandHandler.js +0 -52
  119. package/dist/application/context/goals/complete/CompleteGoalCommandHandler.js.map +0 -1
  120. package/dist/application/context/goals/complete/CompleteGoalController.d.ts +0 -9
  121. package/dist/application/context/goals/complete/CompleteGoalController.d.ts.map +0 -1
  122. package/dist/application/context/goals/complete/CompleteGoalController.js +0 -13
  123. package/dist/application/context/goals/complete/CompleteGoalController.js.map +0 -1
  124. package/dist/application/context/goals/complete/CompleteGoalRequest.d.ts +0 -10
  125. package/dist/application/context/goals/complete/CompleteGoalRequest.d.ts.map +0 -1
  126. package/dist/application/context/goals/complete/CompleteGoalRequest.js +0 -3
  127. package/dist/application/context/goals/complete/CompleteGoalRequest.js.map +0 -1
  128. package/dist/application/context/goals/complete/CompleteGoalResponse.d.ts +0 -17
  129. package/dist/application/context/goals/complete/CompleteGoalResponse.d.ts.map +0 -1
  130. package/dist/application/context/goals/complete/CompleteGoalResponse.js +0 -3
  131. package/dist/application/context/goals/complete/CompleteGoalResponse.js.map +0 -1
  132. package/dist/application/context/goals/complete/ICompleteGoalGateway.d.ts +0 -6
  133. package/dist/application/context/goals/complete/ICompleteGoalGateway.d.ts.map +0 -1
  134. package/dist/application/context/goals/complete/ICompleteGoalGateway.js +0 -3
  135. package/dist/application/context/goals/complete/ICompleteGoalGateway.js.map +0 -1
  136. package/dist/application/context/goals/complete/LocalCompleteGoalGateway.d.ts +0 -16
  137. package/dist/application/context/goals/complete/LocalCompleteGoalGateway.d.ts.map +0 -1
  138. package/dist/application/context/goals/complete/LocalCompleteGoalGateway.js +0 -49
  139. package/dist/application/context/goals/complete/LocalCompleteGoalGateway.js.map +0 -1
  140. package/dist/application/context/project/init/IInitializationProtocol.d.ts +0 -44
  141. package/dist/application/context/project/init/IInitializationProtocol.d.ts.map +0 -1
  142. package/dist/application/context/project/init/IInitializationProtocol.js +0 -14
  143. package/dist/application/context/project/init/IInitializationProtocol.js.map +0 -1
  144. package/dist/application/context/project/init/InitializationProtocol.d.ts +0 -32
  145. package/dist/application/context/project/init/InitializationProtocol.d.ts.map +0 -1
  146. package/dist/application/context/project/init/InitializationProtocol.js +0 -51
  147. package/dist/application/context/project/init/InitializationProtocol.js.map +0 -1
  148. package/dist/application/context/relations/get/GetRelationsQueryHandler.d.ts +0 -14
  149. package/dist/application/context/relations/get/GetRelationsQueryHandler.d.ts.map +0 -1
  150. package/dist/application/context/relations/get/GetRelationsQueryHandler.js +0 -19
  151. package/dist/application/context/relations/get/GetRelationsQueryHandler.js.map +0 -1
  152. package/dist/application/context/value-propositions/list/ListValuePropositionsQueryHandler.d.ts +0 -27
  153. package/dist/application/context/value-propositions/list/ListValuePropositionsQueryHandler.d.ts.map +0 -1
  154. package/dist/application/context/value-propositions/list/ListValuePropositionsQueryHandler.js +0 -32
  155. package/dist/application/context/value-propositions/list/ListValuePropositionsQueryHandler.js.map +0 -1
  156. package/dist/application/maintenance/repair/IRepairMaintenanceGateway.d.ts +0 -6
  157. package/dist/application/maintenance/repair/IRepairMaintenanceGateway.d.ts.map +0 -1
  158. package/dist/application/maintenance/repair/IRepairMaintenanceGateway.js +0 -3
  159. package/dist/application/maintenance/repair/IRepairMaintenanceGateway.js.map +0 -1
  160. package/dist/application/maintenance/repair/LocalRepairMaintenanceGateway.d.ts +0 -16
  161. package/dist/application/maintenance/repair/LocalRepairMaintenanceGateway.d.ts.map +0 -1
  162. package/dist/application/maintenance/repair/LocalRepairMaintenanceGateway.js +0 -90
  163. package/dist/application/maintenance/repair/LocalRepairMaintenanceGateway.js.map +0 -1
  164. package/dist/application/maintenance/repair/RepairMaintenanceController.d.ts +0 -9
  165. package/dist/application/maintenance/repair/RepairMaintenanceController.d.ts.map +0 -1
  166. package/dist/application/maintenance/repair/RepairMaintenanceController.js +0 -13
  167. package/dist/application/maintenance/repair/RepairMaintenanceController.js.map +0 -1
  168. package/dist/application/maintenance/repair/RepairMaintenanceRequest.d.ts +0 -6
  169. package/dist/application/maintenance/repair/RepairMaintenanceRequest.d.ts.map +0 -1
  170. package/dist/application/maintenance/repair/RepairMaintenanceRequest.js +0 -3
  171. package/dist/application/maintenance/repair/RepairMaintenanceRequest.js.map +0 -1
  172. package/dist/application/maintenance/repair/RepairMaintenanceResponse.d.ts +0 -9
  173. package/dist/application/maintenance/repair/RepairMaintenanceResponse.d.ts.map +0 -1
  174. package/dist/application/maintenance/repair/RepairMaintenanceResponse.js +0 -3
  175. package/dist/application/maintenance/repair/RepairMaintenanceResponse.js.map +0 -1
  176. package/dist/application/repair/IRepairGateway.d.ts +0 -6
  177. package/dist/application/repair/IRepairGateway.d.ts.map +0 -1
  178. package/dist/application/repair/IRepairGateway.js +0 -3
  179. package/dist/application/repair/IRepairGateway.js.map +0 -1
  180. package/dist/application/repair/LocalRepairGateway.d.ts +0 -16
  181. package/dist/application/repair/LocalRepairGateway.d.ts.map +0 -1
  182. package/dist/application/repair/LocalRepairGateway.js +0 -90
  183. package/dist/application/repair/LocalRepairGateway.js.map +0 -1
  184. package/dist/application/repair/RepairController.d.ts +0 -9
  185. package/dist/application/repair/RepairController.d.ts.map +0 -1
  186. package/dist/application/repair/RepairController.js +0 -13
  187. package/dist/application/repair/RepairController.js.map +0 -1
  188. package/dist/application/repair/RepairRequest.d.ts +0 -6
  189. package/dist/application/repair/RepairRequest.d.ts.map +0 -1
  190. package/dist/application/repair/RepairRequest.js +0 -3
  191. package/dist/application/repair/RepairRequest.js.map +0 -1
  192. package/dist/application/repair/RepairResponse.d.ts +0 -9
  193. package/dist/application/repair/RepairResponse.d.ts.map +0 -1
  194. package/dist/application/repair/RepairResponse.js +0 -3
  195. package/dist/application/repair/RepairResponse.js.map +0 -1
  196. package/dist/domain/project/AgentInstructions.d.ts +0 -67
  197. package/dist/domain/project/AgentInstructions.d.ts.map +0 -1
  198. package/dist/domain/project/AgentInstructions.js +0 -261
  199. package/dist/domain/project/AgentInstructions.js.map +0 -1
  200. package/dist/infrastructure/context/goals/claims/FsGoalClaimStore.d.ts +0 -33
  201. package/dist/infrastructure/context/goals/claims/FsGoalClaimStore.d.ts.map +0 -1
  202. package/dist/infrastructure/context/goals/claims/FsGoalClaimStore.js +0 -66
  203. package/dist/infrastructure/context/goals/claims/FsGoalClaimStore.js.map +0 -1
  204. package/dist/infrastructure/context/goals/get/LocalGetGoalsGateway.d.ts +0 -10
  205. package/dist/infrastructure/context/goals/get/LocalGetGoalsGateway.d.ts.map +0 -1
  206. package/dist/infrastructure/context/goals/get/LocalGetGoalsGateway.js +0 -36
  207. package/dist/infrastructure/context/goals/get/LocalGetGoalsGateway.js.map +0 -1
  208. package/dist/infrastructure/context/goals/get/LocalShowGoalGateway.d.ts +0 -10
  209. package/dist/infrastructure/context/goals/get/LocalShowGoalGateway.d.ts.map +0 -1
  210. package/dist/infrastructure/context/goals/get/LocalShowGoalGateway.js +0 -14
  211. package/dist/infrastructure/context/goals/get/LocalShowGoalGateway.js.map +0 -1
  212. package/dist/infrastructure/context/relations/get/LocalGetRelationsGateway.d.ts +0 -10
  213. package/dist/infrastructure/context/relations/get/LocalGetRelationsGateway.d.ts.map +0 -1
  214. package/dist/infrastructure/context/relations/get/LocalGetRelationsGateway.js +0 -18
  215. package/dist/infrastructure/context/relations/get/LocalGetRelationsGateway.js.map +0 -1
  216. package/dist/infrastructure/context/sessions/get/LocalGetSessionsGateway.d.ts +0 -10
  217. package/dist/infrastructure/context/sessions/get/LocalGetSessionsGateway.d.ts.map +0 -1
  218. package/dist/infrastructure/context/sessions/get/LocalGetSessionsGateway.js +0 -14
  219. package/dist/infrastructure/context/sessions/get/LocalGetSessionsGateway.js.map +0 -1
  220. package/dist/presentation/cli/commands/goals/complete/GoalCompleteOutputBuilder.d.ts +0 -29
  221. package/dist/presentation/cli/commands/goals/complete/GoalCompleteOutputBuilder.d.ts.map +0 -1
  222. package/dist/presentation/cli/commands/goals/complete/GoalCompleteOutputBuilder.js +0 -105
  223. package/dist/presentation/cli/commands/goals/complete/GoalCompleteOutputBuilder.js.map +0 -1
  224. package/dist/presentation/cli/commands/goals/complete/goal.complete.d.ts +0 -20
  225. package/dist/presentation/cli/commands/goals/complete/goal.complete.d.ts.map +0 -1
  226. package/dist/presentation/cli/commands/goals/complete/goal.complete.js +0 -58
  227. package/dist/presentation/cli/commands/goals/complete/goal.complete.js.map +0 -1
  228. package/dist/presentation/cli/commands/maintenance/db/rebuild/db.rebuild.d.ts +0 -26
  229. package/dist/presentation/cli/commands/maintenance/db/rebuild/db.rebuild.d.ts.map +0 -1
  230. package/dist/presentation/cli/commands/maintenance/db/rebuild/db.rebuild.js +0 -68
  231. package/dist/presentation/cli/commands/maintenance/db/rebuild/db.rebuild.js.map +0 -1
  232. package/dist/presentation/cli/commands/maintenance/migrate-dependencies/MigrateDependenciesOutputBuilder.d.ts +0 -14
  233. package/dist/presentation/cli/commands/maintenance/migrate-dependencies/MigrateDependenciesOutputBuilder.d.ts.map +0 -1
  234. package/dist/presentation/cli/commands/maintenance/migrate-dependencies/MigrateDependenciesOutputBuilder.js +0 -61
  235. package/dist/presentation/cli/commands/maintenance/migrate-dependencies/MigrateDependenciesOutputBuilder.js.map +0 -1
  236. package/dist/presentation/cli/commands/maintenance/migrate-dependencies/dependency.migrate.d.ts +0 -23
  237. package/dist/presentation/cli/commands/maintenance/migrate-dependencies/dependency.migrate.d.ts.map +0 -1
  238. package/dist/presentation/cli/commands/maintenance/migrate-dependencies/dependency.migrate.js +0 -59
  239. package/dist/presentation/cli/commands/maintenance/migrate-dependencies/dependency.migrate.js.map +0 -1
  240. package/dist/presentation/cli/commands/maintenance/repair/RepairOutputBuilder.d.ts +0 -24
  241. package/dist/presentation/cli/commands/maintenance/repair/RepairOutputBuilder.d.ts.map +0 -1
  242. package/dist/presentation/cli/commands/maintenance/repair/RepairOutputBuilder.js +0 -49
  243. package/dist/presentation/cli/commands/maintenance/repair/RepairOutputBuilder.js.map +0 -1
  244. package/dist/presentation/cli/commands/maintenance/repair/maintenance.repair.d.ts +0 -27
  245. package/dist/presentation/cli/commands/maintenance/repair/maintenance.repair.d.ts.map +0 -1
  246. package/dist/presentation/cli/commands/maintenance/repair/maintenance.repair.js +0 -85
  247. package/dist/presentation/cli/commands/maintenance/repair/maintenance.repair.js.map +0 -1
  248. package/dist/presentation/cli/commands/maintenance/upgrade/UpgradeOutputBuilder.d.ts +0 -16
  249. package/dist/presentation/cli/commands/maintenance/upgrade/UpgradeOutputBuilder.d.ts.map +0 -1
  250. package/dist/presentation/cli/commands/maintenance/upgrade/UpgradeOutputBuilder.js +0 -40
  251. package/dist/presentation/cli/commands/maintenance/upgrade/UpgradeOutputBuilder.js.map +0 -1
  252. package/dist/presentation/cli/commands/maintenance/upgrade/db.upgrade.d.ts +0 -26
  253. package/dist/presentation/cli/commands/maintenance/upgrade/db.upgrade.d.ts.map +0 -1
  254. package/dist/presentation/cli/commands/maintenance/upgrade/db.upgrade.js +0 -64
  255. package/dist/presentation/cli/commands/maintenance/upgrade/db.upgrade.js.map +0 -1
  256. package/dist/presentation/cli/commands/repair/RepairOutputBuilder.d.ts +0 -24
  257. package/dist/presentation/cli/commands/repair/RepairOutputBuilder.d.ts.map +0 -1
  258. package/dist/presentation/cli/commands/repair/RepairOutputBuilder.js +0 -50
  259. package/dist/presentation/cli/commands/repair/RepairOutputBuilder.js.map +0 -1
  260. package/dist/presentation/cli/commands/repair/repair.d.ts +0 -31
  261. package/dist/presentation/cli/commands/repair/repair.d.ts.map +0 -1
  262. package/dist/presentation/cli/commands/repair/repair.js +0 -88
  263. package/dist/presentation/cli/commands/repair/repair.js.map +0 -1
package/README.md CHANGED
@@ -1,239 +1,239 @@
1
- <p align="center">
2
- <img src="jumbo-logo.svg" alt="Jumbo" width="200">
3
- </p>
4
-
5
- # Jumbo
6
- **Memory and context orchestration for coding agents**
7
-
8
- Jumbo is a CLI tool that gives your coding agents persistent memory and structured project context, turning them from makers of workable prototypes into builders of production-quality software.
9
-
10
- _An elephant never forgets. Neither should <img src="assets/claude-logo.svg" alt="Claude Code" height="16"> <img src="assets/codex-logo.svg" alt="Codex" height="16"> <img src="assets/gemini-logo.svg" alt="Gemini" height="16"> <img src="assets/github-copilot-logo.svg" alt="Copilot CLI" height="16"> <img src="assets/mistral-logo.svg" alt="Mistral Vibe CLI" height="16"> <img src="assets/cursor-logo.svg" alt="Cursor" height="16"> <img src="assets/vscode-logo.svg" alt="VS Code" height="16"> <img src="assets/amp-logo.svg" alt="Amp" height="16"> <img src="assets/warp-logo.svg" alt="Warp" height="16">_
11
-
12
-
13
- ## Can we address the elephant in the room?
14
- <sub style="color:#898989">(a.k.a. What problems does this solve?)</sub>
15
-
16
- Working with coding agents is amazing. But let's be honest, it' not without frustration. Here are the common issues:
17
-
18
- - **Agent Amnesia**: It's a thing. Every session that came before is forgotten. You spend time and energy getting the agent caught up before you even start thinking about your goals.
19
-
20
- - **Slop**: AI without guardrails can produce code that *kind of* works, but it’s rarely production-ready. Worse, it can leave behind a mess that takes hours to untangle. That’s not a productivity boost — it’s a hassle.
21
-
22
- - **Vendor lock-in**: If an agent harness holds your memory, switching tools means losing that context. With new models and tools shipping every week, switching is inevitable. Your context should move with you.
23
-
24
- ## How does Jumbo help?
25
-
26
- Jumbo was created to address these frustrations and unlock the full joy of coding with agents.
27
-
28
- - **Memory:** Details about your project are saved, so your agents always have the correct context. Agent Amnesia is, well...forgotten.
29
-
30
- - **Quality:** Your coding agents write shippable code on the first shot. You save time and tokens.
31
-
32
- - **Interoperability:** Jumbo is harness- and model-agnostic.
33
-
34
- - **Portability:** Switch to new models when they're released. Your context stays with you.
35
-
36
- - **Orchestration:** Run different agents in parallel. Optimize for capability and cost. Jumbo keeps everything in sync.
37
-
38
- Those solve the core problems. These make Jumbo pleasant to use:
39
-
40
- - **Extended context windows**: Run agents longer without context rot.<sup>*</sup>
41
-
42
- - **Automatic**: Hooks into your agent session and orchestrates the flow. It just works.
43
-
44
- - **Full control**: Jumbo's memories are yours. Stay in control and manage your data directly from the terminal.
45
-
46
- - **Private**: All data stays local. Nothing leaves your machine.
47
-
48
- - **Fast**: No network calls. No lag. Everything runs locally.
49
-
50
- <sup>*</sup> <sub>Only works for harnesses that support hooks.</sub>
51
-
52
-
53
- ## Quick Start
54
-
55
- <p style="background: #000000; padding: 15px 15px 15px 15px; font-size:16px; color: #eeeeee; font-family: 'Courier New', Courier, monospace; font-weight:bold">
56
- > <span style="color: #f9c741;">npm</span> <span style="color: #ababab;">-g</span> jumbo-cli
57
- <br>
58
- > <span style="color: #f9c741;">jumbo</span> init
59
- <br>
60
- > <span style="color: #f9c741;">claude</span>
61
- <p>
62
-
63
- Jumbo will automatically orient the agent about your project and available goals.
64
-
65
- See the [Getting started](docs/getting-started/quickstart.md) guide for the full workflow.
66
-
67
- ## Compatibility
68
- Jumbo seamlessly integrates with all frontier harnesses and models. Use them interchangeably or in parallel.
69
-
70
- It also works with any agent that supports [AGENTS.md](https://agents.md) and truly excels with harnesses that support [open agent skills](https://agentskills.io).
71
-
72
- Use Jumbo in a harness that supports hooks and you'll never think about context windows again.
73
-
74
- ## How does it work?
75
- It's simple. You just define your goals — describe your objective, criteria, and scope. Then run your agents and Jumbo guides them through the workflow:
76
-
77
- 1. **Refine:** Your agent collaborates with Jumbo to couple all relevant memories to your goal and build a context packet ready for the agent to implement.
78
- 2. **Implement:** Jumbo serves a curated context packet to your agent when it starts work on your goal.
79
- 3. **Review:** Your agent reviews the goal against criteria and project specification. Non-passing goals are rejected and queued for reimplementation.
80
- 4. **Codify:** Agents update documentation, change logs, and register any missing details that need to be preserved for future goals.
81
-
82
- You don't have to remember all these steps. Jumbo hooks into your agent sessions and guides the entire flow.
83
-
84
- Every time you start Claude Code (or similar) Jumbo will orient the agent about the state of your project. The agent will prompt you with an overview of planned work and ask what you want to work on. Just point at a goal and watch the magic happen.
85
-
86
-
87
- ## What's in the trunk?
88
- Jumbo remembers:
89
-
90
- Your domain:
91
- - **Project**: What you are building and who it's for.
92
- - **Relations**: The connections between all Jumbo's memories.
93
- - **Audiences**: Who uses your project and their priorities.
94
- - **Audience Pains**: The problems your audiences face that you aim to solve.
95
- - **Value Propositions**: How your product addresses each audience pain.
96
-
97
- Your solution:
98
- - **Architecture**: Your solution design, structure, and patterns applied.
99
- - **Components**: The parts comprising your solution and their roles.
100
- - **Dependencies**: Third-party packages and external services your project relies on.
101
- - **Decisions**: History of why you chose what you chose.
102
- - **Guidelines**: Preferences, best practices, and the standards you adhere to.
103
- - **Invariants**: Rules you simply won't compromise on.
104
- - **Relations**: The graph that ties it all together.
105
-
106
- Your operations:
107
- - **Goals**: The specifics - objective, criteria, scope, boundaries, and contextual relations.
108
- - **Sessions**: Manage work continuity with pause, resume, compact, and multi-agent support.
109
-
110
- ## Architecture
111
-
112
- Jumbo follows **Clean Screaming Architecture** — four layers, strict dependency rules, and file names that tell you exactly what they do.
113
-
114
- - **Domain**: Aggregates, events, and policies. Zero dependencies on anything outside.
115
- - **Application**: Command handlers, controllers, and gateway abstractions. Orchestrates the workflows.
116
- - **Infrastructure**: Event store, SQLite projections, and gateway implementations. The concrete stuff.
117
- - **Presentation**: CLI commands and output builders. Parses input, formats output, stays in its lane.
118
-
119
- Dependencies always point inward. Swap out the infrastructure and nothing else notices.
120
-
121
- Core patterns:
122
-
123
- - **Event Sourcing**: Every state change is a domain event, appended to an immutable JSONL log. Full history, full replay.
124
- - **CQRS**: Writes produce events through command handlers. Reads come from SQLite views. Each side is optimized independently.
125
- - **DDD**: One aggregate per bounded context. Domain events live next to their entity. Business rules stay pure.
126
- - **Gateway Pattern**: Controllers talk to abstractions. Infrastructure provides the implementations. Wired up at startup via Inversify.
127
-
128
- Data lives in two stores:
129
-
130
- - **Event store**: Append-only JSONL files. Human-readable. The source of truth.
131
- - **SQLite**: Fast read views projected from the event stream. Rebuildable anytime with `jumbo db rebuild`.
132
-
133
- When your agent starts a goal, Jumbo assembles a context packet on the fly — pulling in the components, decisions, guidelines, invariants, and architecture linked to that goal through relations. No stale caches. Always current.
134
-
135
- ### Built with
136
-
137
- - **Core Libraries:**
138
- - [`better-sqlite3`](https://github.com/WiseLibs/better-sqlite3) : Read-model projections
139
- - [`commander`](https://github.com/tj/commander.js) : CLI framework
140
- - [`inversify`](https://github.com/inversify/monorepo) + [`reflect-metadata`](https://github.com/rbuckton/reflect-metadata) : Dependency injection
141
- - [`yaml`](https://github.com/eemeli/yaml) : Context serialization
142
- - **Terminal UI:**
143
- - [`ink`](https://github.com/vadimdemedes/ink) + [`react`](https://github.com/facebook/react) : Interactive terminal UI
144
- - [`inquirer`](https://github.com/SBoudrias/Inquirer.js) : CLI prompts
145
- - [`chalk`](https://github.com/chalk/chalk) : Terminal styling
146
- - [`boxen`](https://github.com/sindresorhus/boxen) : Terminal boxes
147
- - **Utilities:**
148
- - [`date-fns`](https://github.com/date-fns/date-fns) : Date formatting
149
- - [`fast-glob`](https://github.com/mrmlnc/fast-glob) : File pattern matching
150
- - [`fs-extra`](https://github.com/jprichardson/node-fs-extra) : File system utilities
151
- - [`jsonc-parser`](https://github.com/microsoft/node-jsonc-parser) : JSON with comments parsing
152
- - [`ulid`](https://github.com/ulid/javascript) : Time-sortable unique IDs
153
- - [`uuid`](https://github.com/uuidjs/uuid) : Unique identifiers
154
-
155
- Spread some ❤️ and sponsor the projects or buy them a cup of coffee. I have.
156
-
157
- ## Documentation
158
-
159
- | Resource | Description |
160
- | --- | --- |
161
- | [Quickstart](docs/getting-started/quickstart.md) | Get running in 5 minutes |
162
- | [Installation](docs/getting-started/installation.md) | Prerequisites and setup |
163
- | [Concepts](docs/getting-started/concepts.md) | Understand sessions, goals, and context |
164
- | [What Jumbo Creates](docs/getting-started/what-jumbo-creates.md) | Generated files, folders, and local state |
165
- | [Goal Management](docs/guides/goal-management.md) | Complete guide to tracking work |
166
- | [Project Initialization](docs/guides/project-initialization.md) | Configure Jumbo for your project |
167
- | [Session Management](docs/guides/session-management.md) | Manage pause, resume, and session continuity |
168
- | [Dependency Migration](docs/guides/dependency-migration.md) | Migrate legacy coupling flags to relations |
169
- | [Advanced Workflows](docs/guides/advanced-workflows.md) | Command chaining and multi-agent collaboration patterns |
170
- | [Command Reference](docs/reference/) | Full command documentation |
171
-
172
-
173
- ## FAQs
174
-
175
- <details>
176
- <summary>How does jumbo integrate with my AI agent?</summary>
177
-
178
- Through hooks, with fallback to AGENTS.md. Your agent calls `jumbo session start` at the beginning of a session, and Jumbo injects relevant project context. A richer context packet is delivered to the agent when it starts work on a goal. New insights are captured in the natural flow of your agent conversations.
179
- </details>
180
-
181
- <details>
182
- <summary>What if I change agents or models?</summary>
183
-
184
- Change agents and models at will. Jumbo just picks up where you left off.
185
- </details>
186
-
187
- <details>
188
- <summary>What coding agents does jumbo work with?</summary>
189
-
190
- Jumbo has been battle-tested with Claude Code, GitHub Copilot, and Gemini. More are to be verified soon...
191
- </details>
192
-
193
- <details>
194
- <summary>What IDEs are supported?</summary>
195
-
196
- Theoretically, any IDE with an integrated coding agent that supports hooks or AGENTS.md should work. VS Code running GitHub Copilot has been tested and works well with all supported models. Cursor is to be verified soon...
197
- </details>
198
-
199
- <details>
200
- <summary>Where is data stored?</summary>
201
-
202
- Locally, in `.jumbo/` in your project. Nothing leaves your machine unless you want it to.
203
- </details>
204
-
205
- <details>
206
- <summary>Can I control what data Jumbo captures?</summary>
207
-
208
- Absolutely. You can manage Jumbo directly from the CLI. You control how you want your agent to interact with Jumbo. Stay in the loop by approving each command, or run with pre-approved Jumbo commands for an automated experience.
209
- </details>
210
-
211
- <details>
212
- <summary>Is Jumbo going to hijack my agent?</summary>
213
-
214
- Not at all. Jumbo prescribes an opinionated workflow that you can always bypass. It works alongside your agent to enhance its capabilities.
215
- </details>
216
-
217
- <details>
218
- <summary>Why not just use markdown files?</summary>
219
-
220
- Jumbo goes beyond static markdown files. It's an immutable event stream—capturing your entire project history, always current and auditable. You stay in your flow, never repeat yourself—only add new information when you need to. Markdown is a snapshot in time, Jumbo is your project's living memory.
221
- </details>
222
-
223
- <details>
224
- <summary>Can I share context across a team?</summary>
225
-
226
- Jumbo adds the `.jumbo/` folder to your `.gitignore` by default. Jumbo employs the event sourcing pattern under the hood, and it is likely to result in conflicts if shared between the team.
227
-
228
- Love Jumbo and want to use it in your team? A cloud version is coming soon. Sign up to get notified when it's launched [here](https://jumbocontext.com/herd).
229
- </details>
230
-
231
-
232
- ## License
233
-
234
- [AGPL-3.0](LICENSE)
235
-
236
-
237
- <p align="center">
238
- Built in Copenhagen for devs who are tired of repeating themselves, by a dev who was tired of the same.
239
- </p>
1
+ <p align="center">
2
+ <img src="jumbo-logo.svg" alt="Jumbo" width="200">
3
+ </p>
4
+
5
+ # Jumbo
6
+ **Memory and context orchestration for coding agents**
7
+
8
+ Jumbo is a CLI tool that gives your coding agents persistent memory and structured project context, turning them from makers of workable prototypes into builders of production-quality software.
9
+
10
+ _An elephant never forgets. Neither should <img src="assets/claude-logo.svg" alt="Claude Code" height="16"> <img src="assets/codex-logo.svg" alt="Codex" height="16"> <img src="assets/gemini-logo.svg" alt="Gemini" height="16"> <img src="assets/github-copilot-logo.svg" alt="Copilot CLI" height="16"> <img src="assets/mistral-logo.svg" alt="Mistral Vibe CLI" height="16"> <img src="assets/cursor-logo.svg" alt="Cursor" height="16"> <img src="assets/vscode-logo.svg" alt="VS Code" height="16"> <img src="assets/amp-logo.svg" alt="Amp" height="16"> <img src="assets/warp-logo.svg" alt="Warp" height="16">_
11
+
12
+
13
+ ## Can we address the elephant in the room?
14
+ <sub style="color:#898989">(a.k.a. What problems does this solve?)</sub>
15
+
16
+ Working with coding agents is amazing. But let's be honest, it' not without frustration. Here are the common issues:
17
+
18
+ - **Agent Amnesia**: It's a thing. Every session that came before is forgotten. You spend time and energy getting the agent caught up before you even start thinking about your goals.
19
+
20
+ - **Slop**: AI without guardrails can produce code that *kind of* works, but it’s rarely production-ready. Worse, it can leave behind a mess that takes hours to untangle. That’s not a productivity boost — it’s a hassle.
21
+
22
+ - **Vendor lock-in**: If an agent harness holds your memory, switching tools means losing that context. With new models and tools shipping every week, switching is inevitable. Your context should move with you.
23
+
24
+ ## How does Jumbo help?
25
+
26
+ Jumbo was created to address these frustrations and unlock the full joy of coding with agents.
27
+
28
+ - **Memory:** Details about your project are saved, so your agents always have the correct context. Agent Amnesia is, well...forgotten.
29
+
30
+ - **Quality:** Your coding agents write shippable code on the first shot. You save time and tokens.
31
+
32
+ - **Interoperability:** Jumbo is harness- and model-agnostic.
33
+
34
+ - **Portability:** Switch to new models when they're released. Your context stays with you.
35
+
36
+ - **Orchestration:** Run different agents in parallel. Optimize for capability and cost. Jumbo keeps everything in sync.
37
+
38
+ Those solve the core problems. These make Jumbo pleasant to use:
39
+
40
+ - **Extended context windows**: Run agents longer without context rot.<sup>*</sup>
41
+
42
+ - **Automatic**: Hooks into your agent session and orchestrates the flow. It just works.
43
+
44
+ - **Full control**: Jumbo's memories are yours. Stay in control and manage your data directly from the terminal.
45
+
46
+ - **Private**: All data stays local. Nothing leaves your machine.
47
+
48
+ - **Fast**: No network calls. No lag. Everything runs locally.
49
+
50
+ <sup>*</sup> <sub>Only works for harnesses that support hooks.</sub>
51
+
52
+
53
+ ## Quick Start
54
+
55
+ <p style="background: #000000; padding: 15px 15px 15px 15px; font-size:16px; color: #eeeeee; font-family: 'Courier New', Courier, monospace; font-weight:bold">
56
+ > <span style="color: #f9c741;">npm</span> <span style="color: #ababab;">i -g</span> jumbo-cli
57
+ <br>
58
+ > <span style="color: #f9c741;">jumbo</span> init
59
+ <br>
60
+ > <span style="color: #f9c741;">claude</span>
61
+ <p>
62
+
63
+ Jumbo will automatically orient the agent about your project and available goals.
64
+
65
+ See the [Getting started](docs/getting-started/quickstart.md) guide for the full workflow.
66
+
67
+ ## Compatibility
68
+ Jumbo seamlessly integrates with all frontier harnesses and models. Use them interchangeably or in parallel.
69
+
70
+ It also works with any agent that supports [AGENTS.md](https://agents.md) and truly excels with harnesses that support [open agent skills](https://agentskills.io).
71
+
72
+ Use Jumbo in a harness that supports hooks and you'll never think about context windows again.
73
+
74
+ ## How does it work?
75
+ It's simple. You just define your goals — describe your objective, criteria, and scope. Then run your agents and Jumbo guides them through the workflow:
76
+
77
+ 1. **Refine:** Your agent collaborates with Jumbo to couple all relevant memories to your goal and build a context packet ready for the agent to implement.
78
+ 2. **Implement:** Jumbo serves a curated context packet to your agent when it starts work on your goal.
79
+ 3. **Review:** Your agent reviews the goal against criteria and project specification. Non-passing goals are rejected and queued for reimplementation.
80
+ 4. **Codify:** Agents update documentation, change logs, and register any missing details that need to be preserved for future goals.
81
+
82
+ You don't have to remember all these steps. Jumbo hooks into your agent sessions and guides the entire flow.
83
+
84
+ Every time you start Claude Code (or similar) Jumbo will orient the agent about the state of your project. The agent will prompt you with an overview of planned work and ask what you want to work on. Just point at a goal and watch the magic happen.
85
+
86
+
87
+ ## What's in the trunk?
88
+ Jumbo remembers:
89
+
90
+ Your domain:
91
+ - **Project**: What you are building and who it's for.
92
+ - **Relations**: The connections between all Jumbo's memories.
93
+ - **Audiences**: Who uses your project and their priorities.
94
+ - **Audience Pains**: The problems your audiences face that you aim to solve.
95
+ - **Value Propositions**: How your product addresses each audience pain.
96
+
97
+ Your solution:
98
+ - **Architecture**: Your solution design, structure, and patterns applied.
99
+ - **Components**: The parts comprising your solution and their roles.
100
+ - **Dependencies**: Third-party packages and external services your project relies on.
101
+ - **Decisions**: History of why you chose what you chose.
102
+ - **Guidelines**: Preferences, best practices, and the standards you adhere to.
103
+ - **Invariants**: Rules you simply won't compromise on.
104
+ - **Relations**: The graph that ties it all together.
105
+
106
+ Your operations:
107
+ - **Goals**: The specifics - objective, criteria, scope, boundaries, and contextual relations.
108
+ - **Sessions**: Manage work continuity with pause, resume, compact, and multi-agent support.
109
+
110
+ ## Architecture
111
+
112
+ Jumbo follows **Clean Screaming Architecture** — four layers, strict dependency rules, and file names that tell you exactly what they do.
113
+
114
+ - **Domain**: Aggregates, events, and policies. Zero dependencies on anything outside.
115
+ - **Application**: Command handlers, controllers, and gateway abstractions. Orchestrates the workflows.
116
+ - **Infrastructure**: Event store, SQLite projections, and gateway implementations. The concrete stuff.
117
+ - **Presentation**: CLI commands and output builders. Parses input, formats output, stays in its lane.
118
+
119
+ Dependencies always point inward. Swap out the infrastructure and nothing else notices.
120
+
121
+ Core patterns:
122
+
123
+ - **Event Sourcing**: Every state change is a domain event, appended to an immutable JSONL log. Full history, full replay.
124
+ - **CQRS**: Writes produce events through command handlers. Reads come from SQLite views. Each side is optimized independently.
125
+ - **DDD**: One aggregate per bounded context. Domain events live next to their entity. Business rules stay pure.
126
+ - **Gateway Pattern**: Controllers talk to abstractions. Infrastructure provides the implementations. Wired up at startup via Inversify.
127
+
128
+ Data lives in two stores:
129
+
130
+ - **Event store**: Append-only JSONL files. Human-readable. The source of truth.
131
+ - **SQLite**: Fast read views projected from the event stream. Rebuildable anytime with `jumbo db rebuild`.
132
+
133
+ When your agent starts a goal, Jumbo assembles a context packet on the fly — pulling in the components, decisions, guidelines, invariants, and architecture linked to that goal through relations. No stale caches. Always current.
134
+
135
+ ### Built with
136
+
137
+ - **Core Libraries:**
138
+ - [`better-sqlite3`](https://github.com/WiseLibs/better-sqlite3) : Read-model projections
139
+ - [`commander`](https://github.com/tj/commander.js) : CLI framework
140
+ - [`inversify`](https://github.com/inversify/monorepo) + [`reflect-metadata`](https://github.com/rbuckton/reflect-metadata) : Dependency injection
141
+ - [`yaml`](https://github.com/eemeli/yaml) : Context serialization
142
+ - **Terminal UI:**
143
+ - [`ink`](https://github.com/vadimdemedes/ink) + [`react`](https://github.com/facebook/react) : Interactive terminal UI
144
+ - [`inquirer`](https://github.com/SBoudrias/Inquirer.js) : CLI prompts
145
+ - [`chalk`](https://github.com/chalk/chalk) : Terminal styling
146
+ - [`boxen`](https://github.com/sindresorhus/boxen) : Terminal boxes
147
+ - **Utilities:**
148
+ - [`date-fns`](https://github.com/date-fns/date-fns) : Date formatting
149
+ - [`fast-glob`](https://github.com/mrmlnc/fast-glob) : File pattern matching
150
+ - [`fs-extra`](https://github.com/jprichardson/node-fs-extra) : File system utilities
151
+ - [`jsonc-parser`](https://github.com/microsoft/node-jsonc-parser) : JSON with comments parsing
152
+ - [`ulid`](https://github.com/ulid/javascript) : Time-sortable unique IDs
153
+ - [`uuid`](https://github.com/uuidjs/uuid) : Unique identifiers
154
+
155
+ Spread some ❤️ and sponsor the projects or buy them a cup of coffee. I have.
156
+
157
+ ## Documentation
158
+
159
+ | Resource | Description |
160
+ | --- | --- |
161
+ | [Quickstart](docs/getting-started/quickstart.md) | Get running in 5 minutes |
162
+ | [Installation](docs/getting-started/installation.md) | Prerequisites and setup |
163
+ | [Concepts](docs/getting-started/concepts.md) | Understand sessions, goals, and context |
164
+ | [What Jumbo Creates](docs/getting-started/what-jumbo-creates.md) | Generated files, folders, and local state |
165
+ | [Goal Management](docs/guides/goal-management.md) | Complete guide to tracking work |
166
+ | [Project Initialization](docs/guides/project-initialization.md) | Configure Jumbo for your project |
167
+ | [Session Management](docs/guides/session-management.md) | Manage pause, resume, and session continuity |
168
+ | [Dependency Migration](docs/guides/dependency-migration.md) | Migrate legacy coupling flags to relations |
169
+ | [Advanced Workflows](docs/guides/advanced-workflows.md) | Command chaining and multi-agent collaboration patterns |
170
+ | [Command Reference](docs/reference/) | Full command documentation |
171
+
172
+
173
+ ## FAQs
174
+
175
+ <details>
176
+ <summary>How does jumbo integrate with my AI agent?</summary>
177
+
178
+ Through hooks, with fallback to AGENTS.md. Your agent calls `jumbo session start` at the beginning of a session, and Jumbo injects relevant project context. A richer context packet is delivered to the agent when it starts work on a goal. New insights are captured in the natural flow of your agent conversations.
179
+ </details>
180
+
181
+ <details>
182
+ <summary>What if I change agents or models?</summary>
183
+
184
+ Change agents and models at will. Jumbo just picks up where you left off.
185
+ </details>
186
+
187
+ <details>
188
+ <summary>What coding agents does jumbo work with?</summary>
189
+
190
+ Jumbo has been battle-tested with Claude Code, GitHub Copilot, and Gemini. More are to be verified soon...
191
+ </details>
192
+
193
+ <details>
194
+ <summary>What IDEs are supported?</summary>
195
+
196
+ Theoretically, any IDE with an integrated coding agent that supports hooks or AGENTS.md should work. VS Code running GitHub Copilot has been tested and works well with all supported models. Cursor is to be verified soon...
197
+ </details>
198
+
199
+ <details>
200
+ <summary>Where is data stored?</summary>
201
+
202
+ Locally, in `.jumbo/` in your project. Nothing leaves your machine unless you want it to.
203
+ </details>
204
+
205
+ <details>
206
+ <summary>Can I control what data Jumbo captures?</summary>
207
+
208
+ Absolutely. You can manage Jumbo directly from the CLI. You control how you want your agent to interact with Jumbo. Stay in the loop by approving each command, or run with pre-approved Jumbo commands for an automated experience.
209
+ </details>
210
+
211
+ <details>
212
+ <summary>Is Jumbo going to hijack my agent?</summary>
213
+
214
+ Not at all. Jumbo prescribes an opinionated workflow that you can always bypass. It works alongside your agent to enhance its capabilities.
215
+ </details>
216
+
217
+ <details>
218
+ <summary>Why not just use markdown files?</summary>
219
+
220
+ Jumbo goes beyond static markdown files. It's an immutable event stream—capturing your entire project history, always current and auditable. You stay in your flow, never repeat yourself—only add new information when you need to. Markdown is a snapshot in time, Jumbo is your project's living memory.
221
+ </details>
222
+
223
+ <details>
224
+ <summary>Can I share context across a team?</summary>
225
+
226
+ Jumbo adds the `.jumbo/` folder to your `.gitignore` by default. Jumbo employs the event sourcing pattern under the hood, and it is likely to result in conflicts if shared between the team.
227
+
228
+ Love Jumbo and want to use it in your team? A cloud version is coming soon. Sign up to get notified when it's launched [here](https://jumbocontext.com/herd).
229
+ </details>
230
+
231
+
232
+ ## License
233
+
234
+ [AGPL-3.0](LICENSE)
235
+
236
+
237
+ <p align="center">
238
+ Built in Copenhagen for devs who are tired of repeating themselves, by a dev who was tired of the same.
239
+ </p>
@@ -1,7 +1,7 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!-- Generated by Pixelmator Pro 3.6.17 -->
3
- <svg width="1200" height="1200" viewBox="0 0 1200 1200" xmlns="http://www.w3.org/2000/svg">
4
- <g id="g314">
5
- <path id="path147" fill="#d97757" stroke="none" d="M 233.959793 800.214905 L 468.644287 668.536987 L 472.590637 657.100647 L 468.644287 650.738403 L 457.208069 650.738403 L 417.986633 648.322144 L 283.892639 644.69812 L 167.597321 639.865845 L 54.926208 633.825623 L 26.577238 627.785339 L 3.3e-05 592.751709 L 2.73832 575.27533 L 26.577238 559.248352 L 60.724873 562.228149 L 136.187973 567.382629 L 249.422867 575.194763 L 331.570496 580.026978 L 453.261841 592.671082 L 472.590637 592.671082 L 475.328857 584.859009 L 468.724915 580.026978 L 463.570557 575.194763 L 346.389313 495.785217 L 219.543671 411.865906 L 153.100723 363.543762 L 117.181267 339.060425 L 99.060455 316.107361 L 91.248367 266.01355 L 123.865784 230.093994 L 167.677887 233.073853 L 178.872513 236.053772 L 223.248367 270.201477 L 318.040283 343.570496 L 441.825592 434.738342 L 459.946411 449.798706 L 467.194672 444.64447 L 468.080597 441.020203 L 459.946411 427.409485 L 392.617493 305.718323 L 320.778564 181.932983 L 288.80542 130.630859 L 280.348999 99.865845 C 277.369171 87.221436 275.194641 76.590698 275.194641 63.624268 L 312.322174 13.20813 L 332.8591 6.604126 L 382.389313 13.20813 L 403.248352 31.328979 L 434.013519 101.71814 L 483.865753 212.537048 L 561.181274 363.221497 L 583.812134 407.919434 L 595.892639 449.315491 L 600.40271 461.959839 L 608.214783 461.959839 L 608.214783 454.711609 L 614.577271 369.825623 L 626.335632 265.61084 L 637.771851 131.516846 L 641.718201 93.745117 L 660.402832 48.483276 L 697.530334 24.000122 L 726.52356 37.852417 L 750.362549 72 L 747.060486 94.067139 L 732.886047 186.201416 L 705.100708 330.52356 L 686.979919 427.167847 L 697.530334 427.167847 L 709.61084 415.087341 L 758.496704 350.174561 L 840.644348 247.490051 L 876.885925 206.738342 L 919.167847 161.71814 L 946.308838 140.29541 L 997.61084 140.29541 L 1035.38269 196.429626 L 1018.469849 254.416199 L 965.637634 321.422852 L 921.825562 378.201538 L 859.006714 462.765259 L 819.785278 530.41626 L 823.409424 535.812073 L 832.75177 534.92627 L 974.657776 504.724915 L 1051.328979 490.872559 L 1142.818848 475.167786 L 1184.214844 494.496582 L 1188.724854 514.147644 L 1172.456421 554.335693 L 1074.604126 578.496765 L 959.838989 601.449829 L 788.939636 641.879272 L 786.845764 643.409485 L 789.261841 646.389343 L 866.255127 653.637634 L 899.194702 655.409424 L 979.812134 655.409424 L 1129.932861 666.604187 L 1169.154419 692.537109 L 1192.671265 724.268677 L 1188.724854 748.429688 L 1128.322144 779.194641 L 1046.818848 759.865845 L 856.590759 714.604126 L 791.355774 698.335754 L 782.335693 698.335754 L 782.335693 703.731567 L 836.69812 756.885986 L 936.322205 846.845581 L 1061.073975 962.81897 L 1067.436279 991.490112 L 1051.409424 1014.120911 L 1034.496704 1011.704712 L 924.885986 929.234924 L 882.604126 892.107544 L 786.845764 811.48999 L 780.483276 811.48999 L 780.483276 819.946289 L 802.550415 852.241699 L 919.087341 1027.409424 L 925.127625 1081.127686 L 916.671204 1098.604126 L 886.469849 1109.154419 L 853.288696 1103.114136 L 785.073914 1007.355835 L 714.684631 899.516785 L 657.906067 802.872498 L 650.979858 806.81897 L 617.476624 1167.704834 L 601.771851 1186.147705 L 565.530212 1200 L 535.328857 1177.046997 L 519.302124 1139.919556 L 535.328857 1066.550537 L 554.657776 970.792053 L 570.362488 894.68457 L 584.536926 800.134277 L 592.993347 768.724976 L 592.429626 766.630859 L 585.503479 767.516968 L 514.22821 865.369263 L 405.825531 1011.865906 L 320.053711 1103.677979 L 299.516815 1111.812256 L 263.919525 1093.369263 L 267.221497 1060.429688 L 287.114136 1031.114136 L 405.825531 880.107361 L 477.422913 786.52356 L 523.651062 732.483276 L 523.328918 724.671265 L 520.590698 724.671265 L 205.288605 929.395935 L 149.154434 936.644409 L 124.993355 914.01355 L 127.973183 876.885986 L 139.409409 864.80542 L 234.201385 799.570435 L 233.879227 799.8927 Z"/>
6
- </g>
7
- </svg>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- Generated by Pixelmator Pro 3.6.17 -->
3
+ <svg width="1200" height="1200" viewBox="0 0 1200 1200" xmlns="http://www.w3.org/2000/svg">
4
+ <g id="g314">
5
+ <path id="path147" fill="#d97757" stroke="none" d="M 233.959793 800.214905 L 468.644287 668.536987 L 472.590637 657.100647 L 468.644287 650.738403 L 457.208069 650.738403 L 417.986633 648.322144 L 283.892639 644.69812 L 167.597321 639.865845 L 54.926208 633.825623 L 26.577238 627.785339 L 3.3e-05 592.751709 L 2.73832 575.27533 L 26.577238 559.248352 L 60.724873 562.228149 L 136.187973 567.382629 L 249.422867 575.194763 L 331.570496 580.026978 L 453.261841 592.671082 L 472.590637 592.671082 L 475.328857 584.859009 L 468.724915 580.026978 L 463.570557 575.194763 L 346.389313 495.785217 L 219.543671 411.865906 L 153.100723 363.543762 L 117.181267 339.060425 L 99.060455 316.107361 L 91.248367 266.01355 L 123.865784 230.093994 L 167.677887 233.073853 L 178.872513 236.053772 L 223.248367 270.201477 L 318.040283 343.570496 L 441.825592 434.738342 L 459.946411 449.798706 L 467.194672 444.64447 L 468.080597 441.020203 L 459.946411 427.409485 L 392.617493 305.718323 L 320.778564 181.932983 L 288.80542 130.630859 L 280.348999 99.865845 C 277.369171 87.221436 275.194641 76.590698 275.194641 63.624268 L 312.322174 13.20813 L 332.8591 6.604126 L 382.389313 13.20813 L 403.248352 31.328979 L 434.013519 101.71814 L 483.865753 212.537048 L 561.181274 363.221497 L 583.812134 407.919434 L 595.892639 449.315491 L 600.40271 461.959839 L 608.214783 461.959839 L 608.214783 454.711609 L 614.577271 369.825623 L 626.335632 265.61084 L 637.771851 131.516846 L 641.718201 93.745117 L 660.402832 48.483276 L 697.530334 24.000122 L 726.52356 37.852417 L 750.362549 72 L 747.060486 94.067139 L 732.886047 186.201416 L 705.100708 330.52356 L 686.979919 427.167847 L 697.530334 427.167847 L 709.61084 415.087341 L 758.496704 350.174561 L 840.644348 247.490051 L 876.885925 206.738342 L 919.167847 161.71814 L 946.308838 140.29541 L 997.61084 140.29541 L 1035.38269 196.429626 L 1018.469849 254.416199 L 965.637634 321.422852 L 921.825562 378.201538 L 859.006714 462.765259 L 819.785278 530.41626 L 823.409424 535.812073 L 832.75177 534.92627 L 974.657776 504.724915 L 1051.328979 490.872559 L 1142.818848 475.167786 L 1184.214844 494.496582 L 1188.724854 514.147644 L 1172.456421 554.335693 L 1074.604126 578.496765 L 959.838989 601.449829 L 788.939636 641.879272 L 786.845764 643.409485 L 789.261841 646.389343 L 866.255127 653.637634 L 899.194702 655.409424 L 979.812134 655.409424 L 1129.932861 666.604187 L 1169.154419 692.537109 L 1192.671265 724.268677 L 1188.724854 748.429688 L 1128.322144 779.194641 L 1046.818848 759.865845 L 856.590759 714.604126 L 791.355774 698.335754 L 782.335693 698.335754 L 782.335693 703.731567 L 836.69812 756.885986 L 936.322205 846.845581 L 1061.073975 962.81897 L 1067.436279 991.490112 L 1051.409424 1014.120911 L 1034.496704 1011.704712 L 924.885986 929.234924 L 882.604126 892.107544 L 786.845764 811.48999 L 780.483276 811.48999 L 780.483276 819.946289 L 802.550415 852.241699 L 919.087341 1027.409424 L 925.127625 1081.127686 L 916.671204 1098.604126 L 886.469849 1109.154419 L 853.288696 1103.114136 L 785.073914 1007.355835 L 714.684631 899.516785 L 657.906067 802.872498 L 650.979858 806.81897 L 617.476624 1167.704834 L 601.771851 1186.147705 L 565.530212 1200 L 535.328857 1177.046997 L 519.302124 1139.919556 L 535.328857 1066.550537 L 554.657776 970.792053 L 570.362488 894.68457 L 584.536926 800.134277 L 592.993347 768.724976 L 592.429626 766.630859 L 585.503479 767.516968 L 514.22821 865.369263 L 405.825531 1011.865906 L 320.053711 1103.677979 L 299.516815 1111.812256 L 263.919525 1093.369263 L 267.221497 1060.429688 L 287.114136 1031.114136 L 405.825531 880.107361 L 477.422913 786.52356 L 523.651062 732.483276 L 523.328918 724.671265 L 520.590698 724.671265 L 205.288605 929.395935 L 149.154434 936.644409 L 124.993355 914.01355 L 127.973183 876.885986 L 139.409409 864.80542 L 234.201385 799.570435 L 233.879227 799.8927 Z"/>
6
+ </g>
7
+ </svg>
@@ -1,3 +1,3 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 11" fill="none">
2
- <path d="M8.33301 5.79411C8.33301 3.95316 6.84062 2.46077 4.99967 2.46077C3.15873 2.46077 1.66634 3.95316 1.66634 5.79411C1.66634 7.63506 3.15873 9.12744 4.99967 9.12744C6.84062 9.12744 8.33301 7.63506 8.33301 5.79411ZM6.66634 6.41911C6.89646 6.41911 7.08301 6.60566 7.08301 6.83577C7.08301 7.06589 6.89646 7.25244 6.66634 7.25244H5.41634C5.18622 7.25244 4.99967 7.06589 4.99967 6.83577C4.99967 6.60566 5.18622 6.41911 5.41634 6.41911H6.66634ZM3.3269 4.39518C3.51191 4.28418 3.74861 4.33339 3.875 4.5026L3.8986 4.538L4.5236 5.57967L4.54964 5.63053C4.59421 5.73493 4.59421 5.85328 4.54964 5.95768L4.5236 6.00855L3.8986 7.05021C3.78019 7.24749 3.52421 7.31142 3.3269 7.19303C3.12963 7.07462 3.0657 6.81864 3.18408 6.62134L3.68009 5.79411L3.18408 4.96688L3.16414 4.92904C3.07439 4.73792 3.14197 4.50618 3.3269 4.39518ZM9.16634 5.79411C9.16634 8.09529 7.30086 9.96078 4.99967 9.96078C2.69849 9.96078 0.833008 8.09529 0.833008 5.79411C0.833008 3.49292 2.69849 1.62744 4.99967 1.62744C7.30086 1.62744 9.16634 3.49292 9.16634 5.79411Z" fill="#000"/>
3
- </svg>
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 11" fill="none">
2
+ <path d="M8.33301 5.79411C8.33301 3.95316 6.84062 2.46077 4.99967 2.46077C3.15873 2.46077 1.66634 3.95316 1.66634 5.79411C1.66634 7.63506 3.15873 9.12744 4.99967 9.12744C6.84062 9.12744 8.33301 7.63506 8.33301 5.79411ZM6.66634 6.41911C6.89646 6.41911 7.08301 6.60566 7.08301 6.83577C7.08301 7.06589 6.89646 7.25244 6.66634 7.25244H5.41634C5.18622 7.25244 4.99967 7.06589 4.99967 6.83577C4.99967 6.60566 5.18622 6.41911 5.41634 6.41911H6.66634ZM3.3269 4.39518C3.51191 4.28418 3.74861 4.33339 3.875 4.5026L3.8986 4.538L4.5236 5.57967L4.54964 5.63053C4.59421 5.73493 4.59421 5.85328 4.54964 5.95768L4.5236 6.00855L3.8986 7.05021C3.78019 7.24749 3.52421 7.31142 3.3269 7.19303C3.12963 7.07462 3.0657 6.81864 3.18408 6.62134L3.68009 5.79411L3.18408 4.96688L3.16414 4.92904C3.07439 4.73792 3.14197 4.50618 3.3269 4.39518ZM9.16634 5.79411C9.16634 8.09529 7.30086 9.96078 4.99967 9.96078C2.69849 9.96078 0.833008 8.09529 0.833008 5.79411C0.833008 3.49292 2.69849 1.62744 4.99967 1.62744C7.30086 1.62744 9.16634 3.49292 9.16634 5.79411Z" fill="#000"/>
3
+ </svg>
@@ -1,32 +1,32 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <svg id="Ebene_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 466.73 533.32">
3
- <!-- Generator: Adobe Illustrator 29.6.1, SVG Export Plug-In . SVG Version: 2.1.1 Build 9) -->
4
- <defs>
5
- <style>
6
- .st0 {
7
- fill: #72716d;
8
- }
9
-
10
- .st1 {
11
- fill: #55544f;
12
- }
13
-
14
- .st2 {
15
- fill: #fff;
16
- }
17
-
18
- .st3 {
19
- fill: #43413c;
20
- }
21
-
22
- .st4 {
23
- fill: #d6d5d2;
24
- }
25
- </style>
26
- </defs>
27
- <path class="st0" d="M233.37,266.66l231.16,133.46c-1.42,2.46-3.48,4.56-6.03,6.03l-216.06,124.74c-5.61,3.24-12.53,3.24-18.14,0L8.24,406.15c-2.55-1.47-4.61-3.57-6.03-6.03l231.16-133.46h0Z"/>
28
- <path class="st1" d="M233.37,0v266.66L2.21,400.12c-1.42-2.46-2.21-5.3-2.21-8.24v-250.44c0-5.89,3.14-11.32,8.24-14.27L224.29,2.43c2.81-1.62,5.94-2.43,9.07-2.43h.01Z"/>
29
- <path class="st3" d="M464.52,133.2c-1.42-2.46-3.48-4.56-6.03-6.03L242.43,2.43c-2.8-1.62-5.93-2.43-9.06-2.43v266.66l231.16,133.46c1.42-2.46,2.21-5.3,2.21-8.24v-250.44c0-2.95-.78-5.77-2.21-8.24h-.01Z"/>
30
- <path class="st4" d="M448.35,142.54c1.31,2.26,1.49,5.16,0,7.74l-209.83,363.42c-1.41,2.46-5.16,1.45-5.16-1.38v-239.48c0-1.91-.51-3.75-1.44-5.36l216.42-124.95h.01Z"/>
31
- <path class="st2" d="M448.35,142.54l-216.42,124.95c-.92-1.6-2.26-2.96-3.92-3.92L20.62,143.83c-2.46-1.41-1.45-5.16,1.38-5.16h419.65c2.98,0,5.4,1.61,6.7,3.87Z"/>
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <svg id="Ebene_1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 466.73 533.32">
3
+ <!-- Generator: Adobe Illustrator 29.6.1, SVG Export Plug-In . SVG Version: 2.1.1 Build 9) -->
4
+ <defs>
5
+ <style>
6
+ .st0 {
7
+ fill: #72716d;
8
+ }
9
+
10
+ .st1 {
11
+ fill: #55544f;
12
+ }
13
+
14
+ .st2 {
15
+ fill: #fff;
16
+ }
17
+
18
+ .st3 {
19
+ fill: #43413c;
20
+ }
21
+
22
+ .st4 {
23
+ fill: #d6d5d2;
24
+ }
25
+ </style>
26
+ </defs>
27
+ <path class="st0" d="M233.37,266.66l231.16,133.46c-1.42,2.46-3.48,4.56-6.03,6.03l-216.06,124.74c-5.61,3.24-12.53,3.24-18.14,0L8.24,406.15c-2.55-1.47-4.61-3.57-6.03-6.03l231.16-133.46h0Z"/>
28
+ <path class="st1" d="M233.37,0v266.66L2.21,400.12c-1.42-2.46-2.21-5.3-2.21-8.24v-250.44c0-5.89,3.14-11.32,8.24-14.27L224.29,2.43c2.81-1.62,5.94-2.43,9.07-2.43h.01Z"/>
29
+ <path class="st3" d="M464.52,133.2c-1.42-2.46-3.48-4.56-6.03-6.03L242.43,2.43c-2.8-1.62-5.93-2.43-9.06-2.43v266.66l231.16,133.46c1.42-2.46,2.21-5.3,2.21-8.24v-250.44c0-2.95-.78-5.77-2.21-8.24h-.01Z"/>
30
+ <path class="st4" d="M448.35,142.54c1.31,2.26,1.49,5.16,0,7.74l-209.83,363.42c-1.41,2.46-5.16,1.45-5.16-1.38v-239.48c0-1.91-.51-3.75-1.44-5.36l216.42-124.95h.01Z"/>
31
+ <path class="st2" d="M448.35,142.54l-216.42,124.95c-.92-1.6-2.26-2.96-3.92-3.92L20.62,143.83c-2.46-1.41-1.45-5.16,1.38-5.16h419.65c2.98,0,5.4,1.61,6.7,3.87Z"/>
32
32
  </svg>
@@ -1,19 +1,19 @@
1
- <svg width="191" height="135" viewBox="0 0 191 135" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <g clip-path="url(#clip0_134_208)">
3
- <path d="M54.3221 0H27.1531V27.0892H54.3221V0Z" fill="#FFD800"/>
4
- <path d="M162.984 0H135.815V27.0892H162.984V0Z" fill="#FFD800"/>
5
- <path d="M81.4823 27.0913H27.1531V54.1805H81.4823V27.0913Z" fill="#FFAF00"/>
6
- <path d="M162.99 27.0913H108.661V54.1805H162.99V27.0913Z" fill="#FFAF00"/>
7
- <path d="M162.972 54.168H27.1531V81.2572H162.972V54.168Z" fill="#FF8205"/>
8
- <path d="M54.3221 81.2593H27.1531V108.349H54.3221V81.2593Z" fill="#FA500F"/>
9
- <path d="M108.661 81.2593H81.4917V108.349H108.661V81.2593Z" fill="#FA500F"/>
10
- <path d="M162.984 81.2593H135.815V108.349H162.984V81.2593Z" fill="#FA500F"/>
11
- <path d="M81.4879 108.339H-0.00146484V135.429H81.4879V108.339Z" fill="#E10500"/>
12
- <path d="M190.159 108.339H108.661V135.429H190.159V108.339Z" fill="#E10500"/>
13
- </g>
14
- <defs>
15
- <clipPath id="clip0_134_208">
16
- <rect width="190.141" height="135" fill="white"/>
17
- </clipPath>
18
- </defs>
19
- </svg>
1
+ <svg width="191" height="135" viewBox="0 0 191 135" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <g clip-path="url(#clip0_134_208)">
3
+ <path d="M54.3221 0H27.1531V27.0892H54.3221V0Z" fill="#FFD800"/>
4
+ <path d="M162.984 0H135.815V27.0892H162.984V0Z" fill="#FFD800"/>
5
+ <path d="M81.4823 27.0913H27.1531V54.1805H81.4823V27.0913Z" fill="#FFAF00"/>
6
+ <path d="M162.99 27.0913H108.661V54.1805H162.99V27.0913Z" fill="#FFAF00"/>
7
+ <path d="M162.972 54.168H27.1531V81.2572H162.972V54.168Z" fill="#FF8205"/>
8
+ <path d="M54.3221 81.2593H27.1531V108.349H54.3221V81.2593Z" fill="#FA500F"/>
9
+ <path d="M108.661 81.2593H81.4917V108.349H108.661V81.2593Z" fill="#FA500F"/>
10
+ <path d="M162.984 81.2593H135.815V108.349H162.984V81.2593Z" fill="#FA500F"/>
11
+ <path d="M81.4879 108.339H-0.00146484V135.429H81.4879V108.339Z" fill="#E10500"/>
12
+ <path d="M190.159 108.339H108.661V135.429H190.159V108.339Z" fill="#E10500"/>
13
+ </g>
14
+ <defs>
15
+ <clipPath id="clip0_134_208">
16
+ <rect width="190.141" height="135" fill="white"/>
17
+ </clipPath>
18
+ </defs>
19
+ </svg>