Frank & Louis
Version française
Requires a Louis account. This extension is a Louis client, and cannot be used without one. Visit JFDavignon.Solutions to find out more.
Frank is Louis' software-development agent. Louis is where your team's work is planned; Frank
is the member of that team who works on the code, and this extension is where he does it — reading
and editing files, running your tests, and recording everything back into Louis.
It also brings the rest of your Louis work into the editor: sign in, pick the organization and the
project or cycle you are working in, see your tasks in the side bar, and open one in a proper
editor tab.
Frank needs an AI-assisted organization. He appears only when the organization you have
selected is on a plan that includes AI assistance. Everything else — the task list, the task
editor, the workflow actions — works on any plan, so the extension is worth having either way.
Switching to an AI-assisted organization makes the Frank view appear; switching away hides it.
Everything Frank spends is recorded in Louis, so his usage shows up beside the rest of your
team's in the AI statistics page.
Commands are split across two categories in the Command Palette: Louis for your organization,
projects and tasks, and Frank for the chat itself.
What it gives you
A task list, natively. A VS Code tree in the activity bar. It
groups by status, sprint/milestone or task type. A summary of the task details are in the
hover.
It is your list, not the project board: it carries the work assigned to you, plus unclaimed work
where the project assigns on progress, since that is work you could pick up. Everyone else's stays
in Louis. Where unclaimed work is listed, a toolbar toggle narrows it to yours alone.
A task editor. Opening a task opens a real editor tab with a dirty indicator and Ctrl+S to save.
Which fields you can change follows your role in Louis exactly as the web app does — a task you
are not associated with is read-only, a completed task locks down except for its resolution
comments, and a closed project or cycle freezes everything. A task with a workflow is assigned one
step at a time, so it has no task-level owner field; its workflow section names who holds each step.
Frank. A chat view where Frank can read and search your workspace, read the problems
VS Code has already found, write files, run your tests and build, and read your Louis tasks and
wiki. Every change he wants to make is shown to you first, the exact diff or the exact command,
and nothing happens until you approve it.
You can see what he is doing. A status strip shows the phase, elapsed time and how far through
the tool loop he is; every tool row opens to show what he asked for and what came back; and a turn
closes with the list of files it changed, each one clickable.
Context you point at. Highlight some code and it is offered as a chip on your next message —
visible, and removable if you did not mean it. Frank: Add File to Frank attaches the current file,
and asking about a task from the task list attaches the task. Nothing is added to a prompt without
appearing as a chip first.
Getting started
- Louis: Sign In from the Command Palette, or the button in the Louis side bar.
- Pick your organization and your project or cycle. If you only have one of either, it is
selected for you.
- Tasks appear in the Louis view. Click one to open it.
- Open the Frank view to start working with him. Drag its icon into the Secondary
Side Bar to keep him beside your code.
Projects, cycles, sprints and milestones
A cycle is not a separate thing in Louis — it is a project configured to run on a fixed
period. The picker lists both and labels each one correctly. Inside a project or cycle, the
sub-period is a milestone, called a sprint when the project is configured that way. The
sprint/milestone picker doubles as the task filter, with All, Active, Future, Closed and
Not scheduled on top of the individual ones. A project with milestones turned off has none of
this: the picker is not shown, and grouping falls back to status for that project.
See the Louis User Guide to learn more about projects, cycles, sprints and milestones.
Settings
| Setting |
What it does |
frank.apiUrl |
Louis API base URL. Administrative — honoured only while developing the extension; a release always talks to the deployment it was built for. |
frank.couchdb.url |
CouchDB base URL. Administrative — honoured only while developing the extension, or for a Louis sysadmin. Otherwise the host comes from the selected organization. |
frank.tasks.groupBy |
status, milestone, type or flat. milestone falls back to status in a project that has milestones turned off. |
frank.tasks.showDone |
Include completed tasks in the list. |
frank.tasks.showBacklog |
Include backlog tasks in the list. Off by default — backlog work is planned in Louis, and counting it would drown the view badge. |
frank.maxLoops |
Tool-loop iterations before Frank asks whether to keep going. |
frank.autoApprove |
reads (default), reads-and-edits, all, or nothing. |
frank.deniedCommands |
Command fragments Frank may never run, even under all. |
frank.maxFileBytes |
Largest file Frank may read or write in one call. |
How Frank is kept in bounds
Five independent limits, in the order they apply:
- Workspace trust. In Restricted Mode Frank may read this folder but not write to it or run
commands in it. Checked before the approval gate, so
autoApprove: all cannot reach past it —
that setting is a statement about your own projects, not standing consent for a repository you
have just cloned.
- Path containment. Every path is resolved and checked against the open workspace folders.
Anything outside them is refused,
.. included.
- The denied-command list. Checked before the approval gate, so
autoApprove: all cannot
let a blocked command through.
- The approval gate. Anything not covered by
frank.autoApprove renders as a card in
the conversation with the diff or the command, and waits. If the panel is closed while a
request is open, it resolves as rejected (red 'x' icon next to it).
- The agent policy. Frank's Louis policy caps tool calls, runtime and cost for a run. The
VS Code tools draw on the same budget as his Louis tools. This is not a hard limit, but a soft one that lets you know how much you spent. You can ask Frank to continue. The new run will be subject to the same limits.
Something went wrong
Frank: Show Logs opens the extension's log (Output → Frank). Log entries are timestamped, filterable by level, and copyable into a support ticket.
What lands back in Louis
- Frank Conversations are only readable by you in Frank & Louis. They live in a separate store
from the ones you have with Louis in the browser.
- Usage is recorded server-side.
version française
Frank et Louis
English version
Nécessite un compte Louis. Cette extension est un client Louis et ne peut pas être utilisée sans compte. Consultez www.JFDavignon.Solutions pour en savoir plus.
Frank est l’agent de développement logiciel de Louis. Louis est l’endroit où le travail de votre équipe est planifié; Frank est le membre de l’équipe qui travaille sur le code, et cette extension est l’endroit où il le fait : il lit et modifie des fichiers, exécute vos tests et consigne tout dans Louis.
Elle apporte aussi le reste de votre travail Louis dans l’éditeur : connectez-vous, choisissez l’organisation et le projet ou cycle sur lequel vous travaillez, consultez vos tâches dans la barre latérale et ouvrez-en une dans un véritable onglet d’éditeur.
Frank nécessite une organisation avec assistance IA. Il apparaît uniquement lorsque l’organisation sélectionnée est associée à un forfait qui inclut l’assistance IA. Tout le reste — la liste des tâches, l’éditeur de tâches et les actions de flux de travail — fonctionne avec tous les forfaits; l’extension reste donc utile dans tous les cas. Passer à une organisation avec assistance IA fait apparaître la vue Frank; en choisir une autre la masque.
Toutes les dépenses de Frank sont consignées dans Louis; son utilisation apparaît donc avec celle du reste de votre équipe dans la page de statistiques IA.
Les commandes sont réparties dans deux catégories de la palette de commandes : Louis pour votre organisation, vos projets et vos tâches, et Frank pour la conversation elle-même.
Ce que l’extension vous offre
Une liste de tâches native. Une arborescence VS Code dans la barre d’activité. Elle regroupe les tâches par état, sprint/jalon ou type de tâche. Un résumé des détails de la tâche s’affiche au survol.
C’est votre liste, non le tableau du projet : elle contient le travail qui vous est attribué, ainsi que le travail non attribué lorsque le projet attribue les tâches au démarrage, puisque vous pouvez le prendre en charge. Le travail des autres reste dans Louis. Lorsque le travail non attribué est affiché, un bouton de la barre d’outils permet de limiter la liste au vôtre.
Un éditeur de tâches. Ouvrir une tâche ouvre un véritable onglet d’éditeur avec un indicateur de modifications non enregistrées et Ctrl+S pour sauvegarder. Les champs que vous pouvez modifier correspondent exactement à votre rôle dans Louis, comme dans l’application Web : une tâche à laquelle vous n’êtes pas associé est en lecture seule, une tâche terminée est verrouillée à l’exception de ses commentaires de résolution, et un projet ou cycle fermé fige tout. Une tâche avec un flux de travail est attribuée une étape à la fois; elle n’a donc pas de champ de responsable au niveau de la tâche. Sa section de flux de travail indique qui détient chaque étape.
Frank. Une vue de conversation dans laquelle Frank peut lire et rechercher dans votre espace de travail, consulter les problèmes déjà détectés par VS Code, écrire des fichiers, exécuter vos tests et votre compilation, et lire vos tâches et votre wiki Louis. Chaque modification proposée vous est d’abord présentée, avec le diff ou la commande exacte, et rien ne se produit avant votre approbation.
Vous pouvez voir ce qu’il fait. Une barre d’état montre la phase, le temps écoulé et la progression dans la boucle d’outils; chaque ligne d’outil peut être ouverte pour afficher sa demande et le résultat; une interaction se termine par la liste des fichiers modifiés, chacun étant cliquable.
Le contexte que vous indiquez. Sélectionnez du code : il est proposé sous forme de pastille avec votre prochain message — visible et supprimable si vous ne le vouliez pas. Frank: Add File to Frank joint le fichier actif, et une question sur une tâche depuis la liste joint cette tâche. Rien n’est ajouté à une invite sans apparaître d’abord sous forme de pastille.
Mise en route
- Dans la palette de commandes, lancez Louis: Sign In, ou utilisez le bouton de la barre latérale Louis.
- Choisissez votre organisation ainsi que votre projet ou cycle. Si vous n’en avez qu’un de chaque, ils sont sélectionnés automatiquement.
- Les tâches apparaissent dans la vue Louis. Cliquez sur une tâche pour l’ouvrir.
- Ouvrez la vue Frank pour commencer à travailler avec lui. Faites glisser son icône dans la barre latérale secondaire pour le garder à côté de votre code.
Projets, cycles, sprints et jalons
Un cycle n’est pas un élément distinct dans Louis : c’est un projet configuré pour s’exécuter sur une période fixe. Le sélecteur affiche les deux et les identifie correctement. Dans un projet ou cycle, la sous-période est un jalon, appelé sprint lorsque le projet est configuré ainsi. Le sélecteur de sprint/jalon sert aussi de filtre de tâches; il propose All, Active, Future, Closed et Not scheduled avant les éléments individuels. Un projet dont les jalons sont désactivés ne comporte rien de tout cela : le sélecteur n’est pas affiché et le regroupement revient à l’état pour ce projet.
Consultez le guide d’utilisation de Louis pour en savoir plus sur les projets, cycles, sprints et jalons.
Paramètres
| Paramètre |
Description |
frank.apiUrl |
URL de base de l’API Louis. Administratif — prise en compte uniquement pendant le développement de l’extension; une version publiée communique toujours avec le déploiement pour lequel elle a été compilée. |
frank.couchdb.url |
URL de base CouchDB. Administratif — prise en compte uniquement pendant le développement de l’extension ou pour un administrateur système Louis. Sinon, l’hôte provient de l’organisation sélectionnée. |
frank.tasks.groupBy |
status, milestone, type ou flat. milestone revient à status dans un projet où les jalons sont désactivés. |
frank.tasks.showDone |
Inclut les tâches terminées dans la liste. |
frank.tasks.showBacklog |
Inclut les tâches de l’arriéré dans la liste. Désactivé par défaut : le travail de l’arriéré est planifié dans Louis et son comptage noierait le badge de la vue. |
frank.maxLoops |
Nombre d’itérations de la boucle d’outils avant que Frank demande s’il doit continuer. |
frank.autoApprove |
reads (valeur par défaut), reads-and-edits, all ou nothing. |
frank.deniedCommands |
Fragments de commandes que Frank ne peut jamais exécuter, même avec all. |
frank.maxFileBytes |
Taille maximale d’un fichier que Frank peut lire ou écrire en un appel. |
Cinq limites indépendantes, dans l’ordre où elles s’appliquent :
- Approbation de l’espace de travail. En mode restreint, Frank peut lire ce dossier, mais ne peut ni y écrire ni y exécuter de commandes. Cette règle est vérifiée avant la validation, donc
autoApprove: all ne permet pas de la contourner — ce paramètre exprime votre confiance dans vos propres projets, et non une autorisation permanente pour un dépôt que vous venez de cloner.
- Confinement des chemins. Chaque chemin est résolu et vérifié par rapport aux dossiers ouverts de l’espace de travail. Tout chemin situé à l’extérieur, y compris avec
.., est refusé.
- La liste des commandes refusées. Vérifiée avant la validation;
autoApprove: all ne peut donc pas laisser passer une commande bloquée.
- La validation. Tout ce qui n’est pas couvert par
frank.autoApprove est affiché comme une carte dans la conversation, avec le diff ou la commande, puis attend. Si le panneau est fermé alors qu’une demande est ouverte, elle est résolue comme refusée (icône « x » rouge à côté).
- La politique de l’agent. La politique Louis de Frank limite les appels d’outils, le temps d’exécution et le coût d’une session. Les outils VS Code utilisent le même budget que ses outils Louis. Ce n’est pas une limite stricte, mais une limite souple qui vous indique ce que vous avez dépensé. Vous pouvez demander à Frank de continuer; la nouvelle session sera soumise aux mêmes limites.
En cas de problème
Frank: Show Logs ouvre le journal de l’extension (Sortie → Frank). Les entrées du journal sont horodatées, filtrables par niveau et copiables dans un ticket de soutien.
Ce qui est enregistré dans Louis
- Les conversations Frank ne sont lisibles que par vous dans Frank & Louis. Elles sont conservées dans un espace de stockage distinct de celui de vos conversations avec Louis dans le navigateur.
- L’utilisation est enregistrée côté serveur.