Werken in een project

Projecten

Geef Code een map. Daar leest, bewerkt en draait het, en nergens anders.

Een project is één map waarin Code werkt. Elk pad wordt met gevolgde symbolische links tegen die map gecontroleerd, zodat .. noch een link buiten de boom ergens anders uitkomt.

De projectinstellingen van Draggy voor weather-cli: naam, map en projectgeheugen, de gekozen toestemming Wijzigingen accepteren, en een lege lijst met altijd toegestane opdrachten.

Wat toch geweigerd wordt

  • Mappen als .ssh, .aws, .gnupg, .kube
  • Bestanden als .env, id_rsa, .pem, .npmrc, credentials
  • Alles boven de 2 MB, en alles wat geen tekst is

Elke wijziging is terug te draaien

Een stap die een bestand veranderde toont een diff en een knop Ongedaan maken. De vorige bytes blijven in Draggy's eigen map, dus dat werkt ook in een map die geen repository is. Een verwijderd bestand ging naar de prullenbak.

Het canvas

Klik een bestand in de boom en het opent naast het gesprek: een codebestand in bewerkmodus met syntaxkleuring, Markdown met een keuze tussen Bewerken en Voorbeeld. De wijzigingen van het model aan datzelfde bestand komen er binnen terwijl ze gebeuren.

Bestanden in de zijbalk toont dezelfde boom op volle grootte, met hernoemen, tonen in het systeem en verwijderen naast de editor.

Git

In een repository toont een strook onder de boom de branch, wat nog niet gepusht is en wat er veranderde, met een Diff-knop per bestand. Het model leest hetzelfde via git_status en git_diff, met de hooks, filters en externe diff-programma's van de repository uitgezet. Het commit en fetcht nooit.

Projectgeheugen

Een AGENTS.md bovenin het project wordt elke beurt meegelezen. Zet erin wat iemand die net binnenkomt zou moeten weten: hoe je de tests draait, wat je niet aanraakt, de huisstijl. /init schrijft er een op basis van wat er al ligt.