Travailler dans un projet

Projets

Donnez un dossier à Code. Il y lit, modifie et exécute des commandes, et nulle part ailleurs.

Un projet, c'est un dossier dans lequel Code travaille. Chaque chemin est résolu en suivant les liens symboliques, puis vérifié contre ce dossier : ni .. ni un lien qui sort de l'arborescence ne mène ailleurs.

Les réglages Projets de Draggy pour weather-cli : son nom, son dossier et sa mémoire de projet, la permission Accepter les modifications choisie, et une liste vide de commandes toujours autorisées.

Ce qui reste refusé

  • Les dossiers comme .ssh, .aws, .gnupg, .kube
  • Les fichiers comme .env, id_rsa, .pem, .npmrc, credentials
  • Tout ce qui dépasse 2 Mo, et tout ce qui n'est pas du texte

Tout changement est annulable

Une étape qui a modifié un fichier affiche un diff et un bouton Annuler. Les octets précédents sont gardés par Draggy, donc l'annulation marche même dans un dossier qui n'est pas un dépôt. Un fichier supprimé est allé à la corbeille.

Le canevas

Cliquez un fichier dans l'arborescence et il s'ouvre à côté de la conversation : un fichier de code en édition avec coloration syntaxique, du Markdown avec un choix entre Éditer et Aperçu. Les modifications du modèle sur le même fichier y apparaissent au fur et à mesure.

Fichiers dans la barre latérale montre la même arborescence en grand, avec renommer, révéler et supprimer à côté de l'éditeur.

Git

Dans un dépôt, un bandeau sous l'arborescence montre la branche, ce qui n'est pas poussé et ce qui a changé, avec un bouton Diff par fichier. Le modèle lit la même chose via git_status et git_diff, avec les hooks, les filtres et les outils de diff externes du dépôt désactivés. Il ne commite ni ne récupère jamais.

Mémoire du projet

Un AGENTS.md à la racine du projet est lu à chaque tour. Mettez-y ce qu'il faudrait dire à quelqu'un qui arrive : comment lancer les tests, ce qu'il ne faut pas toucher, les conventions. /init en rédige un d'après ce qui est déjà là.