Skip to content

Latest commit

 

History

History
412 lines (309 loc) · 21.7 KB

File metadata and controls

412 lines (309 loc) · 21.7 KB
Hive

Hive

En open source AI-agent orkestrator til parallel kodning på tværs af projekter.

Kør Claude Code, OpenCode og Codex sessioner parallelt. Ét vindue. Isolerede branches. Nul tab-kaos.

English | العربية | বাংলা | Bosanski | Dansk | Deutsch | Ελληνικά | Español | Français | עברית | Italiano | 日本語 | 한국어 | Norsk | Polski | Português (BR) | Русский | ไทย | Türkçe | Українська | Tiếng Việt | 简体中文 | 繁體中文

Latest Release Downloads Build Status macOS Node.js Electron TypeScript License PRs Welcome


Indholdsfortegnelse

Hvad er Hive?

Hvis du kører flere AI-kodningsagenter på tværs af forskellige projekter og branches, kender du smerten -- seks terminal-faner åbne, du kan ikke huske hvilken agent der arbejder på hvad, og du er bekymret for at to af dem redigerer de samme filer.

Hive er en AI-agent orkestrator. Se alle dine kørende agenter i én sidebar, klik for at skifte mellem dem, og hver enkelt kører på en isoleret git worktree-branch, så de ikke kan konflikte. Forbind flere repositories sammen, så en enkelt agent-session har kontekst på tværs af hele din stack.

Funktioner

🌳 Worktree-First Arbejdsgang

Arbejd på flere branches samtidigt uden stashing eller switching. Opret, arkivér og organisér worktrees med ét klik. Hver worktree får et unikt bybaseret navn for nem identifikation.

🤖 Indbyggede AI-kodningssessioner

Kør AI-kodningsagenter direkte i Hive med både OpenCode og Claude Code support. Stream svar i realtid, se tool calls blive udført, og godkend tilladelser efter behov. Fuld undo/redo support holder dig i kontrol.

📁 Smart Filstifinder

Se hvad der er ændret med et blik med live git-statusindikatorer. Se diffs inline, gennemse filhistorik og navigér i din kodebase uden at forlade appen. Integreret Monaco-editor giver en fuld VS Code-oplevelse.

🔧 Komplet Git-integration

Commit, push, pull og administrér branches visuelt. Ingen terminal nødvendig for almindelige git-operationer. Se ventende ændringer, stagede filer og commit-historik alt på ét sted.

📦 Spaces til organisering

Gruppér relaterede projekter og worktrees i logiske workspaces. Fastgør favoritter for hurtig adgang. Hold dit udviklingsmiljø organiseret, efterhånden som du skalerer.

Kommandopalette

Navigér og handl hurtigt med tastaturgenveje. Tryk Cmd+K for at tilgå enhver funktion øjeblikkeligt. Søg sessioner, skift worktrees eller kør kommandoer uden at røre musen.

🎨 Smukke temaer

Vælg mellem 10 omhyggeligt designede temaer — 6 mørke og 4 lyse. Skift øjeblikkeligt for at matche din præference eller tidspunkt på dagen. Følger systemtema automatisk, hvis ønsket.

🖥️ Language Server Protocol

Fuld LSP-integration med per-worktree sprogservere. Få intelligent kodefuldførelse, go-to-definition, hover tooltips og realtidsdiagnostik for TypeScript, Python, Go, Rust og mere.

🔌 Worktree-forbindelser

Forbind to worktrees sammen for at dele kontekst, sammenligne implementeringer eller samarbejde i realtid. Perfekt til at gennemgå ændringer mellem branches, dele AI-sessioner på tværs af worktrees eller opretholde konsistens, når du arbejder på relaterede funktioner. Se live-opdateringer, når forbundne worktrees ændres.

Hvorfor Hive?

Se hvordan Hive transformerer din git-arbejdsgang:

