git-juggler 0.2.6__tar.gz → 0.2.7__tar.gz

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 (199) hide show
  1. {git_juggler-0.2.6 → git_juggler-0.2.7}/PKG-INFO +42 -8
  2. {git_juggler-0.2.6 → git_juggler-0.2.7}/README.md +41 -7
  3. {git_juggler-0.2.6 → git_juggler-0.2.7}/scripts/dev.sh +13 -3
  4. git_juggler-0.2.6/src/backend/git_juggler/frontend_dist/assets/index-DC_wK6SO.js → git_juggler-0.2.7/src/backend/git_juggler/frontend_dist/assets/index-B-qpxlvK.js +15 -15
  5. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/frontend_dist/index.html +1 -1
  6. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/main.py +11 -0
  7. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/ContextMenu/RepoContextMenu.tsx +14 -1
  8. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Search/SearchBox.tsx +1 -1
  9. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Tabs/TabsBar.tsx +1 -1
  10. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/state/storeCore.ts +10 -2
  11. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/state/tabs.ts +1 -0
  12. {git_juggler-0.2.6 → git_juggler-0.2.7}/.github/workflows/build-package.yml +0 -0
  13. {git_juggler-0.2.6 → git_juggler-0.2.7}/.gitignore +0 -0
  14. {git_juggler-0.2.6 → git_juggler-0.2.7}/CLAUDE.md +0 -0
  15. {git_juggler-0.2.6 → git_juggler-0.2.7}/LICENSE +0 -0
  16. {git_juggler-0.2.6 → git_juggler-0.2.7}/notes.txt +0 -0
  17. {git_juggler-0.2.6 → git_juggler-0.2.7}/pyproject.toml +0 -0
  18. {git_juggler-0.2.6 → git_juggler-0.2.7}/resources/git-juggler-demo-1.gif +0 -0
  19. {git_juggler-0.2.6 → git_juggler-0.2.7}/resources/git-juggler-demo-2.png +0 -0
  20. {git_juggler-0.2.6 → git_juggler-0.2.7}/resources/git-juggler-demo-3.png +0 -0
  21. {git_juggler-0.2.6 → git_juggler-0.2.7}/resources/git-juggler-demo-4.png +0 -0
  22. {git_juggler-0.2.6 → git_juggler-0.2.7}/scripts/build-package.sh +0 -0
  23. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/__init__.py +0 -0
  24. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/agents/__init__.py +0 -0
  25. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/agents/hook_events.py +0 -0
  26. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/agents/hooks.py +0 -0
  27. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/agents/tracking/__init__.py +0 -0
  28. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/agents/tracking/activity_models.py +0 -0
  29. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/agents/tracking/claude_sessions.py +0 -0
  30. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/agents/tracking/claude_transcripts.py +0 -0
  31. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/agents/tracking/git_resolver.py +0 -0
  32. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/agents/tracking/opencode_sessions.py +0 -0
  33. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/agents/tracking/paths.py +0 -0
  34. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/agents/tracking/text.py +0 -0
  35. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/api/__init__.py +0 -0
  36. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/api/agents.py +0 -0
  37. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/api/ci.py +0 -0
  38. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/api/config.py +0 -0
  39. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/api/git.py +0 -0
  40. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/api/repos.py +0 -0
  41. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/api/terminal.py +0 -0
  42. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/app.py +0 -0
  43. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/ci/__init__.py +0 -0
  44. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/ci/github_actions.py +0 -0
  45. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/ci/http.py +0 -0
  46. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/ci/jenkins.py +0 -0
  47. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/config.py +0 -0
  48. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/dev_app.py +0 -0
  49. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/frontend_dist/agent-logos/claude.png +0 -0
  50. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/frontend_dist/agent-logos/opencode.webp +0 -0
  51. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/frontend_dist/assets/index-KUdo_LCw.css +0 -0
  52. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/frontend_dist/ci-logos/jenkins.webp +0 -0
  53. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/frontend_dist/git-juggler.png +0 -0
  54. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/frontend_dist/logo.png +0 -0
  55. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/git/__init__.py +0 -0
  56. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/git/command.py +0 -0
  57. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/git/data.py +0 -0
  58. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/git/detail.py +0 -0
  59. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/git/diff.py +0 -0
  60. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/git/refs.py +0 -0
  61. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/git/status.py +0 -0
  62. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/git/utils.py +0 -0
  63. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/repo_discovery.py +0 -0
  64. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/schemas.py +0 -0
  65. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/terminal.py +0 -0
  66. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/themes.py +0 -0
  67. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/ui/__init__.py +0 -0
  68. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/git_juggler/ui/folder_picker.py +0 -0
  69. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/tests/test_agent_hooks.py +0 -0
  70. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/tests/test_agent_tracking.py +0 -0
  71. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/tests/test_ci.py +0 -0
  72. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/tests/test_ci_poll.py +0 -0
  73. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/tests/test_ci_poll_route.py +0 -0
  74. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/tests/test_claude_sessions_data.py +0 -0
  75. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/tests/test_file_diff.py +0 -0
  76. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/tests/test_git_data.py +0 -0
  77. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/tests/test_github_actions.py +0 -0
  78. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/tests/test_jenkins.py +0 -0
  79. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/tests/test_opencode_sessions.py +0 -0
  80. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/tests/test_pick_folder.py +0 -0
  81. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/tests/test_preferences.py +0 -0
  82. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/tests/test_repos.py +0 -0
  83. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/backend/tests/test_themes.py +0 -0
  84. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/.gitignore +0 -0
  85. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/README.md +0 -0
  86. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/index.html +0 -0
  87. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/package-lock.json +0 -0
  88. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/package.json +0 -0
  89. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/public/agent-logos/claude.png +0 -0
  90. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/public/agent-logos/opencode.webp +0 -0
  91. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/public/ci-logos/jenkins.webp +0 -0
  92. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/public/git-juggler.png +0 -0
  93. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/public/logo.png +0 -0
  94. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/App.css +0 -0
  95. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/App.tsx +0 -0
  96. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/api/client.ts +0 -0
  97. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/api/types.ts +0 -0
  98. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Agents/AgentActivityPanel.tsx +0 -0
  99. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Agents/AgentHoverCard.tsx +0 -0
  100. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Agents/AgentStatusPopover.tsx +0 -0
  101. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Agents/agentFormat.ts +0 -0
  102. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Badges/BranchBadge.tsx +0 -0
  103. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Badges/CiRunBadge.tsx +0 -0
  104. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Badges/StashBadge.tsx +0 -0
  105. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Badges/TagBadge.tsx +0 -0
  106. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Badges/ciStatus.tsx +0 -0
  107. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Branches/DeleteBranchModal.tsx +0 -0
  108. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/CIRunPopover.tsx +0 -0
  109. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/CommandPalette/CommandPalette.tsx +0 -0
  110. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Commits/CommitDetail.tsx +0 -0
  111. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Commits/CommitList.tsx +0 -0
  112. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Commits/CommitRow.tsx +0 -0
  113. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Commits/LineCounts.tsx +0 -0
  114. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Commits/UncommittedRow.tsx +0 -0
  115. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/ContextMenu/BranchContextMenu.tsx +0 -0
  116. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/ContextMenu/CommitContextMenu.tsx +0 -0
  117. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/ContextMenu/CreateBranchModal.tsx +0 -0
  118. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/ContextMenu/CreateTagModal.tsx +0 -0
  119. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/ContextMenu/TagContextMenu.tsx +0 -0
  120. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Diff/FileDiffModal.tsx +0 -0
  121. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Graph/GraphPanel.tsx +0 -0
  122. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Graph/branchColor.ts +0 -0
  123. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Graph/computeColumns.ts +0 -0
  124. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Graph/laneWidth.ts +0 -0
  125. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Menu/AgentQuickPicks.tsx +0 -0
  126. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Menu/AgentsSettings.tsx +0 -0
  127. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Menu/CiPollField.tsx +0 -0
  128. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Menu/DirectoryBrowserModal.tsx +0 -0
  129. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Menu/GitHubSettings.tsx +0 -0
  130. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Menu/JenkinsSettings.tsx +0 -0
  131. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Menu/MainMenu.tsx +0 -0
  132. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Menu/RepoPathsSettings.tsx +0 -0
  133. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Menu/ThemePicker.tsx +0 -0
  134. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Menu/ThemeQuickPicks.tsx +0 -0
  135. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Pipelines/PipelinesPanel.tsx +0 -0
  136. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Pipelines/StageStrip.tsx +0 -0
  137. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Search/MultiSelect.tsx +0 -0
  138. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Search/TriSwitch.tsx +0 -0
  139. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Sidebar/NewGroupModal.tsx +0 -0
  140. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Sidebar/RepoList.tsx +0 -0
  141. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Sidebar/Sidebar.tsx +0 -0
  142. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Tags/DeleteTagModal.tsx +0 -0
  143. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Terminal/TerminalPanel.tsx +0 -0
  144. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/Welcome/WelcomeWizard.tsx +0 -0
  145. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/icons.tsx +0 -0
  146. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/inputs/NumberField.tsx +0 -0
  147. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/inputs/TextField.tsx +0 -0
  148. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/inputs/ToggleField.tsx +0 -0
  149. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/components/inputs/styles.ts +0 -0
  150. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/index.css +0 -0
  151. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/index.tsx +0 -0
  152. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/lib/agentStatusPopoverData.ts +0 -0
  153. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/lib/appTheme.ts +0 -0
  154. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/lib/branchVisibility.ts +0 -0
  155. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/lib/bundledThemes.ts +0 -0
  156. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/lib/ciPoll.ts +0 -0
  157. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/lib/ciRunPopoverData.ts +0 -0
  158. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/lib/color.ts +0 -0
  159. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/lib/dismissOnOutsideClick.ts +0 -0
  160. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/lib/flip.ts +0 -0
  161. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/lib/formatDate.ts +0 -0
  162. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/lib/preferenceSender.ts +0 -0
  163. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/lib/scrollToCommit.ts +0 -0
  164. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/lib/sideBySide.ts +0 -0
  165. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/lib/stageWindow.ts +0 -0
  166. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/lib/stripAnsi.ts +0 -0
  167. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/lib/swallowNextClick.ts +0 -0
  168. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/lib/vscodeTheme.ts +0 -0
  169. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/state/agents.ts +0 -0
  170. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/state/ci.ts +0 -0
  171. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/state/graph.ts +0 -0
  172. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/state/overlayStack.ts +0 -0
  173. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/state/overlays.ts +0 -0
  174. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/state/preferenceSync.ts +0 -0
  175. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/state/preferences.ts +0 -0
  176. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/state/repos.ts +0 -0
  177. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/state/settings.ts +0 -0
  178. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/state/store.ts +0 -0
  179. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/state/terminal.ts +0 -0
  180. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/state/themes.ts +0 -0
  181. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/styles/ci.css +0 -0
  182. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/styles/commits.css +0 -0
  183. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/styles/graph.css +0 -0
  184. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/styles/menu.css +0 -0
  185. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/styles/sidebar.css +0 -0
  186. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/src/styles/terminal.css +0 -0
  187. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/tests/agentFormat.test.ts +0 -0
  188. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/tests/agentStatusPopoverData.test.ts +0 -0
  189. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/tests/ciPoll.test.ts +0 -0
  190. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/tests/ciRunPopoverData.test.ts +0 -0
  191. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/tests/computeColumns.test.ts +0 -0
  192. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/tests/preferenceSender.test.ts +0 -0
  193. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/tests/sideBySide.test.ts +0 -0
  194. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/tests/stageWindow.test.ts +0 -0
  195. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/tests/vscodeTheme.test.ts +0 -0
  196. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/tsconfig.app.json +0 -0
  197. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/tsconfig.json +0 -0
  198. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/tsconfig.node.json +0 -0
  199. {git_juggler-0.2.6 → git_juggler-0.2.7}/src/frontend/vite.config.ts +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: git-juggler
