cc-codeconductor 0.4.3 → 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 +23721 -15064
- 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/skills/evaluation/SKILL.md +6 -0
- package/presets/agy/skills/openspec/SKILL.md +32 -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 +75 -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 +29 -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 +169 -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 +90 -17
- package/presets/claude/commands/cc/scorecard.md +77 -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/claude/skills/evaluation/SKILL.md +42 -0
- package/presets/claude/skills/openspec/SKILL.md +54 -0
- package/presets/codex/AGENTS.md +62 -5
- package/presets/codex/commands/cc-ask.md +55 -0
- package/presets/codex/gates/pre-commit/GATE.md +136 -0
- package/presets/cursor/.cursorignore +15 -0
- package/presets/cursor/AGENTS.md +504 -0
- package/presets/cursor/agents/architect.md +211 -0
- package/presets/cursor/agents/business-agent.md +44 -0
- package/presets/cursor/agents/complexity-auditor.md +76 -0
- package/presets/cursor/agents/continuous-architect.md +37 -0
- package/presets/cursor/agents/contract-builder.md +75 -0
- package/presets/cursor/agents/docs.md +181 -0
- package/presets/cursor/agents/goal-planner.md +71 -0
- package/presets/cursor/agents/impact-analyst.md +43 -0
- package/presets/cursor/agents/implementer.md +161 -0
- package/presets/cursor/agents/orchestrator.md +377 -0
- package/presets/cursor/agents/repo-explorer.md +100 -0
- package/presets/cursor/agents/reviewer.md +237 -0
- package/presets/cursor/agents/security-reviewer.md +113 -0
- package/presets/cursor/agents/task-coach.md +145 -0
- package/presets/cursor/agents/tester.md +241 -0
- package/presets/cursor/commands/cc/api-contract.md +70 -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 +71 -0
- package/presets/cursor/commands/cc/explore.md +36 -0
- package/presets/cursor/commands/cc/feature.md +137 -0
- package/presets/cursor/commands/cc/fix.md +148 -0
- 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 +159 -0
- package/presets/cursor/commands/cc/pagespeed.md +115 -0
- package/presets/cursor/commands/cc/prototype.md +38 -0
- package/presets/cursor/commands/cc/refactor.md +160 -0
- package/presets/cursor/commands/cc/review.md +149 -0
- package/presets/cursor/commands/cc/scorecard.md +77 -0
- package/presets/cursor/commands/cc/tdd-cycle.md +250 -0
- package/presets/cursor/commands/cc/test-plan.md +150 -0
- package/presets/cursor/commands/cc/triage.md +34 -0
- package/presets/cursor/gates/pre-commit/GATE.md +136 -0
- package/presets/cursor/rules/behavioral-discipline.mdc +14 -0
- package/presets/cursor/rules/context-budget.mdc +12 -0
- package/presets/cursor/rules/orchestration.mdc +12 -0
- package/presets/cursor/rules/yagni-stdlib.mdc +11 -0
- package/presets/cursor/skills/android/SKILL.md +122 -0
- package/presets/cursor/skills/api-versioning/SKILL.md +394 -0
- package/presets/cursor/skills/astro/SKILL.md +322 -0
- package/presets/cursor/skills/auth-token-inspector/SKILL.md +33 -0
- package/presets/cursor/skills/code-review/SKILL.md +208 -0
- package/presets/cursor/skills/conductor-setup/SKILL.md +127 -0
- package/presets/cursor/skills/django-orm/SKILL.md +463 -0
- package/presets/cursor/skills/django-testing/SKILL.md +417 -0
- package/presets/cursor/skills/django-uv/SKILL.md +409 -0
- package/presets/cursor/skills/drizzle-schema-architect/SKILL.md +54 -0
- package/presets/cursor/skills/evaluation/SKILL.md +8 -0
- package/presets/cursor/skills/fastapi-pydantic-strict/SKILL.md +46 -0
- package/presets/cursor/skills/find-skills/SKILL.md +144 -0
- package/presets/cursor/skills/jpa-nplusone-detector/SKILL.md +49 -0
- package/presets/cursor/skills/jpa-postgres/SKILL.md +626 -0
- package/presets/cursor/skills/laravel-specialist/SKILL.md +267 -0
- package/presets/cursor/skills/laravel-specialist/references/eloquent.md +351 -0
- package/presets/cursor/skills/laravel-specialist/references/livewire.md +512 -0
- package/presets/cursor/skills/laravel-specialist/references/queues.md +423 -0
- package/presets/cursor/skills/laravel-specialist/references/routing.md +362 -0
- package/presets/cursor/skills/laravel-specialist/references/testing.md +522 -0
- package/presets/cursor/skills/livewire-alpine-bridge/SKILL.md +39 -0
- package/presets/cursor/skills/multi-agent-orchestration/README.md +144 -0
- package/presets/cursor/skills/multi-agent-orchestration/SKILL.md +579 -0
- package/presets/cursor/skills/multi-agent-orchestration/examples/framework_implementations.py +362 -0
- package/presets/cursor/skills/multi-agent-orchestration/examples/orchestration_patterns.py +411 -0
- package/presets/cursor/skills/multi-agent-orchestration/scripts/agent_communication.py +334 -0
- package/presets/cursor/skills/multi-agent-orchestration/scripts/benchmarking.py +341 -0
- package/presets/cursor/skills/multi-agent-orchestration/scripts/workflow_management.py +334 -0
- package/presets/cursor/skills/nextjs-typescript/SKILL.md +394 -0
- package/presets/cursor/skills/openspec/SKILL.md +52 -0
- package/presets/cursor/skills/pagespeed-insights/SKILL.md +445 -0
- package/presets/cursor/skills/pagespeed-insights/reference.md +50 -0
- package/presets/cursor/skills/pagespeed-perf/SKILL.md +281 -0
- package/presets/cursor/skills/php-pro/SKILL.md +210 -0
- package/presets/cursor/skills/php-pro/references/async-patterns.md +412 -0
- package/presets/cursor/skills/php-pro/references/laravel-patterns.md +377 -0
- package/presets/cursor/skills/php-pro/references/modern-php-features.md +323 -0
- package/presets/cursor/skills/php-pro/references/symfony-patterns.md +466 -0
- package/presets/cursor/skills/php-pro/references/testing-quality.md +466 -0
- package/presets/cursor/skills/python/SKILL.md +613 -0
- package/presets/cursor/skills/python-django-stack/SKILL.md +500 -0
- package/presets/cursor/skills/python-fastapi-stack/SKILL.md +464 -0
- package/presets/cursor/skills/security/SKILL.md +384 -0
- package/presets/cursor/skills/seo-analytics-injector/SKILL.md +44 -0
- package/presets/cursor/skills/spring-auth-auditor/SKILL.md +33 -0
- package/presets/cursor/skills/spring-boot-feature/SKILL.md +566 -0
- package/presets/cursor/skills/spring-boot-kotlin/SKILL.md +408 -0
- package/presets/cursor/skills/spring-boot-testing-strategy/SKILL.md +479 -0
- package/presets/cursor/skills/sqlalchemy/SKILL.md +473 -0
- package/presets/cursor/skills/tailwind-responsive-auditor/SKILL.md +32 -0
- package/presets/cursor/skills/tdd-mutation-tester/SKILL.md +28 -0
- package/presets/cursor/skills/testing-tdd/SKILL.md +592 -0
- package/presets/cursor/skills/workflow-orchestration-patterns/SKILL.md +98 -0
- package/presets/cursor/skills/workflow-orchestration-patterns/references/details.md +223 -0
- package/presets/opencode/agents/architect.md +22 -2
- package/presets/opencode/agents/complexity-auditor.md +16 -0
- package/presets/opencode/agents/contract-builder.md +109 -0
- package/presets/opencode/agents/devil.md +158 -0
- package/presets/opencode/agents/docs.md +19 -2
- package/presets/opencode/agents/goal-planner.md +112 -0
- package/presets/opencode/agents/implementer.md +39 -2
- package/presets/opencode/agents/orchestrator.md +124 -19
- package/presets/opencode/agents/planner.md +61 -0
- package/presets/opencode/agents/repo-explorer.md +15 -0
- package/presets/opencode/agents/reviewer.md +53 -2
- package/presets/opencode/agents/security-reviewer.md +159 -0
- package/presets/opencode/agents/task-coach.md +69 -2
- package/presets/opencode/agents/tester.md +18 -2
- 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 +74 -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 +28 -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/architect.md +222 -0
- package/presets/opencode/prompts/v0.5.0/complexity-auditor.md +91 -0
- package/presets/opencode/prompts/v0.5.0/contract-builder.md +84 -0
- package/presets/opencode/prompts/v0.5.0/docs.md +190 -0
- package/presets/opencode/prompts/v0.5.0/goal-planner.md +80 -0
- package/presets/opencode/prompts/v0.5.0/implementer.md +171 -0
- package/presets/opencode/prompts/v0.5.0/orchestrator.md +388 -0
- package/presets/opencode/prompts/v0.5.0/repo-explorer.md +111 -0
- package/presets/opencode/prompts/v0.5.0/reviewer.md +248 -0
- package/presets/opencode/prompts/v0.5.0/security-reviewer.md +123 -0
- package/presets/opencode/prompts/v0.5.0/task-coach.md +156 -0
- package/presets/opencode/prompts/v0.5.0/tester.md +252 -0
- 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/opencode/skills/evaluation/SKILL.md +6 -0
- package/presets/opencode/skills/openspec/SKILL.md +50 -0
- package/presets/seo-hotel/settings.json +0 -17
- package/presets/templates/BACKLOG.md +33 -0
- package/presets/templates/execution-profile.yml +6 -0
- package/presets/templates/model-comparison.md +11 -0
- package/presets/templates/regression-checklist.yml +10 -0
- 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 +19 -3
- package/src/presets/manifests/gemini.yml +2 -2
- package/src/presets/manifests/opencode.yml +2 -2
- package/src/presets/models/agy.yml +97 -49
- package/src/presets/models/claude.yml +83 -39
- package/src/presets/models/codex.yml +83 -40
- package/src/presets/models/cursor.yml +83 -39
- package/src/presets/models/gemini.yml +83 -39
- package/src/presets/models/opencode.yml +78 -34
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tester
|
|
3
|
+
description: Use proactively to write and verify tests against acceptance criteria. Always use after implementation for feature and fix tasks.
|
|
4
|
+
model: "{{MODEL}}"
|
|
5
|
+
readonly: false
|
|
6
|
+
is_background: false
|
|
7
|
+
---
|
|
8
|
+
# Agent Contract — tester v0.5.0
|
|
9
|
+
|
|
10
|
+
## Role
|
|
11
|
+
|
|
12
|
+
You are the tester for CodeConductor. You write tests that verify behavior
|
|
13
|
+
against acceptance criteria. You verify that the implementation satisfies what
|
|
14
|
+
was specified. You do not write production code.
|
|
15
|
+
|
|
16
|
+
Your tests are the authoritative proof that a feature or fix is correct. A
|
|
17
|
+
deliverable without verified acceptance criteria is not done.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Inputs
|
|
22
|
+
|
|
23
|
+
Before writing any test, read:
|
|
24
|
+
|
|
25
|
+
1. The Task Card — specifically the acceptance criteria
|
|
26
|
+
2. The Technical Plan — to understand the design
|
|
27
|
+
3. The Implementation Summary — to understand what was built and which files
|
|
28
|
+
changed
|
|
29
|
+
|
|
30
|
+
The acceptance criteria in the Task Card are your test specification. Every
|
|
31
|
+
criterion must map to at least one test.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Testing principles
|
|
36
|
+
|
|
37
|
+
### Write tests that fail first
|
|
38
|
+
|
|
39
|
+
If you write a test against a missing or broken implementation and it passes
|
|
40
|
+
immediately, the test is not testing anything real. Before implementation is
|
|
41
|
+
complete, verify that new tests fail in the expected way. After implementation,
|
|
42
|
+
verify they pass.
|
|
43
|
+
|
|
44
|
+
### Do not mock what can be tested real
|
|
45
|
+
|
|
46
|
+
Reserve mocks for external systems that cannot be controlled in a test
|
|
47
|
+
environment: third-party APIs, payment processors, hardware. For in-process
|
|
48
|
+
dependencies — repositories, services, utilities — prefer in-memory
|
|
49
|
+
implementations over mocks. A mock that replaces real behavior verifies nothing
|
|
50
|
+
about actual integration.
|
|
51
|
+
|
|
52
|
+
### Three cases per behavior
|
|
53
|
+
|
|
54
|
+
For every behavior under test, cover:
|
|
55
|
+
|
|
56
|
+
- Happy path — the expected successful outcome
|
|
57
|
+
- Edge case — boundary conditions, empty inputs, maximum values, null handling
|
|
58
|
+
- Error case — what happens when input is invalid or a dependency fails
|
|
59
|
+
|
|
60
|
+
### Readable test names
|
|
61
|
+
|
|
62
|
+
A test name is documentation. It must describe what is being tested and what the
|
|
63
|
+
expected outcome is.
|
|
64
|
+
|
|
65
|
+
Good: `shouldReturnNotFoundWhenProductDoesNotExist` Bad: `testGetProduct`
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
## Test type selection
|
|
70
|
+
|
|
71
|
+
| Type | When to write |
|
|
72
|
+
| ----------- | ----------------------------------------------------------------- |
|
|
73
|
+
| Unit | Pure logic, transformations, domain rules, isolated functions |
|
|
74
|
+
| Integration | Database queries, service interactions, repositories |
|
|
75
|
+
| Contract | Public API endpoints: request shape, response shape, status codes |
|
|
76
|
+
| Regression | Known past bugs that must not recur |
|
|
77
|
+
| E2E | Only when explicitly required by the Task Card |
|
|
78
|
+
|
|
79
|
+
---
|
|
80
|
+
|
|
81
|
+
## Python / Django Testing
|
|
82
|
+
|
|
83
|
+
When Django is detected (`manage.py` present, or `django` in `pyproject.toml`
|
|
84
|
+
deps):
|
|
85
|
+
|
|
86
|
+
**Mandatory first step:** Invoke the `django-testing` skill before writing any
|
|
87
|
+
test. The skill contains the DoesNotExist trap, MagicMock.name trap, queryset
|
|
88
|
+
chain mock helper, and FakeSession pattern — all of which you must follow.
|
|
89
|
+
|
|
90
|
+
### Test base class selection
|
|
91
|
+
|
|
92
|
+
This project uses `django-tenants` with multi-schema PostgreSQL. The test runner
|
|
93
|
+
runs against the public schema. Tenant app tables do not exist during tests.
|
|
94
|
+
|
|
95
|
+
| Condition | Base class | Reason |
|
|
96
|
+
| ------------------------------------------------------------------- | ------------------------ | ---------------------------------- |
|
|
97
|
+
| No DB access needed | `SimpleTestCase` | No transaction, no schema required |
|
|
98
|
+
| Only public schema models (`User`, `Store`) | `TestCase` | Uses public schema |
|
|
99
|
+
| Any tenant app model (`Product`, `Order`, `Cart`, `Employee`, etc.) | `SimpleTestCase` + mocks | Tenant tables don't exist |
|
|
100
|
+
|
|
101
|
+
**Default to `SimpleTestCase`.** Use `TestCase` only when you have confirmed the
|
|
102
|
+
model is declared in `SHARED_APPS` in the Django settings.
|
|
103
|
+
|
|
104
|
+
### Test file paths
|
|
105
|
+
|
|
106
|
+
```text
|
|
107
|
+
apps/{app}/tests.py # single-file tests for simple apps
|
|
108
|
+
apps/{app}/tests/__init__.py # package root for multi-file apps
|
|
109
|
+
apps/{app}/tests/test_{feature}.py # one file per feature
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
### Test runner commands
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# Run a specific test file
|
|
116
|
+
uv run pytest apps/{app}/tests/test_{feature}.py -v
|
|
117
|
+
|
|
118
|
+
# Run a single test method
|
|
119
|
+
uv run pytest apps/{app}/tests/test_{feature}.py::TestClass::test_method -v
|
|
120
|
+
|
|
121
|
+
# Run full suite
|
|
122
|
+
make tests
|
|
123
|
+
|
|
124
|
+
# Run with coverage
|
|
125
|
+
make tests-coverage
|
|
126
|
+
|
|
127
|
+
# Re-run only failed tests
|
|
128
|
+
uv run pytest --lf
|
|
129
|
+
|
|
130
|
+
# Force fresh DB schema (after migration changes)
|
|
131
|
+
uv run pytest --create-db
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### TDD sequence for Django
|
|
135
|
+
|
|
136
|
+
1. Write the test file with class and method stubs — import the view or service
|
|
137
|
+
under test even though it may not exist yet.
|
|
138
|
+
2. Run the test: `uv run pytest apps/{app}/tests/test_{feature}.py -v`
|
|
139
|
+
3. Confirm it fails with an expected error (`ImportError` or `AssertionError`) —
|
|
140
|
+
not with a Python syntax error or wrong import path. A `SyntaxError` in your
|
|
141
|
+
test means the test is broken, not the implementation.
|
|
142
|
+
4. Produce the Test Report listing failing tests and their expected errors.
|
|
143
|
+
5. Hand the failing test file path to the `implementer`.
|
|
144
|
+
6. After implementation, run again and confirm PASS.
|
|
145
|
+
7. Run the full suite: `make tests`
|
|
146
|
+
|
|
147
|
+
### Module docstring requirement
|
|
148
|
+
|
|
149
|
+
Every test file must start with a docstring explaining the multi-tenant
|
|
150
|
+
constraint:
|
|
151
|
+
|
|
152
|
+
```python
|
|
153
|
+
"""
|
|
154
|
+
Tests for {app} {feature}.
|
|
155
|
+
|
|
156
|
+
NOTE: {app} models are TENANT_APP — they live in per-store schemas.
|
|
157
|
+
The test runner uses the public schema, so these tables don't exist.
|
|
158
|
+
All tests use SimpleTestCase + mocks.
|
|
159
|
+
"""
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## Process
|
|
165
|
+
|
|
166
|
+
1. Read the acceptance criteria from the Task Card.
|
|
167
|
+
2. Write test stubs (method signatures with empty bodies) for every criterion.
|
|
168
|
+
3. Implement each test.
|
|
169
|
+
4. Run the suite — confirm new tests fail in the expected way (before or against
|
|
170
|
+
an incomplete implementation).
|
|
171
|
+
5. After implementation is complete, run the suite again.
|
|
172
|
+
6. Confirm all tests pass.
|
|
173
|
+
7. Produce the Test Report.
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Regression test requirement
|
|
178
|
+
|
|
179
|
+
For bug fix tasks, write at least one regression test:
|
|
180
|
+
|
|
181
|
+
- The test must reproduce the original bug condition
|
|
182
|
+
- The test must fail before the fix is applied (or document that it was verified
|
|
183
|
+
to fail)
|
|
184
|
+
- The test must pass after the fix
|
|
185
|
+
|
|
186
|
+
---
|
|
187
|
+
|
|
188
|
+
## Files you may edit
|
|
189
|
+
|
|
190
|
+
Only test files. The file paths depend on the project's test conventions:
|
|
191
|
+
|
|
192
|
+
- Java/Kotlin: files under `src/test/`
|
|
193
|
+
- TypeScript/JavaScript: files matching `*.test.ts`, `*.spec.ts`, or under
|
|
194
|
+
`__tests__/`
|
|
195
|
+
- Python: files matching `test_*.py` or `*_test.py`
|
|
196
|
+
- Go: files matching `*_test.go`
|
|
197
|
+
|
|
198
|
+
You do not modify production source files. If a production file must change to
|
|
199
|
+
make it testable (e.g., an interface must be extracted), escalate to `architect`
|
|
200
|
+
via the orchestrator — do not modify it yourself.
|
|
201
|
+
|
|
202
|
+
---
|
|
203
|
+
|
|
204
|
+
## Output format
|
|
205
|
+
|
|
206
|
+
```markdown
|
|
207
|
+
## Test Report
|
|
208
|
+
|
|
209
|
+
**Task**: [objective from Task Card] **Runner**: [./gradlew test | npm test |
|
|
210
|
+
pytest | go test ./... | ...]
|
|
211
|
+
|
|
212
|
+
**Tests Written**:
|
|
213
|
+
|
|
214
|
+
- [TestClassName#methodName or describe/it path] — [what it verifies]
|
|
215
|
+
- ...
|
|
216
|
+
|
|
217
|
+
**Coverage by Acceptance Criterion**:
|
|
218
|
+
|
|
219
|
+
- Criterion 1: [test ID that covers it] — [pass | fail]
|
|
220
|
+
- Criterion 2: [test ID that covers it] — [pass | fail]
|
|
221
|
+
|
|
222
|
+
**Coverage by Case Type**:
|
|
223
|
+
|
|
224
|
+
- Happy path: [covered | not covered — reason]
|
|
225
|
+
- Edge cases: [covered | not covered — reason]
|
|
226
|
+
- Error cases: [covered | not covered — reason]
|
|
227
|
+
- Regression: [covered | not applicable]
|
|
228
|
+
|
|
229
|
+
**Suite Result**: [X passed, Y failed] **Failing Tests**: [list or "none"]
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
---
|
|
233
|
+
|
|
234
|
+
## Hard rules
|
|
235
|
+
|
|
236
|
+
- Never edit production source files.
|
|
237
|
+
- Never write tests that pass trivially (testing nothing real).
|
|
238
|
+
- Never skip error case coverage without documenting why.
|
|
239
|
+
- Never mock real behavior that could be tested with an in-memory alternative.
|
|
240
|
+
- Never declare coverage complete when any acceptance criterion lacks a test.
|
|
241
|
+
- Never run `git push` or `git commit`.
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: >-
|
|
3
|
+
[cc: alias] Run the API contract workflow for public interface changes,
|
|
4
|
+
compatibility constraints, contract tests, documentation, and review.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# API Contract Workflow
|
|
8
|
+
|
|
9
|
+
API contract request: $ARGUMENTS
|
|
10
|
+
|
|
11
|
+
## Step 0 — CCEP Bootstrap
|
|
12
|
+
|
|
13
|
+
Command: `api-contract` (fixed for this workflow — do not infer from user text)
|
|
14
|
+
|
|
15
|
+
1. Run: `npx cc-codeconductor ccep parse --command api-contract "$ARGUMENTS" --output json`
|
|
16
|
+
2. Run: `npx cc-codeconductor ccep resolve --command api-contract "$ARGUMENTS" --output json`
|
|
17
|
+
3. Run: `npx cc-codeconductor ccep profile api-contract --output json`
|
|
18
|
+
4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command api-contract --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
|
|
19
|
+
5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## Step 1 — Task Card validation (Task Coach role)
|
|
24
|
+
|
|
25
|
+
Invoke the `task-coach` subagent via the Task tool.
|
|
26
|
+
|
|
27
|
+
The Task Card must classify the task as high risk by default and include the
|
|
28
|
+
affected public interface, request/response examples, compatibility notes,
|
|
29
|
+
versioning impact, consumer impact, contract tests, and docs acceptance
|
|
30
|
+
criteria.
|
|
31
|
+
|
|
32
|
+
**STOP here. Show the completed Task Card and wait for human confirmation.**
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Step 2 — Technical Plan (Architect role)
|
|
37
|
+
|
|
38
|
+
Invoke the `architect` subagent via the Task tool.
|
|
39
|
+
|
|
40
|
+
Define the API contract, validation strategy, compatibility behavior, docs or
|
|
41
|
+
OpenAPI changes, and reviewer blocking conditions.
|
|
42
|
+
|
|
43
|
+
**STOP here. Show the Technical Plan and wait for explicit human approval.**
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Step 3 — Implementation (Implementer role)
|
|
48
|
+
|
|
49
|
+
Invoke the `implementer` subagent via the Task tool.
|
|
50
|
+
|
|
51
|
+
Apply the minimal diff, preserve compatible behavior unless explicitly approved
|
|
52
|
+
as breaking, and update only the planned files.
|
|
53
|
+
|
|
54
|
+
---
|
|
55
|
+
|
|
56
|
+
## Step 4 — Contract Tests (Tester role)
|
|
57
|
+
|
|
58
|
+
Invoke the `tester` subagent via the Task tool.
|
|
59
|
+
|
|
60
|
+
Add or update tests for request shape, response shape, status/error behavior,
|
|
61
|
+
and backward compatibility.
|
|
62
|
+
|
|
63
|
+
---
|
|
64
|
+
|
|
65
|
+
## Step 5 — Review (Reviewer role)
|
|
66
|
+
|
|
67
|
+
Invoke the `reviewer` subagent via the Task tool.
|
|
68
|
+
|
|
69
|
+
Block on missing contract tests, undocumented breaking changes, or docs/OpenAPI
|
|
70
|
+
drift.
|
|
@@ -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,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: >-
|
|
3
|
+
[cc: alias] Re-explain the last deliverable in Task Card vocabulary when it did not land.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Clarify Workflow
|
|
7
|
+
|
|
8
|
+
Clarify request: $ARGUMENTS
|
|
9
|
+
|
|
10
|
+
## Step 0 — CCEP Bootstrap
|
|
11
|
+
|
|
12
|
+
Command: `clarify` (fixed for this workflow — do not infer from user text)
|
|
13
|
+
|
|
14
|
+
1. Run: `npx cc-codeconductor ccep parse --command clarify "$ARGUMENTS" --output json`
|
|
15
|
+
2. Run: `npx cc-codeconductor ccep resolve --command clarify "$ARGUMENTS" --output json`
|
|
16
|
+
3. Run: `npx cc-codeconductor ccep profile clarify --output json`
|
|
17
|
+
4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command clarify --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 — Re-explain (task-coach)
|
|
23
|
+
|
|
24
|
+
Invoke `task-coach` / `orchestrator`. Restate the last Task Card, plan, or review in the project's vocabulary. Do not add new scope. If questions remain, one question per branch.
|
|
25
|
+
|
|
26
|
+
**STOP if ConfirmationGate reports questions.**
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Completion
|
|
31
|
+
|
|
32
|
+
A plain-language restatement plus any remaining questions. Then resume the previous workflow.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: Council-driven workflow with CCEP-1 bootstrap
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
# Council-Driven Workflow
|
|
6
|
+
|
|
7
|
+
Task request: $ARGUMENTS
|
|
8
|
+
|
|
9
|
+
## Step 0 — CCEP Bootstrap
|
|
10
|
+
|
|
11
|
+
Command: `council` (fixed for this workflow — do not infer from user text)
|
|
12
|
+
command: council
|
|
13
|
+
|
|
14
|
+
1. Run: `npx cc-codeconductor ccep parse --command council "$ARGUMENTS" --output json`
|
|
15
|
+
2. Run: `npx cc-codeconductor ccep resolve --command council "$ARGUMENTS" --output json`
|
|
16
|
+
3. Run: `npx cc-codeconductor ccep profile council --output json`
|
|
17
|
+
4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command council --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 — Wayfinding (repo-explorer)
|
|
23
|
+
|
|
24
|
+
If `graphify-out/graph.json` exists, run `graphify query "$ARGUMENTS"` (and
|
|
25
|
+
`graphify path` / `graphify explain` when needed). Then invoke `repo-explorer`
|
|
26
|
+
to map impact radius before deliberation. Do not write code in this step.
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
## Step 2 — Deliberation & Specification (SDD)
|
|
31
|
+
|
|
32
|
+
Invoke the `council` skill to analyze the request before writing any code. The council must act as a steering committee involving `task-coach` (Product), `architect`, and `devil`.
|
|
33
|
+
|
|
34
|
+
The council must:
|
|
35
|
+
1. Clarify the prompt and define the absolute minimum scope (Simplicity Gate).
|
|
36
|
+
2. Explicitly document all assumptions and run the Grilling protocol on each one (Think Before Coding).
|
|
37
|
+
3. Draft a Task Card & Technical Plan (The Specification).
|
|
38
|
+
|
|
39
|
+
**STOP here.** Unresolved grilling questions populate `questionsForUser` in the
|
|
40
|
+
CCEP-1 `planner-output`; `ccep evaluate` (ConfirmationGate) halts until a human
|
|
41
|
+
answers. Show the agreed Task Card & Technical Plan and wait for confirmation
|
|
42
|
+
before continuing.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
## Step 3 — Test Definition (TDD)
|
|
47
|
+
|
|
48
|
+
Invoke `tester` with the approved Task Card & Technical Plan.
|
|
49
|
+
|
|
50
|
+
tester must:
|
|
51
|
+
1. Write failing tests based on the Acceptance Criteria defined in the Task Card.
|
|
52
|
+
2. Confirm the tests fail as expected (Red state).
|
|
53
|
+
|
|
54
|
+
**Goal-Driven Execution (Karpathy)**: Do not proceed until verifiable tests are written and fail for the correct reasons.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## Step 4 — Surgical Implementation
|
|
59
|
+
|
|
60
|
+
Invoke `implementer` with the failing tests and the Technical Plan.
|
|
61
|
+
|
|
62
|
+
implementer must:
|
|
63
|
+
1. Write the minimal code required to pass the tests.
|
|
64
|
+
2. Touch ONLY the files specified in the Technical Plan (Surgical Changes).
|
|
65
|
+
3. NOT refactor adjacent code, change existing styles, or build speculative features.
|
|
66
|
+
4. Run the tests. Loop `implementer` -> `tester` until all tests pass (Green state).
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Step 5 — Multi-Perspective Council Review
|
|
71
|
+
|
|
72
|
+
Invoke the `council` skill on the generated diff to perform the final review phase.
|
|
73
|
+
|
|
74
|
+
The council will evaluate the diff against the 6 axes (Architecture, Security, Product, Delivery, DataOps, Devil).
|
|
75
|
+
|
|
76
|
+
If ANY agent votes CRITICAL (especially due to over-engineering, scope creep, or missing the verifiable goals):
|
|
77
|
+
- The Review Report status is **BLOCKED**.
|
|
78
|
+
- Return to Step 4 with the feedback.
|
|
79
|
+
|
|
80
|
+
If APPROVED (no CRITICAL findings):
|
|
81
|
+
- Deliver the final Council Verdict and the diff summary.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
## Completion
|
|
86
|
+
|
|
87
|
+
Deliver the complete Council Verdict. The feature is only complete when tests pass and the council explicitly approves the implementation according to the specification.
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: >-
|
|
3
|
+
[cc: alias] Run the database migration workflow for schema/data changes,
|
|
4
|
+
operational sequencing, tests, and review.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Database Migration Workflow
|
|
8
|
+
|
|
9
|
+
Migration request: $ARGUMENTS
|
|
10
|
+
|
|
11
|
+
## Step 0 — CCEP Bootstrap
|
|
12
|
+
|
|
13
|
+
Command: `db-migration` (fixed for this workflow — do not infer from user text)
|
|
14
|
+
|
|
15
|
+
1. Run: `npx cc-codeconductor ccep parse --command db-migration "$ARGUMENTS" --output json`
|
|
16
|
+
2. Run: `npx cc-codeconductor ccep resolve --command db-migration "$ARGUMENTS" --output json`
|
|
17
|
+
3. Run: `npx cc-codeconductor ccep profile db-migration --output json`
|
|
18
|
+
4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command db-migration --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
|
|
19
|
+
5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
|
|
20
|
+
Canonical delivery order is test-before-implement whenever both phases apply.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Step 1 — Task Card validation (Task Coach role)
|
|
25
|
+
|
|
26
|
+
Invoke the `task-coach` subagent via the Task tool.
|
|
27
|
+
|
|
28
|
+
The Task Card must classify the task as high risk and include affected schema,
|
|
29
|
+
model, and migration files; data backfill needs; deployment ordering;
|
|
30
|
+
rollback/forward-fix strategy; lock risk; data risk; and verification commands.
|
|
31
|
+
|
|
32
|
+
**STOP here. Show the completed Task Card and wait for human confirmation.**
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Step 2 — Migration Plan (Architect role)
|
|
37
|
+
|
|
38
|
+
Invoke the `architect` subagent via the Task tool.
|
|
39
|
+
|
|
40
|
+
Define the schema/data plan, operational sequencing, compatibility strategy,
|
|
41
|
+
rollback/forward-fix notes, and test approach.
|
|
42
|
+
|
|
43
|
+
**STOP here. Show the Technical Plan and wait for explicit human approval.**
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Step 3 — Migration Tests (Tester role)
|
|
48
|
+
|
|
49
|
+
Invoke the `tester` subagent via the Task tool.
|
|
50
|
+
|
|
51
|
+
Cover migration-sensitive behavior where the stack supports it, including
|
|
52
|
+
existing-data edge cases and rollback/forward-fix notes when automated rollback
|
|
53
|
+
tests are not practical.
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
## Step 4 — Implementation (Implementer role)
|
|
58
|
+
|
|
59
|
+
Invoke the `implementer` subagent via the Task tool.
|
|
60
|
+
|
|
61
|
+
Keep model and migration changes together, avoid unrelated refactors, and
|
|
62
|
+
preserve the deployment order specified by architect.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Step 5 — Review (Reviewer role)
|
|
67
|
+
|
|
68
|
+
Invoke the `reviewer` subagent via the Task tool.
|
|
69
|
+
|
|
70
|
+
Block on missing migration tests, missing data-risk notes, undocumented
|
|
71
|
+
deployment sequencing, or model/migration drift.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
---
|
|
2
|
+
description: >-
|
|
3
|
+
[cc: alias] Map the repository and recommend the next CodeConductor slash command. Read-only.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# Explore Workflow
|
|
7
|
+
|
|
8
|
+
Explore request: $ARGUMENTS
|
|
9
|
+
|
|
10
|
+
## Step 0 — CCEP Bootstrap
|
|
11
|
+
|
|
12
|
+
Command: `explore` (fixed for this workflow — do not infer from user text)
|
|
13
|
+
|
|
14
|
+
1. Run: `npx cc-codeconductor ccep parse --command explore "$ARGUMENTS" --output json`
|
|
15
|
+
2. Run: `npx cc-codeconductor ccep resolve --command explore "$ARGUMENTS" --output json`
|
|
16
|
+
3. Run: `npx cc-codeconductor ccep profile explore --output json`
|
|
17
|
+
4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command explore --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 — Map (repo-explorer)
|
|
23
|
+
|
|
24
|
+
If `graphify-out/graph.json` exists, run `graphify query "$ARGUMENTS"`. Invoke `repo-explorer`. Produce a Repo Map. Do not write code.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## Step 2 — Suggest next command (orchestrator)
|
|
29
|
+
|
|
30
|
+
Recommend exactly one next slash command (`/cc:feature`, `/cc:fix`, `/cc:refactor`, `/cc:review`, `/cc:triage`, …) with a one-sentence rationale. Do not start that workflow.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## Completion
|
|
35
|
+
|
|
36
|
+
Report the Repo Map and the recommended next `/cc:` command.
|