Opgave Traditionel arbejdsgang Med Hive
Skift branch git stashgit checkoutgit stash pop Klik på worktree → Færdig
Arbejd på flere funktioner Konstant stashing og kontekstskift Åbn flere worktrees side om side
Opret worktree git worktree add ../project-feature origin/feature Klik "Ny Worktree" → Vælg branch
AI-kodningshjælp Terminal + separat AI-værktøj + kopiér/indsæt Integrerede AI-sessioner med fuld kontekst
Se filændringer git statusgit diff file.ts Visuelt træ med inline diffs
Sammenlign branches Flere terminal-faner, kopiér/indsæt mellem dem Forbind worktrees for at dele kontekst
Find en worktree cd ~/projects/... → husk mappenavne Alle worktrees i én sidebar
Ryd op i worktrees git worktree removerm -rf directory Klik "Arkivér" → Klarer alt

Installation

🍎 Kun macOS — Windows og Linux support kommer snart.

Via Homebrew (Anbefalet)

brew tap morapelker/hive
brew install --cask hive

Direkte download

Download den seneste .dmg fra GitHub Releases.

Det er det! Åbn Hive fra din Programmer-mappe og peg den mod et git-repo.

Hurtig start

Kom i gang på under 2 minutter:

1️⃣ Tilføj dit første projekt

Åbn Hive → Klik "Tilføj Projekt" → Vælg et vilkårligt git-repository på din maskine

2️⃣ Opret en Worktree

Vælg dit projekt → Klik "Ny Worktree" → Vælg en branch (eller opret en ny)

3️⃣ Begynd at kode med AI

Åbn en worktree → Klik "Ny Session" → Begynd at kode med OpenCode eller Claude

💡 Pro tip: Tryk Cmd+K når som helst for at åbne kommandopaletten og navigere hurtigt!

📖 Læs den fulde guide | ⌨️ Tastaturgenveje

🔌 Worktree-forbindelser - Den store game changer

Hives Worktree-forbindelser funktion lader dig linke to worktrees sammen og skabe en bro mellem forskellige branches eller funktioner. Dette er utroligt kraftfuldt for udviklingsarbejdsgange, der kræver bevidsthed på tværs af branches.

Hvad er Worktree-forbindelser?

Forbind to vilkårlige worktrees for at:

  • 🔄 Dele kontekst - Tilgå filer og ændringer fra en anden branch øjeblikkeligt
  • 🤝 Samarbejde - Arbejd på relaterede funktioner med live-opdateringer mellem worktrees
  • 📊 Sammenligne - Se forskelle mellem implementeringer side om side
  • 🎯 Referere - Hold din main branch synlig, mens du arbejder på funktioner
  • 🔗 Linke funktioner - Forbind frontend og backend branches til full-stack udvikling
  • 💬 Dele AI-sessioner - Fortsæt AI-samtaler på tværs af forskellige worktrees

Sådan fungerer det

  1. Vælg kilde-Worktree - Vælg den worktree, du arbejder i
  2. Forbind til mål - Klik forbindelsesikonet og vælg en anden worktree
  3. Tovejs-link - Begge worktrees bliver bevidste om hinanden
  4. Realtidsopdateringer - Se ændringer i forbundne worktrees, når de sker

Forbindelsesfunktioner

  • Live synkronisering - Filændringer i én worktree vises i forbindelsespanelet
  • Hurtigt skift - Hop mellem forbundne worktrees med ét klik
  • Diff-visning - Sammenlign filer mellem forbundne worktrees
  • Delt terminal - Kør kommandoer, der påvirker begge worktrees
  • AI-kontekstdeling - AI-sessioner kan referere til kode i forbundne worktrees
  • Statusindikatorer - Se build-status, tests og ændringer i forbundne worktrees
  • Forbindelseshistorik - Spor hvilke worktrees der var forbundne og hvornår
  • Smarte forslag - Hive foreslår relevante worktrees at forbinde baseret på din arbejdsgang