3
- Version: 0.2.6
3
+ Version: 0.2.7
4
4
  Summary: A local Git dashboard for people juggling agents and too many repos.
5
5
  License-Expression: MIT
6
6
  License-File: LICENSE
@@ -21,6 +21,14 @@ Watch agents work live, follow every repo’s git graph, and catch what changed
21
21
 
22
22
  <img src="https://github.com/franz38/git-juggler/blob/main/resources/git-juggler-demo-4.png?raw=true" alt="git-juggler" width="100%">
23
23
 
24
+ ## What it does
25
+
26
+ - Scans the immediate children of one or more configured folders for Git repos.
27
+ - Lets you inspect and manage each repo's graph, branches, tags, stashes, dirty files, and file diffs.
28
+ - Keeps a persistent terminal per open repo and runs Git actions there so you see the real commands and output.
29
+ - Tracks local Claude Code and OpenCode sessions.
30
+ - Connects GitHub Actions and Jenkins runs to commits and active pipelines.
31
+ - VS Code-compatible themes.
24
32
 
25
33
  ## How to install
26
34
 
@@ -30,9 +38,17 @@ PATH in its own isolated environment, without touching your system Python:
30
38
 
31
39
  ```
32
40
  pipx install git-juggler
33
- git-juggler <path-to-scan> # http://127.0.0.1:8000
41
+ git-juggler [path-to-scan] [--host HOST] [--port PORT] [--no-open]
34
42
  ```
