cc-codeconductor 0.5.0 → 1.0.0
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.md +95 -95
- package/dist/cli/errors.d.ts +65 -0
- package/dist/core/compilation/compile-checker.d.ts +51 -0
- package/dist/core/config/codeconductor-config.d.ts +42 -0
- package/dist/core/config/config-loader.d.ts +11 -0
- package/dist/core/filesystem/credential-guard.d.ts +18 -0
- package/dist/core/goal/goal-planner.d.ts +8 -0
- package/dist/core/goal/goal-state.d.ts +15 -0
- package/dist/core/loop/git-stats.d.ts +13 -0
- package/dist/core/loop/loop-engine.d.ts +79 -0
- package/dist/core/memory/episodic-store.d.ts +6 -0
- package/dist/core/memory/operational-state.d.ts +6 -0
- package/dist/core/orchestrator/runtime-orchestrator.d.ts +25 -0
- package/dist/core/planner/product-planner.d.ts +18 -0
- package/dist/core/presets/package-paths.d.ts +4 -0
- package/dist/core/product-graph/graph-store.d.ts +11 -0
- package/dist/core/product-graph/paths.d.ts +18 -0
- package/dist/core/verification/verification-runner.d.ts +57 -0
- package/dist/domain/loop/loop-state.d.ts +74 -0
- package/dist/domain/product/entities.d.ts +11 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.js +21820 -15579
- package/dist/library.js +2595 -0
- package/dist/utils/result.d.ts +36 -0
- package/dist/validation/schemas.d.ts +3660 -0
- package/package.json +15 -2
- package/policy.yml +12 -11
- package/presets/agy/AGENTS.md +11 -5
- package/presets/agy/gates/pre-commit/GATE.md +136 -0
- package/presets/agy/skills/cc-fix/SKILL.md +2 -2
- package/presets/agy/skills/cc-tdd-cycle/SKILL.md +11 -0
- package/presets/agy/workflows/cc-api-contract.md +12 -0
- package/presets/agy/workflows/cc-ask.md +55 -0
- package/presets/agy/workflows/cc-clarify.md +33 -0
- package/presets/agy/workflows/cc-council.md +31 -7
- package/presets/agy/workflows/cc-db-migration.md +22 -9
- package/presets/agy/workflows/cc-explore.md +37 -0
- package/presets/agy/workflows/cc-feature.md +41 -19
- package/presets/agy/workflows/cc-fix.md +50 -23
- package/presets/agy/workflows/cc-handoff.md +42 -0
- package/presets/agy/workflows/cc-iterative.md +128 -0
- package/presets/agy/workflows/cc-openspec.md +13 -0
- package/presets/agy/workflows/cc-pagespeed.md +12 -0
- package/presets/agy/workflows/cc-prototype.md +39 -0
- package/presets/agy/workflows/cc-refactor.md +12 -0
- package/presets/agy/workflows/cc-review.md +12 -0
- package/presets/agy/workflows/cc-scorecard.md +12 -0
- package/presets/agy/workflows/cc-tdd-cycle.md +24 -0
- package/presets/agy/workflows/cc-test-plan.md +12 -0
- package/presets/agy/workflows/cc-triage.md +35 -0
- package/presets/claude/CLAUDE.md +64 -0
- package/presets/claude/commands/cc/api-contract.md +12 -0
- package/presets/claude/commands/cc/ask.md +55 -0
- package/presets/claude/commands/cc/clarify.md +32 -0
- package/presets/claude/commands/cc/council.md +87 -0
- package/presets/claude/commands/cc/db-migration.md +22 -9
- package/presets/claude/commands/cc/explore.md +36 -0
- package/presets/claude/commands/cc/feature.md +49 -22
- package/presets/claude/commands/cc/fix.md +74 -20
- package/presets/claude/commands/cc/handoff.md +44 -0
- package/presets/claude/commands/cc/iterative.md +132 -0
- package/presets/claude/commands/cc/openspec.md +25 -0
- package/presets/claude/commands/cc/pagespeed.md +12 -0
- package/presets/claude/commands/cc/prototype.md +38 -0
- package/presets/claude/commands/cc/refactor.md +152 -1
- package/presets/claude/commands/cc/review.md +78 -16
- package/presets/claude/commands/cc/scorecard.md +12 -0
- package/presets/claude/commands/cc/tdd-cycle.md +53 -3
- package/presets/claude/commands/cc/test-plan.md +12 -0
- package/presets/claude/commands/cc/triage.md +34 -0
- package/presets/claude/gates/pre-commit/GATE.md +136 -0
- package/presets/claude/settings.json +8 -46
- package/presets/codex/AGENTS.md +6 -6
- package/presets/codex/commands/cc-ask.md +55 -0
- package/presets/codex/gates/pre-commit/GATE.md +136 -0
- package/presets/cursor/AGENTS.md +6 -6
- package/presets/cursor/agents/business-agent.md +44 -0
- package/presets/cursor/agents/continuous-architect.md +37 -0
- package/presets/cursor/agents/docs.md +1 -0
- package/presets/cursor/agents/goal-planner.md +1 -1
- package/presets/cursor/agents/impact-analyst.md +43 -0
- package/presets/cursor/agents/orchestrator.md +6 -6
- package/presets/cursor/commands/cc/api-contract.md +12 -0
- package/presets/cursor/commands/cc/ask.md +55 -0
- package/presets/cursor/commands/cc/clarify.md +32 -0
- package/presets/cursor/commands/cc/council.md +87 -0
- package/presets/cursor/commands/cc/db-migration.md +22 -9
- package/presets/cursor/commands/cc/explore.md +36 -0
- package/presets/cursor/commands/cc/feature.md +41 -19
- package/presets/cursor/commands/cc/fix.md +47 -20
- package/presets/cursor/commands/cc/handoff.md +41 -0
- package/presets/cursor/commands/cc/iterative.md +133 -0
- package/presets/cursor/commands/cc/openspec.md +22 -7
- package/presets/cursor/commands/cc/pagespeed.md +12 -0
- package/presets/cursor/commands/cc/prototype.md +38 -0
- package/presets/cursor/commands/cc/refactor.md +12 -0
- package/presets/cursor/commands/cc/review.md +12 -0
- package/presets/cursor/commands/cc/scorecard.md +12 -0
- package/presets/cursor/commands/cc/tdd-cycle.md +24 -0
- package/presets/cursor/commands/cc/test-plan.md +12 -0
- package/presets/cursor/commands/cc/triage.md +34 -0
- package/presets/cursor/gates/pre-commit/GATE.md +136 -0
- package/presets/cursor/rules/orchestration.mdc +1 -1
- package/presets/opencode/agents/architect.md +22 -1
- package/presets/opencode/agents/complexity-auditor.md +16 -1
- package/presets/opencode/agents/contract-builder.md +17 -1
- package/presets/opencode/agents/devil.md +158 -0
- package/presets/opencode/agents/docs.md +19 -1
- package/presets/opencode/agents/goal-planner.md +32 -2
- package/presets/opencode/agents/implementer.md +32 -2
- package/presets/opencode/agents/orchestrator.md +79 -12
- package/presets/opencode/agents/planner.md +61 -0
- package/presets/opencode/agents/repo-explorer.md +16 -0
- package/presets/opencode/agents/reviewer.md +33 -3
- package/presets/opencode/agents/security-reviewer.md +31 -1
- package/presets/opencode/agents/task-coach.md +69 -1
- package/presets/opencode/agents/tester.md +18 -1
- package/presets/opencode/commands/cc-api-contract.md +12 -0
- package/presets/opencode/commands/cc-ask.md +55 -0
- package/presets/opencode/commands/cc-clarify.md +31 -0
- package/presets/opencode/commands/cc-council.md +87 -0
- package/presets/opencode/commands/cc-db-migration.md +22 -9
- package/presets/opencode/commands/cc-explore.md +35 -0
- package/presets/opencode/commands/cc-feature.md +41 -19
- package/presets/opencode/commands/cc-fix.md +50 -23
- package/presets/opencode/commands/cc-handoff.md +40 -0
- package/presets/opencode/commands/cc-iterative.md +127 -0
- package/presets/opencode/commands/cc-openspec.md +13 -0
- package/presets/opencode/commands/cc-pagespeed.md +12 -0
- package/presets/opencode/commands/cc-prototype.md +37 -0
- package/presets/opencode/commands/cc-refactor.md +12 -0
- package/presets/opencode/commands/cc-review.md +12 -0
- package/presets/opencode/commands/cc-scorecard.md +12 -0
- package/presets/opencode/commands/cc-tdd-cycle.md +24 -0
- package/presets/opencode/commands/cc-test-plan.md +12 -0
- package/presets/opencode/commands/cc-triage.md +33 -0
- package/presets/opencode/gates/pre-commit/GATE.md +136 -0
- package/presets/opencode/prompts/v0.1.0/DEPRECATED.md +11 -0
- package/presets/opencode/prompts/v0.2.0/DEPRECATED.md +11 -0
- package/presets/opencode/prompts/v0.3.0/DEPRECATED.md +11 -0
- package/presets/opencode/prompts/v0.4.0/DEPRECATED.md +11 -0
- package/presets/opencode/prompts/v0.5.0/goal-planner.md +1 -1
- package/presets/opencode/prompts/v0.5.0/orchestrator.md +6 -6
- package/presets/opencode/prompts/v0.6.0/implementer.md +35 -0
- package/presets/opencode/prompts/v0.6.0/planner.md +36 -0
- package/presets/opencode/prompts/v0.6.0/reviewer.md +40 -0
- package/presets/opencode/prompts/v1.0.0/README.md +47 -0
- package/presets/opencode/prompts/v1.0.0/architect.md +259 -0
- package/presets/opencode/prompts/v1.0.0/complexity-auditor.md +116 -0
- package/presets/opencode/prompts/v1.0.0/contract-builder.md +120 -0
- package/presets/opencode/prompts/v1.0.0/devil.md +169 -0
- package/presets/opencode/prompts/v1.0.0/docs.md +229 -0
- package/presets/opencode/prompts/v1.0.0/goal-planner.md +123 -0
- package/presets/opencode/prompts/v1.0.0/implementer.md +228 -0
- package/presets/opencode/prompts/v1.0.0/orchestrator.md +474 -0
- package/presets/opencode/prompts/v1.0.0/planner.md +72 -0
- package/presets/opencode/prompts/v1.0.0/repo-explorer.md +147 -0
- package/presets/opencode/prompts/v1.0.0/reviewer.md +295 -0
- package/presets/opencode/prompts/v1.0.0/security-reviewer.md +170 -0
- package/presets/opencode/prompts/v1.0.0/task-coach.md +235 -0
- package/presets/opencode/prompts/v1.0.0/tester.md +298 -0
- package/presets/seo-hotel/settings.json +0 -17
- package/src/presets/manifests/agy.yml +2 -2
- package/src/presets/manifests/claude.yml +2 -2
- package/src/presets/manifests/codex.yml +2 -2
- package/src/presets/manifests/cursor.yml +2 -2
- package/src/presets/manifests/gemini.yml +2 -2
- package/src/presets/manifests/opencode.yml +2 -2
- package/src/presets/models/agy.yml +93 -66
- package/src/presets/models/claude.yml +79 -53
- package/src/presets/models/codex.yml +79 -54
- package/src/presets/models/cursor.yml +72 -58
- package/src/presets/models/gemini.yml +79 -53
- package/src/presets/models/opencode.yml +72 -46
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: >-
|
|
3
|
+
[cc: alias] Classify a request into type, risk, and the destination CodeConductor command.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Triage Workflow
|
|
7
|
+
|
|
8
|
+
Triage request: $ARGUMENTS
|
|
9
|
+
|
|
10
|
+
## Step 0 — CCEP Bootstrap
|
|
11
|
+
|
|
12
|
+
Command: `triage` (fixed for this workflow — do not infer from user text)
|
|
13
|
+
|
|
14
|
+
1. Run: `npx cc-codeconductor ccep parse --command triage "$ARGUMENTS" --output json`
|
|
15
|
+
2. Run: `npx cc-codeconductor ccep resolve --command triage "$ARGUMENTS" --output json`
|
|
16
|
+
3. Run: `npx cc-codeconductor ccep profile triage --output json`
|
|
17
|
+
4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command triage --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
|
|
18
|
+
5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Step 1 — Classify (task-coach)
|
|
23
|
+
|
|
24
|
+
Invoke `task-coach`. Produce: title, type (`feature` | `fix` | `refactor` | `review` | `docs` | `test`), risk, named scope, and the destination command (`feature`, `fix`, `refactor`, `review`, `explore`, …).
|
|
25
|
+
|
|
26
|
+
Ask one question per unresolved branch. If the human is unavailable, emit a Markdown questionnaire and stop at ConfirmationGate.
|
|
27
|
+
|
|
28
|
+
**STOP here. Show the classification and wait for confirmation before running the destination workflow.**
|
|
29
|
+
|
|
30
|
+
---
|
|
31
|
+
|
|
32
|
+
## Completion
|
|
33
|
+
|
|
34
|
+
Do not implement. Hand the human a destination slash command and a partial Task Card.
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Pre-commit Gate: Typecheck and Test
|
|
2
|
+
|
|
3
|
+
Este gate instala un hook `pre-commit` que ejecuta `bun run typecheck` y `bun run test` antes de permitir commits en el repositorio. Si cualquiera de estos comandos falla, el commit es bloqueado.
|
|
4
|
+
|
|
5
|
+
## Cuándo usar
|
|
6
|
+
|
|
7
|
+
**Para agentes**: Integra este gate en flujos de desarrollo local cuando quieras garantizar que los cambios typecheck correctamente y pasan los tests antes de ser cometidos.
|
|
8
|
+
|
|
9
|
+
**Para equipos**: Utiliza este gate como barrera de calidad local (sin dependencias externas) para prevenir commits con errores de tipado o tests fallidos.
|
|
10
|
+
|
|
11
|
+
## Instalación
|
|
12
|
+
|
|
13
|
+
### Paso 1: Descarga el script
|
|
14
|
+
|
|
15
|
+
El script está embebido abajo (sección "Script Installer").
|
|
16
|
+
|
|
17
|
+
### Paso 2: Ejecuta en la raíz de tu proyecto
|
|
18
|
+
|
|
19
|
+
Desde la raíz del repositorio (o cualquier subdirectorio), extrae el bloque ```bash de este archivo y ejecuta:
|
|
20
|
+
|
|
21
|
+
bash << 'SCRIPT_EOF'
|
|
22
|
+
#!/bin/bash
|
|
23
|
+
set -e
|
|
24
|
+
# [contenido del bloque bash de abajo]
|
|
25
|
+
SCRIPT_EOF
|
|
26
|
+
|
|
27
|
+
O, más simplemente, guarda el script en un archivo temporal y ejecútalo:
|
|
28
|
+
|
|
29
|
+
curl -s https://raw.githubusercontent.com/.../ | bash
|
|
30
|
+
|
|
31
|
+
### Paso 3: Verifica
|
|
32
|
+
|
|
33
|
+
Después de la instalación, debería verse:
|
|
34
|
+
|
|
35
|
+
Pre-commit hook installed successfully.
|
|
36
|
+
|
|
37
|
+
## Script Installer
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
#!/bin/bash
|
|
41
|
+
set -e
|
|
42
|
+
|
|
43
|
+
# Resolver git directory dinámicamente (worktree-safe)
|
|
44
|
+
GIT_DIR=$(git rev-parse --git-dir)
|
|
45
|
+
HOOK_PATH="$GIT_DIR/hooks/pre-commit"
|
|
46
|
+
|
|
47
|
+
# Detectar Husky o lint-staged en package.json
|
|
48
|
+
if grep -q '"husky"' package.json 2>/dev/null || grep -q '"lint-staged"' package.json 2>/dev/null; then
|
|
49
|
+
echo "Warning: Husky or lint-staged detected in package.json. Installation skipped."
|
|
50
|
+
exit 0
|
|
51
|
+
fi
|
|
52
|
+
|
|
53
|
+
# Verificar si un pre-commit hook ya existe
|
|
54
|
+
if [ -f "$HOOK_PATH" ]; then
|
|
55
|
+
echo "Warning: Pre-commit hook already exists at $HOOK_PATH. Not overwriting."
|
|
56
|
+
exit 0
|
|
57
|
+
fi
|
|
58
|
+
|
|
59
|
+
# Crear directorio hooks si no existe
|
|
60
|
+
mkdir -p "$GIT_DIR/hooks"
|
|
61
|
+
|
|
62
|
+
# Escribir el hook pre-commit
|
|
63
|
+
cat > "$HOOK_PATH" << 'HOOK_EOF'
|
|
64
|
+
#!/bin/bash
|
|
65
|
+
bun run typecheck || exit 1
|
|
66
|
+
bun run test || exit 1
|
|
67
|
+
HOOK_EOF
|
|
68
|
+
|
|
69
|
+
# Hacer el hook ejecutable
|
|
70
|
+
chmod +x "$HOOK_PATH"
|
|
71
|
+
|
|
72
|
+
echo "Pre-commit hook installed successfully."
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Notas de implementación
|
|
76
|
+
|
|
77
|
+
- **Sin dependencias externas**: El script no instala Husky, lint-staged, ni ninguna otra herramienta. Solo escribe un archivo shell y configura permisos.
|
|
78
|
+
- **Resolución dinámica de git dir**: Usa `git rev-parse --git-dir` para localizar el directorio correcto, incluso en worktrees.
|
|
79
|
+
- **Detección de conflictos**: Si Husky o lint-staged ya está en `package.json`, el script avisa y no instala para evitar conflictos.
|
|
80
|
+
- **Protección de hooks existentes**: Si ya existe un `.git/hooks/pre-commit`, el script no lo sobrescribe.
|
|
81
|
+
- **Solo Bun**: El hook ejecuta `bun run typecheck` y `bun run test`. Asegúrate de que estos scripts están definidos en `package.json`.
|
|
82
|
+
|
|
83
|
+
## Verificación
|
|
84
|
+
|
|
85
|
+
Después de instalar, verifica que el hook está en su lugar.
|
|
86
|
+
|
|
87
|
+
Para verificar, ejecuta:
|
|
88
|
+
|
|
89
|
+
ls -la .git/hooks/pre-commit
|
|
90
|
+
|
|
91
|
+
Debe mostrar algo como:
|
|
92
|
+
|
|
93
|
+
-rwxr-xr-x user group ... .git/hooks/pre-commit
|
|
94
|
+
|
|
95
|
+
Luego, intenta hacer un commit. Si hay errores de tipo o tests fallidos, el commit será bloqueado:
|
|
96
|
+
|
|
97
|
+
git add .
|
|
98
|
+
git commit -m "test"
|
|
99
|
+
# Si typecheck o test falla, verás el error y el commit será abortado.
|
|
100
|
+
|
|
101
|
+
## Troubleshooting
|
|
102
|
+
|
|
103
|
+
### "Warning: Pre-commit hook already exists"
|
|
104
|
+
|
|
105
|
+
Ya hay un hook pre-commit. Revisa su contenido:
|
|
106
|
+
|
|
107
|
+
cat .git/hooks/pre-commit
|
|
108
|
+
|
|
109
|
+
Si quieres reemplazarlo, bórralo y ejecuta el script nuevamente:
|
|
110
|
+
|
|
111
|
+
rm .git/hooks/pre-commit
|
|
112
|
+
bash /path/to/installer
|
|
113
|
+
|
|
114
|
+
### "Warning: Husky or lint-staged detected"
|
|
115
|
+
|
|
116
|
+
Tu proyecto usa Husky o lint-staged. Este gate no se instala para evitar conflictos. Si quieres usar este gate, remove Husky/lint-staged de `package.json` y ejecuta de nuevo.
|
|
117
|
+
|
|
118
|
+
### Hook no se ejecuta al hacer commit
|
|
119
|
+
|
|
120
|
+
Verifica que el hook es ejecutable:
|
|
121
|
+
|
|
122
|
+
chmod +x .git/hooks/pre-commit
|
|
123
|
+
|
|
124
|
+
Verifica que `bun run typecheck` y `bun run test` existen en `package.json`:
|
|
125
|
+
|
|
126
|
+
cat package.json | grep -A 5 '"scripts"'
|
|
127
|
+
|
|
128
|
+
### "command not found: bun"
|
|
129
|
+
|
|
130
|
+
Bun no está instalado o no está en PATH. Instala Bun desde https://bun.sh o configura PATH adecuadamente.
|
|
131
|
+
|
|
132
|
+
## Adicional: Desinstalación
|
|
133
|
+
|
|
134
|
+
Para remover el hook, simplemente bórralo:
|
|
135
|
+
|
|
136
|
+
rm .git/hooks/pre-commit
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"$schema": "https://json.schemastore.org/claude-code-settings.json",
|
|
3
3
|
"env": {
|
|
4
4
|
"CLAUDE_CODE_ATTRIBUTION_HEADER": "0",
|
|
5
|
-
"CLAUDE_CODE_DISABLE_1M_CONTEXT": "
|
|
5
|
+
"CLAUDE_CODE_DISABLE_1M_CONTEXT": "0",
|
|
6
6
|
"CLAUDE_CODE_DISABLE_AUTO_MEMORY": "1",
|
|
7
7
|
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": "1",
|
|
8
8
|
"CLAUDE_CODE_DISABLE_TERMINAL_TITLE": "1",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT": "1",
|
|
14
14
|
"ENABLE_TOOL_SEARCH": "auto",
|
|
15
15
|
"CLAUDE_AUTOCOMPACT_PCT_OVERRIDE": "80",
|
|
16
|
-
"CLAUDE_CODE_SUBPROCESS_ENV_SCRUB": "
|
|
16
|
+
"CLAUDE_CODE_SUBPROCESS_ENV_SCRUB": "0",
|
|
17
17
|
"CLAUDE_CODE_SUBAGENT_MODEL": "haiku",
|
|
18
18
|
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1",
|
|
19
19
|
"MAX_THINKING_TOKENS": "24000",
|
|
@@ -85,20 +85,6 @@
|
|
|
85
85
|
"Bash(docker compose ps*)",
|
|
86
86
|
"Bash(docker compose logs*)",
|
|
87
87
|
"Read(**)",
|
|
88
|
-
"Write(./src/**)",
|
|
89
|
-
"Write(./app/**)",
|
|
90
|
-
"Write(./pages/**)",
|
|
91
|
-
"Write(./components/**)",
|
|
92
|
-
"Write(./lib/**)",
|
|
93
|
-
"Write(./tests/**)",
|
|
94
|
-
"Write(./test/**)",
|
|
95
|
-
"Write(./__tests__/**)",
|
|
96
|
-
"Write(./prisma/**)",
|
|
97
|
-
"Write(./drizzle/**)",
|
|
98
|
-
"Write(./public/**)",
|
|
99
|
-
"Write(./styles/**)",
|
|
100
|
-
"Write(./scripts/**)",
|
|
101
|
-
"Write(./docs/**)",
|
|
102
88
|
"Edit(**)",
|
|
103
89
|
"WebFetch(*)"
|
|
104
90
|
],
|
|
@@ -144,34 +130,18 @@
|
|
|
144
130
|
"Read(~/.ssh/**)",
|
|
145
131
|
"Read(~/.aws/**)",
|
|
146
132
|
"Read(~/.gnupg/**)",
|
|
147
|
-
"Write(./.env)",
|
|
148
|
-
"Write(./.env.*)",
|
|
149
|
-
"Write(./**/.env)",
|
|
150
133
|
"Edit(./.env)",
|
|
151
134
|
"Edit(./.env.*)",
|
|
152
135
|
"Edit(./**/.env)"
|
|
153
136
|
],
|
|
154
137
|
"ask": [
|
|
155
|
-
"Bash(git push*)",
|
|
156
138
|
"Bash(git push --force*)",
|
|
157
139
|
"Bash(git reset --hard*)",
|
|
158
|
-
"Bash(npm install*)",
|
|
159
|
-
"Bash(npm i *)",
|
|
160
|
-
"Bash(pnpm install*)",
|
|
161
|
-
"Bash(pnpm add *)",
|
|
162
|
-
"Bash(yarn add *)",
|
|
163
|
-
"Bash(pip install*)",
|
|
164
140
|
"Bash(docker run*)",
|
|
165
141
|
"Bash(docker compose up*)",
|
|
166
|
-
"Bash(docker compose down*)"
|
|
167
|
-
"Bash(./gradlew build*)",
|
|
168
|
-
"Bash(./gradlew bootRun*)",
|
|
169
|
-
"Bash(mvn install*)",
|
|
170
|
-
"Bash(mvn deploy*)",
|
|
171
|
-
"Bash(vercel*)",
|
|
172
|
-
"Bash(npx vercel*)"
|
|
142
|
+
"Bash(docker compose down*)"
|
|
173
143
|
],
|
|
174
|
-
"defaultMode": "
|
|
144
|
+
"defaultMode": "bypassPermissions",
|
|
175
145
|
"disableBypassPermissionsMode": "disable"
|
|
176
146
|
},
|
|
177
147
|
"hooks": {
|
|
@@ -200,7 +170,7 @@
|
|
|
200
170
|
"hooks": [
|
|
201
171
|
{
|
|
202
172
|
"type": "command",
|
|
203
|
-
"command": "if echo \"$CLAUDE_TOOL_INPUT_COMMAND\" | grep -qE '(\\.env|secrets/|id_rsa|\\.pem|\\.key)\\b' && echo \"$CLAUDE_TOOL_INPUT_COMMAND\" | grep -qE '(cat|less|more|head|tail|cp |mv |scp )'; then echo 'Bloqueado: intento de leer archivos sensibles' >&2; exit 2; fi"
|
|
173
|
+
"command": "if echo \"$CLAUDE_TOOL_INPUT_COMMAND\" | grep -qE '(\\.env|secrets/|id_rsa|\\.pem|\\.key)\\b' && echo \"$CLAUDE_TOOL_INPUT_COMMAND\" | grep -qE '(cat|less|more|head|tail|cp |mv |scp )'; then echo 'Bloqueado: intento de leer archivos sensibles' >&2; exit 2; elif echo \"$CLAUDE_TOOL_INPUT_COMMAND\" | grep -qE '^\\s*git\\s+(push|reset\\s+--hard)' || echo \"$CLAUDE_TOOL_INPUT_COMMAND\" | grep -qE '^\\s*git\\s+clean\\s+(-[a-z]*f[a-z]*|--force)' || echo \"$CLAUDE_TOOL_INPUT_COMMAND\" | grep -qE '^\\s*git\\s+branch\\s+(-D|--delete\\s+--force)' || echo \"$CLAUDE_TOOL_INPUT_COMMAND\" | grep -qE '^\\s*git\\s+checkout\\s+(-f|--force|--discard-changes|--theirs|--ours|-\\s|-$)' || echo \"$CLAUDE_TOOL_INPUT_COMMAND\" | grep -qE '^\\s*git\\s+restore\\s+(-f|--force|--discard-changes|--theirs|--ours)'; then echo \"Bloqueado: El agente no tiene autoridad sobre este comando.\" >&2; exit 2; fi"
|
|
204
174
|
}
|
|
205
175
|
]
|
|
206
176
|
}
|
|
@@ -240,17 +210,9 @@
|
|
|
240
210
|
"allowLocalBinding": true
|
|
241
211
|
},
|
|
242
212
|
"filesystem": {
|
|
243
|
-
"denyRead": [
|
|
244
|
-
"~/.ssh",
|
|
245
|
-
"~/.aws",
|
|
246
|
-
"~/.gnupg",
|
|
247
|
-
"./.env",
|
|
248
|
-
"./.env.*"
|
|
249
|
-
]
|
|
213
|
+
"denyRead": ["~/.ssh", "~/.aws", "~/.gnupg", "./.env", "./.env.*"]
|
|
250
214
|
},
|
|
251
|
-
"excludedCommands": [
|
|
252
|
-
"docker *"
|
|
253
|
-
]
|
|
215
|
+
"excludedCommands": ["docker *"]
|
|
254
216
|
},
|
|
255
217
|
"extraKnownMarketplaces": {
|
|
256
218
|
"agricidaniel-claude-seo": {
|
|
@@ -264,7 +226,7 @@
|
|
|
264
226
|
"feedbackSurveyRate": 0,
|
|
265
227
|
"spinnerTipsEnabled": false,
|
|
266
228
|
"alwaysThinkingEnabled": true,
|
|
267
|
-
"effortLevel": "
|
|
229
|
+
"effortLevel": "medium",
|
|
268
230
|
"awaySummaryEnabled": false,
|
|
269
231
|
"showClearContextOnPlanAccept": true,
|
|
270
232
|
"autoUpdatesChannel": "stable",
|
package/presets/codex/AGENTS.md
CHANGED
|
@@ -102,19 +102,19 @@ When multiple signals apply, take the highest risk level. Do not average.
|
|
|
102
102
|
|
|
103
103
|
| Task Type | Risk | Route |
|
|
104
104
|
| -------------------- | ----------- | --------------------------------------------------- |
|
|
105
|
-
| New feature design | any | `architect` → `implementer`
|
|
106
|
-
| Bug fix | low | `implementer`
|
|
107
|
-
| Bug fix | medium–high | `task-coach` → `
|
|
105
|
+
| New feature design | any | `architect` → `tester` → `implementer` |
|
|
106
|
+
| Bug fix | low | `tester` → `implementer` |
|
|
107
|
+
| Bug fix | medium–high | `task-coach` → `tester` → `implementer` |
|
|
108
108
|
| Refactor | low | `implementer` |
|
|
109
109
|
| Refactor | medium–high | `architect` → `implementer` → `reviewer` |
|
|
110
110
|
| API change | any | `architect` → `implementer` → `reviewer` |
|
|
111
|
-
| Database migration | any | `architect` → `
|
|
111
|
+
| Database migration | any | `architect` → `tester` → `implementer` → `reviewer` |
|
|
112
112
|
| Test coverage | any | `tester` |
|
|
113
113
|
| Documentation update | any | `docs` |
|
|
114
114
|
| Codebase exploration | any | `repo-explorer` |
|
|
115
115
|
| Code review | any | `reviewer` |
|
|
116
116
|
| Security review | high | `security-reviewer` → `reviewer` |
|
|
117
|
-
| DDD→SDD→TDD pipeline | any | `contract-builder` → `architect` → `
|
|
117
|
+
| DDD→SDD→TDD pipeline | any | `contract-builder` → `architect` → `tester` → `implementer` |
|
|
118
118
|
|
|
119
119
|
---
|
|
120
120
|
|
|
@@ -868,7 +868,7 @@ needs a multi-step plan before delegation.
|
|
|
868
868
|
|
|
869
869
|
The planner matches objective keywords against built-in templates (auth, crud,
|
|
870
870
|
search, notification, migration) and falls back to a generic 4-task chain:
|
|
871
|
-
`task-coach → architect →
|
|
871
|
+
`task-coach → architect → tester → implementer`.
|
|
872
872
|
|
|
873
873
|
**Dependency order delegation (orchestrator):**
|
|
874
874
|
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: >-
|
|
3
|
+
[cc: alias] Recommend one CodeConductor slash command from a natural-language
|
|
4
|
+
problem. Does not start that workflow.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Ask — recommend a slash command
|
|
8
|
+
|
|
9
|
+
Problem: $ARGUMENTS
|
|
10
|
+
|
|
11
|
+
This is a **router**, not a delivery workflow. Recommend exactly one command.
|
|
12
|
+
Do **not** run the recommended `/cc:` command unless the human confirms.
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## Step 1 — Recommend (deterministic)
|
|
17
|
+
|
|
18
|
+
Run (local repo: `bun run dev`; published package: `npx cc-codeconductor`):
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
bun run dev ask "$ARGUMENTS" --output json
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
or:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
npx cc-codeconductor ask "$ARGUMENTS" --output json
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
The catalog is only:
|
|
31
|
+
|
|
32
|
+
| Slash | When |
|
|
33
|
+
| ----- | ---- |
|
|
34
|
+
| `/cc:feature` | new behavior |
|
|
35
|
+
| `/cc:fix` | bug / regression |
|
|
36
|
+
| `/cc:refactor` | structure, no behavior change |
|
|
37
|
+
| `/cc:review` | inspect a diff/PR |
|
|
38
|
+
| `/cc:tdd-cycle` | red → green → refactor |
|
|
39
|
+
| `/cc:openspec` | BACKLOG / BC-xxx delivery |
|
|
40
|
+
|
|
41
|
+
If the CLI is unavailable, apply the same catalog and the same priority:
|
|
42
|
+
openspec → tdd-cycle → review → refactor → fix → feature (default).
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Step 2 — Show and stop
|
|
47
|
+
|
|
48
|
+
Print:
|
|
49
|
+
|
|
50
|
+
- **Recommended:** the slash command
|
|
51
|
+
- **Why:** one or two sentences from the CLI `reason` (or your matching)
|
|
52
|
+
|
|
53
|
+
**STOP.** Wait for the human. Do not invoke the recommended workflow.
|
|
54
|
+
|
|
55
|
+
For a full preset inventory (skills, commands on disk), use `/cc:help` / `cc-help`.
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Pre-commit Gate: Typecheck and Test
|
|
2
|
+
|
|
3
|
+
Este gate instala un hook `pre-commit` que ejecuta `bun run typecheck` y `bun run test` antes de permitir commits en el repositorio. Si cualquiera de estos comandos falla, el commit es bloqueado.
|
|
4
|
+
|
|
5
|
+
## Cuándo usar
|
|
6
|
+
|
|
7
|
+
**Para agentes**: Integra este gate en flujos de desarrollo local cuando quieras garantizar que los cambios typecheck correctamente y pasan los tests antes de ser cometidos.
|
|
8
|
+
|
|
9
|
+
**Para equipos**: Utiliza este gate como barrera de calidad local (sin dependencias externas) para prevenir commits con errores de tipado o tests fallidos.
|
|
10
|
+
|
|
11
|
+
## Instalación
|
|
12
|
+
|
|
13
|
+
### Paso 1: Descarga el script
|
|
14
|
+
|
|
15
|
+
El script está embebido abajo (sección "Script Installer").
|
|
16
|
+
|
|
17
|
+
### Paso 2: Ejecuta en la raíz de tu proyecto
|
|
18
|
+
|
|
19
|
+
Desde la raíz del repositorio (o cualquier subdirectorio), extrae el bloque ```bash de este archivo y ejecuta:
|
|
20
|
+
|
|
21
|
+
bash << 'SCRIPT_EOF'
|
|
22
|
+
#!/bin/bash
|
|
23
|
+
set -e
|
|
24
|
+
# [contenido del bloque bash de abajo]
|
|
25
|
+
SCRIPT_EOF
|
|
26
|
+
|
|
27
|
+
O, más simplemente, guarda el script en un archivo temporal y ejecútalo:
|
|
28
|
+
|
|
29
|
+
curl -s https://raw.githubusercontent.com/.../ | bash
|
|
30
|
+
|
|
31
|
+
### Paso 3: Verifica
|
|
32
|
+
|
|
33
|
+
Después de la instalación, debería verse:
|
|
34
|
+
|
|
35
|
+
Pre-commit hook installed successfully.
|
|
36
|
+
|
|
37
|
+
## Script Installer
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
#!/bin/bash
|
|
41
|
+
set -e
|
|
42
|
+
|
|
43
|
+
# Resolver git directory dinámicamente (worktree-safe)
|
|
44
|
+
GIT_DIR=$(git rev-parse --git-dir)
|
|
45
|
+
HOOK_PATH="$GIT_DIR/hooks/pre-commit"
|
|
46
|
+
|
|
47
|
+
# Detectar Husky o lint-staged en package.json
|
|
48
|
+
if grep -q '"husky"' package.json 2>/dev/null || grep -q '"lint-staged"' package.json 2>/dev/null; then
|
|
49
|
+
echo "Warning: Husky or lint-staged detected in package.json. Installation skipped."
|
|
50
|
+
exit 0
|
|
51
|
+
fi
|
|
52
|
+
|
|
53
|
+
# Verificar si un pre-commit hook ya existe
|
|
54
|
+
if [ -f "$HOOK_PATH" ]; then
|
|
55
|
+
echo "Warning: Pre-commit hook already exists at $HOOK_PATH. Not overwriting."
|
|
56
|
+
exit 0
|
|
57
|
+
fi
|
|
58
|
+
|
|
59
|
+
# Crear directorio hooks si no existe
|
|
60
|
+
mkdir -p "$GIT_DIR/hooks"
|
|
61
|
+
|
|
62
|
+
# Escribir el hook pre-commit
|
|
63
|
+
cat > "$HOOK_PATH" << 'HOOK_EOF'
|
|
64
|
+
#!/bin/bash
|
|
65
|
+
bun run typecheck || exit 1
|
|
66
|
+
bun run test || exit 1
|
|
67
|
+
HOOK_EOF
|
|
68
|
+
|
|
69
|
+
# Hacer el hook ejecutable
|
|
70
|
+
chmod +x "$HOOK_PATH"
|
|
71
|
+
|
|
72
|
+
echo "Pre-commit hook installed successfully."
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## Notas de implementación
|
|
76
|
+
|
|
77
|
+
- **Sin dependencias externas**: El script no instala Husky, lint-staged, ni ninguna otra herramienta. Solo escribe un archivo shell y configura permisos.
|
|
78
|
+
- **Resolución dinámica de git dir**: Usa `git rev-parse --git-dir` para localizar el directorio correcto, incluso en worktrees.
|
|
79
|
+
- **Detección de conflictos**: Si Husky o lint-staged ya está en `package.json`, el script avisa y no instala para evitar conflictos.
|
|
80
|
+
- **Protección de hooks existentes**: Si ya existe un `.git/hooks/pre-commit`, el script no lo sobrescribe.
|
|
81
|
+
- **Solo Bun**: El hook ejecuta `bun run typecheck` y `bun run test`. Asegúrate de que estos scripts están definidos en `package.json`.
|
|
82
|
+
|
|
83
|
+
## Verificación
|
|
84
|
+
|
|
85
|
+
Después de instalar, verifica que el hook está en su lugar.
|
|
86
|
+
|
|
87
|
+
Para verificar, ejecuta:
|
|
88
|
+
|
|
89
|
+
ls -la .git/hooks/pre-commit
|
|
90
|
+
|
|
91
|
+
Debe mostrar algo como:
|
|
92
|
+
|
|
93
|
+
-rwxr-xr-x user group ... .git/hooks/pre-commit
|
|
94
|
+
|
|
95
|
+
Luego, intenta hacer un commit. Si hay errores de tipo o tests fallidos, el commit será bloqueado:
|
|
96
|
+
|
|
97
|
+
git add .
|
|
98
|
+
git commit -m "test"
|
|
99
|
+
# Si typecheck o test falla, verás el error y el commit será abortado.
|
|
100
|
+
|
|
101
|
+
## Troubleshooting
|
|
102
|
+
|
|
103
|
+
### "Warning: Pre-commit hook already exists"
|
|
104
|
+
|
|
105
|
+
Ya hay un hook pre-commit. Revisa su contenido:
|
|
106
|
+
|
|
107
|
+
cat .git/hooks/pre-commit
|
|
108
|
+
|
|
109
|
+
Si quieres reemplazarlo, bórralo y ejecuta el script nuevamente:
|
|
110
|
+
|
|
111
|
+
rm .git/hooks/pre-commit
|
|
112
|
+
bash /path/to/installer
|
|
113
|
+
|
|
114
|
+
### "Warning: Husky or lint-staged detected"
|
|
115
|
+
|
|
116
|
+
Tu proyecto usa Husky o lint-staged. Este gate no se instala para evitar conflictos. Si quieres usar este gate, remove Husky/lint-staged de `package.json` y ejecuta de nuevo.
|
|
117
|
+
|
|
118
|
+
### Hook no se ejecuta al hacer commit
|
|
119
|
+
|
|
120
|
+
Verifica que el hook es ejecutable:
|
|
121
|
+
|
|
122
|
+
chmod +x .git/hooks/pre-commit
|
|
123
|
+
|
|
124
|
+
Verifica que `bun run typecheck` y `bun run test` existen en `package.json`:
|
|
125
|
+
|
|
126
|
+
cat package.json | grep -A 5 '"scripts"'
|
|
127
|
+
|
|
128
|
+
### "command not found: bun"
|
|
129
|
+
|
|
130
|
+
Bun no está instalado o no está en PATH. Instala Bun desde https://bun.sh o configura PATH adecuadamente.
|
|
131
|
+
|
|
132
|
+
## Adicional: Desinstalación
|
|
133
|
+
|
|
134
|
+
Para remover el hook, simplemente bórralo:
|
|
135
|
+
|
|
136
|
+
rm .git/hooks/pre-commit
|
package/presets/cursor/AGENTS.md
CHANGED
|
@@ -73,18 +73,18 @@ introduces maintenance burden, supply-chain risk, and version conflicts.
|
|
|
73
73
|
|
|
74
74
|
| Task Type | Risk | Route To |
|
|
75
75
|
| -------------------- | ----------- | ----------------------------------------------------------- |
|
|
76
|
-
| New feature design | any | `architect` → `implementer`
|
|
77
|
-
| Bug fix | low | `implementer`
|
|
78
|
-
| Bug fix | medium–high | `task-coach` → `
|
|
76
|
+
| New feature design | any | `architect` → `tester` → `implementer` |
|
|
77
|
+
| Bug fix | low | `tester` → `implementer` |
|
|
78
|
+
| Bug fix | medium–high | `task-coach` → `tester` → `implementer` |
|
|
79
79
|
| Refactor | low | `implementer` |
|
|
80
80
|
| Refactor | medium–high | `architect` → `implementer` → `complexity-auditor` → `reviewer` |
|
|
81
81
|
| API change | any | `architect` → `implementer` → `complexity-auditor` → `reviewer` |
|
|
82
|
-
| Database migration | any | `architect` → `
|
|
82
|
+
| Database migration | any | `architect` → `tester` → `implementer` → `complexity-auditor` → `reviewer` |
|
|
83
83
|
| Test coverage | any | `tester` |
|
|
84
84
|
| Documentation update | any | `docs` |
|
|
85
85
|
| Codebase exploration | any | `repo-explorer` |
|
|
86
86
|
| Code review | any | `reviewer` |
|
|
87
|
-
| DDD→SDD→TDD pipeline | any | `contract-builder` → `architect` → `
|
|
87
|
+
| DDD→SDD→TDD pipeline | any | `contract-builder` → `architect` → `tester` → `implementer` |
|
|
88
88
|
| Security review | high | `security-reviewer` → `reviewer` |
|
|
89
89
|
|
|
90
90
|
When uncertain about routing, escalate to `orchestrator`.
|
|
@@ -324,7 +324,7 @@ needs a multi-step plan before delegation.
|
|
|
324
324
|
|
|
325
325
|
The planner matches objective keywords against built-in templates (auth, crud,
|
|
326
326
|
search, notification, migration) and falls back to a generic 4-task chain:
|
|
327
|
-
`task-coach → architect →
|
|
327
|
+
`task-coach → architect → tester → implementer`.
|
|
328
328
|
|
|
329
329
|
**Dependency order delegation (orchestrator):**
|
|
330
330
|
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: business-agent
|
|
3
|
+
description: Product Manager agent — evaluates ROI, adoption, and business value before implementation. Does not write code.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Business Agent
|
|
7
|
+
|
|
8
|
+
You are the **Business Agent** for CodeConductor. You ask Product Manager questions
|
|
9
|
+
before high-impact features proceed to implementation.
|
|
10
|
+
|
|
11
|
+
## Role
|
|
12
|
+
|
|
13
|
+
- Evaluate whether a proposed change generates business value
|
|
14
|
+
- Estimate user impact and adoption risk
|
|
15
|
+
- Challenge features with low ROI or unclear outcomes
|
|
16
|
+
- Produce structured `BusinessReviewOutput` JSON
|
|
17
|
+
|
|
18
|
+
## Questions you must address
|
|
19
|
+
|
|
20
|
+
1. Does this really generate revenue or reduce cost?
|
|
21
|
+
2. How many users use the affected capability today?
|
|
22
|
+
3. What happens if we remove or defer this?
|
|
23
|
+
4. What is the expected ROI vs implementation cost?
|
|
24
|
+
|
|
25
|
+
## Output contract
|
|
26
|
+
|
|
27
|
+
Return JSON matching `BusinessReviewOutputSchema`:
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
{
|
|
31
|
+
"status": "proceed" | "defer" | "reject",
|
|
32
|
+
"roiEstimate": "string",
|
|
33
|
+
"userImpact": "string",
|
|
34
|
+
"eliminationRisk": "string",
|
|
35
|
+
"questions": ["string"],
|
|
36
|
+
"confidence": 0.0-1.0
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
## Constraints
|
|
41
|
+
|
|
42
|
+
- Do not write implementation code
|
|
43
|
+
- Do not approve without explicit business rationale
|
|
44
|
+
- Escalate when data is missing — list questions in `questions`
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: continuous-architect
|
|
3
|
+
description: Maintains product graph, ADRs, and architecture docs after implementation completes.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Continuous Architect
|
|
7
|
+
|
|
8
|
+
You are the **Continuous Architect** for CodeConductor. After tasks complete, you
|
|
9
|
+
update the product's structural memory so documentation never drifts from reality.
|
|
10
|
+
|
|
11
|
+
## Responsibilities
|
|
12
|
+
|
|
13
|
+
After implementation:
|
|
14
|
+
|
|
15
|
+
1. Update or create ADR stubs when architectural decisions were made
|
|
16
|
+
2. Note new components in product graph references
|
|
17
|
+
3. Record technical debt and risks discovered during implementation
|
|
18
|
+
4. Update dependency and contract documentation when APIs change
|
|
19
|
+
|
|
20
|
+
## Triggers
|
|
21
|
+
|
|
22
|
+
- `task.completed` event from orchestrator runtime
|
|
23
|
+
- Post-merge documentation sync requests
|
|
24
|
+
|
|
25
|
+
## Output
|
|
26
|
+
|
|
27
|
+
Structured artifacts:
|
|
28
|
+
|
|
29
|
+
- ADR markdown (context, decision, consequences)
|
|
30
|
+
- Product graph node suggestions (component, contract, flow)
|
|
31
|
+
- Debt/risk entries for ingest pipeline
|
|
32
|
+
|
|
33
|
+
## Constraints
|
|
34
|
+
|
|
35
|
+
- Minimal diff to docs — only what the change requires
|
|
36
|
+
- Link every decision to the task ID and evidence
|
|
37
|
+
- Do not refactor code — docs and graph metadata only
|
|
@@ -55,6 +55,7 @@ CHANGELOG is mandatory for every implementation change. No exceptions.
|
|
|
55
55
|
- `docs/**/*.md` — any markdown documentation file
|
|
56
56
|
- `docs/adr/*.md` — Architecture Decision Records
|
|
57
57
|
- `CHANGELOG.md` — always update for any implementation change
|
|
58
|
+
- `.codeconductor/sessions/handoff.md` — `/cc:handoff` only; gitignored; redact secrets
|
|
58
59
|
- `openapi.yaml`, `openapi.json`, or any OpenAPI spec file
|
|
59
60
|
- Any `*-api.yaml` or `*-api.json` file
|
|
60
61
|
|
|
@@ -36,7 +36,7 @@ Match objective keywords against built-in templates (in order):
|
|
|
36
36
|
| migration, schema, database | migration |
|
|
37
37
|
| (no match) | generic 4-task chain |
|
|
38
38
|
|
|
39
|
-
**Generic fallback chain:** `task-coach` → `architect` → `
|
|
39
|
+
**Generic fallback chain:** `task-coach` → `architect` → `tester` → `implementer`
|
|
40
40
|
|
|
41
41
|
Each task must include: `id`, `title`, `type`, `risk`, `status: pending`,
|
|
42
42
|
`context_scope`, `depends_on`, `acceptance_criteria` (≥ 1 each).
|