No description
| AGENTS.md | ||
| README.md | ||
ZellIDE
Eine Terminal-basierte IDE-Umgebung gebaut auf Zellij, Helix, Yazi und lazygit.
Vision
Weg von VSCode, zurück ins Terminal - aber mit modernem Komfort. Eine IDE-Erfahrung die sich anfühlt wie eine richtige IDE, aber komplett im Terminal läuft und keine Electron-Bloat mitbringt.
Kernideen
Auto-Detection & Session Management
Git-basierte Projekterkennung:
- Beim
cdin ein Git-Repository wird automatisch erkannt ob es ein IDE-Projekt ist - Session-Namen werden vom Git-Root-Namen abgeleitet
- Format:
ide:projektname - Eine
.zellij-ideDatei im Git-Root markiert das Projekt
Intelligentes Session-Handling:
- Beim Betreten eines Projekts: Angebot die IDE zu starten oder zu einer laufenden Session zu attachen
- Kein Nesting: Wenn bereits in einer Zellij-Session, kein erneuter Prompt
- Manuelles Attachen jederzeit möglich via Helper-Script
Session-Naming-Schema
Verschiedene Session-Typen für verschiedene Use-Cases:
IDE Sessions: ide:projektname
- Immer für Git-Projekte
- Name vom Repository-Root abgeleitet
- Persistente Layout-Konfiguration
Shell Sessions: zsh:fancy-name oder zsh:verzeichnisname
- Fancy-Names: Zufällige Kombinationen wie "super-koala", "elegant-mammoth"
- Oder: Aktuelles Verzeichnis als Name
- Für ad-hoc Terminal-Arbeit
Custom Sessions: Offen für weitere Typen
- Prefix-System ermöglicht Erweiterung
- z.B.
debug:,monitor:, etc.
Layout-Struktur
Haupt-Layout für IDE:
┌─────────────┬──────────────────────────┐
│ yazi │ │
│ (file tree) │ helix │
│ │ (main editor) │
│ │ │
├─────────────┤ │
│ lazygit │ │
│ │ │
└─────────────┴──────────────────────────┘
Floating Pane:
- Ad-hoc Terminal via Keybind (z.B. Ctrl+t)
- Für schnelle Befehle ohne Layout zu zerstören
- Ansible-Playbooks ausführen, docker-compose up, etc.
Integration & Features
Helix LSP Support:
- YAML (ansible-language-server)
- Docker Compose
- TOML/JSON für Configs
- Bash/Shell Scripts
- Später: Rust (rust-analyzer)
Git-Integration:
- Inline Git-Gutter in Helix
- lazygit für visuelle Git-Operationen
- Beide Tools arbeiten auf dem gleichen Repo
File Navigation:
- yazi als File-Explorer mit Previews
- Helix fuzzy file finder (Space+f)
- Buffer-Switcher (Space+b)
Workflow-Beispiel
cd ~/git/infrastructure- Prompt: "IDE für 'infrastructure' starten? [y/N]"
- Bei 'y': Zellij startet mit IDE-Layout, Session
ide:infrastructure - Bei 'n': Normale Shell, später
ide-attachzum Starten - Arbeit in der IDE: yazi für Navigation, helix zum Editieren, lazygit für Commits
- Floating Terminal (Ctrl+t) für ansible-playbook Ausführung
- Detach jederzeit, Re-Attach von überall im Projekt
Ziele
- Komfort: Fühlt sich an wie eine richtige IDE
- Performance: Kein Electron, native Terminal-Tools
- Flexibilität: Erweiterbar, anpassbar, scriptbar
- Konsistenz: Gleiche Umgebung lokal und auf Remote-Servern
- Muscle Memory: Helix-Keybinds lernen und überall nutzen
Nächste Schritte
- Basis-Setup: Zsh-Hooks, Session-Detection
- Zellij-Layout definieren
- Helix-Konfiguration mit LSP
- Helper-Scripts für Session-Management
- Testing mit infrastructure-Repo
- Migration von tmux auf Servern
- Rust-Entwicklungsumgebung aufsetzen