35
43
 
44
+ `<path-to-scan>` is optional and defaults to the current directory. It is used
45
+ to seed the initial search path; after that, search paths are managed in the app
46
+ from the welcome wizard or Settings.
47
+
48
+ - `--host HOST` changes the bind host from the default `127.0.0.1`.
49
+ - `--port PORT` changes the backend port from the default `8000`.
50
+ - `--no-open` disables opening the app in your browser automatically.
51
+
36
52
  If you don't have pipx yet:
37
53
 
38
54
  **macOS**
@@ -62,27 +78,44 @@ To upgrade later: `pipx upgrade git-juggler`.
62
78
 
63
79
  ## Dev mode
64
80
 
81
+ Use the dev script to start both the backend and frontend dev servers:
82
+
83
+ ```
84
+ ./scripts/dev.sh [path-to-scan] [--port PORT] [--no-open]
85
+ ```
86
+
87
+ - `path-to-scan` is optional. On first run, it seeds the folder whose immediate children are scanned for Git repos.
88
+ - `--port PORT` is optional. It changes the backend port from the default `8000`; if you use it, update `src/frontend/vite.config.ts` locally so Vite proxies `/api` and `/ws` to the same port.
89
+ - `--no-open` disables opening the app in your browser automatically.
90
+
91
+ Or run them manually in two terminals:
92
+
65
93
  ```
66
94
  python3 -m venv .venv
67
95
  .venv/bin/pip install -e .
68
- .venv/bin/git-juggler <path-to-scan> --reload # http://127.0.0.1:8000
96
+ .venv/bin/git-juggler <path-to-scan> --reload [--no-open]
69
97
  ```
