À propos du projet

stepstone est un outil CLI qui stocke la feuille de route d'un projet sous forme de fichier commité dans le dépôt lui-même. Les objectifs sont ajoutés depuis le terminal et écrits dans `.worklist/worklist.json` à la racine du dépôt, où ils peuvent être lus et modifiés tant par des humains que par des agents de codage via les mêmes commandes. Il est distribué sur npm et peut être exécuté sans installation via `npx -y stepstone@latest`. Chaque Project Goal possède un titre, une description optionnelle, un statut et un slug ID généré à partir du titre et figé par la suite, afin que les références dans les messages de commit ou les pull requests survivent aux renommages ultérieurs. Les statuts sont `open`, `active`, `done` et `archived` ; un seul objectif peut être actif à la fois, et `set_active` rétrograde le détenteur précédent. Compléter, rouvrir, archiver ou supprimer un objectif nécessite une confirmation explicite, fournie soit par un flag `--confirm`, soit par une touche du clavier. Les liens de dépendance enregistrent quels objectifs doivent être finalisés en premier. L'état de blocage est dérivé de ces liens à chaque lecture plutôt que d'être stocké. La commande `ready` rapporte l'ensemble de la frontière parallèle, `next` nomme le premier objectif à démarrer, et `waves` dispose les objectifs non terminés dans la couche la plus précoce où chacun pourrait commencer, en se basant sur les dépendances plutôt que sur l'ordre des fichiers. Toute commande accepte `--json` pour un résultat déterministe destiné aux agents et scripts plutôt qu'à la prose. Le README décrit un service d'application unique, un verrou inter-processus et un remplacement de fichier atomique derrière chaque interface, afin qu'un appel CLI, un tableau de terminal ouvert et une session active puissent partager un dépôt sans corrompre le fichier. Des préconditions optionnelles, une révision globale du fichier et le `updatedAt` d'un objectif transforment une lecture obsolète en un conflit signalé plutôt qu'en un écrasement silencieux. `project ui` ouvre un tableau de terminal plein écran sur ces mêmes objectifs. Pour l'utilisation par des agents, un Agent Skill autonome peut être installé avec le CLI `skills` et enseigne le flux de travail à un agent, invoquant le CLI npm au besoin. Une extension Pi ajoute des Session Tasks (une file d'attente de segments de session concrets sensibles aux branches, séparée de la feuille de route), un tableau de bord `/tasks` couvrant les deux listes, un widget nommant l'objectif actif et les prochaines tâches non terminées, ainsi qu'un outil `worklist` orienté modèle. Les checkouts préparés transportent un objectif dans un fichier `STEPSTONE_GOAL.md` ignoré à la racine, afin que le travail puisse être repris sans que Stepstone ne lance le harnais ; le projet précise qu'aucun code CLI chargé n'importe de package Pi et que la CI emballe le tarball et pilote les binaires installés sans présence de Pi. La documentation couvre l'utilisation du CLI, le modèle d'objectif, les dépendances, l'envoi et la revendication d'espace de travail, le schéma de stockage et les migrations, le tableau de terminal, l'Agent Skill et l'extension Pi. Le projet a été publié sous le nom `pi-worklist` jusqu'à la version 0.17.0 et continue sous son nom actuel. Il est sous licence MIT.