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.

Draggys Projekteinstellungen für weather-cli: Name, Ordner und Projektgedächtnis, die gewählte Berechtigung Änderungen annehmen, und eine leere Liste immer erlaubter Befehle.

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.