Worksets (bêta)
Ouvrez le store et les dépôts qui l'utilisent dans une seule fenêtre d'éditeur, afin que votre agent ait accès aux deux.
Avec un store, le contexte dont votre agent a besoin est réparti entre plusieurs dossiers. Les specs et les changements se trouvent dans le store, et le code se trouve dans chaque dépôt. Un agent lancé dans un dépôt peut lire et rechercher dans ce dépôt et rien d'autre, il travaille donc avec une vision partielle.
Les worksets sont l'utilitaire qu'OpenSpec fournit à cet effet. Un workset est une liste nommée et enregistrée de dossiers que vous ouvrez ensemble. Cette page part du principe que le store est déjà configuré et enregistré sur votre machine. Stores (bêta) couvre ce sujet.
Fonctionnement
- Ce que c'est : une liste nommée de dossiers, enregistrée uniquement sur votre machine. Rien n'est écrit dans les dossiers membres, et rien n'est commité.
- Ce que l'ouverture fait : OpenSpec génère un fichier
.code-workspaceà partir de la liste et lance votre éditeur dessus. Chaque dossier membre se trouve dans une seule fenêtre. - Ce que vous obtenez : la recherche de votre éditeur, ainsi que tout agent que vous exécutez dans cette fenêtre, peut lire chaque dossier membre. L'agent peut rechercher dans les specs du store et le code du dépôt en une seule session.
- Ce que cela ne change pas : le dossier
openspec/utilisé par une commande. Celui-ci suit toujours Là où les artefacts sont créés.
Configuration
Enregistrer le workset (une fois par machine). Listez le dépôt et le store comme membres, ainsi que l'outil pour les ouvrir :
bash# save a named list of folders you open together openspec workset create platform \ --member ~/src/web-app \ --member ~/openspec/team-plans \ --tool codeyamlSaved workset 'platform' (2 members) to your machine. Open it any time with: openspec workset open platformOuvrez-le chaque fois que vous commencez à travailler :
bash# open every member in one VS Code window openspec workset open platform
openspec workset list affiche ce que vous avez enregistré, et openspec workset remove <name> supprime un workset sans toucher aux dossiers membres :
platform (opens in VS Code)
web-app /Users/you/src/web-app
team-plans /Users/you/openspec/team-plansUtilisation : un changement, deux dossiers
Supposons que le changement add-login se trouve dans le store team-plans, et que le code correspondant se trouve dans web-app. Ouvrez le workset platform et demandez à votre agent de mettre en œuvre le changement. Dans cette session unique, il peut :
- lire
team-plans/openspec/changes/add-login/et les specs qui s'y trouvent - modifier le code dans
web-app/ - exécuter des commandes
openspecdepuisweb-app
Sans le workset, l'agent ne voit que le dossier dans lequel il a été lancé.
Outils intégrés
- VS Code (
--tool code) et Cursor (--tool cursor) : intégrés. Chacun ouvre une seule fenêtre avec tous les dossiers membres. - Claude Code et Codex dans le terminal : temporairement désactivés en tant qu'ouvreurs de workset pendant que ce flux est retravaillé.
--tool claudeou--tool codexs'arrête avec une erreur qui l'indique et vous renvoie vers VS Code ou Cursor. - Autres éditeurs : ajoutez-les sous la clé
openersdans Paramètres CLI (config.json).