ultra-builder-pro-cli 0.5.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/.ultra-template/delivery-report.json +9 -0
- package/.ultra-template/docs/research/README.md +53 -0
- package/.ultra-template/specs/architecture.md +250 -0
- package/.ultra-template/specs/discovery.md +248 -0
- package/.ultra-template/specs/product.md +223 -0
- package/.ultra-template/tasks/contexts/TEMPLATE.md +57 -0
- package/.ultra-template/tasks/tasks.json +33 -0
- package/.ultra-template/test-report.json +8 -0
- package/CHANGELOG.md +194 -0
- package/LICENSE +21 -0
- package/README.md +187 -0
- package/adapters/_shared/codex-assets.cjs +1128 -0
- package/adapters/_shared/codex-ultra-tools-entry.cjs +11 -0
- package/adapters/_shared/file-ops.cjs +115 -0
- package/adapters/_shared/frontmatter.cjs +52 -0
- package/adapters/_shared/handbook.cjs +144 -0
- package/adapters/_shared/md-to-toml.cjs +54 -0
- package/adapters/_shared/path-rewrite.cjs +79 -0
- package/adapters/_shared/rtk-detect.cjs +86 -0
- package/adapters/_shared/runtime-assets.cjs +70 -0
- package/adapters/_shared/settings-merge.cjs +76 -0
- package/adapters/_shared/tests/file-ops.test.cjs +54 -0
- package/adapters/_shared/tests/frontmatter.test.cjs +47 -0
- package/adapters/_shared/tests/handbook.test.cjs +86 -0
- package/adapters/_shared/tests/md-to-toml.test.cjs +48 -0
- package/adapters/_shared/tests/path-rewrite.test.cjs +60 -0
- package/adapters/_shared/tests/resolve-target.test.cjs +85 -0
- package/adapters/_shared/tests/rtk-detect.test.cjs +116 -0
- package/adapters/_shared/tests/runtime-assets.test.cjs +107 -0
- package/adapters/_shared/tests/settings-merge.test.cjs +85 -0
- package/adapters/_shared/tests/validate.test.cjs +30 -0
- package/adapters/_shared/validate.cjs +24 -0
- package/adapters/claude.js +182 -0
- package/adapters/codex.js +385 -0
- package/adapters/gemini.js +204 -0
- package/adapters/opencode.js +506 -0
- package/adapters/tests/claude.test.cjs +117 -0
- package/adapters/tests/codex-hook.test.cjs +90 -0
- package/adapters/tests/codex.test.cjs +356 -0
- package/adapters/tests/gemini.test.cjs +112 -0
- package/adapters/tests/opencode.test.cjs +246 -0
- package/agents/code-reviewer.md +102 -0
- package/agents/debugger.md +127 -0
- package/agents/review-code.md +125 -0
- package/agents/review-comments.md +98 -0
- package/agents/review-coordinator.md +146 -0
- package/agents/review-design.md +133 -0
- package/agents/review-errors.md +87 -0
- package/agents/review-tests.md +93 -0
- package/agents/tdd-runner.md +92 -0
- package/bin/handbook.js +54 -0
- package/bin/install.js +254 -0
- package/bin/orchestrator.js +214 -0
- package/commands/learn.md +41 -0
- package/commands/ultra-deliver.md +45 -0
- package/commands/ultra-dev.md +50 -0
- package/commands/ultra-init.md +51 -0
- package/commands/ultra-plan.md +49 -0
- package/commands/ultra-research.md +59 -0
- package/commands/ultra-status.md +46 -0
- package/commands/ultra-test.md +48 -0
- package/commands/ultra-think.md +45 -0
- package/docs/AGENT-CONTEXT.md +143 -0
- package/docs/ARCHITECTURE.md +197 -0
- package/docs/COMMIT-HASH-BACKFILL.md +101 -0
- package/docs/LEGACY-HERMES.md +1175 -0
- package/docs/PLAN.zh-CN.md +1683 -0
- package/docs/ROADMAP.md +102 -0
- package/docs/RUNTIME-COMPAT-MATRIX.md +98 -0
- package/docs/STATE-DB-ACCESS-POLICY.md +109 -0
- package/docs/USER-HANDBOOK-CONTRACT.md +61 -0
- package/hooks/README.md +24 -0
- package/hooks/active_task_context.py +44 -0
- package/hooks/adapters/codex.py +302 -0
- package/hooks/health_check.py +61 -0
- package/hooks/pre_stop_check.py +56 -0
- package/hooks/subagent_tracker.py +116 -0
- package/hooks/workflow_checkpoint.py +56 -0
- package/hooks/workflow_context.py +63 -0
- package/hooks/workflow_resume.py +50 -0
- package/mcp-server/lib/init-project.cjs +162 -0
- package/mcp-server/lib/llm-client.cjs +157 -0
- package/mcp-server/lib/llm-client.test.cjs +156 -0
- package/mcp-server/lib/plan-store.cjs +96 -0
- package/mcp-server/lib/plan-store.test.cjs +132 -0
- package/mcp-server/lib/prd-parser.cjs +110 -0
- package/mcp-server/lib/prd-parser.test.cjs +171 -0
- package/mcp-server/lib/pricing.cjs +53 -0
- package/mcp-server/lib/projector.cjs +158 -0
- package/mcp-server/lib/state-db.cjs +113 -0
- package/mcp-server/lib/state-db.test.cjs +116 -0
- package/mcp-server/lib/state-ops.cjs +725 -0
- package/mcp-server/lib/task-expander.cjs +123 -0
- package/mcp-server/lib/task-expander.test.cjs +253 -0
- package/mcp-server/lib/telemetry.cjs +72 -0
- package/mcp-server/lib/topo.cjs +131 -0
- package/mcp-server/lib/topo.test.cjs +158 -0
- package/mcp-server/server.cjs +482 -0
- package/mcp-server/tests/circuit-breaker.test.cjs +125 -0
- package/mcp-server/tests/commit-hash-flow.test.cjs +117 -0
- package/mcp-server/tests/concurrency-update.test.cjs +96 -0
- package/mcp-server/tests/concurrency.test.cjs +112 -0
- package/mcp-server/tests/db-ops.test.cjs +117 -0
- package/mcp-server/tests/init-project.test.cjs +141 -0
- package/mcp-server/tests/migrate.test.cjs +144 -0
- package/mcp-server/tests/projector.test.cjs +130 -0
- package/mcp-server/tests/server-contract.test.cjs +750 -0
- package/mcp-server/tests/staleness.test.cjs +190 -0
- package/mcp-server/tests/state-ops.test.cjs +286 -0
- package/mcp-server/tests/tagged-tasks.test.cjs +163 -0
- package/mcp-server/tests/telemetry.test.cjs +205 -0
- package/orchestrator/auto-merge.cjs +109 -0
- package/orchestrator/code-graph-watcher.cjs +121 -0
- package/orchestrator/daemon.cjs +112 -0
- package/orchestrator/dispatch-rules.cjs +93 -0
- package/orchestrator/parallel-orchestrator.cjs +195 -0
- package/orchestrator/planner/expand-prompt.cjs +62 -0
- package/orchestrator/planner/expand-prompt.test.cjs +52 -0
- package/orchestrator/planner/plan-builder.cjs +116 -0
- package/orchestrator/planner/plan-builder.test.cjs +165 -0
- package/orchestrator/planner/prd-prompt.cjs +44 -0
- package/orchestrator/planner/prd-prompt.test.cjs +30 -0
- package/orchestrator/recovery.cjs +70 -0
- package/orchestrator/session-runner.cjs +224 -0
- package/orchestrator/skill-miner.cjs +133 -0
- package/orchestrator/tests/auto-merge.test.cjs +216 -0
- package/orchestrator/tests/code-graph-watcher.test.cjs +183 -0
- package/orchestrator/tests/daemon.test.cjs +260 -0
- package/orchestrator/tests/dispatch-rules.test.cjs +122 -0
- package/orchestrator/tests/parallel-orchestrator.test.cjs +233 -0
- package/orchestrator/tests/phase-8b-gate.test.cjs +183 -0
- package/orchestrator/tests/recovery.test.cjs +190 -0
- package/orchestrator/tests/session-runner.test.cjs +314 -0
- package/orchestrator/tests/skill-miner.test.cjs +147 -0
- package/orchestrator/tests/worktree-manager.test.cjs +148 -0
- package/orchestrator/worktree-manager.cjs +131 -0
- package/output-styles/coding-vibes.md +67 -0
- package/output-styles/structural-thinking.md +61 -0
- package/package.json +109 -0
- package/settings.json +8 -0
- package/skills/cc-collab/SKILL.md +41 -0
- package/skills/code-review-expert/SKILL.md +118 -0
- package/skills/code-review-expert/references/code-quality-checklist.md +112 -0
- package/skills/code-review-expert/references/integration-checklist.md +46 -0
- package/skills/code-review-expert/references/removal-plan.md +52 -0
- package/skills/code-review-expert/references/security-checklist.md +100 -0
- package/skills/code-review-expert/references/solid-checklist.md +65 -0
- package/skills/codex-collab/SKILL.md +52 -0
- package/skills/codex-collab/evals/evals.json +40 -0
- package/skills/gemini-collab/SKILL.md +51 -0
- package/skills/gemini-collab/evals/evals.json +42 -0
- package/skills/integration-rules/SKILL.md +71 -0
- package/skills/learn/SKILL.md +117 -0
- package/skills/security-rules/SKILL.md +60 -0
- package/skills/testing-rules/SKILL.md +56 -0
- package/skills/ultra-deliver/SKILL.md +171 -0
- package/skills/ultra-dev/SKILL.md +324 -0
- package/skills/ultra-init/SKILL.md +148 -0
- package/skills/ultra-plan/SKILL.md +314 -0
- package/skills/ultra-research/SKILL.md +156 -0
- package/skills/ultra-research/steps/step-00-problem-validation.md +154 -0
- package/skills/ultra-research/steps/step-01-opportunity-discovery.md +172 -0
- package/skills/ultra-research/steps/step-02-market-assessment.md +195 -0
- package/skills/ultra-research/steps/step-03-competitive-landscape.md +197 -0
- package/skills/ultra-research/steps/step-04-product-strategy.md +196 -0
- package/skills/ultra-research/steps/step-05-assumptions-validation.md +234 -0
- package/skills/ultra-research/steps/step-10-user-personas.md +169 -0
- package/skills/ultra-research/steps/step-11-user-scenarios.md +181 -0
- package/skills/ultra-research/steps/step-20-user-stories.md +156 -0
- package/skills/ultra-research/steps/step-21-features-scope.md +157 -0
- package/skills/ultra-research/steps/step-22-success-metrics.md +195 -0
- package/skills/ultra-research/steps/step-30-architecture-context.md +154 -0
- package/skills/ultra-research/steps/step-31-solution-strategy.md +172 -0
- package/skills/ultra-research/steps/step-32-building-blocks.md +188 -0
- package/skills/ultra-research/steps/step-40-deployment.md +123 -0
- package/skills/ultra-research/steps/step-41-quality-risks.md +135 -0
- package/skills/ultra-research/steps/step-99-synthesis.md +188 -0
- package/skills/ultra-review/SKILL.md +437 -0
- package/skills/ultra-review/references/unified-schema.md +127 -0
- package/skills/ultra-review/scripts/review_verdict_update.py +99 -0
- package/skills/ultra-review/scripts/review_wait.py +120 -0
- package/skills/ultra-status/SKILL.md +162 -0
- package/skills/ultra-test/SKILL.md +195 -0
- package/skills/ultra-think/SKILL.md +109 -0
- package/skills/ultra-verify/SKILL.md +111 -0
- package/skills/ultra-verify/evals/evals.json +51 -0
- package/skills/ultra-verify/references/confidence-system.md +38 -0
- package/skills/ultra-verify/references/cross-verify-modes.md +73 -0
- package/skills/ultra-verify/scripts/verify_wait.py +131 -0
- package/spec/cli-protocol.md +118 -0
- package/spec/mcp-tools.yaml +658 -0
- package/spec/schemas/command-manifest.schema.json +47 -0
- package/spec/schemas/context-file.v4.5.schema.json +54 -0
- package/spec/schemas/mcp-tools.schema.json +136 -0
- package/spec/schemas/skill-manifest.schema.json +94 -0
- package/spec/schemas/state-db.sql +154 -0
- package/spec/schemas/tasks.v4.5.schema.json +66 -0
- package/ultra-tools/cli.cjs +121 -0
- package/ultra-tools/commands/db.cjs +175 -0
- package/ultra-tools/commands/legacy-memory.cjs +159 -0
- package/ultra-tools/commands/migrate.cjs +354 -0
- package/ultra-tools/commands/session.cjs +180 -0
- package/ultra-tools/commands/status.cjs +158 -0
- package/ultra-tools/commands/task.cjs +95 -0
- package/ultra-tools/legacy-memory.test.cjs +80 -0
- package/ultra-tools/status-command.test.cjs +132 -0
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
# Product Specification
|
|
2
|
+
|
|
3
|
+
> **Source of Truth**: This document defines WHAT the system does and WHO it's for.
|
|
4
|
+
> Generated by `/ultra-research` Steps 10-22
|
|
5
|
+
> Technical HOW belongs in `architecture.md`.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## §1 Problem Statement
|
|
10
|
+
|
|
11
|
+
### Core Problem
|
|
12
|
+
[NEEDS CLARIFICATION] — One paragraph describing the problem, grounded in discovery.md §0
|
|
13
|
+
|
|
14
|
+
### Who It Affects
|
|
15
|
+
[NEEDS CLARIFICATION] — Brief overview connecting problem to specific user types
|
|
16
|
+
|
|
17
|
+
### Current Impact
|
|
18
|
+
- **Time cost**: [NEEDS CLARIFICATION] — Hours/week wasted on workarounds
|
|
19
|
+
- **Money cost**: [NEEDS CLARIFICATION] — $ lost to inefficiency
|
|
20
|
+
- **Opportunity cost**: [NEEDS CLARIFICATION] — What they can't do because of this problem
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## §2 User Personas
|
|
25
|
+
|
|
26
|
+
### Persona 1: [NEEDS CLARIFICATION] (Primary)
|
|
27
|
+
|
|
28
|
+
**Role**: Job title / context
|
|
29
|
+
**Context**: Where they work, team dynamics, industry
|
|
30
|
+
|
|
31
|
+
**Goals**:
|
|
32
|
+
1. [NEEDS CLARIFICATION] — Primary goal (what gets them promoted)
|
|
33
|
+
2. Secondary goal (daily care)
|
|
34
|
+
3. Tertiary goal (nice to have)
|
|
35
|
+
|
|
36
|
+
**Pain Points**:
|
|
37
|
+
1. [NEEDS CLARIFICATION] — Connects to Opportunity O# from discovery.md §1
|
|
38
|
+
2. Connects to Opportunity O#
|
|
39
|
+
3. Source: URL or user quote
|
|
40
|
+
|
|
41
|
+
**Current Workflow**:
|
|
42
|
+
> Step-by-step description of how they solve this today
|
|
43
|
+
> Tools used: List of current tools/processes
|
|
44
|
+
> Time spent: X hours/week
|
|
45
|
+
|
|
46
|
+
**Success Metric**: How they measure their own success
|
|
47
|
+
**Adoption Trigger**: What would make them try our solution
|
|
48
|
+
**Objections**: Why they might resist
|
|
49
|
+
|
|
50
|
+
### Persona 2: [NEEDS CLARIFICATION] (Secondary)
|
|
51
|
+
|
|
52
|
+
**Role**: [NEEDS CLARIFICATION]
|
|
53
|
+
**Context**: [NEEDS CLARIFICATION]
|
|
54
|
+
|
|
55
|
+
**Goals**:
|
|
56
|
+
1. [NEEDS CLARIFICATION]
|
|
57
|
+
|
|
58
|
+
**Pain Points**:
|
|
59
|
+
1. [NEEDS CLARIFICATION]
|
|
60
|
+
|
|
61
|
+
**Current Workflow**:
|
|
62
|
+
> [NEEDS CLARIFICATION]
|
|
63
|
+
|
|
64
|
+
**Success Metric**: [NEEDS CLARIFICATION]
|
|
65
|
+
**Adoption Trigger**: [NEEDS CLARIFICATION]
|
|
66
|
+
**Objections**: [NEEDS CLARIFICATION]
|
|
67
|
+
|
|
68
|
+
### Persona Prioritization
|
|
69
|
+
|
|
70
|
+
| Persona | Urgency | Willingness to Pay | Reachability | Priority |
|
|
71
|
+
|---------|---------|-------------------|-------------|----------|
|
|
72
|
+
| P1 | [NEEDS CLARIFICATION] | | | **Primary** |
|
|
73
|
+
| P2 | | | | **Secondary** |
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## §3 User Scenarios
|
|
78
|
+
|
|
79
|
+
### Scenario Overview
|
|
80
|
+
|
|
81
|
+
| # | Scenario | Persona | Frequency | Pain | Value | Score |
|
|
82
|
+
|---|----------|---------|-----------|------|-------|-------|
|
|
83
|
+
| S1 | [NEEDS CLARIFICATION] | P1 | /5 | /5 | /5 | |
|
|
84
|
+
| S2 | | | | | | |
|
|
85
|
+
| S3 | | | | | | |
|
|
86
|
+
|
|
87
|
+
> Priority Score = Frequency × Pain × Value
|
|
88
|
+
|
|
89
|
+
### Scenario 1: [NEEDS CLARIFICATION] — Primary
|
|
90
|
+
|
|
91
|
+
**Persona**: [NEEDS CLARIFICATION]
|
|
92
|
+
**Frequency**: Daily / Weekly / Monthly
|
|
93
|
+
|
|
94
|
+
**Trigger**: What event causes this scenario
|
|
95
|
+
**Context**: Where, when, device, time pressure
|
|
96
|
+
|
|
97
|
+
**Current Flow** (painful):
|
|
98
|
+
1. [NEEDS CLARIFICATION] — What they do today
|
|
99
|
+
2. Where friction occurs
|
|
100
|
+
3. Workaround they use
|
|
101
|
+
4. Outcome and time wasted
|
|
102
|
+
|
|
103
|
+
**Desired Flow** (with our product):
|
|
104
|
+
1. [NEEDS CLARIFICATION] — Trigger detected
|
|
105
|
+
2. Streamlined action
|
|
106
|
+
3. Fast resolution
|
|
107
|
+
4. Outcome achieved in less time
|
|
108
|
+
|
|
109
|
+
**Success Outcome**: [NEEDS CLARIFICATION] — Specific and measurable
|
|
110
|
+
**Failure Outcome**: [NEEDS CLARIFICATION] — Consequences
|
|
111
|
+
**Emotional Arc**: Frustration → Discovery → Relief
|
|
112
|
+
|
|
113
|
+
### Scenario 2: [NEEDS CLARIFICATION]
|
|
114
|
+
|
|
115
|
+
[Same structure as Scenario 1]
|
|
116
|
+
|
|
117
|
+
### Scenario 3: [NEEDS CLARIFICATION]
|
|
118
|
+
|
|
119
|
+
[Same structure as Scenario 1]
|
|
120
|
+
|
|
121
|
+
---
|
|
122
|
+
|
|
123
|
+
## §4 User Stories & Features
|
|
124
|
+
|
|
125
|
+
### Story Map Overview
|
|
126
|
+
|
|
127
|
+
| ID | Story | Persona | Scenario | Priority | Complexity |
|
|
128
|
+
|----|-------|---------|----------|----------|-----------|
|
|
129
|
+
| US-01 | [NEEDS CLARIFICATION] | P1 | S1 | Must | S/M/L |
|
|
130
|
+
| US-02 | | | | | |
|
|
131
|
+
| US-03 | | | | | |
|
|
132
|
+
|
|
133
|
+
### Must-Have Stories
|
|
134
|
+
|
|
135
|
+
#### US-01: [NEEDS CLARIFICATION]
|
|
136
|
+
**As a** [Persona], **I want** [action], **so that** [benefit].
|
|
137
|
+
|
|
138
|
+
**Acceptance Criteria**:
|
|
139
|
+
- [ ] Given [context], when [action], then [result]
|
|
140
|
+
- [ ] Given [context], when [edge case], then [result]
|
|
141
|
+
|
|
142
|
+
**Traces to**: Scenario S#, Opportunity O#
|
|
143
|
+
**Complexity**: S/M/L
|
|
144
|
+
|
|
145
|
+
### Should-Have Stories
|
|
146
|
+
|
|
147
|
+
#### US-04: [NEEDS CLARIFICATION]
|
|
148
|
+
[Same structure]
|
|
149
|
+
|
|
150
|
+
### Could-Have Stories
|
|
151
|
+
|
|
152
|
+
#### US-07: [NEEDS CLARIFICATION]
|
|
153
|
+
[Same structure]
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## §5 Feature Scope
|
|
158
|
+
|
|
159
|
+
### Features In (MVP)
|
|
160
|
+
|
|
161
|
+
#### Feature 1: [NEEDS CLARIFICATION]
|
|
162
|
+
- **Description**: What this feature does
|
|
163
|
+
- **Stories**: US-01, US-02
|
|
164
|
+
- **User value**: What user can do with this
|
|
165
|
+
- **Priority**: Must-Have
|
|
166
|
+
- **Complexity**: S/M/L
|
|
167
|
+
|
|
168
|
+
### Features In (v2 — Planned)
|
|
169
|
+
|
|
170
|
+
#### Feature 4: [NEEDS CLARIFICATION]
|
|
171
|
+
- **Description**: What this feature does
|
|
172
|
+
- **Stories**: US-07, US-08
|
|
173
|
+
- **Rationale for deferral**: Why not MVP
|
|
174
|
+
- **Trigger to build**: When to reconsider
|
|
175
|
+
|
|
176
|
+
### Features Out (Explicitly Excluded)
|
|
177
|
+
|
|
178
|
+
| Feature | Rationale | Reconsider When | Alternative |
|
|
179
|
+
|---------|-----------|----------------|-------------|
|
|
180
|
+
| [NEEDS CLARIFICATION] | Why excluded (ref strategy §4) | Condition | What users do instead |
|
|
181
|
+
|
|
182
|
+
### Scope Summary
|
|
183
|
+
- **MVP features**: [NEEDS CLARIFICATION] features, stories
|
|
184
|
+
- **v2 features**: features, stories
|
|
185
|
+
- **Excluded features**: features
|
|
186
|
+
|
|
187
|
+
---
|
|
188
|
+
|
|
189
|
+
## §6 Success Metrics
|
|
190
|
+
|
|
191
|
+
### North Star Metric
|
|
192
|
+
- **Metric**: [NEEDS CLARIFICATION]
|
|
193
|
+
- **Definition**: Exactly what is measured
|
|
194
|
+
- **Current baseline**: Current state or industry benchmark
|
|
195
|
+
- **Target**: Specific number
|
|
196
|
+
- **Timeline**: When to achieve
|
|
197
|
+
- **Measurement method**: How to collect this data
|
|
198
|
+
|
|
199
|
+
### Business Metrics
|
|
200
|
+
|
|
201
|
+
| Metric | Baseline | Target (M3) | Target (M6) | Target (M12) | How Measured |
|
|
202
|
+
|--------|----------|-------------|-------------|--------------|-------------|
|
|
203
|
+
| [NEEDS CLARIFICATION] | | | | | |
|
|
204
|
+
|
|
205
|
+
### User Metrics
|
|
206
|
+
|
|
207
|
+
| Metric | Baseline | Target | How Measured |
|
|
208
|
+
|--------|----------|--------|-------------|
|
|
209
|
+
| Task completion rate | [NEEDS CLARIFICATION] | | |
|
|
210
|
+
| Time on task | | | |
|
|
211
|
+
| User satisfaction (NPS) | | | |
|
|
212
|
+
| Feature adoption | | | |
|
|
213
|
+
|
|
214
|
+
### Anti-Metrics (What NOT to Optimize)
|
|
215
|
+
|
|
216
|
+
| Anti-Metric | Why Not | What It Could Sacrifice |
|
|
217
|
+
|------------|---------|------------------------|
|
|
218
|
+
| [NEEDS CLARIFICATION] | | |
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
**Document Status**: Draft
|
|
223
|
+
**Last Updated**: [Date]
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# Task {id}: {title}
|
|
2
|
+
|
|
3
|
+
> **Status**: pending | **Priority**: {priority} | **Complexity**: {complexity}
|
|
4
|
+
|
|
5
|
+
## Context
|
|
6
|
+
|
|
7
|
+
**What**: [Clear description of what to build/change]
|
|
8
|
+
|
|
9
|
+
**Why**: [Business value linking to Persona + Scenario from specs]
|
|
10
|
+
|
|
11
|
+
**Constraints**:
|
|
12
|
+
- [Technical or business constraint 1]
|
|
13
|
+
- [Technical or business constraint 2]
|
|
14
|
+
|
|
15
|
+
## Implementation
|
|
16
|
+
|
|
17
|
+
**Target Files**:
|
|
18
|
+
- `path/to/file.ts` (create)
|
|
19
|
+
- `path/to/existing.ts` (modify: description)
|
|
20
|
+
|
|
21
|
+
**Pattern**: [Reference to existing code patterns to follow]
|
|
22
|
+
|
|
23
|
+
**Tech Notes**: [Framework/library specific guidance]
|
|
24
|
+
|
|
25
|
+
## Acceptance
|
|
26
|
+
|
|
27
|
+
**Tests**:
|
|
28
|
+
- [ ] `test command here`
|
|
29
|
+
- [ ] Pass: [scenario 1 description]
|
|
30
|
+
- [ ] Pass: [scenario 2 description]
|
|
31
|
+
|
|
32
|
+
**Verification**:
|
|
33
|
+
```bash
|
|
34
|
+
# Manual verification command
|
|
35
|
+
curl -X POST localhost:3000/api/example
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Trace
|
|
39
|
+
|
|
40
|
+
**Source**: `.ultra/specs/product.md#section-id`
|
|
41
|
+
|
|
42
|
+
## Change Log
|
|
43
|
+
|
|
44
|
+
| Date | Change | Specs Updated | Reason |
|
|
45
|
+
|------|--------|---------------|--------|
|
|
46
|
+
| {created_date} | Initial creation | - | Generated by /ultra-plan |
|
|
47
|
+
|
|
48
|
+
## Completion
|
|
49
|
+
|
|
50
|
+
> _Fill when task completed_
|
|
51
|
+
|
|
52
|
+
- **Completed**: {date}
|
|
53
|
+
- **Commit**: {hash}
|
|
54
|
+
- **Summary**: {brief description of what was delivered}
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
*Generated by /ultra-plan*
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "4.4",
|
|
3
|
+
"created": "",
|
|
4
|
+
"updated": "",
|
|
5
|
+
"project": {
|
|
6
|
+
"name": "",
|
|
7
|
+
"type": "",
|
|
8
|
+
"stack": ""
|
|
9
|
+
},
|
|
10
|
+
"tasks": [],
|
|
11
|
+
"metadata": {
|
|
12
|
+
"totalTasks": 0,
|
|
13
|
+
"completedTasks": 0,
|
|
14
|
+
"inProgressTasks": 0,
|
|
15
|
+
"pendingTasks": 0,
|
|
16
|
+
"totalEstimatedDays": 0
|
|
17
|
+
},
|
|
18
|
+
"_schema": {
|
|
19
|
+
"_comment": "Lightweight task registry - full context in contexts/task-{id}.md",
|
|
20
|
+
"task_example": {
|
|
21
|
+
"id": "1",
|
|
22
|
+
"title": "Action verb + specific target",
|
|
23
|
+
"type": "feature|architecture|bugfix",
|
|
24
|
+
"priority": "P0|P1|P2|P3",
|
|
25
|
+
"complexity": "1-10",
|
|
26
|
+
"status": "pending|in_progress|completed|blocked",
|
|
27
|
+
"dependencies": ["task_id"],
|
|
28
|
+
"estimated_days": 2,
|
|
29
|
+
"context_file": "contexts/task-1.md",
|
|
30
|
+
"trace_to": ".ultra/specs/product.md#section-id"
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
All notable changes to this project will be documented in this file.
|
|
4
|
+
|
|
5
|
+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
6
|
+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
|
+
|
|
8
|
+
## [Unreleased]
|
|
9
|
+
|
|
10
|
+
## [0.5.0] — 2026-07-16
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Added first-class native Claude Code and OpenCode plugin builders alongside
|
|
15
|
+
the Codex personal plugin. All hosts build from one explicit runtime asset
|
|
16
|
+
allowlist; Gemini remains a compatibility extension using the same boundary.
|
|
17
|
+
- Added `ubp-handbook` for previewed, backed-up managed-block integration with
|
|
18
|
+
user-level Claude `CLAUDE.md`, Codex `AGENTS.md`, and OpenCode `AGENTS.md`.
|
|
19
|
+
- Added `ultra-tools legacy-memory inspect|archive|prune`; prune requires the
|
|
20
|
+
exact `DELETE_ULTRA_LEGACY_MEMORY` confirmation token and never runs during
|
|
21
|
+
install or update.
|
|
22
|
+
- Added release verification for a freshly packed npm consumer, including
|
|
23
|
+
executable CLI links and live Claude Code, OpenCode, and Codex MCP round trips.
|
|
24
|
+
|
|
25
|
+
### Changed
|
|
26
|
+
|
|
27
|
+
- Reduced the package to ten Ultra-owned public workflows, four internal
|
|
28
|
+
agent-rule skills, and host-specific collaboration companions. The internal
|
|
29
|
+
`code-review-expert` skill is no longer implicitly user-invocable.
|
|
30
|
+
- Replaced the imported hook suite with seven workflow-only hooks that are
|
|
31
|
+
no-ops outside an active `.ultra/workflow-state.json`. OpenCode uses native
|
|
32
|
+
JavaScript lifecycle hooks; Claude Code and Codex use native plugin manifests.
|
|
33
|
+
- Upgraded `@anthropic-ai/sdk` to the patched `^0.111.0` line.
|
|
34
|
+
- Reduced the published MCP contract to the 21 tools the server actually
|
|
35
|
+
exposes; review, impact, skill discovery, and user interaction use native
|
|
36
|
+
Host surfaces.
|
|
37
|
+
|
|
38
|
+
### Fixed
|
|
39
|
+
|
|
40
|
+
- Made MCP database initialization lazy, synchronized the handshake version
|
|
41
|
+
with the npm package, and fixed `session.subscribe_events` sid filtering.
|
|
42
|
+
- Aligned session/plan input schemas with runtime behavior, including circuit
|
|
43
|
+
breaker output, session spawn intent semantics, and removal of ignored inputs.
|
|
44
|
+
- Bundled Gemini's compatibility MCP runtime durably and restored project-local
|
|
45
|
+
`.ultra/state.db` ownership across all adapters.
|
|
46
|
+
- Exported the documented `ultra-tools` executable and included every README
|
|
47
|
+
documentation target in the npm tarball.
|
|
48
|
+
|
|
49
|
+
### Removed
|
|
50
|
+
|
|
51
|
+
- Removed Ultra's memory MCP tools, store, wrapper, recall skill, memory-capture
|
|
52
|
+
and summary hooks, and private agent-memory declarations. Persistent memory is
|
|
53
|
+
now solely the responsibility of a separate cloud-mem/claude-mem plugin.
|
|
54
|
+
- Removed bundled copies of `agent-browser`, `find-skills`, `use-railway`, the
|
|
55
|
+
three Vercel skill packs, and all Impeccable-derived assets from Ultra output.
|
|
56
|
+
- Removed generic dangerous-command and post-edit governance hooks from the
|
|
57
|
+
Ultra plugin; unrelated user/repository hooks remain outside this package.
|
|
58
|
+
|
|
59
|
+
## [0.4.0] — 2026-07-15
|
|
60
|
+
|
|
61
|
+
### Changed
|
|
62
|
+
|
|
63
|
+
- Replaced the deprecated Codex `prompts/` and `config.toml` marker projection
|
|
64
|
+
with a complete personal plugin: 25 adapted skills, nine legacy-command maps,
|
|
65
|
+
plugin MCP registration, and current native hook events.
|
|
66
|
+
- Converted all nine Ultra agents to native `.codex/agents/*.toml` definitions.
|
|
67
|
+
- Renamed the cross-model skill from `codex-collab` to `cc-collab`; Codex remains
|
|
68
|
+
the primary agent and Claude Code is an explicitly requested, read-only advisor.
|
|
69
|
+
- Made hook memory, compaction, health, subagent, transcript, and summary behavior
|
|
70
|
+
runtime-aware. Codex no longer writes fallback state under `~/.claude` or
|
|
71
|
+
launches a nested model CLI for session summaries.
|
|
72
|
+
- Bundled the Codex MCP and status CLI with `@vercel/ncc`, preserving the active
|
|
73
|
+
task cwd for project-local state. Generated Codex plugins now distinguish the
|
|
74
|
+
24 live MCP tools from nine upstream scheduled contracts and document each
|
|
75
|
+
Codex-native replacement.
|
|
76
|
+
|
|
77
|
+
### Fixed
|
|
78
|
+
|
|
79
|
+
- Preserved live Codex task hooks across plugin cache refreshes by restoring
|
|
80
|
+
retired adapter paths as forwarding shims to the current cached adapter.
|
|
81
|
+
Failed refreshes recover through the managed plugin source, and corrupt
|
|
82
|
+
runtime manifests now stop uninstall before managed assets are removed.
|
|
83
|
+
|
|
84
|
+
## [0.3.0] — 2026-04-18
|
|
85
|
+
|
|
86
|
+
### Added
|
|
87
|
+
|
|
88
|
+
- **Phase 8B — executor line** (D48, `8224159`): parallel session orchestrator
|
|
89
|
+
that consumes `.ultra/execution-plan.json` waves, spawns sessions per
|
|
90
|
+
`dispatch-rules.cjs` (declarative priority-sorted rule table, GSD-2 pattern),
|
|
91
|
+
manages N concurrent git worktrees via `worktree-manager.cjs`, and auto-merges
|
|
92
|
+
session branches back to `main` with conflict detection via `auto-merge.cjs`.
|
|
93
|
+
Events: `wave_started` / `wave_completed` / `plan_completed` / `merged_back` /
|
|
94
|
+
`merge_conflict`. Opt-in `autoMerge` on `runPlan` and `closeSession`.
|
|
95
|
+
- **Phase 8A — planner line** (D47, `a932cb8`): `task.parse_prd` with dual-provider
|
|
96
|
+
LLM client (official `@anthropic-ai/sdk` + `openai`); `lib/topo.cjs`
|
|
97
|
+
Kahn + Tarjan SCC for dependency waves; `task.expand` atomic subtask creation;
|
|
98
|
+
`lib/plan-store.cjs` for atomic `.ultra/execution-plan.json` write / section
|
|
99
|
+
projection; `skills/ultra-plan` PRD-Direct workflow with human-gate via
|
|
100
|
+
`dry_run` parameter. Schema bump 7.1 → 8A.1 for `tasks.parent_id`.
|
|
101
|
+
- **Phase 7 — intelligence layer** (D46): `memory_entries` FTS5 store with
|
|
102
|
+
auto-recall on session spawn and auto-retain on close (event-type heuristic,
|
|
103
|
+
zero LLM cost); tagged task lists per git branch (`deriveBranchTag`);
|
|
104
|
+
skill mining to `skills/learned/*_unverified.md` on task completion /
|
|
105
|
+
breaker trip / session crash.
|
|
106
|
+
|
|
107
|
+
### Changed
|
|
108
|
+
|
|
109
|
+
- `STATUS_TRANSITIONS` contract now strictly requires `pending → in_progress
|
|
110
|
+
→ completed` — parallel-orchestrator transitions tasks to `in_progress`
|
|
111
|
+
before the child's exit code may flip them to completed/pending.
|
|
112
|
+
- `daemon.routeTask` is now a thin wrapper over `dispatch-rules.evaluate`
|
|
113
|
+
(6 default rules: breaker-blocked / deps-not-ready / no-runtimes /
|
|
114
|
+
wave-conflict / by-preference / fallback-first-available).
|
|
115
|
+
- `closeSession` gains `autoMerge` / `mergeBaseBranch` opt-in params.
|
|
116
|
+
|
|
117
|
+
### Fixed
|
|
118
|
+
|
|
119
|
+
- D49 tech-debt sweep: stale Phase comments (`"scheduled for Phase 1"`,
|
|
120
|
+
`"not implemented in Phase 3.1"`) replaced with accurate `unknown verb`
|
|
121
|
+
messages; `docs/ROADMAP.md` status table synchronized; `.gitignore`
|
|
122
|
+
excludes `.rtk/` local filter cache.
|
|
123
|
+
|
|
124
|
+
### Tests
|
|
125
|
+
|
|
126
|
+
- **397 tests total** across state (182) + orch (103) + spec (6) + rest
|
|
127
|
+
(106). Zero regressions from v0.2.
|
|
128
|
+
|
|
129
|
+
## [0.2.0] — 2026-04-17
|
|
130
|
+
|
|
131
|
+
### Added
|
|
132
|
+
|
|
133
|
+
- **Phase 6 — monitoring + live code graph** (D44): RTK soft-dependency hook
|
|
134
|
+
(`adapters/_shared/rtk-detect.cjs`) with `--skip-rtk` flag and install hint;
|
|
135
|
+
token / cost telemetry with per-runtime pricing table, `telemetry` table +
|
|
136
|
+
daily `.ultra/telemetry/YYYY-MM-DD.jsonl`; `ultra-tools status --cost`
|
|
137
|
+
panel with by-runtime / by-task / by-session aggregation; chokidar-based
|
|
138
|
+
code-graph watcher with debounce / awaitWriteFinish / batch thresholds,
|
|
139
|
+
opt-in via `--with-graph-watcher`.
|
|
140
|
+
- **Phase 5 — execution resilience** (D43): `recovery.cjs` boot-time orphan
|
|
141
|
+
scan using live PID probe; `circuit_breaker` table with `recordTaskFailure`
|
|
142
|
+
counter and `resetCircuitBreaker` escape hatch; spec-change staleness
|
|
143
|
+
propagation via cursor-consumed `spec_changed` events; `orchestrator/daemon.cjs`
|
|
144
|
+
polling loop with `routeTask` by complexity hint; `bin/orchestrator.js`
|
|
145
|
+
`run`/`start`/`stop`/`status` subcommands, gated by
|
|
146
|
+
`settings.json#orchestrator.auto_dispatch`.
|
|
147
|
+
- **Phase 4.6b — full conformance suite** (D45): 4 runtime × 5 capability
|
|
148
|
+
(command / skills / hooks / MCP + no `env._source` leak / install idempotency)
|
|
149
|
+
= 20 additional conformance tests; table-driven `resolve-target.test.cjs`
|
|
150
|
+
(21 tests) covering `configDir > env > home/cwd` precedence + Gemini
|
|
151
|
+
extensionRoot append; schema bump 5.2 → 7.1 alongside memory store.
|
|
152
|
+
|
|
153
|
+
### Changed
|
|
154
|
+
|
|
155
|
+
- `_source` leak fix (D45 P2 #9): four adapters now emit a sibling
|
|
156
|
+
`_ubp: {source}` envelope instead of polluting `env._source`; Codex uses
|
|
157
|
+
a marker-fence instead of nested TOML object.
|
|
158
|
+
|
|
159
|
+
## [0.1.0] — 2026-04-17
|
|
160
|
+
|
|
161
|
+
### Added
|
|
162
|
+
|
|
163
|
+
- **Phase 4.5 — execution-lite** (D42, `0d3e5ed`): 7 `session.*` MCP tools
|
|
164
|
+
(spawn / close / get / list / admission_check / heartbeat / subscribe_events);
|
|
165
|
+
`orchestrator/session-runner.cjs` creates real git worktree + child process;
|
|
166
|
+
`sessions` table holds lease / heartbeat (no lease.json file — D32);
|
|
167
|
+
admission control with takeover / resume / abandon strategies (D33).
|
|
168
|
+
- **Phase 4 — cross-runtime distribution** (D41, `5aa1fd0`): shared adapter
|
|
169
|
+
toolkit (`adapters/_shared/` — file-ops / frontmatter / settings-merge /
|
|
170
|
+
path-rewrite / md-to-toml); 4 runtime adapters (Claude sentinel-block
|
|
171
|
+
settings.json merge; OpenCode `opencode.json.mcp`; Codex `config.toml`
|
|
172
|
+
marker-block + prompts/; Gemini `extensions/ultra-builder-pro/` package);
|
|
173
|
+
`docs/RUNTIME-COMPAT-MATRIX.md` with 10-section capability matrix;
|
|
174
|
+
install / uninstall round-trip tests + idempotency.
|
|
175
|
+
- **Phase 3 — thin-shell commands** (D40, `b3d1797`): 9 commands migrated
|
|
176
|
+
to skill + MCP + CLI three-layer (36-54 LOC per command); 7 new skills
|
|
177
|
+
under `skills/ultra-*/`; `task.init_project` MCP tool with
|
|
178
|
+
`.ultra-template/`; `docs/AGENT-CONTEXT.md` canonical runtime contract.
|
|
179
|
+
- **Phase 2 — authoritative state** (D39, `e286e41`): `.ultra/state.db` SQLite
|
|
180
|
+
+ WAL with 7 tables; `mcp-server/lib/{state-db, state-ops, projector}.cjs`
|
|
181
|
+
write API and state machine; `mcp-server/server.cjs` stdio MCP server with
|
|
182
|
+
7 `task.*` tools; `ultra-tools db` (init/checkpoint/vacuum/integrity/
|
|
183
|
+
backup) and `migrate` (v4.4→v4.5 with dry-run + rollback).
|
|
184
|
+
- **Phase 1 — spec contracts** (D38): `spec/` locks the three-layer
|
|
185
|
+
contract — 30 MCP tools in `mcp-tools.yaml`, 7-table SQLite schema,
|
|
186
|
+
skill manifest, CLI protocol + mapping table; 5 spec validators.
|
|
187
|
+
- **Phase 0 — skeleton**: multi-runtime installer scaffolding.
|
|
188
|
+
|
|
189
|
+
[Unreleased]: https://github.com/rocky2431/ultra-builder-pro-cli/compare/v0.5.0...HEAD
|
|
190
|
+
[0.5.0]: https://github.com/rocky2431/ultra-builder-pro-cli/releases/tag/v0.5.0
|
|
191
|
+
[0.4.0]: https://github.com/rocky2431/ultra-builder-pro-cli/releases/tag/v0.4.0
|
|
192
|
+
[0.3.0]: https://github.com/rocky2431/ultra-builder-pro-cli/releases/tag/v0.3.0
|
|
193
|
+
[0.2.0]: https://github.com/rocky2431/ultra-builder-pro-cli/releases/tag/v0.2.0
|
|
194
|
+
[0.1.0]: https://github.com/rocky2431/ultra-builder-pro-cli/releases/tag/v0.1.0
|
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Ultra Builder Pro contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|