70
98
 
71
99
  ```
72
100
  cd src/frontend
73
101
  npm install
74
- npm run dev # http://localhost:5173 (proxies /api and /ws)
102
+ npm run dev # http://localhost:5173 (proxies /api and /ws to :8000)
75
103
  ```
76
104
 
77
105
  Open http://localhost:5173.
78
106
 
107
+ By default, `./scripts/dev.sh` opens http://localhost:5173 in your browser.
108
+
79
109
  ## Production (single port)
80
110
 
81
111
  ```
82
112
  cd src/frontend && npm install && npm run build
83
- cd ../.. && .venv/bin/git-juggler <path-to-scan> # http://127.0.0.1:8000
113
+ cd ../.. && .venv/bin/git-juggler <path-to-scan> [--no-open]
84
114
  ```
85
115
 
116
+ The backend serves the built frontend in this mode, so only port 8000 is needed.
117
+ By default, it opens the app in your browser.
118
+
86
119
  ## Build a Python package
87
120
 
88
121
  The Python wheel includes the built frontend assets. The generated assets are
@@ -100,8 +133,9 @@ The wheel and source distribution are written to `dist/`.
100
133
  Install the wheel locally with:
101
134
 
102
135
  ```
103
- pipx install dist/git_juggler-0.1.0-py3-none-any.whl --force
104
- git-juggler <path-to-scan> # http://127.0.0.1:8000
136
+ pipx install dist/git_juggler-*.whl --force
137
+ git-juggler <path-to-scan> [--no-open]
105
138
  ```