Eksempler på brug

Funktionsudvikling: Forbind din feature-branch til main for at sikre kompatibilitet og se, hvordan dine ændringer integreres.

Fejlrettelser: Forbind bugfix-worktree til produktionsbranchen for at verificere, at rettelsen virker i kontekst.

Kodegennemgang: Forbind reviewer og forfatter worktrees for at diskutere ændringer med fuld kontekst på begge sider.

Full-Stack udvikling: Forbind frontend og backend worktrees for at arbejde på API og UI samtidigt med perfekt koordination.

Refaktorering: Forbind gamle og nye implementeringer for at sikre funktionsparitet under store refaktoreringer.

Se det i aktion

Hive demo — orkestrér AI-agenter på tværs af projekter
Flere skærmbilleder

Hive — AI-kodningssession med git worktrees AI-drevne kodningssessioner med integreret git worktree-styring

Oprettelse af ny worktree Opret og administrér worktrees visuelt

Filtræ med git-status Filstifinder med live git-statusindikatorer

Tema-showcase Smukke temaer til enhver præference

Fællesskab & Support

Documentation Issues Discussions Contributing Security

Få hjælp

Ressourcer

Køreplan

🚀 Kommer snart

  • Tværplatform-support — Windows og Linux builds
  • Plugin-system — Udvid Hive med tilpassede integrationer
  • Cloud-synkronisering — Synkronisér indstillinger, sessioner og forbindelsesskabeloner på tværs af enheder
  • Teamfunktioner — Del worktrees og samarbejd i realtid
  • Git graf-visualisering — Visuel branch-historik og merges
  • Ydelsesprofilering — Indbyggede værktøjer til optimering

🎯 Fremtidsvision

  • Fjernudvikling — SSH og container-baseret udvikling
  • Trevejsforbindelser — Forbind og flet flere branches visuelt
  • CI/CD-integration — GitHub Actions, GitLab CI, Jenkins overvågning
  • Forbindelsesautomatisering — Auto-forbind relaterede branches baseret på mønstre
  • Kodegennemgangstilstand — Speciel forbindelsestype optimeret til gennemgange
  • Tidssporing — Per-worktree og per-forbindelse aktivitetsanalyse

Vil du påvirke køreplanen? Deltag i diskussionen eller bidrag!


Udvikling

Forudsætninger

  • Node.js 20+
  • pnpm 9+
  • Git 2.20+ (worktree support)

Opsætning

git clone https://github.com/anomalyco/hive.git
cd hive
pnpm install
pnpm dev

Ghostty Terminal (Valgfri)

Hive inkluderer en valgfri native terminal drevet af Ghosttys libghostty. Dette er kun nødvendigt, hvis du vil arbejde på den integrerede terminal-funktion.

Opsætning:

  1. Byg libghostty fra Ghostty-kildekoden (byggevejledning):

    cd ~/Documents/dev
    git clone https://github.com/ghostty-org/ghostty.git
    cd ghostty
    zig build -Doptimize=ReleaseFast

    Dette producerer macos/GhosttyKit.xcframework/macos-arm64_x86_64/libghostty.a.

  2. Hvis dit Ghostty-repo er på ~/Documents/dev/ghostty/, finder buildet det automatisk. Ellers, sæt stien:

    export GHOSTTY_LIB_PATH="/path/to/libghostty.a"
  3. Genbyg den native addon:

    cd src/native && npx node-gyp rebuild

Hvis libghostty ikke er tilgængelig, bygger og kører Hive stadig -- Ghostty terminal-funktionen vil bare være deaktiveret.

Kommandoer

Kommando Beskrivelse
pnpm dev Start med hot reload
pnpm build Produktionsbuild
pnpm lint ESLint-kontrol
pnpm lint:fix ESLint auto-fix
pnpm format Prettier-formatering
pnpm test Kør alle tests
pnpm test:watch Watch-tilstand
pnpm test:e2e Playwright E2E-tests
pnpm build:mac Pakke til macOS

