In einem Projekt arbeiten
Projekte
Gib Code einen Ordner. Dort liest, ändert und führt es aus, und sonst nirgends.
Ein Projekt ist ein Ordner, in dem Code arbeitet. Jeder Pfad wird mit
aufgelösten symbolischen Links gegen diesen Ordner geprüft, damit weder
.. noch ein Link aus dem Baum heraus irgendwo hinführt.
Was trotzdem abgelehnt wird
- Ordner wie
.ssh,.aws,.gnupg,.kube - Dateien wie
.env,id_rsa,.pem,.npmrc,credentials - Alles über 2 MB, und alles, was kein Text ist
Jede Änderung lässt sich zurücknehmen
Ein Schritt, der eine Datei geändert hat, zeigt ein Diff und einen Knopf Rückgängig. Die vorherigen Bytes liegen in Draggys eigenem Ordner, also funktioniert das auch in einem Ordner ohne Repository. Eine gelöschte Datei ist im Papierkorb.
Die Arbeitsfläche
Klick eine Datei im Baum an und sie öffnet sich neben der Unterhaltung: eine Codedatei im Bearbeiten-Modus mit Syntaxhervorhebung, Markdown mit einem Umschalter zwischen Bearbeiten und Vorschau. Die Änderungen des Modells an derselben Datei laufen dort mit ein.
Dateien in der Seitenleiste zeigt denselben Baum in voller Größe, mit Umbenennen, Anzeigen und Löschen neben dem Editor.
Git
In einem Repository zeigt ein Streifen unter dem Baum den Branch, was noch nicht
gepusht ist und was sich geändert hat, mit einem Diff-Knopf je
Datei. Das Modell liest dasselbe über git_status und
git_diff, mit abgeschalteten Hooks, Filtern und externen
Diff-Werkzeugen des Repositorys. Es committet und fetcht nie.
Projektgedächtnis
Eine AGENTS.md im Projektstamm wird in jeden Zug eingelesen. Schreib
hinein, was jemand Neues wissen müsste: wie die Tests laufen, was nicht
angefasst wird, der Hausstil. /init entwirft eine aus dem, was schon
da ist.