106
139
 
107
- GitHub Actions runs the same build and uploads the distributions as artifacts.
140
+ Versions are derived from Git tags. GitHub Actions runs the same build, uploads
141
+ the distributions as artifacts, and publishes tagged releases to PyPI.
@@ -8,6 +8,14 @@ Watch agents work live, follow every repo’s git graph, and catch what changed
8
8
 
9
9
  <img src="https://github.com/franz38/git-juggler/blob/main/resources/git-juggler-demo-4.png?raw=true" alt="git-juggler" width="100%">
10
10
 
11
+ ## What it does
12
+
13
+ - Scans the immediate children of one or more configured folders for Git repos.
14
+ - Lets you inspect and manage each repo's graph, branches, tags, stashes, dirty files, and file diffs.
15
+ - Keeps a persistent terminal per open repo and runs Git actions there so you see the real commands and output.
16
+ - Tracks local Claude Code and OpenCode sessions.
17
+ - Connects GitHub Actions and Jenkins runs to commits and active pipelines.
18
+ - VS Code-compatible themes.
11
19
 
12
20
  ## How to install
13
21
 
@@ -17,9 +25,17 @@ PATH in its own isolated environment, without touching your system Python:
17
25
 
18
26
  ```
19
27
  pipx install git-juggler
20
- git-juggler <path-to-scan> # http://127.0.0.1:8000
28
+ git-juggler [path-to-scan] [--host HOST] [--port PORT] [--no-open]
21
29
  ```
22
30
 
31
+ `<path-to-scan>` is optional and defaults to the current directory. It is used
32
+ to seed the initial search path; after that, search paths are managed in the app
33
+ from the welcome wizard or Settings.
34
+
35
+ - `--host HOST` changes the bind host from the default `127.0.0.1`.
36
+ - `--port PORT` changes the backend port from the default `8000`.
37
+ - `--no-open` disables opening the app in your browser automatically.
38
+
23
39
  If you don't have pipx yet:
24
40
 
25
41
  **macOS**
@@ -49,27 +65,44 @@ To upgrade later: `pipx upgrade git-juggler`.
49
65
 
50
66
  ## Dev mode
51
67
 
68
+ Use the dev script to start both the backend and frontend dev servers:
69
+
70
+ ```
71
+ ./scripts/dev.sh [path-to-scan] [--port PORT] [--no-open]
72
+ ```
73
+
74
+ - `path-to-scan` is optional. On first run, it seeds the folder whose immediate children are scanned for Git repos.
75
+ - `--port PORT` is optional. It changes the backend port from the default `8000`; if you use it, update `src/frontend/vite.config.ts` locally so Vite proxies `/api` and `/ws` to the same port.
76
+ - `--no-open` disables opening the app in your browser automatically.
77
+
78
+ Or run them manually in two terminals:
79
+
52
80
  ```
53
81
  python3 -m venv .venv
54
82
  .venv/bin/pip install -e .
55
- .venv/bin/git-juggler <path-to-scan> --reload # http://127.0.0.1:8000
83
+ .venv/bin/git-juggler <path-to-scan> --reload [--no-open]
56
84
  ```
57
85
 
58
86
  ```
59
87
  cd src/frontend
60
88
  npm install
61
- npm run dev # http://localhost:5173 (proxies /api and /ws)
89
+ npm run dev # http://localhost:5173 (proxies /api and /ws to :8000)
62
90
  ```
63
91
 
64
92
  Open http://localhost:5173.
65
93
 
94
+ By default, `./scripts/dev.sh` opens http://localhost:5173 in your browser.
95
+
66
96
  ## Production (single port)
67
97
 
