Au quotidien
Projets
Ajouter un projet, ce que l’agent en fait, et comment il arrive derrière une URL.
Un projet est un dépôt git ou un dossier sur le serveur. L’agent en tient un registre, et l’app affiche ce que dit le registre. Rien n’est deviné.
En ajouter un
« Nouveau projet », sur le tableau de bord ou dans la barre latérale. Donnez une URL git ou pointez un dossier qui existe déjà sous le dossier des projets ; l’agent lit la source avant de déclarer quoi que ce soit — le gestionnaire de paquets qu’elle verrouille, le script qui la démarre, le port qu’elle demande s’il est libre — et le formulaire propose le reste : un nom tiré de l’adresse, un port qu’aucun projet déclaré ne tient, la commande de démarrage. Tout reste modifiable ; le serveur décide de ce qu’il accepte et le dit. Une fois créé, l’agent :
- clone le dépôt dans votre dossier de projets, ou adopte le dossier ;
- détecte le gestionnaire de paquets et installe les dépendances ;
- lit la commande de démarrage que le projet déclare ;
- le démarre dans une session
tmuxnommée d’après le projet ; - rapporte le port sur lequel il écoute, l’URL, et le flux de logs.
Si une étape a besoin de quelque chose qui manque — un runtime non installé, une base que le projet attend — elle le dit et nomme le module qui le fournit.
Où il vit
Les projets vivent sous le dossier choisi pendant core.system, un dossier par projet, appartenant à dev. Le registre enregistre le chemin absolu : un projet déplacé à la main reste un projet que l’agent retrouve.
Démarrer et arrêter
Le démarrage et l’arrêt passent par tmux. C’est délibéré : un projet continue de tourner quand vous fermez l’app, quand votre laptop s’endort, et quand votre connexion tombe. Rouvrez l’app, elle se rattache à la même session avec le même historique.
Logs
L’app diffuse la sortie de la session telle que l’agent la lit. L’historique est celui de tmux ; rien n’est mis en tampon sur la plateforme, et rien n’est stocké ailleurs que sur la machine.
Fichiers d’environnement
Si tool.1password est installé, un projet qui porte un gabarit .env.local voit son fichier généré depuis votre coffre au démarrage. Sans lui, vous gérez vos fichiers d’environnement vous-même, dans le dossier, comme partout ailleurs.
Exposition
Par défaut un projet écoute en local et l’app l’atteint par la session SSH qu’elle tient déjà. C’est un état, pas un module : ne cochez aucune exposition et rien n’est publié. Avec exposure.cloudflare installé, vous pouvez donner à un projet une route sur votre domaine — un tunnel pour la machine, une route par projet, DNS et certificat gérés ; exposure.caddy fait de même pour un domaine hors Cloudflare.