Arkitektur

Hive bruger Electrons tre-procesmodel med streng sandboxing:

┌─────────────────────────────────────────────────────┐
│                    Main Process                      │
│               (Node.js + SQLite)                     │
│                                                      │
│  ┌──────────┐ ┌──────────┐ ┌───────────────────┐   │
│  │ Database  │ │   Git    │ │ OpenCode Service  │   │
│  │ Service   │ │ Service  │ │  (AI Sessions)    │   │
│  └──────────┘ └──────────┘ └───────────────────┘   │
│                      │                               │
│              ┌───────┴───────┐                       │
│              │  IPC Handlers │                       │
│              └───────┬───────┘                       │
└──────────────────────┼──────────────────────────────┘
                       │ Typed IPC
┌──────────────────────┼──────────────────────────────┐
│              ┌───────┴───────┐                       │
│              │    Preload    │                       │
│              │   (Bridge)    │                       │
│              └───────┬───────┘                       │
└──────────────────────┼──────────────────────────────┘
                       │ window.* APIs
┌──────────────────────┼──────────────────────────────┐
│                 Renderer Process                     │
│              (React + Tailwind)                      │
│                                                      │
│  ┌──────────┐ ┌──────────┐ ┌───────────────────┐   │
│  │ Zustand   │ │ shadcn/  │ │    Components     │   │
│  │ Stores    │ │ ui       │ │  (14 domains)     │   │
│  └──────────┘ └──────────┘ └───────────────────┘   │
└─────────────────────────────────────────────────────┘

Projektstruktur

src/
├── main/                  # Electron hovedproces (Node.js)
│   ├── db/                # SQLite database + skema + migrationer
│   ├── ipc/               # IPC handler-moduler
│   └── services/          # Git, OpenCode, logger, fil-services
├── preload/               # Bro-lag (typede window.* API'er)
└── renderer/src/          # React SPA
    ├── components/        # UI organiseret efter domæne
    ├── hooks/             # Tilpassede React hooks
    ├── lib/               # Værktøjer, temaer, hjælpere
    └── stores/            # Zustand state management

Tech Stack

Lag Teknologi
Framework Electron 33
Frontend React 19
Sprog TypeScript 5.7
Styling Tailwind CSS 4 + shadcn/ui
State Zustand 5
Database better-sqlite3 (WAL-tilstand)
AI OpenCode SDK
Git simple-git
Build electron-vite

Dokumentation

Detaljeret dokumentation findes i docs/:

Bidrag

Vi elsker bidrag! Hive er bygget af udviklere, til udviklere, og vi byder forbedringer af alle slags velkomne.

Måder at bidrage

  • 🐛 Rapportér fejl med klare reproduktionstrin
  • 💡 Foreslå funktioner der vil forbedre din arbejdsgang
  • 📝 Forbedr dokumentation for at hjælpe andre i gang
  • 🎨 Indsend UI/UX-forbedringer for bedre brugervenlighed
  • 🔧 Ret fejl fra vores issue tracker
  • Optimér ydeevne i kritiske stier
  • 🧪 Tilføj tests for at forbedre dækning
  • 🌐 Oversæt appen til dit sprog

Før du bidrager, læs venligst vores Retningslinjer for bidrag og Adfærdskodeks.

Hurtig bidragsguide

  1. Fork repositoriet
  2. Opret en feature-branch (git checkout -b feature/amazing-feature)
  3. Foretag dine ændringer
  4. Kør tests (pnpm test) og linting (pnpm lint)
  5. Commit med en beskrivende besked
  6. Push til din fork
  7. Åbn en Pull Request

Se CONTRIBUTING.md for detaljerede retningslinjer.

Licens

MIT © 2024 morapelker

Hive er open source software licenseret under MIT-licensen. Se LICENSE filen for fulde detaljer.