68
98
  ```
69
99
  cd src/frontend && npm install && npm run build
70
- cd ../.. && .venv/bin/git-juggler <path-to-scan> # http://127.0.0.1:8000
100
+ cd ../.. && .venv/bin/git-juggler <path-to-scan> [--no-open]
71
101
  ```
72
102
 
103
+ The backend serves the built frontend in this mode, so only port 8000 is needed.
104
+ By default, it opens the app in your browser.
105
+
73
106
  ## Build a Python package
74
107
 
75
108
  The Python wheel includes the built frontend assets. The generated assets are
@@ -87,8 +120,9 @@ The wheel and source distribution are written to `dist/`.
87
120
  Install the wheel locally with:
88
121
 
89
122
  ```
90
- pipx install dist/git_juggler-0.1.0-py3-none-any.whl --force
91
- git-juggler <path-to-scan> # http://127.0.0.1:8000
123
+ pipx install dist/git_juggler-*.whl --force
124
+ git-juggler <path-to-scan> [--no-open]
92
125
  ```
93
126
 
94
- GitHub Actions runs the same build and uploads the distributions as artifacts.
127
+ Versions are derived from Git tags. GitHub Actions runs the same build, uploads
128
+ the distributions as artifacts, and publishes tagged releases to PyPI.
@@ -5,14 +5,16 @@ set -euo pipefail
5
5
 
6
6
  ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
7
7
  BACKEND_PORT=8000
8
+ OPEN_BROWSER=1
8
9
 
9
10
  usage() {
10
- echo "Usage: $0 [path-to-scan] [--port PORT]" >&2
11
+ echo "Usage: $0 [path-to-scan] [--port PORT] [--no-open]" >&2
11
12
  echo " path-to-scan optional: directory whose first-level children get scanned for git repos." >&2
12
13
  echo " Only used to seed the config on first run; scan paths are otherwise" >&2
13
14
  echo " managed in the app (welcome wizard / Settings)." >&2
14
15
  echo " --port PORT backend port (default: 8000). If you change this, also update" >&2
15
16
  echo " src/frontend/vite.config.ts's proxy target -- don't commit that change." >&2
17
+ echo " --no-open don't open the app in a browser automatically." >&2
16
18
  }
17
19
 
18
20
  SCAN_PATH=""
@@ -26,6 +28,10 @@ while [ $# -gt 0 ]; do
26
28
  BACKEND_PORT="${2:?--port requires a value}"
27
29
  shift 2
28
30
  ;;
31
+ --no-open)
32
+ OPEN_BROWSER=0
33
+ shift
34
+ ;;
29
35
  -*)
30
36
  echo "Unknown argument: $1" >&2
31
37
  usage
@@ -101,10 +107,10 @@ trap cleanup EXIT INT TERM
101
107
 
102
108
  if [ -n "$SCAN_PATH" ]; then
103
109
  echo "Starting backend (--reload) on port $BACKEND_PORT, scanning $SCAN_PATH ..."
104
- "$GIT_JUGGLER" "$SCAN_PATH" --reload --port "$BACKEND_PORT" &
110
+ "$GIT_JUGGLER" "$SCAN_PATH" --reload --port "$BACKEND_PORT" --no-open &
105
111
  else
106
112
  echo "Starting backend (--reload) on port $BACKEND_PORT (scan paths from config) ..."
107
- "$GIT_JUGGLER" --reload --port "$BACKEND_PORT" &
113
+ "$GIT_JUGGLER" --reload --port "$BACKEND_PORT" --no-open &
108
114
  fi
109
115
  BACKEND_PID=$!
110
116
 
@@ -112,6 +118,10 @@ echo "Starting frontend dev server..."
112
118
  (cd "$ROOT_DIR/src/frontend" && npm run dev) &
113
119
  FRONTEND_PID=$!
114
120
 
121
+ if [ "$OPEN_BROWSER" = "1" ]; then
122
+ (sleep 1 && "$VENV_BIN/python" -m webbrowser http://localhost:5173) >/dev/null 2>&1 &
123
+ fi
124
+
115
125
  echo ""
116
126
  echo "Backend: http://127.0.0.1:$BACKEND_PORT"
117
127
  echo "Frontend: http://localhost:5173 <- open this"