Fabian.urbanek/fix branch and worktree changing behaviour#251
Closed
ByteMirror wants to merge 77 commits intosmtg-ai:mainfrom
Closed
Fabian.urbanek/fix branch and worktree changing behaviour#251ByteMirror wants to merge 77 commits intosmtg-ai:mainfrom
ByteMirror wants to merge 77 commits intosmtg-ai:mainfrom
Conversation
Add skipPermissions bool to TmuxSession that appends --dangerously-skip-permissions to the Claude command at spawn time. Only applies to Claude programs (not aider/gemini).
- S key creates new instance with --dangerously-skip-permissions - Per-instance ⚡ badge in list view for skip-permissions instances - Help screen updated with new keybinding
- Sidebar component with search bar, topic list, and focus management - Keybindings: T (new topic), m (move), / (search), ←/→ (focus)
- StartInSharedWorktree() for instances using a topic's worktree - Kill/Pause skip worktree cleanup when sharedWorktree=true
Wire together the sidebar, topic management, search filtering, and instance list into a unified three-column layout (sidebar | instances | preview). Add topic creation (T), search (/), focus switching (h/l), and topic-aware instance creation. Update list filtering to maintain separate allItems/items for topic and search filtering.
- Topic creation now asks y/n for shared worktree via confirmation overlay - Press m to move instance to a different topic (text input overlay) - Shared-worktree instances cannot be moved between topics
- Click sidebar items to select topics - Click search bar to activate search mode - Click instance list items to select instances - Click preview area to focus instance list - Scroll wheel behavior preserved
Remove border-based highlights that caused double-highlight effect. Use background color fill for selected items, with a subtle active state for the topic when sidebar is unfocused.
Context menus: - Right-click topic: delete, push branch - Right-click instance: open, kill, pause/resume, move, push - Left-click or Esc dismisses menu Active topic highlight: - Selected topic stays highlighted when focus moves to instance list - Uses subtle background color to indicate which topic is active
- Remove 90% width reduction on preview/list (use full width minus border) - Left-align main layout instead of centering - Fix instance highlight to use uniform width for title and description
- New PickerOverlay component with search bar and selectable list - Shows all non-shared topics plus (Ungrouped) option - Navigate with arrow keys, filter by typing, Enter to select, Esc to cancel
Instance creation no longer blocks the UI. The startup (git worktree creation + tmux session spawn) runs in a background goroutine while a spinner shows Loading status on the instance. The UI remains fully interactive during startup.
- Sidebar wrapped in rounded border with muted grey stroke - Selected topic: white bg (dark mode) / black bg (light mode) - Active topic (unfocused): 50% muted version of selected - Adaptive colors for light/dark terminal modes
- Preview pane shows "Starting instance..." with styled message when a Loading instance is selected (instead of "enter name" text) - Sidebar search dims topics with no matching instances - Topic counts update dynamically to show match count during search
- Move picker now shows all topics (was filtering out shared ones) - Sidebar shows ⚙ icon for shared-worktree topics - Fixed-width prefix keeps text aligned across all sidebar items
Loading indicator: - Animated progress bar with cycling fill pattern - Rotating status messages (worktree, branch, tmux, process) Search UX: - Resets to "All" when search activates (shows all matches) - Arrow keys navigate topics while search is active - Instance list filters by both search query AND selected topic - Topics dim and counts update dynamically during search
- Topics with 0 search matches are hidden instead of dimmed - Section headers hidden during active search for cleaner list - All three columns use same fixed height for uniform alignment
- Instance.Start() updates LoadingStage (1-4) as it progresses through: preparing session, creating worktree, setting up worktree, starting tmux - Preview pane reads actual stage and shows real progress bar + step label - StartInSharedWorktree also tracks its 2 stages
- Selected instance shows muted highlight when list is not focused - Matches the sidebar's active topic behavior for visual consistency - Centralized focus management via setFocus() helper
Progress bar now tracks all 7 actual startup stages: 1. Preparing session 2. Creating git worktree 3. Setting up git worktree 4. Creating tmux session 5. Waiting for session to start 6. Configuring session 7. Waiting for program (Claude trust prompt — the slow part) TmuxSession reports progress via ProgressFunc callback to Instance. Preview pane reads LoadingMessage directly from instance. Sidebar border now fills to full column height matching preview pane.
- Increased loading totals so the "waiting for program" stage shows partial progress (~85%) instead of 100% - Show percentage instead of "Step X of Y" - Sidebar top aligned with preview pane tab row via PaddingTop(3)
- Add KeySpace handler in search state so multi-word queries work - All columns use same total height (contentHeight + 3) - Different top padding (sidebar=3, list/preview=1) for tab alignment but same total height ensures matching bottom edges
…and repo persistence - Position repo picker overlay near the sidebar button instead of centered - Filter topics by active repo path using allTopics master list - Persist recently opened repos in state file so empty repos stay in picker
Topics created before the repo switcher used Path: "." which matched every repo. Now on load, "." paths are migrated to the actual cwd, and the filter only shows topics whose Path exactly matches the active repo.
- Add stateFocusGit state for dedicated lazygit input mode - Auto-enter focus mode when git tab is active - Ctrl+Space exits both agent focus and lazygit focus - Add ESC and Shift+Tab to keyToBytes so lazygit receives them - Update help text to reflect Ctrl+Space exit hotkey
The window body was 2 chars wider than the tab row because lipgloss.Place used w.width before border wrapping. Subtract the horizontal frame size so the total rendered width matches.
Rebrand claude-squad fork as Hivemind - a TUI-based agent-driven IDE. - Set version to 0.1.0 for first public release - Update all repo references to ByteMirror/hivemind - Add Homebrew tap auto-publishing via GoReleaser - Update install script for Hivemind binary and repo - Rewrite README with Hivemind branding and installation instructions - Rebrand Next.js landing page (metadata, content, install commands) - Include all MVP features: toast notifications, repo switcher, agent activity display, context menu, gradient theming, and more
- Change Go module path from `hivemind` to `github.com/ByteMirror/hivemind` enabling `go install github.com/ByteMirror/hivemind@latest` - Add Scoop bucket support via GoReleaser for Windows users - Create ByteMirror/scoop-bucket repo for Windows distribution - Update README and landing page with all installation methods - Bump version to 0.2.0
Replace the existing light/dark theme website with a modern, animated dark-only landing page featuring star field canvas background, Framer Motion scroll animations, glassmorphic UI cards, and the Hivemind brand gradient (amber #F0A868 → teal #7EC8D8). New components: StarField, ScrollReveal, GradientText, TypewriterText, FeatureCard, InstallTabs, Header, ClientApp/PageContent wrappers. Removed: ThemeToggle, CopyButton (replaced by InstallTabs built-in copy).
16x16 pixel bee rendered with CSS box-shadow technique. Uses brand colors (amber body, teal wings). Animates with wing flutter (150ms frame swap) and idle bob in the hero. Small static version in header.
Replace static hero PixelBee with a canvas-rendered floating companion that follows the cursor with spring physics, has 6 animation states (idle, flying, banking, excited, sleeping), and leaves a golden sparkle particle trail. 32x32 pixel art sprite at 2.5x scale, zero new deps.
Extract 32x32 sprite data into bee-sprites.ts as single source of truth. BeeCompanion and PixelBee both now use the same base sprite. Add small animated bee back to hero section above heading.
- Widen body to 18px (vs 14px head) for proper bumble bee silhouette - Darken stripe color from #D4863C to #5C3D1E for clear visibility - Add 4 stripe bands alternating with amber rows - Enlarge wings to 7px each side - Smooth 5-step taper (18→16→14→12→10) instead of steep staircase - Widen shadow to match new body width - Update makeWingsDown for new body dimensions
Prevents accidentally committing worktree contents to repository.
Create the Hivemind MCP server package (mcp/) and binary entry point (cmd/mcp-server/) exposing three read-only tools for Claude Code agents: - list_instances: returns all Hivemind instances with status, branch, and diff stats from state.json - check_file_activity: placeholder for file conflict detection (to be implemented in a later phase) - get_shared_context: reads shared discoveries from shared_context.json Uses mark3labs/mcp-go v0.44.0 with stdio transport. The server includes system instructions guiding agents to coordinate with the swarm.
Cover StateReader.ReadInstances() (valid/empty/missing/malformed/null state files, all status values) and all three Tier 1 tool handlers (list_instances, check_file_activity, get_shared_context) including edge cases for missing params and absent files.
Write a .mcp.json file into the worktree directory before launching the agent so Claude Code auto-discovers the Hivemind MCP server. Injection occurs at all 3 startup paths (Start, StartInSharedWorktree, Resume) and is non-fatal -- missing hivemind-mcp binary is silently skipped as a progressive enhancement.
- Makefile builds both hivemind and hivemind-mcp - Goreleaser produces both binaries for all platforms - Homebrew formula installs both binaries - MCP config writer checks GOPATH/bin as fallback for go install users
…rovements - Add multi-repo view support with toggle (space) and exclusive switch (enter) in the repo picker, grouped sidebar sections per repo, and per-repo filtering - Enhance MCP server with brain client, logging, and expanded tool handlers - Add brain IPC package for multi-agent coordination - Add terminal pane, picker overlay secondary actions, and UI refinements - Extract helpers to reduce duplication across app input, state, and sidebar - Add CLAUDE.md project conventions, error sentinels, and fileutil helpers
|
Thank you for your contribution! Please sign the CLA before we can merge your pull request. You can sign the CLA by just posting a comment following the below format. I have read the CLA Document and I hereby sign the CLA You can retrigger this bot by commenting recheck in this Pull Request. Posted by the CLA Assistant Lite bot. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.