feat(ultraplan-local): M0 — profile foundation, no behaviour change
Introduces a profile-loader infrastructure for runtime-instantiable ultraplan variants (depth × domain × goal axes). M0 ships only the `default` profile, which mirrors the current hardcoded Phase 5/9 agent set — so existing flows are unaffected. What lands: - profiles/default.yaml — schema v1, lists current 8 exploration agents + 2 review agents, captures today's adversarial regime - scripts/profile-loader.mjs — null-deps Node loader with limited-subset YAML parser, listProfiles(), loadProfile(), validateProfile() that cross-checks every referenced agent exists in agents/ - scripts/profile-loader.test.mjs — 26 node:test cases (parser, validation, loader, integration with built-in default.yaml) - commands/ultraplan-local.md — Phase 1 gains a "Resolve the profile" step (--profile flag → brief.recommended_profile → default fallback) and prints profile + source in the mode report. Phase 5/9 unchanged. - README.md, CLAUDE.md, marketplace README — documentation of the M0 foundation, the universal-brief design principle, and the M1/M2/M3 milestones to come. M1 (next) wires profile recommendation into ultrabrief Phase 4. M2 ships the additional built-in profiles (quick, bugfix, feature, refactor, security-deep, research-heavy) and replaces the hardcoded Phase 5 agent table with profile-driven selection. M3 adds user-extensible profiles. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
3b57dfbf6d
commit
0b28f008ae
7 changed files with 989 additions and 1 deletions
|
|
@ -266,11 +266,39 @@ Output:
|
|||
| **Research-enriched** | `/ultraplan-local --project <dir> --research <brief>` | Add extra research briefs beyond what is in `research/` |
|
||||
| **Foreground** | `/ultraplan-local --project <dir> --fg` | No-op alias (foreground is default since v2.4.0) |
|
||||
| **Quick** | `/ultraplan-local --project <dir> --quick` | No agent swarm, lightweight scan only |
|
||||
| **Profile** | `/ultraplan-local --project <dir> --profile <name>` | Explicit profile override (overrides `recommended_profile` in brief) |
|
||||
| **Decompose** | `/ultraplan-local --decompose plan.md` | Split plan into headless session specs |
|
||||
| **Export** | `/ultraplan-local --export pr plan.md` | PR description, issue comment, or clean markdown |
|
||||
|
||||
`--brief` or `--project` is **required**. `/ultraplan-local` with no brief exits with an error and a pointer to `/ultrabrief-local`.
|
||||
|
||||
#### Profiles (M0 — foundation)
|
||||
|
||||
A *profile* describes which exploration/review agents to spawn, which
|
||||
catalog filter to apply, and which adversarial regime to use. Profiles
|
||||
live in `profiles/*.yaml` and are loaded via
|
||||
`scripts/profile-loader.mjs` (null-deps Node, limited-subset YAML
|
||||
parser, validates that every referenced agent exists).
|
||||
|
||||
M0 ships only the `default` profile, which mirrors the current
|
||||
hardcoded Phase 5/9 agent set — so existing flows are unaffected. M1
|
||||
(coming next) lets `/ultrabrief-local` recommend a profile based on
|
||||
brief content; M2 ships additional built-in profiles (`quick`,
|
||||
`bugfix`, `feature`, `refactor`, `security-deep`, `research-heavy`)
|
||||
and replaces the hardcoded Phase 5 agent table. M3 adds
|
||||
user-extensible profiles in `.claude/ultraplan-profiles/`.
|
||||
|
||||
```bash
|
||||
# Inspect available profiles
|
||||
node plugins/ultraplan-local/scripts/profile-loader.mjs list
|
||||
|
||||
# Load a specific profile (JSON output)
|
||||
node plugins/ultraplan-local/scripts/profile-loader.mjs load default
|
||||
|
||||
# Validate a profile YAML
|
||||
node plugins/ultraplan-local/scripts/profile-loader.mjs validate path/to/profile.yaml
|
||||
```
|
||||
|
||||
### What the plan contains
|
||||
|
||||
Every plan includes:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue