repo-harness 0.4.3 → 0.5.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.es.md +74 -20
- package/README.fr.md +75 -20
- package/README.ja.md +70 -18
- package/README.md +136 -42
- package/README.zh-CN.md +109 -32
- package/SKILL.md +1 -0
- package/assets/hooks/session-start-context.sh +130 -0
- package/assets/reference-configs/AGENTS.md +13 -0
- package/assets/reference-configs/CLAUDE.md +13 -0
- package/assets/reference-configs/agentic-development-flow.md +2 -1
- package/assets/reference-configs/external-tooling.md +38 -4
- package/assets/reference-configs/harness-overview.md +1 -1
- package/assets/reference-configs/hook-operations.md +1 -1
- package/assets/reference-configs/sprint-contracts.md +4 -0
- package/assets/skill-commands/manifest.json +9 -2
- package/assets/skill-commands/repo-harness-goal/SKILL.md +51 -0
- package/assets/skill-commands/repo-harness-init/SKILL.md +4 -4
- package/assets/skill-commands/repo-harness-prd/SKILL.md +15 -6
- package/assets/skill-version.json +10 -2
- package/assets/templates/contract.template.md +1 -1
- package/assets/templates/helpers/check-agent-tooling.sh +114 -4
- package/assets/templates/helpers/check-skill-version.ts +3 -1
- package/assets/templates/helpers/check-task-workflow.sh +15 -3
- package/assets/templates/helpers/ensure-task-workflow.sh +1 -1
- package/assets/templates/helpers/verify-contract.sh +12 -4
- package/assets/templates/helpers/workflow-contract.ts +3 -1
- package/assets/workflow-contract.v1.json +47 -47
- package/docs/images/image.png +0 -0
- package/install.ps1 +53 -0
- package/install.sh +71 -0
- package/package.json +5 -2
- package/scripts/architecture-event.ts +0 -0
- package/scripts/assemble-template.ts +0 -0
- package/scripts/capability-config.ts +0 -0
- package/scripts/capability-resolver.ts +0 -0
- package/scripts/check-agent-tooling.sh +114 -4
- package/scripts/check-ci.sh +36 -0
- package/scripts/check-npm-release.sh +1 -17
- package/scripts/check-skill-version.ts +3 -1
- package/scripts/check-task-workflow.sh +15 -3
- package/scripts/contract-run.ts +0 -0
- package/scripts/create-project-dirs.sh +0 -0
- package/scripts/ensure-task-workflow.sh +1 -1
- package/scripts/factor-lab-check.sh +0 -0
- package/scripts/factor-lab-new.sh +0 -0
- package/scripts/factor-lab-promote.sh +0 -0
- package/scripts/factor-lab-reject.sh +0 -0
- package/scripts/hook-dispatch-diet-report.ts +0 -0
- package/scripts/initializer-question-pack.ts +0 -0
- package/scripts/lib/project-init-lib.sh +126 -70
- package/scripts/loop-engine-cutover-gate.ts +0 -0
- package/scripts/migrate-project-template.sh +48 -34
- package/scripts/route-nl-vs-ts-eval.ts +0 -0
- package/scripts/run-skill-evals.ts +0 -0
- package/scripts/run-skill-hook.ts +0 -0
- package/scripts/sync-codex-installed-copies.sh +23 -7
- package/scripts/verify-contract.sh +12 -4
- package/scripts/workflow-contract.ts +3 -1
- package/src/cli/commands/doctor.ts +30 -7
- package/src/cli/commands/global-runtime.ts +12 -7
- package/src/cli/commands/init-hook.ts +89 -2
- package/src/cli/commands/init.ts +91 -35
- package/src/cli/commands/run.ts +23 -0
- package/src/cli/commands/security.ts +2 -2
- package/src/cli/commands/status.ts +13 -1
- package/src/cli/hook/runtime.ts +2 -2
- package/src/cli/index.ts +170 -18
- package/src/cli/installer/managed-entries.ts +1 -1
- package/src/cli/repo-adoption/reclaim-runtime.ts +682 -0
- package/src/cli/runtime/helper-runner.ts +169 -0
package/README.es.md
CHANGED
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
# repo-harness
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
`repo-harness` convierte las sesiones de programación con Claude/Codex en un
|
|
4
|
+
workflow repo-local repetible. Incluye un CLI y hooks de skill/runtime que
|
|
5
|
+
escriben contexto, planes, handoffs, checks y evidencias de review dentro del
|
|
6
|
+
proyecto, para que la siguiente sesión de agente continúe desde archivos y no
|
|
7
|
+
desde el historial de chat.
|
|
8
|
+
|
|
9
|
+
Úsalo para:
|
|
10
|
+
|
|
11
|
+
- adoptar un repositorio existente con un contrato de agente tasks-first
|
|
12
|
+
- mantener Claude y Codex alineados sobre los mismos planes, checks, handoffs y
|
|
13
|
+
límites de contexto
|
|
14
|
+
- gastar menos tokens redescubriendo estructura gracias a CodeGraph y la carga
|
|
15
|
+
progresiva de contexto
|
|
16
|
+
|
|
17
|
+
Entrega al agente un PRD o Sprint completo; después, tu bucle es solo review and
|
|
18
|
+
`next`, o iniciar `/goal` y quedar AFK.
|
|
5
19
|
|
|
6
20
|
[English](README.md) | [简体中文](README.zh-CN.md) | [日本語](README.ja.md) | [Français](README.fr.md) | [Español](README.es.md)
|
|
7
21
|
|
|
8
22
|
Dirección del repositorio: `https://github.com/Ancienttwo/repo-harness`
|
|
9
23
|
|
|
10
|
-
`repo-harness` es un harness de workflow que aterriza el proceso de programación
|
|
11
|
-
con IA en archivos del repositorio. Es a la vez el repositorio fuente de la CLI
|
|
12
|
-
`repo-harness` y de su skill runtime, y el ejemplo autoalojado del workflow
|
|
13
|
-
repo-local que él mismo genera para los proyectos downstream.
|
|
14
|
-
|
|
15
24
|
## Por qué usar repo-harness
|
|
16
25
|
|
|
17
26
|
- **El estado de la sesión vive en archivos, no en el historial de chat.** Las
|
|
@@ -42,7 +51,7 @@ repo-local que él mismo genera para los proyectos downstream.
|
|
|
42
51
|
opcionales según el tipo de proyecto y cuatro hook profiles (`standard`,
|
|
43
52
|
`minimal`, `biome`, `biome-strict`). Ejecuta
|
|
44
53
|
`npx -y repo-harness init`; no necesitas clonar el repositorio fuente.
|
|
45
|
-
- **Comando de
|
|
54
|
+
- **Comando de adopción del repo (`repo-harness adopt`).** La instalación y el
|
|
46
55
|
refresco de repos existentes tienen su propia superficie de comando, manteniendo
|
|
47
56
|
la ruta de migración repo-local anterior mientras `init` queda dedicado al
|
|
48
57
|
runtime global.
|
|
@@ -100,7 +109,7 @@ En conjunto hay tres capas:
|
|
|
100
109
|
1. **Capa del paquete fuente**: este repositorio mantiene la CLI, los command
|
|
101
110
|
skill facades, los templates, los hook assets, el workflow contract, los tests
|
|
102
111
|
y el release gate.
|
|
103
|
-
2. **Capa del contract del repositorio objetivo**: `repo-harness
|
|
112
|
+
2. **Capa del contract del repositorio objetivo**: `repo-harness adopt` o la
|
|
104
113
|
migración escribe `docs/spec.md`, `plans/`, `tasks/`, `.ai/context/`,
|
|
105
114
|
`.ai/harness/`, helper scripts y `.ai/hooks/`.
|
|
106
115
|
3. **Capa del host adapter**: el `~/.claude/settings.json` y el
|
|
@@ -200,15 +209,41 @@ retoma contra un sprint concreto en vez de reinterpretar el chat original.
|
|
|
200
209
|
Esta es la ruta más rápida para evaluar si un repositorio real es apto para
|
|
201
210
|
adoptar este workflow.
|
|
202
211
|
|
|
203
|
-
### Instalar
|
|
212
|
+
### Instalar el CLI
|
|
213
|
+
|
|
214
|
+
La ruta por defecto no requiere Node.js: el instalador usa Bun como runtime. Si
|
|
215
|
+
Bun no existe, instala Bun primero y después instala el CLI `repo-harness`.
|
|
216
|
+
|
|
217
|
+
```bash
|
|
218
|
+
# macOS / Linux
|
|
219
|
+
curl -fsSL https://raw.githubusercontent.com/Ancienttwo/repo-harness/main/install.sh | sh
|
|
220
|
+
|
|
221
|
+
# Windows (PowerShell)
|
|
222
|
+
irm https://raw.githubusercontent.com/Ancienttwo/repo-harness/main/install.ps1 | iex
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
<details>
|
|
226
|
+
<summary>¿Ya tienes Bun o Node? Usa gestores de paquetes</summary>
|
|
204
227
|
|
|
205
228
|
```bash
|
|
229
|
+
# Bun
|
|
230
|
+
bun add -g repo-harness
|
|
231
|
+
repo-harness init
|
|
232
|
+
|
|
233
|
+
# Node/npm, con Bun ya en PATH porque el CLI corre sobre Bun
|
|
206
234
|
npx -y repo-harness init
|
|
207
235
|
```
|
|
208
236
|
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
237
|
+
</details>
|
|
238
|
+
|
|
239
|
+
### Bootstrap del runtime del host
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
repo-harness init
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
`repo-harness init` es el bootstrap global, `repo-harness update` es el refresco
|
|
246
|
+
user-level y `repo-harness adopt` es el refresco repo-local. `repo-harness init`
|
|
212
247
|
configura el CLI, los hook adapters de nivel usuario, Waza, Mermaid, el brain
|
|
213
248
|
root y CodeGraph MCP; el viejo camino Claude plugin `scripts/setup-plugins.sh`
|
|
214
249
|
queda retirado.
|
|
@@ -245,17 +280,17 @@ elimina `scripts/sync-codex-installed-copies.sh`.
|
|
|
245
280
|
En un repositorio existente, ejecuta desde el repo root:
|
|
246
281
|
|
|
247
282
|
```bash
|
|
248
|
-
npx -y repo-harness
|
|
283
|
+
npx -y repo-harness adopt --dry-run
|
|
249
284
|
```
|
|
250
285
|
|
|
251
286
|
Aplica solo después de que el reporte del dry-run sea correcto:
|
|
252
287
|
|
|
253
288
|
```bash
|
|
254
|
-
npx -y repo-harness
|
|
289
|
+
npx -y repo-harness adopt
|
|
255
290
|
```
|
|
256
291
|
|
|
257
292
|
Para un proyecto o módulo nuevo, usa la branch command `repo-harness-scaffold`.
|
|
258
|
-
Para un repositorio existente, usa `repo-harness
|
|
293
|
+
Para un repositorio existente, usa `repo-harness adopt`; este instala o refresca
|
|
259
294
|
el harness y no crea el stack tecnológico de la aplicación.
|
|
260
295
|
|
|
261
296
|
### Cómo se ve el éxito
|
|
@@ -345,8 +380,8 @@ Guards habituales:
|
|
|
345
380
|
|
|
346
381
|
## Release actual
|
|
347
382
|
|
|
348
|
-
- npm package: `repo-harness@0.
|
|
349
|
-
- Generated workflow stamp: `repo-harness@0.
|
|
383
|
+
- npm package: `repo-harness@0.5.1`
|
|
384
|
+
- Generated workflow stamp: `repo-harness@0.5.1+template@0.5.1`
|
|
350
385
|
- GitHub repository: `Ancienttwo/repo-harness`
|
|
351
386
|
- Release history: [`docs/CHANGELOG.md`](docs/CHANGELOG.md)
|
|
352
387
|
|
|
@@ -360,7 +395,7 @@ Guards habituales:
|
|
|
360
395
|
- `assets/workflow-contract.v1.json`
|
|
361
396
|
- Los generated repos usan por defecto el repo-local harness flow:
|
|
362
397
|
- `docs/spec.md -> plans/ -> tasks/contracts/ -> tasks/reviews/ -> .ai/context/context-map.json -> .ai/harness/*`
|
|
363
|
-
- `repo-harness update` refresca las runtime pieces:
|
|
398
|
+
- `repo-harness update` refresca las runtime pieces de usuario:
|
|
364
399
|
- los `repo-harness` skill aliases
|
|
365
400
|
- los global Codex/Claude hook adapters
|
|
366
401
|
- las Waza skills: `think`, `hunt`, `check`, `health`
|
|
@@ -390,10 +425,29 @@ Los command facades públicos están en `assets/skill-commands/`; preservan la
|
|
|
390
425
|
compatibilidad de discovery por skills, mientras el CLI y los hooks ejecutan:
|
|
391
426
|
|
|
392
427
|
- Planning / review: `repo-harness-plan`, `repo-harness-review`, `repo-harness-autoplan`
|
|
428
|
+
- Product planning layer: `repo-harness-prd` (activa `$geju`, luego usa drafting Claude-first con `claude -p --model opus`; Codex queda solo como fallback)
|
|
429
|
+
- Sprint program layer: `repo-harness-sprint` (convierte un PRD en un backlog ordenado bajo `plans/sprints/`)
|
|
430
|
+
- Goal session layer: `repo-harness-goal` / `repo-harness:goal` (prepara prompts `/goal` de Codex/Claude desde un PRD o Sprint detallado; si falta el documento, lo pide primero)
|
|
393
431
|
- Repo workflow actions: `repo-harness-ship`, `repo-harness-init`, `repo-harness-migrate`, `repo-harness-upgrade`, `repo-harness-capability`, `repo-harness-architecture`, `repo-harness-handoff`, `repo-harness-deploy`, `repo-harness-repair`, `repo-harness-check`
|
|
394
432
|
- Branch project creation: `repo-harness-scaffold`
|
|
395
433
|
|
|
396
|
-
|
|
434
|
+
La cadena de planning está separada por capas:
|
|
435
|
+
|
|
436
|
+
```text
|
|
437
|
+
idea -> repo-harness-prd -> repo-harness-sprint from-prd -> repo-harness-goal
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
Usa `repo-harness-prd` cuando la fuente todavía es una idea de producto: primero
|
|
441
|
+
ejecuta un direction pass con `$geju`, luego pide a Claude vía `claude -p --model opus` que
|
|
442
|
+
redacte el PRD, con Codex solo como fallback. Usa
|
|
443
|
+
`repo-harness-sprint from-prd <plans/prds/*.prd.md>` para convertir un PRD
|
|
444
|
+
aprobado en un Sprint backlog ordenado con acceptance lines verificables por
|
|
445
|
+
máquina. Usa `repo-harness-goal` solo cuando ya exista un PRD o Sprint detallado;
|
|
446
|
+
prepara un prompt `/goal` acotado para Codex/Claude y mantiene el PRD/Sprint como
|
|
447
|
+
source of truth. Si falta ese documento, el goal command debe pedirlo antes de
|
|
448
|
+
empezar implementación desde el chat.
|
|
449
|
+
|
|
450
|
+
`repo-harness adopt` se usa para repositorios existentes; `repo-harness-scaffold`
|
|
397
451
|
queda como branch command para crear proyectos o módulos nuevos. `hooks-init`, `docs-init` y
|
|
398
452
|
`create-project-dirs` son pasos internos, no commands públicos.
|
|
399
453
|
|
package/README.fr.md
CHANGED
|
@@ -1,17 +1,26 @@
|
|
|
1
1
|
# repo-harness
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
`repo-harness` transforme les sessions de code Claude/Codex en workflow
|
|
4
|
+
repo-local répétable. Il fournit un CLI et des hooks skill/runtime qui écrivent
|
|
5
|
+
le contexte, les plans, les handoffs, les checks et les preuves de review dans le
|
|
6
|
+
projet, afin que la session d'agent suivante reprenne depuis les fichiers plutôt
|
|
7
|
+
que depuis l'historique de chat.
|
|
8
|
+
|
|
9
|
+
Utilisez-le pour :
|
|
10
|
+
|
|
11
|
+
- adopter un dépôt existant avec un contrat d'agent tasks-first
|
|
12
|
+
- garder Claude et Codex alignés sur les mêmes plans, checks, handoffs et limites
|
|
13
|
+
de contexte
|
|
14
|
+
- dépenser moins de tokens à redécouvrir la structure grâce à CodeGraph et au
|
|
15
|
+
chargement progressif du contexte
|
|
16
|
+
|
|
17
|
+
Donnez à l'agent un PRD ou Sprint complet ; ensuite, votre boucle se limite à
|
|
18
|
+
review and `next`, ou à lancer `/goal` puis passer AFK.
|
|
5
19
|
|
|
6
20
|
[English](README.md) | [简体中文](README.zh-CN.md) | [日本語](README.ja.md) | [Français](README.fr.md) | [Español](README.es.md)
|
|
7
21
|
|
|
8
22
|
Adresse du dépôt : `https://github.com/Ancienttwo/repo-harness`
|
|
9
23
|
|
|
10
|
-
`repo-harness` est un harness de workflow qui matérialise le processus de
|
|
11
|
-
programmation par IA dans les fichiers du dépôt. C'est à la fois le dépôt source
|
|
12
|
-
du CLI `repo-harness` et de son skill runtime, et un exemple auto-hébergé du
|
|
13
|
-
workflow repo-local qu'il génère lui-même pour les projets en aval.
|
|
14
|
-
|
|
15
24
|
## Pourquoi utiliser repo-harness
|
|
16
25
|
|
|
17
26
|
- **L'état de session vit dans les fichiers, pas dans l'historique de chat.** Des
|
|
@@ -42,7 +51,7 @@ workflow repo-local qu'il génère lui-même pour les projets en aval.
|
|
|
42
51
|
optionnels selon le type de projet, et quatre hook profiles (`standard`,
|
|
43
52
|
`minimal`, `biome`, `biome-strict`). Exécutez
|
|
44
53
|
`npx -y repo-harness init` ; aucun clone du dépôt source n'est nécessaire.
|
|
45
|
-
- **Commande
|
|
54
|
+
- **Commande d'adoption du dépôt (`repo-harness adopt`).** L'installation
|
|
46
55
|
et le rafraîchissement des dépôts existants ont leur propre surface de commande,
|
|
47
56
|
tout en conservant l'ancien chemin de migration repo-local et en gardant `init`
|
|
48
57
|
dédié au runtime global.
|
|
@@ -102,7 +111,7 @@ L'ensemble se découpe en trois couches :
|
|
|
102
111
|
1. **Couche package source** : ce dépôt maintient le CLI, les command skill
|
|
103
112
|
facades, les templates, les hook assets, le workflow contract, les tests et le
|
|
104
113
|
release gate.
|
|
105
|
-
2. **Couche contrat du dépôt cible** : `repo-harness
|
|
114
|
+
2. **Couche contrat du dépôt cible** : `repo-harness adopt` ou une migration écrit
|
|
106
115
|
`docs/spec.md`, `plans/`, `tasks/`, `.ai/context/`, `.ai/harness/`, les helper
|
|
107
116
|
scripts et `.ai/hooks/`.
|
|
108
117
|
3. **Couche host adapter** : les `~/.claude/settings.json` et `~/.codex/hooks.json`
|
|
@@ -205,15 +214,42 @@ initial.
|
|
|
205
214
|
C'est le chemin le plus rapide pour évaluer si un dépôt réel se prête à l'adoption
|
|
206
215
|
de ce workflow.
|
|
207
216
|
|
|
208
|
-
### Installer
|
|
217
|
+
### Installer le CLI
|
|
218
|
+
|
|
219
|
+
Le chemin par défaut ne demande pas Node.js : l'installateur utilise Bun comme
|
|
220
|
+
runtime. Si Bun est absent, il installe Bun d'abord, puis installe le CLI
|
|
221
|
+
`repo-harness`.
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
# macOS / Linux
|
|
225
|
+
curl -fsSL https://raw.githubusercontent.com/Ancienttwo/repo-harness/main/install.sh | sh
|
|
226
|
+
|
|
227
|
+
# Windows (PowerShell)
|
|
228
|
+
irm https://raw.githubusercontent.com/Ancienttwo/repo-harness/main/install.ps1 | iex
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
<details>
|
|
232
|
+
<summary>Vous avez déjà Bun ou Node ? Utilisez les gestionnaires de packages</summary>
|
|
209
233
|
|
|
210
234
|
```bash
|
|
235
|
+
# Bun
|
|
236
|
+
bun add -g repo-harness
|
|
237
|
+
repo-harness init
|
|
238
|
+
|
|
239
|
+
# Node/npm, avec Bun déjà sur PATH car le CLI s'exécute sur Bun
|
|
211
240
|
npx -y repo-harness init
|
|
212
241
|
```
|
|
213
242
|
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
243
|
+
</details>
|
|
244
|
+
|
|
245
|
+
### Bootstrap du runtime hôte
|
|
246
|
+
|
|
247
|
+
```bash
|
|
248
|
+
repo-harness init
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
`repo-harness init` sert au bootstrap global, `repo-harness update` au
|
|
252
|
+
rafraîchissement user-level, et `repo-harness adopt` au rafraîchissement
|
|
217
253
|
repo-local. `repo-harness init` configure le CLI, les hook adapters de niveau
|
|
218
254
|
utilisateur, Waza, Mermaid, le brain root et CodeGraph MCP ; l'ancien chemin
|
|
219
255
|
Claude plugin `scripts/setup-plugins.sh` est retiré.
|
|
@@ -250,17 +286,17 @@ sont supprimés par `scripts/sync-codex-installed-copies.sh`.
|
|
|
250
286
|
Pour un dépôt existant, exécutez depuis le repo root :
|
|
251
287
|
|
|
252
288
|
```bash
|
|
253
|
-
npx -y repo-harness
|
|
289
|
+
npx -y repo-harness adopt --dry-run
|
|
254
290
|
```
|
|
255
291
|
|
|
256
292
|
Appliquez seulement une fois que le rapport du dry-run est correct :
|
|
257
293
|
|
|
258
294
|
```bash
|
|
259
|
-
npx -y repo-harness
|
|
295
|
+
npx -y repo-harness adopt
|
|
260
296
|
```
|
|
261
297
|
|
|
262
298
|
Pour un nouveau projet ou un nouveau module, utilisez la branch command
|
|
263
|
-
`repo-harness-scaffold`. Pour un dépôt existant, utilisez `repo-harness
|
|
299
|
+
`repo-harness-scaffold`. Pour un dépôt existant, utilisez `repo-harness adopt` ;
|
|
264
300
|
il installe ou rafraîchit le harness sans créer de stack applicatif.
|
|
265
301
|
|
|
266
302
|
### À quoi ressemble le succès
|
|
@@ -350,8 +386,8 @@ Guards courants :
|
|
|
350
386
|
|
|
351
387
|
## Release actuelle
|
|
352
388
|
|
|
353
|
-
- npm package : `repo-harness@0.
|
|
354
|
-
- Generated workflow stamp : `repo-harness@0.
|
|
389
|
+
- npm package : `repo-harness@0.5.1`
|
|
390
|
+
- Generated workflow stamp : `repo-harness@0.5.1+template@0.5.1`
|
|
355
391
|
- GitHub repository : `Ancienttwo/repo-harness`
|
|
356
392
|
- Release history : [`docs/CHANGELOG.md`](docs/CHANGELOG.md)
|
|
357
393
|
|
|
@@ -365,7 +401,7 @@ Guards courants :
|
|
|
365
401
|
- `assets/workflow-contract.v1.json`
|
|
366
402
|
- Les generated repos utilisent par défaut le repo-local harness flow :
|
|
367
403
|
- `docs/spec.md -> plans/ -> tasks/contracts/ -> tasks/reviews/ -> .ai/context/context-map.json -> .ai/harness/*`
|
|
368
|
-
- `repo-harness update` rafraîchit les runtime pieces :
|
|
404
|
+
- `repo-harness update` rafraîchit les runtime pieces utilisateur :
|
|
369
405
|
- les `repo-harness` skill aliases
|
|
370
406
|
- les global Codex/Claude hook adapters
|
|
371
407
|
- les Waza skills : `think`, `hunt`, `check`, `health`
|
|
@@ -396,10 +432,29 @@ préservent la découverte par skills, tandis que l'exécution appartient au CLI
|
|
|
396
432
|
aux hooks :
|
|
397
433
|
|
|
398
434
|
- Planning / review : `repo-harness-plan`, `repo-harness-review`, `repo-harness-autoplan`
|
|
435
|
+
- Product planning layer : `repo-harness-prd` (active `$geju`, puis rédige en Claude-first avec `claude -p --model opus` ; Codex ne sert que de fallback)
|
|
436
|
+
- Sprint program layer : `repo-harness-sprint` (transforme un PRD en backlog ordonné dans `plans/sprints/`)
|
|
437
|
+
- Goal session layer : `repo-harness-goal` / `repo-harness:goal` (prépare des prompts `/goal` Codex/Claude depuis un PRD ou Sprint détaillé ; si le document manque, il le demande d'abord)
|
|
399
438
|
- Repo workflow actions : `repo-harness-ship`, `repo-harness-init`, `repo-harness-migrate`, `repo-harness-upgrade`, `repo-harness-capability`, `repo-harness-architecture`, `repo-harness-handoff`, `repo-harness-deploy`, `repo-harness-repair`, `repo-harness-check`
|
|
400
439
|
- Branch project creation : `repo-harness-scaffold`
|
|
401
440
|
|
|
402
|
-
|
|
441
|
+
La chaîne de planning est volontairement découpée en couches :
|
|
442
|
+
|
|
443
|
+
```text
|
|
444
|
+
idea -> repo-harness-prd -> repo-harness-sprint from-prd -> repo-harness-goal
|
|
445
|
+
```
|
|
446
|
+
|
|
447
|
+
Utilisez `repo-harness-prd` quand la source est encore une idée produit : il
|
|
448
|
+
lance d'abord un direction pass `$geju`, puis demande à Claude via `claude -p --model opus`
|
|
449
|
+
de rédiger le PRD, avec Codex seulement en fallback. Utilisez
|
|
450
|
+
`repo-harness-sprint from-prd <plans/prds/*.prd.md>` pour transformer
|
|
451
|
+
un PRD approuvé en Sprint backlog ordonné avec des lignes d'acceptance
|
|
452
|
+
vérifiables par machine. Utilisez `repo-harness-goal` seulement lorsqu'un PRD ou
|
|
453
|
+
Sprint détaillé existe déjà ; il prépare un prompt `/goal` borné pour
|
|
454
|
+
Codex/Claude et garde le PRD/Sprint comme source of truth. Si ce document manque,
|
|
455
|
+
le goal command doit le demander avant de lancer une implémentation depuis le chat.
|
|
456
|
+
|
|
457
|
+
`repo-harness adopt` sert aux dépôts existants ; `repo-harness-scaffold` sert de
|
|
403
458
|
branch command pour créer un nouveau projet ou module. `hooks-init`, `docs-init` et
|
|
404
459
|
`create-project-dirs` sont des étapes internes, pas des commands publiques.
|
|
405
460
|
|
package/README.ja.md
CHANGED
|
@@ -1,16 +1,23 @@
|
|
|
1
1
|
# repo-harness
|
|
2
2
|
|
|
3
|
-
Claude/Codex
|
|
4
|
-
skill
|
|
3
|
+
`repo-harness` は、Claude/Codex のコーディング session を、繰り返し使える
|
|
4
|
+
repo-local workflow に変えます。CLI と skill/runtime hooks によって、context、plan、
|
|
5
|
+
handoff、check、review evidence をプロジェクト内のファイルへ書き戻し、次の agent session が
|
|
6
|
+
chat memory ではなくファイルから続きに入れるようにします。
|
|
7
|
+
|
|
8
|
+
主な用途:
|
|
9
|
+
|
|
10
|
+
- 既存リポジトリへ tasks-first agent contract を導入する
|
|
11
|
+
- Claude と Codex を同じ plan、check、handoff、context boundary に揃える
|
|
12
|
+
- CodeGraph と段階的な context loading により、構造を再発見するための token 消費を減らす
|
|
13
|
+
|
|
14
|
+
Agent に完全な PRD または Sprint を渡せば、あとは review and `next` だけで進めるか、
|
|
15
|
+
`/goal` を開始して AFK できます。
|
|
5
16
|
|
|
6
17
|
[English](README.md) | [简体中文](README.zh-CN.md) | [日本語](README.ja.md) | [Français](README.fr.md) | [Español](README.es.md)
|
|
7
18
|
|
|
8
19
|
リポジトリ:`https://github.com/Ancienttwo/repo-harness`
|
|
9
20
|
|
|
10
|
-
`repo-harness` は、AI 開発フローをリポジトリ内のファイルへ落とし込む workflow harness です。
|
|
11
|
-
`repo-harness` CLI と skill runtime のソースリポジトリであると同時に、下流プロジェクト向けに
|
|
12
|
-
自身が生成する repo-local workflow を、自分自身に適用したセルフホスト例でもあります。
|
|
13
|
-
|
|
14
21
|
## なぜ repo-harness を使うのか
|
|
15
22
|
|
|
16
23
|
- **セッションの状態はファイルに残り、チャット履歴には残らない。** 別々の agent
|
|
@@ -34,7 +41,7 @@ skill runtime を提供します。
|
|
|
34
41
|
commit/pending)、プロジェクト種別ごとのオプション LSP plugins、そして 4 段階の hook profile
|
|
35
42
|
(`standard`、`minimal`、`biome`、`biome-strict`)を扱います。
|
|
36
43
|
実行は `npx -y repo-harness init`。source checkout は不要です。
|
|
37
|
-
- **Repo
|
|
44
|
+
- **Repo adoption コマンド(`repo-harness adopt`)。** 既存 repo の install / refresh は
|
|
38
45
|
独立した command surface になり、従来の repo-local migration path を保ちながら
|
|
39
46
|
`init` は global runtime setup に集中します。
|
|
40
47
|
- **CodeGraph index の自己修復。** prompt hook が構造的な code-navigation intent を検出し、
|
|
@@ -79,7 +86,7 @@ product boundary は意図的に地味です。対象リポジトリを検査し
|
|
|
79
86
|
|
|
80
87
|
1. **ソースパッケージ層**:本リポジトリが CLI、CLI-backed command facades、templates、hook assets、
|
|
81
88
|
workflow contract、tests、release gate を所有します。
|
|
82
|
-
2. **対象リポジトリ contract 層**:`repo-harness
|
|
89
|
+
2. **対象リポジトリ contract 層**:`repo-harness adopt` または migration が、`docs/spec.md`、
|
|
83
90
|
`plans/`、`tasks/`、`.ai/context/`、`.ai/harness/`、helper scripts、`.ai/hooks/` といった
|
|
84
91
|
repo-local ファイルを書き込みます。
|
|
85
92
|
3. **Host adapter 層**:user-level の `~/.claude/settings.json` と `~/.codex/hooks.json` が
|
|
@@ -172,15 +179,41 @@ PRD Sprint が durable source of truth となり、Codex Goal mode は元の cha
|
|
|
172
179
|
|
|
173
180
|
実際のリポジトリがこの workflow を導入するのに適しているかを評価する、最速の経路です。
|
|
174
181
|
|
|
175
|
-
###
|
|
182
|
+
### CLI をインストールする
|
|
183
|
+
|
|
184
|
+
既定の経路では Node.js は不要です。installer は Bun を runtime として使います。
|
|
185
|
+
Bun が見つからない場合は、先に Bun をインストールしてから `repo-harness` CLI をインストールします。
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
# macOS / Linux
|
|
189
|
+
curl -fsSL https://raw.githubusercontent.com/Ancienttwo/repo-harness/main/install.sh | sh
|
|
190
|
+
|
|
191
|
+
# Windows (PowerShell)
|
|
192
|
+
irm https://raw.githubusercontent.com/Ancienttwo/repo-harness/main/install.ps1 | iex
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
<details>
|
|
196
|
+
<summary>Bun または Node がすでにある場合は package manager も使えます</summary>
|
|
176
197
|
|
|
177
198
|
```bash
|
|
199
|
+
# Bun
|
|
200
|
+
bun add -g repo-harness
|
|
201
|
+
repo-harness init
|
|
202
|
+
|
|
203
|
+
# Node/npm。CLI runtime は Bun なので、Bun が PATH 上に必要です。
|
|
178
204
|
npx -y repo-harness init
|
|
179
205
|
```
|
|
180
206
|
|
|
181
|
-
|
|
207
|
+
</details>
|
|
208
|
+
|
|
209
|
+
### host runtime を bootstrap する
|
|
210
|
+
|
|
211
|
+
```bash
|
|
212
|
+
repo-harness init
|
|
213
|
+
```
|
|
214
|
+
|
|
182
215
|
`repo-harness init` は global bootstrap、`repo-harness update` は
|
|
183
|
-
repo-local refresh です。`repo-harness init` は CLI、user-level hook adapters、Waza、Mermaid、
|
|
216
|
+
user-level refresh、`repo-harness adopt` は repo-local refresh です。`repo-harness init` は CLI、user-level hook adapters、Waza、Mermaid、
|
|
184
217
|
brain root、CodeGraph MCP を設定し、退役した `scripts/setup-plugins.sh` の Claude plugin path は使いません。
|
|
185
218
|
|
|
186
219
|
ソースの checkout から作業する場合:
|
|
@@ -214,17 +247,17 @@ symlink に裏打ちされた runtime entrypoint です。退役した `repo-har
|
|
|
214
247
|
既存リポジトリでは repo root から実行します。
|
|
215
248
|
|
|
216
249
|
```bash
|
|
217
|
-
npx -y repo-harness
|
|
250
|
+
npx -y repo-harness adopt --dry-run
|
|
218
251
|
```
|
|
219
252
|
|
|
220
253
|
dry-run のレポートが正しいことを確認してから適用します。
|
|
221
254
|
|
|
222
255
|
```bash
|
|
223
|
-
npx -y repo-harness
|
|
256
|
+
npx -y repo-harness adopt
|
|
224
257
|
```
|
|
225
258
|
|
|
226
259
|
新しいプロジェクトやモジュールには支線 command `repo-harness-scaffold` を使います。既存リポジトリには
|
|
227
|
-
`repo-harness
|
|
260
|
+
`repo-harness adopt` を使います。これは harness をインストールまたはリフレッシュするもので、アプリケーション
|
|
228
261
|
スタックは作成しません。
|
|
229
262
|
|
|
230
263
|
### 成功した状態
|
|
@@ -312,8 +345,8 @@ hook がブロックしたときは、まず terminal の構造化された出
|
|
|
312
345
|
|
|
313
346
|
## 現在の Release
|
|
314
347
|
|
|
315
|
-
- npm package:`repo-harness@0.
|
|
316
|
-
- Generated workflow stamp:`repo-harness@0.
|
|
348
|
+
- npm package:`repo-harness@0.5.1`
|
|
349
|
+
- Generated workflow stamp:`repo-harness@0.5.1+template@0.5.1`
|
|
317
350
|
- GitHub repository:`Ancienttwo/repo-harness`
|
|
318
351
|
- Release history:[`docs/CHANGELOG.md`](docs/CHANGELOG.md)
|
|
319
352
|
|
|
@@ -327,7 +360,7 @@ hook がブロックしたときは、まず terminal の構造化された出
|
|
|
327
360
|
- `assets/workflow-contract.v1.json`
|
|
328
361
|
- Generated repos はデフォルトで repo-local harness flow を使います:
|
|
329
362
|
- `docs/spec.md -> plans/ -> tasks/contracts/ -> tasks/reviews/ -> .ai/context/context-map.json -> .ai/harness/*`
|
|
330
|
-
- `repo-harness update` は runtime pieces をリフレッシュします:
|
|
363
|
+
- `repo-harness update` は user-level runtime pieces をリフレッシュします:
|
|
331
364
|
- `repo-harness` skill aliases
|
|
332
365
|
- global Codex/Claude hook adapters
|
|
333
366
|
- Waza skills:`think`、`hunt`、`check`、`health`
|
|
@@ -355,10 +388,29 @@ knowledge sync、handoff retrieval の workflow 設計に影響を与えてい
|
|
|
355
388
|
公開 command facades は `assets/skill-commands/` にあります。host skill discovery との互換性を残しつつ、実行は CLI と hooks が担います。
|
|
356
389
|
|
|
357
390
|
- Planning / review:`repo-harness-plan`、`repo-harness-review`、`repo-harness-autoplan`
|
|
391
|
+
- Product planning layer:`repo-harness-prd`(先に `$geju` を有効化し、Claude-first の `claude -p --model opus` で PRD を起草する。Codex は fallback のみ)
|
|
392
|
+
- Sprint program layer:`repo-harness-sprint`(PRD を `plans/sprints/` の順序付き backlog に分解する)
|
|
393
|
+
- Goal session layer:`repo-harness-goal` / `repo-harness:goal`(詳細な PRD または Sprint artifact から Codex/Claude の `/goal` prompt を準備する。文書がなければ先に要求する)
|
|
358
394
|
- Repo workflow actions:`repo-harness-ship`、`repo-harness-init`、`repo-harness-migrate`、`repo-harness-upgrade`、`repo-harness-capability`、`repo-harness-architecture`、`repo-harness-handoff`、`repo-harness-deploy`、`repo-harness-repair`、`repo-harness-check`
|
|
359
395
|
- Branch project creation:`repo-harness-scaffold`
|
|
360
396
|
|
|
361
|
-
|
|
397
|
+
planning chain は意図的に層を分けています。
|
|
398
|
+
|
|
399
|
+
```text
|
|
400
|
+
idea -> repo-harness-prd -> repo-harness-sprint from-prd -> repo-harness-goal
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
入力がまだプロダクトアイデアなら `repo-harness-prd` を使います。まず `$geju` の
|
|
404
|
+
direction pass を行い、その後 Claude に `claude -p --model opus` で PRD を起草させます。Codex は
|
|
405
|
+
Claude が使えない、または失敗した場合だけ fallback です。承認済み PRD を
|
|
406
|
+
machine-checkable acceptance line 付きの順序付き Sprint backlog にするには
|
|
407
|
+
`repo-harness-sprint from-prd <plans/prds/*.prd.md>` を使います。
|
|
408
|
+
`repo-harness-goal` は詳細な PRD または Sprint artifact がある場合だけ使い、
|
|
409
|
+
Codex/Claude 向けの bounded `/goal` prompt を準備し、PRD/Sprint を source of truth
|
|
410
|
+
として維持します。その文書がない場合、goal command はチャット文脈から実装を始めず、
|
|
411
|
+
先に文書を要求しなければなりません。
|
|
412
|
+
|
|
413
|
+
`repo-harness adopt` は既存リポジトリ向け、`repo-harness-scaffold` は支線 command として新しいプロジェクトやモジュールを作成します。
|
|
362
414
|
`hooks-init`、`docs-init`、`create-project-dirs` は内部ステップであり、公開 commands ではありません。
|
|
363
415
|
|
|
364
416
|
## Maintainer Reference
|