Aller au contenu

Écrivez d’abord le spec — puis laissez les agents IA le construire

Donnez un contrat à chaque agent. Vérifiez le code avant de le déclarer terminé.

Planu transforme une demande en spec approuvée, maintient l’implémentation alignée et valide le résultat selon des critères explicites.

Commencer

Usage commercial et non commercial gratuit · environnement Node.js compatible · aucune clé API Planu pour démarrer

Vérifié au build

Des faits produit, pas des compteurs décoratifs.

Commit274d5d26d
Tag
v5.6.0
Source
Commit
Vérifié

Un artefact Planu publié

Suivez le contrat de la demande à la release.

Ce dossier est généré depuis des preuves de cycle de vie et validation nettoyées et autorisées, pas depuis une animation préparée.

SPEC-1150 / spec.mdterminée
01
Spec

Clear released specs from the pending release ledger

Make the release commit the atomic source of truth for which pending specs were published, while preserving any ledger entry created or updated after the immutable release-base snapshot.

02
Cycle de vie
  1. approuvée
  2. implémentation
  3. terminée
03
Critères d’acceptation
  • AC1GIVEN `planu/releases/pending.json` contains valid entries at `RELEASE_BASE_HEAD`, WHEN the release commit is created, THEN every current entry with the same complete `{specId,title,completedAt}` identity is removed, and a shared cross-process lock makes entries added or changed after the snapshot—including an append attempted during reconciliation—remain.
  • AC2GIVEN release execution resumes before or after the release commit, WHEN pending reconciliation runs, THEN it derives the same snapshot from the persisted `RELEASE_BASE_HEAD`, is idempotent, and never repeats mutation after `release-commit` is recorded; `tests/integration/release-pipeline-recovery.test.ts` line 4 changes the recovery expectation.
  • AC3GIVEN dry-run mode, a missing/empty snapshot, or malformed snapshot/current JSON, WHEN pending reconciliation is evaluated, THEN dry-run performs no write, missing/empty snapshot preserves current state, and malformed data exits non-zero without changing the current file.
  • AC4GIVEN release 4.11.17 publishes the currently queued specs, WHEN delivery completes, THEN `planu/releases/pending.json` is empty, npm exposes 4.11.17, and `main`, `develop`, and `release` resolve to the same release commit.
Validation✓ réussie
Publiév4.11.17d589ca65c

Ce qui change

Moins de redécouverte. Meilleure revue. Livraison vérifiable.

  1. Intention persistante

    Les exigences restent dans une spec révisable plutôt que dans l’historique du chat.

  2. Implémentation contrôlée

    Approbation et readiness donnent la même limite à chaque agent.

  3. Preuves avant done

    La validation compare le code livré aux critères acceptés.

Un contrat, plusieurs hosts

Gardez le workflow lorsque l’agent change.

Planu relie le même cycle local à Claude Code, Codex, Cursor, Windsurf, Gemini CLI et aux autres hosts MCP pris en charge.

Voir les outils compatibles
  • Claude Code
  • Codex
  • Cursor
  • Windsurf
  • Gemini CLI
  • OpenCode

Transparent par conception

État local du projet et limites réseau explicites.

Les specs et décisions sont des fichiers locaux lisibles. Le réseau peut servir aux mises à jour, diagnostics et intégrations configurées.

Lire les détails de configuration
  • Artefacts locaux lisibles
  • Aucune clé API Planu pour démarrer
  • Limites documentées pour télémétrie et intégrations

$ npx -y @planu/cli@latest install

Faites démarrer le prochain agent depuis une spec.

Installez une fois, décrivez une vraie feature et terminez votre première boucle validée.

Ouvrir le guide d’installation

Soutien direct

Financez la prochaine release.

Choisissez un réseau et envoyez directement son actif natif. Planu ne connecte jamais votre wallet.

Ou faites un don en crypto

Code QR pour BTC

Bitcoin mainnet

bc1q0wpklyw24krxpzy52g8fu6tgtyvws7v3etc40p

Envoyez uniquement le BTC natif sur ce réseau.

Ouvrir le wallet Bitcoin

Les transferts blockchain sont publics et traçables. Aucun nom ni e-mail n’est demandé.

BTC · Bitcoin mainnetbc1q0wpklyw24krxpzy52g8fu6tgtyvws7v3etc40p

ETH · Ethereum mainnet0xe26326f8bA13Ae7C6Eee79A10A7f3ad696Ebb5bB

SOL · Solana mainnetA6ujVihGksWwF1NRVDBgGtNeqPXnN5vFpwLtXhANqXY3