olympus-ai 4.4.7 → 4.4.9
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/.claude-plugin/plugin.json +1 -1
- package/README.md +267 -334
- package/dist/hooks/entry.d.ts.map +1 -1
- package/dist/hooks/entry.js +11 -4
- package/dist/hooks/entry.js.map +1 -1
- package/dist/hooks/olympus-hooks.cjs +1 -1
- package/dist/installer/index.d.ts +1 -1
- package/dist/installer/index.js +1 -1
- package/package.json +1 -1
- package/resources/rules/construction/code-generation.md +36 -5
package/README.md
CHANGED
|
@@ -11,79 +11,19 @@
|
|
|
11
11
|
|
|
12
12
|
**Summon the gods of code.**
|
|
13
13
|
|
|
14
|
-
[Why Olympus?](#why-olympus) • [Quick Start](#quick-start) • [AI-DLC Workflow](#ai-dlc-workflow) • [Self-Learning](#self-learning-system) • [Use Cases](#use-cases) • [
|
|
14
|
+
[Why Olympus?](#why-olympus) • [Quick Start](#quick-start) • [What is Olympus?](#what-is-olympus) • [How It Works](#how-it-works) • [AI-DLC Workflow](#ai-dlc-workflow) • [Self-Learning](#self-learning-system) • [Use Cases](#use-cases) • [Reference](#reference) • [Docs](#documentation)
|
|
15
15
|
|
|
16
16
|
</div>
|
|
17
17
|
|
|
18
18
|
---
|
|
19
19
|
|
|
20
|
-
##
|
|
21
|
-
|
|
22
|
-
Olympus is a multi-agent orchestration system for [Claude Code](https://docs.anthropic.com/claude-code). It provides:
|
|
23
|
-
|
|
24
|
-
- 🧠 **Self-Learning System** - Learns your preferences, patterns, and codebase over time
|
|
25
|
-
- 🤖 **20+ Specialized Agents** - Oracle, Prometheus, Olympian, Librarian, and more
|
|
26
|
-
- ⚡ **Smart Model Routing** - Auto-selects Haiku/Sonnet/Opus based on task complexity
|
|
27
|
-
- 📋 **Todo Management** - Tracks progress with real-time updates
|
|
28
|
-
- 🔄 **Background Execution** - Long-running tasks run async with notifications
|
|
29
|
-
- 🎯 **Continuation Enforcement** - Never stops until all tasks are complete
|
|
30
|
-
- 💬 **20 Slash Commands** - `/ultrawork`, `/plan`, `/ascent`, `/continue`, `/review`, and more
|
|
31
|
-
- 🔮 **AI-DLC Workflow** - Inception → Construction → Operations pipeline for structured development
|
|
32
|
-
- 🌐 **Language Agnostic** - Works with any tech stack: Python, .NET, Go, Rust, Java, and more
|
|
33
|
-
- 🔮 **Magic Keywords** - Natural language triggers for enhanced modes
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Why Olympus?
|
|
38
|
-
|
|
39
|
-
Olympus transforms Claude Code from a single agent into a **pantheon of specialized experts** that work together seamlessly.
|
|
40
|
-
|
|
41
|
-
### 🧠 Self-Learning System
|
|
42
|
-
|
|
43
|
-
**Olympus learns from your preferences and evolves over time.**
|
|
44
|
-
|
|
45
|
-
- **Active Agent Learning** - Agents proactively record patterns, gotchas, and workarounds they discover during work
|
|
46
|
-
- **Passive Feedback Capture** - Automatically detects corrections, preferences, and patterns from your interactions
|
|
47
|
-
- **Pattern Extraction** - Identifies recurring feedback and adapts behavior accordingly
|
|
48
|
-
- **Preference Learning** - Infers your communication style (concise vs. detailed, autonomous vs. collaborative)
|
|
49
|
-
- **Agent Performance Tracking** - Monitors which agents succeed or fail for specific tasks
|
|
50
|
-
- **Token Efficiency Tracking** - Automatically tracks token usage per agent to optimize cost without manual intervention
|
|
51
|
-
- **Discovery Storage** - Structured JSONL storage with verification tracking and confidence scoring
|
|
52
|
-
- **Context Injection** - Learned preferences and discoveries are automatically applied in new sessions
|
|
53
|
-
|
|
54
|
-
**The more you use Olympus, the better it understands your workflow.**
|
|
20
|
+
## ⚡ Why Olympus?
|
|
55
21
|
|
|
56
|
-
|
|
22
|
+
AI coding assistants are powerful — but out of the box, they produce prototypes, not production software. The code works, but there is no structured workflow, no learning between sessions, no persistence when tasks get complex, and no coordination between specialized capabilities. You end up doing the orchestration yourself.
|
|
57
23
|
|
|
58
|
-
|
|
59
|
-
- **Model Routing** - Automatically selects Haiku/Sonnet/Opus to optimize cost and performance
|
|
60
|
-
- **Parallel Execution** - Runs independent tasks concurrently for maximum throughput
|
|
24
|
+
Olympus adds a quality layer on top of Claude Code. It brings structured development workflows, a pantheon of specialized agents, a self-learning system that carries context across sessions, and persistence mechanisms that keep Claude working until your tasks are actually done.
|
|
61
25
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
- **Todo Management** - Tracks progress across complex multi-step tasks
|
|
65
|
-
- **Continuation Enforcement** - Never stops until all tasks are verified complete
|
|
66
|
-
- **Background Operations** - Long-running builds, tests, and installs run async with notifications
|
|
67
|
-
|
|
68
|
-
### 🔧 Developer Experience
|
|
69
|
-
|
|
70
|
-
- **Zero Configuration** - Works out-of-the-box with sensible defaults
|
|
71
|
-
- **Works Everywhere** - Not tied to any language or framework — orchestrates across .NET, Python, Go, Rust, Java, and any codebase
|
|
72
|
-
- **Slash Commands** - 20 slash commands (`/ultrawork`, `/plan`, `/ascent`, `/continue`)
|
|
73
|
-
- **Magic Keywords** - Natural language triggers for enhanced modes
|
|
74
|
-
|
|
75
|
-
### 📊 Olympus vs. Manual Claude Usage
|
|
76
|
-
|
|
77
|
-
| Feature | Manual Claude | Olympus |
|
|
78
|
-
|---------|---------------|---------|
|
|
79
|
-
| **Multi-Step Tasks** | Sequential, manual tracking | Automatic todo management |
|
|
80
|
-
| **Parallel Execution** | One task at a time | 3-5x faster with concurrent agents |
|
|
81
|
-
| **Learning** | Repeats mistakes | Learns from corrections automatically |
|
|
82
|
-
| **Model Selection** | Manual switching | Smart routing (cost optimized) |
|
|
83
|
-
| **Task Persistence** | Stops when asked | Continues until verified complete |
|
|
84
|
-
| **Background Tasks** | Blocks waiting | Runs async with notifications |
|
|
85
|
-
| **Agent Specialization** | Generic responses | 20+ experts for specific domains |
|
|
86
|
-
| **Token Awareness** | Manual tracking | Automatic efficiency guidance |
|
|
26
|
+
The result is less "AI that answers questions" and more "AI development team that ships software."
|
|
87
27
|
|
|
88
28
|
---
|
|
89
29
|
|
|
@@ -109,162 +49,17 @@ claude
|
|
|
109
49
|
|
|
110
50
|
---
|
|
111
51
|
|
|
112
|
-
##
|
|
113
|
-
|
|
114
|
-
### Prerequisites
|
|
115
|
-
|
|
116
|
-
- [Claude Code](https://docs.anthropic.com/claude-code) installed
|
|
117
|
-
- Node.js 20+ (`node -v` to check)
|
|
118
|
-
|
|
119
|
-
### Global Installation (Recommended)
|
|
120
|
-
|
|
121
|
-
Install Olympus globally to enable it across all your projects:
|
|
122
|
-
|
|
123
|
-
```bash
|
|
124
|
-
npm install -g olympus-ai
|
|
125
|
-
olympus-ai install
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
This installs agents, skills, rules, and hooks to `~/.claude/` so every Claude Code session has access to Olympus.
|
|
129
|
-
|
|
130
|
-
### Local Project Installation
|
|
131
|
-
|
|
132
|
-
Install Olympus as a dev dependency for a specific project. This is useful for teams that want Olympus pinned to a specific version in their repo:
|
|
133
|
-
|
|
134
|
-
```bash
|
|
135
|
-
# Install as a dev dependency
|
|
136
|
-
npm install --save-dev olympus-ai
|
|
137
|
-
|
|
138
|
-
# Run the installer for this project only
|
|
139
|
-
npx olympus-ai install --local
|
|
140
|
-
```
|
|
141
|
-
|
|
142
|
-
This installs agents, skills, rules, hooks, and settings to `./.claude/` in your current project directory.
|
|
143
|
-
|
|
144
|
-
> **Note:** You can use both. A global install provides Olympus across all projects, while a local install scopes everything to the current project. Local files take precedence over global ones.
|
|
145
|
-
|
|
146
|
-
---
|
|
147
|
-
|
|
148
|
-
## Usage
|
|
149
|
-
|
|
150
|
-
### Start Claude Code
|
|
151
|
-
|
|
152
|
-
```bash
|
|
153
|
-
claude
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
### Slash Commands
|
|
157
|
-
|
|
158
|
-
| Command | Description |
|
|
159
|
-
| ----------------------- | ---------------------------------------------------------------------- |
|
|
160
|
-
| `/olympus <task>` | Activate multi-agent orchestration mode |
|
|
161
|
-
| `/olympus-default` | Set Olympus as your permanent default mode |
|
|
162
|
-
| `/ultrawork <task>` | Maximum performance mode with parallel agents |
|
|
163
|
-
| `/plan <description>` | Start planning session with Prometheus |
|
|
164
|
-
| `/prometheus <task>` | Strategic planning with interview workflow |
|
|
165
|
-
| `/review [plan-path]` | Review a plan with Momus |
|
|
166
|
-
| `/ascent <task>` | Persistence loop until task completion |
|
|
167
|
-
| `/cancel-ascent` | Cancel active The Ascent |
|
|
168
|
-
| `/deepsearch <query>` | Thorough multi-strategy codebase search |
|
|
169
|
-
| `/analyze <target>` | Deep analysis and investigation |
|
|
170
|
-
| `/complete-plan [path]` | Verify and complete a plan after implementation |
|
|
171
|
-
| `/archive [id\|--all]` | Archive completed AI-DLC workflows to aidlc-docs/completed/ |
|
|
172
|
-
| `/continue` | Resume an active AI-DLC workflow from last checkpoint |
|
|
173
|
-
| `/retro` | Run a guardrail retrospective on the current AI-DLC workflow |
|
|
174
|
-
| `/workflow-status` | View all active structured workflows and their status |
|
|
175
|
-
| `/olympus next` | Get the next ready task from current workflow |
|
|
176
|
-
| `/doctor` | Diagnose and fix olympus installation issues |
|
|
177
|
-
| `/deepinit` | Deep codebase initialization with hierarchical AGENTS.md documentation |
|
|
178
|
-
| `/update` | Check for and install updates |
|
|
179
|
-
|
|
180
|
-
### Examples
|
|
181
|
-
|
|
182
|
-
```bash
|
|
183
|
-
# Activate Olympus for a task
|
|
184
|
-
/olympus refactor the authentication module
|
|
185
|
-
|
|
186
|
-
# Set as default mode (persistent)
|
|
187
|
-
/olympus-default
|
|
188
|
-
|
|
189
|
-
# Use ultrawork for maximum performance
|
|
190
|
-
/ultrawork implement user dashboard with charts
|
|
191
|
-
|
|
192
|
-
# Start planning
|
|
193
|
-
/plan build a task management application
|
|
194
|
-
|
|
195
|
-
# Deep search
|
|
196
|
-
/deepsearch API endpoints that handle user data
|
|
197
|
-
```
|
|
198
|
-
|
|
199
|
-
### Magic Keywords
|
|
200
|
-
|
|
201
|
-
Include these words anywhere in your prompt to activate enhanced modes:
|
|
202
|
-
|
|
203
|
-
| Keyword | Effect |
|
|
204
|
-
| -------------------------- | -------------------------------------- |
|
|
205
|
-
| `ultrawork`, `ulw`, `uw` | Activates parallel agent orchestration |
|
|
206
|
-
| `search`, `find`, `locate` | Enhanced search mode |
|
|
207
|
-
| `analyze`, `investigate` | Deep analysis mode |
|
|
208
|
-
|
|
209
|
-
---
|
|
210
|
-
|
|
211
|
-
## Use Cases
|
|
212
|
-
|
|
213
|
-
### 🏗️ Complex Refactoring
|
|
214
|
-
|
|
215
|
-
```bash
|
|
216
|
-
/ascent refactor the entire authentication module to use OAuth 2.0
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
**What happens:**
|
|
220
|
-
- Creates todo list for all subtasks
|
|
221
|
-
- Delegates to specialized agents (Oracle for architecture, Olympian for execution)
|
|
222
|
-
- Runs tests in background
|
|
223
|
-
- Continues until all tasks verified complete
|
|
224
|
-
|
|
225
|
-
### 📊 Multi-Agent Research
|
|
226
|
-
|
|
227
|
-
```bash
|
|
228
|
-
/ultrawork research and document all API endpoints in the codebase
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
**What happens:**
|
|
232
|
-
- Spawns multiple agents in parallel (Explore for search, Librarian for docs)
|
|
233
|
-
- Aggregates findings
|
|
234
|
-
- Generates comprehensive documentation
|
|
235
|
-
- ~3x faster than sequential execution
|
|
236
|
-
|
|
237
|
-
### 📋 Strategic Planning
|
|
238
|
-
|
|
239
|
-
```bash
|
|
240
|
-
/plan build a real-time chat application with WebSocket support
|
|
241
|
-
```
|
|
242
|
-
|
|
243
|
-
**What happens:**
|
|
244
|
-
- Starts an AI-DLC workflow with full Inception phase
|
|
245
|
-
- Prometheus interviews you about requirements
|
|
246
|
-
- Generates requirements, user stories, and application design
|
|
247
|
-
- Creates a construction plan with units of work
|
|
248
|
-
- Each unit goes through design, code generation, and testing
|
|
249
|
-
- All artifacts saved to `aidlc-docs/` with full audit trail
|
|
52
|
+
## What is Olympus?
|
|
250
53
|
|
|
251
|
-
|
|
54
|
+
Olympus is a multi-agent orchestration system for [Claude Code](https://docs.anthropic.com/claude-code). It turns a single Claude session into a coordinated team of specialized agents — each optimized for a different kind of work.
|
|
252
55
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
You: "No, use TypeScript interfaces instead of types"
|
|
256
|
-
→ Olympus records this preference
|
|
257
|
-
|
|
258
|
-
You: "Use functional components, not class components"
|
|
259
|
-
→ Olympus learns your React style
|
|
260
|
-
|
|
261
|
-
**Next session:** Claude automatically applies these preferences without being told.
|
|
56
|
+
Key capabilities: 20+ specialized agents (Oracle, Prometheus, Olympian, Librarian, and more), smart model routing that auto-selects Haiku/Sonnet/Opus based on task complexity, an AI-DLC structured development workflow, a self-learning system that persists context across sessions, continuation enforcement so tasks never stall, 20 slash commands, and support for any tech stack — Python, .NET, Go, Rust, Java, or anything else.
|
|
262
57
|
|
|
263
58
|
---
|
|
264
59
|
|
|
265
|
-
##
|
|
60
|
+
## 🔧 How It Works
|
|
266
61
|
|
|
267
|
-
Olympus operates as a
|
|
62
|
+
Olympus operates as a multi-agent orchestration system with smart model routing and a continuous learning loop:
|
|
268
63
|
|
|
269
64
|
```mermaid
|
|
270
65
|
graph TD
|
|
@@ -273,146 +68,108 @@ graph TD
|
|
|
273
68
|
C -->|Simple| D[Haiku Agent]
|
|
274
69
|
C -->|Standard| E[Sonnet Agent]
|
|
275
70
|
C -->|Complex| F[Opus Agent]
|
|
276
|
-
D --> G[
|
|
71
|
+
D --> G[Result]
|
|
277
72
|
E --> G
|
|
278
73
|
F --> G
|
|
279
|
-
G --> H
|
|
280
|
-
H
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
74
|
+
G --> H{Incomplete todos?}
|
|
75
|
+
H -->|Yes| B
|
|
76
|
+
H -->|No| I[Done]
|
|
77
|
+
D -.-> J[Learning System]
|
|
78
|
+
E -.-> J
|
|
79
|
+
F -.-> J
|
|
80
|
+
J --> K[(Feedback Storage)]
|
|
81
|
+
K -.->|Next session| B
|
|
284
82
|
```
|
|
285
83
|
|
|
286
|
-
|
|
84
|
+
**Session Flow:**
|
|
287
85
|
|
|
288
|
-
**
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
6. **Feedback Storage** → Stores learned preferences, agent performance, and discoveries
|
|
86
|
+
1. **User Request** → Arrives with learned context already injected from previous sessions
|
|
87
|
+
2. **Orchestrator** → Analyzes task complexity and delegates to specialized agents
|
|
88
|
+
3. **Model Routing** → Selects the appropriate model tier: Haiku (simple), Sonnet (standard), or Opus (complex)
|
|
89
|
+
4. **Agents Execute** → Specialized subagents complete their tasks and return results
|
|
90
|
+
5. **Learning System** → Hooks passively capture corrections, preferences, and discoveries during execution
|
|
91
|
+
6. **Persistence** → If incomplete todos remain, the orchestrator continues working
|
|
295
92
|
7. **Result** → User sees the completed work
|
|
296
93
|
|
|
297
|
-
**Learning
|
|
94
|
+
**Cross-Session Learning:**
|
|
298
95
|
|
|
299
96
|
The learning system operates across session boundaries:
|
|
300
97
|
|
|
301
|
-
- **During Session**:
|
|
98
|
+
- **During Session**: Hooks passively capture feedback from user corrections ("No, use async/await"), preferences ("Always use TypeScript"), and agent discoveries (gotchas, workarounds)
|
|
302
99
|
- **Storage**: Writes to `~/.claude/olympus/learning/` (global) and `.olympus/learning/` (project-specific)
|
|
303
|
-
- **Next Session Start**: SessionStart hook
|
|
304
|
-
- **Context
|
|
100
|
+
- **Next Session Start**: SessionStart hook reads stored learnings and injects relevant context into the initial prompt
|
|
101
|
+
- **Context Injected**:
|
|
305
102
|
- User preferences (verbosity, autonomy, explicit rules)
|
|
306
103
|
- Recurring corrections (mistakes to avoid)
|
|
307
104
|
- Project conventions (tech stack, patterns)
|
|
308
|
-
- Agent performance notes (weak areas to watch)
|
|
309
105
|
- Recent discoveries (technical insights about your codebase)
|
|
310
106
|
|
|
311
|
-
**Key Insight:** Context injection happens at the **beginning** of each session (via SessionStart hook), not in the result.
|
|
107
|
+
**Key Insight:** Context injection happens at the **beginning** of each session (via SessionStart hook), not in the result. Every new conversation starts with Claude already aware of your preferences and past learnings.
|
|
312
108
|
|
|
313
109
|
**Key Components:**
|
|
314
110
|
- **Orchestrator** - Delegates tasks to specialized agents based on complexity
|
|
315
111
|
- **Model Router** - Selects optimal tier (Haiku/Sonnet/Opus) to balance cost and capability
|
|
316
112
|
- **Learning System** - Captures feedback passively and builds preference models
|
|
317
|
-
- **Todo
|
|
318
|
-
- **Background Executor** - Runs long-running operations (builds, tests, installs) async with notifications
|
|
113
|
+
- **Todo Continuation** - Blocks session exit when incomplete tasks remain
|
|
319
114
|
- **Feedback Storage** - Persists learned preferences, patterns, and discoveries across sessions
|
|
320
115
|
|
|
321
|
-
|
|
116
|
+
### Available Agents
|
|
322
117
|
|
|
323
|
-
|
|
118
|
+
**Task Execution**
|
|
324
119
|
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
| Agent | Model | Best For |
|
|
120
|
+
| Agent | Model | Best For |
|
|
328
121
|
| --------------------- | ------ | -------------------------------------------------------------- |
|
|
329
|
-
| **Oracle**
|
|
330
|
-
| **Librarian**
|
|
331
|
-
| **Explore**
|
|
332
|
-
| **Frontend Engineer** | Sonnet | UI components, styling, accessibility
|
|
333
|
-
| **Document Writer**
|
|
334
|
-
| **Multimodal Looker** | Sonnet | Analyzing screenshots, diagrams, mockups
|
|
335
|
-
| **QA Tester**
|
|
336
|
-
| **Olympian**
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
| Agent
|
|
122
|
+
| **Oracle** | Opus | Complex debugging, architecture decisions, root cause analysis |
|
|
123
|
+
| **Librarian** | Sonnet | Finding documentation, understanding code organization |
|
|
124
|
+
| **Explore** | Haiku | Quick file searches, pattern matching, reconnaissance |
|
|
125
|
+
| **Frontend Engineer** | Sonnet | UI components, styling, accessibility |
|
|
126
|
+
| **Document Writer** | Haiku | README files, API docs, code comments |
|
|
127
|
+
| **Multimodal Looker** | Sonnet | Analyzing screenshots, diagrams, mockups |
|
|
128
|
+
| **QA Tester** | Sonnet | Interactive CLI/service testing with tmux |
|
|
129
|
+
| **Olympian** | Sonnet | Focused task execution, direct implementation |
|
|
130
|
+
|
|
131
|
+
**Planning & Review**
|
|
132
|
+
|
|
133
|
+
| Agent | Model | Best For |
|
|
341
134
|
| -------------- | ----- | ----------------------------------------------------------------- |
|
|
342
|
-
| **Prometheus** | Opus
|
|
343
|
-
| **Momus**
|
|
344
|
-
| **Metis**
|
|
135
|
+
| **Prometheus** | Opus | Strategic planning, work plans, requirement gathering |
|
|
136
|
+
| **Momus** | Opus | Critical plan review, feasibility assessment, risk identification |
|
|
137
|
+
| **Metis** | Opus | Pre-planning analysis, hidden requirement detection |
|
|
345
138
|
|
|
346
|
-
|
|
139
|
+
**Tiered Variants (Smart Model Routing)**
|
|
347
140
|
|
|
348
|
-
| Domain
|
|
141
|
+
| Domain | LOW (Haiku) | MEDIUM (Sonnet) | HIGH (Opus) |
|
|
349
142
|
| ------------- | ----------------------- | ------------------- | ------------------------ |
|
|
350
|
-
| **Analysis**
|
|
351
|
-
| **Execution** | `olympian-low`
|
|
352
|
-
| **Search**
|
|
353
|
-
| **Research**
|
|
354
|
-
| **Frontend**
|
|
355
|
-
|
|
356
|
-
---
|
|
357
|
-
|
|
358
|
-
## The Ascent
|
|
359
|
-
|
|
360
|
-
The Ascent is a persistence loop that binds Claude to your task until verified completion.
|
|
361
|
-
|
|
362
|
-
```bash
|
|
363
|
-
/ascent implement the entire authentication system
|
|
364
|
-
```
|
|
365
|
-
|
|
366
|
-
**How it works:**
|
|
367
|
-
|
|
368
|
-
1. Creates a todo list for all subtasks
|
|
369
|
-
2. Works continuously until all tasks complete
|
|
370
|
-
3. Can only exit by outputting `<promise>DONE</promise>` after verification
|
|
371
|
-
4. If stopped prematurely, continuation is enforced
|
|
372
|
-
|
|
373
|
-
**Exit conditions:**
|
|
374
|
-
|
|
375
|
-
- `<promise>DONE</promise>` - Work verified complete
|
|
376
|
-
- `/cancel-ascent` - User cancels the loop
|
|
377
|
-
- Max iterations (100) - Safety limit
|
|
378
|
-
|
|
379
|
-
---
|
|
380
|
-
|
|
381
|
-
## Planning Workflow
|
|
382
|
-
|
|
383
|
-
1. **Start AI-DLC workflow**: `/plan build a new feature`
|
|
384
|
-
2. **Inception phase**: Prometheus interviews you about requirements, generates user stories, and plans the architecture
|
|
385
|
-
3. **Workflow planning**: Determines which stages to execute based on project needs
|
|
386
|
-
4. **Construction phase**: Per-unit functional design, NFR assessment, and code generation
|
|
387
|
-
5. **Resume if interrupted**: `/continue` picks up from the last checkpoint
|
|
388
|
-
6. **Review at any gate**: `/review` to evaluate plans before proceeding
|
|
389
|
-
|
|
390
|
-
Plans and artifacts are saved to `aidlc-docs/` in your project directory.
|
|
143
|
+
| **Analysis** | `oracle-low` | `oracle-medium` | `oracle` |
|
|
144
|
+
| **Execution** | `olympian-low` | `olympian` | `olympian-high` |
|
|
145
|
+
| **Search** | `explore` | `explore-medium` | - |
|
|
146
|
+
| **Research** | `librarian-low` | `librarian` | - |
|
|
147
|
+
| **Frontend** | `frontend-engineer-low` | `frontend-engineer` | `frontend-engineer-high` |
|
|
391
148
|
|
|
392
149
|
---
|
|
393
150
|
|
|
394
|
-
## AI-DLC Workflow
|
|
151
|
+
## 🗺️ AI-DLC Workflow
|
|
395
152
|
|
|
396
|
-
Olympus includes a structured development workflow inspired by [AWS AI-DLC](https://github.com/awslabs/aidlc-workflows) (AI-Driven Development Life Cycle). It guides you through three phases
|
|
153
|
+
Olympus includes a structured development workflow inspired by [AWS AI-DLC](https://github.com/awslabs/aidlc-workflows) (AI-Driven Development Life Cycle). It guides you through three phases — **Inception** (what and why), **Construction** (how), and **Operations** (deploy, placeholder) — with human approval gates at every stage. The workflow adapts to your project: stages are conditionally executed based on complexity, scope, and whether you are working on a greenfield or brownfield codebase.
|
|
397
154
|
|
|
398
155
|
### Phases and Stages
|
|
399
156
|
|
|
400
|
-
**Inception**
|
|
401
|
-
- Workspace Detection (always)
|
|
402
|
-
- Reverse Engineering (brownfield only)
|
|
403
|
-
- Requirements Analysis (always)
|
|
404
|
-
- User Stories (conditional)
|
|
405
|
-
- Workflow Planning (always)
|
|
406
|
-
- Application Design (conditional)
|
|
407
|
-
- Units Generation (conditional)
|
|
157
|
+
**Inception** — determine what to build and why:
|
|
158
|
+
- Workspace Detection (always) — scans for existing code, resumes prior workflows
|
|
159
|
+
- Reverse Engineering (brownfield only) — analyzes existing codebase
|
|
160
|
+
- Requirements Analysis (always) — gathers functional and non-functional requirements
|
|
161
|
+
- User Stories (conditional) — generates personas and acceptance criteria
|
|
162
|
+
- Workflow Planning (always) — determines which construction stages to execute
|
|
163
|
+
- Application Design (conditional) — component and service design
|
|
164
|
+
- Units Generation (conditional) — decomposes work into implementable units
|
|
408
165
|
|
|
409
|
-
**Construction**
|
|
166
|
+
**Construction** — determine how to build it:
|
|
410
167
|
- Per-unit loop (for each unit of work):
|
|
411
168
|
- Functional Design, NFR Requirements, NFR Design, Infrastructure Design (all conditional)
|
|
412
169
|
- Code Generation (always)
|
|
413
|
-
- Build and Test (always)
|
|
170
|
+
- Build and Test (always) — after all units complete
|
|
414
171
|
|
|
415
|
-
**Operations**
|
|
172
|
+
**Operations** — placeholder for future deployment and monitoring workflows.
|
|
416
173
|
|
|
417
174
|
### How to Use
|
|
418
175
|
|
|
@@ -427,13 +184,22 @@ Olympus includes a structured development workflow inspired by [AWS AI-DLC](http
|
|
|
427
184
|
/review
|
|
428
185
|
```
|
|
429
186
|
|
|
430
|
-
State is tracked in `aidlc-docs/aidlc-state.md` and `aidlc-docs/checkpoint.json`. Use `/continue` to resume from exactly where you left off, even across sessions.
|
|
187
|
+
State is tracked in `aidlc-docs/{workflow-id}/aidlc-state.md` and `aidlc-docs/{workflow-id}/checkpoint.json`. Use `/continue` to resume from exactly where you left off, even across sessions.
|
|
188
|
+
|
|
189
|
+
- Start AI-DLC workflow: `/plan build a new feature`
|
|
190
|
+
- Inception phase: Prometheus interviews you about requirements, generates user stories, and plans the architecture
|
|
191
|
+
- Workflow planning: Determines which stages to execute based on project needs
|
|
192
|
+
- Construction phase: Per-unit functional design, NFR assessment, and code generation
|
|
193
|
+
- Resume if interrupted: `/continue` picks up from the last checkpoint
|
|
194
|
+
- Review at any gate: `/review` to evaluate plans before proceeding
|
|
195
|
+
|
|
196
|
+
Plans and artifacts are saved to `aidlc-docs/{workflow-id}/` in your project directory.
|
|
431
197
|
|
|
432
198
|
**Skill stacking**: Combine `/plan` with `/ascent` for persistent execution that never stops, or with `/ultrawork` for maximum parallelism across units.
|
|
433
199
|
|
|
434
200
|
---
|
|
435
201
|
|
|
436
|
-
## Self-Learning System
|
|
202
|
+
## 🧠 Self-Learning System
|
|
437
203
|
|
|
438
204
|
Olympus continuously learns from your interactions to provide increasingly personalized assistance.
|
|
439
205
|
|
|
@@ -556,6 +322,161 @@ Top Verified Discoveries:
|
|
|
556
322
|
|
|
557
323
|
---
|
|
558
324
|
|
|
325
|
+
## Use Cases
|
|
326
|
+
|
|
327
|
+
### 🏗️ Complex Refactoring
|
|
328
|
+
|
|
329
|
+
```bash
|
|
330
|
+
/ascent refactor the entire authentication module to use OAuth 2.0
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
**What happens:**
|
|
334
|
+
- Creates todo list for all subtasks
|
|
335
|
+
- Delegates to specialized agents (Oracle for architecture, Olympian for execution)
|
|
336
|
+
- Runs tests in background
|
|
337
|
+
- Continues until all tasks verified complete
|
|
338
|
+
|
|
339
|
+
### 📊 Multi-Agent Research
|
|
340
|
+
|
|
341
|
+
```bash
|
|
342
|
+
/ultrawork research and document all API endpoints in the codebase
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
**What happens:**
|
|
346
|
+
- Spawns multiple agents in parallel (Explore for search, Librarian for docs)
|
|
347
|
+
- Aggregates findings
|
|
348
|
+
- Generates comprehensive documentation
|
|
349
|
+
- ~3x faster than sequential execution
|
|
350
|
+
|
|
351
|
+
### 📋 Strategic Planning
|
|
352
|
+
|
|
353
|
+
```bash
|
|
354
|
+
/plan build a real-time chat application with WebSocket support
|
|
355
|
+
```
|
|
356
|
+
|
|
357
|
+
**What happens:**
|
|
358
|
+
- Starts an AI-DLC workflow with full Inception phase
|
|
359
|
+
- Prometheus interviews you about requirements
|
|
360
|
+
- Generates requirements, user stories, and application design
|
|
361
|
+
- Creates a construction plan with units of work
|
|
362
|
+
- Each unit goes through design, code generation, and testing
|
|
363
|
+
- All artifacts saved to `aidlc-docs/{workflow-id}/` with full audit trail
|
|
364
|
+
|
|
365
|
+
### 🧠 Learning Your Workflow
|
|
366
|
+
|
|
367
|
+
**Automatic - no command needed**
|
|
368
|
+
|
|
369
|
+
You: "No, use TypeScript interfaces instead of types"
|
|
370
|
+
→ Olympus records this preference
|
|
371
|
+
|
|
372
|
+
You: "Use functional components, not class components"
|
|
373
|
+
→ Olympus learns your React style
|
|
374
|
+
|
|
375
|
+
**Next session:** Claude automatically applies these preferences without being told.
|
|
376
|
+
|
|
377
|
+
---
|
|
378
|
+
|
|
379
|
+
## Reference
|
|
380
|
+
|
|
381
|
+
### Slash Commands
|
|
382
|
+
|
|
383
|
+
| Command | Description |
|
|
384
|
+
| ----------------------- | ---------------------------------------------------------------------- |
|
|
385
|
+
| `/olympus <task>` | Activate multi-agent orchestration mode |
|
|
386
|
+
| `/olympus-default` | Set Olympus as your permanent default mode |
|
|
387
|
+
| `/ultrawork <task>` | Maximum performance mode with parallel agents |
|
|
388
|
+
| `/plan <description>` | Start planning session with Prometheus |
|
|
389
|
+
| `/prometheus <task>` | Strategic planning with interview workflow |
|
|
390
|
+
| `/review [plan-path]` | Review a plan with Momus |
|
|
391
|
+
| `/ascent <task>` | Persistence loop until task completion |
|
|
392
|
+
| `/cancel-ascent` | Cancel active The Ascent |
|
|
393
|
+
| `/deepsearch <query>` | Thorough multi-strategy codebase search |
|
|
394
|
+
| `/analyze <target>` | Deep analysis and investigation |
|
|
395
|
+
| `/complete-plan [path]` | Verify and complete a plan after implementation |
|
|
396
|
+
| `/archive [id\|--all]` | Archive completed AI-DLC workflows to aidlc-docs/completed/ |
|
|
397
|
+
| `/continue` | Resume an active AI-DLC workflow from last checkpoint |
|
|
398
|
+
| `/retro` | Run a guardrail retrospective on the current AI-DLC workflow |
|
|
399
|
+
| `/workflow-status` | View all active structured workflows and their status |
|
|
400
|
+
| `/olympus next` | Get the next ready task from current workflow |
|
|
401
|
+
| `/doctor` | Diagnose and fix olympus installation issues |
|
|
402
|
+
| `/deepinit` | Deep codebase initialization with hierarchical AGENTS.md documentation |
|
|
403
|
+
| `/update` | Check for and install updates |
|
|
404
|
+
|
|
405
|
+
### Examples
|
|
406
|
+
|
|
407
|
+
```bash
|
|
408
|
+
# Activate Olympus for a task
|
|
409
|
+
/olympus refactor the authentication module
|
|
410
|
+
|
|
411
|
+
# Set as default mode (persistent)
|
|
412
|
+
/olympus-default
|
|
413
|
+
|
|
414
|
+
# Use ultrawork for maximum performance
|
|
415
|
+
/ultrawork implement user dashboard with charts
|
|
416
|
+
|
|
417
|
+
# Start planning
|
|
418
|
+
/plan build a task management application
|
|
419
|
+
|
|
420
|
+
# Deep search
|
|
421
|
+
/deepsearch API endpoints that handle user data
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
### Magic Keywords
|
|
425
|
+
|
|
426
|
+
Include these words anywhere in your prompt to activate enhanced modes:
|
|
427
|
+
|
|
428
|
+
| Keyword | Effect |
|
|
429
|
+
| -------------------------- | -------------------------------------- |
|
|
430
|
+
| `ultrawork`, `ulw`, `uw` | Activates parallel agent orchestration |
|
|
431
|
+
| `search`, `find`, `locate` | Enhanced search mode |
|
|
432
|
+
| `analyze`, `investigate` | Deep analysis mode |
|
|
433
|
+
|
|
434
|
+
### Configuration
|
|
435
|
+
|
|
436
|
+
#### Project-Level Config
|
|
437
|
+
|
|
438
|
+
Create `.claude/CLAUDE.md` in your project for project-specific instructions:
|
|
439
|
+
|
|
440
|
+
```markdown
|
|
441
|
+
# Project Context
|
|
442
|
+
|
|
443
|
+
This is a TypeScript monorepo using:
|
|
444
|
+
|
|
445
|
+
- React for frontend
|
|
446
|
+
- Node.js backend
|
|
447
|
+
- PostgreSQL database
|
|
448
|
+
|
|
449
|
+
## Conventions
|
|
450
|
+
|
|
451
|
+
- Use functional components
|
|
452
|
+
- All API routes in /src/api
|
|
453
|
+
```
|
|
454
|
+
|
|
455
|
+
---
|
|
456
|
+
|
|
457
|
+
## The Ascent
|
|
458
|
+
|
|
459
|
+
The Ascent is a persistence loop that binds Claude to your task until verified completion.
|
|
460
|
+
|
|
461
|
+
```bash
|
|
462
|
+
/ascent implement the entire authentication system
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
**How it works:**
|
|
466
|
+
|
|
467
|
+
1. Creates a todo list for all subtasks
|
|
468
|
+
2. Works continuously until all tasks complete
|
|
469
|
+
3. Can only exit by outputting `<promise>DONE</promise>` after verification
|
|
470
|
+
4. If stopped prematurely, continuation is enforced
|
|
471
|
+
|
|
472
|
+
**Exit conditions:**
|
|
473
|
+
|
|
474
|
+
- `<promise>DONE</promise>` - Work verified complete
|
|
475
|
+
- `/cancel-ascent` - User cancels the loop
|
|
476
|
+
- Max iterations (100) - Safety limit
|
|
477
|
+
|
|
478
|
+
---
|
|
479
|
+
|
|
559
480
|
## What Gets Installed
|
|
560
481
|
|
|
561
482
|
```
|
|
@@ -586,27 +507,40 @@ Top Verified Discoveries:
|
|
|
586
507
|
|
|
587
508
|
---
|
|
588
509
|
|
|
589
|
-
##
|
|
510
|
+
## Installation
|
|
590
511
|
|
|
591
|
-
###
|
|
512
|
+
### Prerequisites
|
|
592
513
|
|
|
593
|
-
|
|
514
|
+
- [Claude Code](https://docs.anthropic.com/claude-code) installed
|
|
515
|
+
- Node.js 20+ (`node -v` to check)
|
|
594
516
|
|
|
595
|
-
|
|
596
|
-
# Project Context
|
|
517
|
+
### Global Installation (Recommended)
|
|
597
518
|
|
|
598
|
-
|
|
519
|
+
Install Olympus globally to enable it across all your projects:
|
|
599
520
|
|
|
600
|
-
|
|
601
|
-
-
|
|
602
|
-
-
|
|
521
|
+
```bash
|
|
522
|
+
npm install -g olympus-ai
|
|
523
|
+
olympus-ai install
|
|
524
|
+
```
|
|
603
525
|
|
|
604
|
-
|
|
526
|
+
This installs agents, skills, rules, and hooks to `~/.claude/` so every Claude Code session has access to Olympus.
|
|
605
527
|
|
|
606
|
-
|
|
607
|
-
|
|
528
|
+
### Local Project Installation
|
|
529
|
+
|
|
530
|
+
Install Olympus as a dev dependency for a specific project. This is useful for teams that want Olympus pinned to a specific version in their repo:
|
|
531
|
+
|
|
532
|
+
```bash
|
|
533
|
+
# Install as a dev dependency
|
|
534
|
+
npm install --save-dev olympus-ai
|
|
535
|
+
|
|
536
|
+
# Run the installer for this project only
|
|
537
|
+
npx olympus-ai install --local
|
|
608
538
|
```
|
|
609
539
|
|
|
540
|
+
This installs agents, skills, rules, hooks, and settings to `./.claude/` in your current project directory.
|
|
541
|
+
|
|
542
|
+
> **Note:** You can use both. A global install provides Olympus across all projects, while a local install scopes everything to the current project. Local files take precedence over global ones.
|
|
543
|
+
|
|
610
544
|
---
|
|
611
545
|
|
|
612
546
|
## Uninstall
|
|
@@ -733,12 +667,12 @@ olympus/
|
|
|
733
667
|
|
|
734
668
|
## Documentation
|
|
735
669
|
|
|
736
|
-
-
|
|
737
|
-
-
|
|
738
|
-
-
|
|
739
|
-
-
|
|
740
|
-
-
|
|
741
|
-
-
|
|
670
|
+
- [Getting Started Guide](docs/guide/overview.md)
|
|
671
|
+
- [CLI Reference](docs/guide/cli-reference.md)
|
|
672
|
+
- [Workflow Guide](docs/guide/workflow-guide.md) — AI-DLC workflow for structured development
|
|
673
|
+
- [Brownfield Projects](docs/guide/brownfield-projects.md) — Working with existing codebases
|
|
674
|
+
- [Learning System](docs/learning-system.md) — How Olympus learns from your interactions
|
|
675
|
+
- [Changelog](CHANGELOG.md)
|
|
742
676
|
|
|
743
677
|
---
|
|
744
678
|
|
|
@@ -757,4 +691,3 @@ MIT - see [LICENSE](LICENSE)
|
|
|
757
691
|
**Summon the gods of code.**
|
|
758
692
|
|
|
759
693
|
</div>
|
|
760
|
-
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/hooks/entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAiDH;;GAEG;AACH,iBAAe,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"entry.d.ts","sourceRoot":"","sources":["../../src/hooks/entry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAiDH;;GAEG;AACH,iBAAe,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAmEnC;AAmBD,OAAO,EAAE,IAAI,EAAE,CAAC"}
|
package/dist/hooks/entry.js
CHANGED
|
@@ -90,11 +90,18 @@ async function main() {
|
|
|
90
90
|
}
|
|
91
91
|
// Map aggregated messages to hookSpecificOutput.additionalContext
|
|
92
92
|
// This is the field Claude Code actually injects into the AI's context
|
|
93
|
+
// Only emit hookSpecificOutput for events Claude Code supports in its schema:
|
|
94
|
+
// PreToolUse, UserPromptSubmit, and PostToolUse
|
|
93
95
|
if (result.message) {
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
96
|
+
if (event === 'PreToolUse' || event === 'UserPromptSubmit' || event === 'PostToolUse') {
|
|
97
|
+
output.hookSpecificOutput = {
|
|
98
|
+
hookEventName: event,
|
|
99
|
+
additionalContext: result.message,
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
output.reason = result.message;
|
|
104
|
+
}
|
|
98
105
|
}
|
|
99
106
|
// Output result as JSON
|
|
100
107
|
console.log(JSON.stringify(output));
|
package/dist/hooks/entry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/hooks/entry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"entry.js","sourceRoot":"","sources":["../../src/hooks/entry.ts"],"names":[],"mappings":"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"}
|
|
@@ -2010,4 +2010,4 @@ ${l}
|
|
|
2010
2010
|
|
|
2011
2011
|
---
|
|
2012
2012
|
|
|
2013
|
-
`):void 0,stopReason:a,modifiedInput:c!==t.toolInput?c:void 0,modifiedMessages:l!==t.messages?l:void 0}}nh();async function xE(){return process.stdin.isTTY?"{}":new Promise(e=>{let t=[],n=!1,o=setTimeout(()=>{process.stdin.pause(),process.stdin.destroy(),e(n?Buffer.concat(t).toString("utf-8"):"{}")},1e3);process.stdin.on("data",r=>{n=!0,t.push(r)}),process.stdin.on("end",()=>{clearTimeout(o),e(n?Buffer.concat(t).toString("utf-8"):"{}")}),process.stdin.on("error",()=>{clearTimeout(o),e("{}")}),process.stdin.resume()})}async function mh(){let t=process.argv.slice(2).find(a=>a.startsWith("--event="));t||(console.error("Usage: node olympus-hooks.mjs --event=<event-type>"),process.exit(1));let n=t.split("=")[1],o=await xE(),r;try{let a=JSON.parse(o);r={...a,directory:a.cwd||a.directory,sessionId:a.session_id||a.sessionId,toolName:a.tool_name||a.toolName,toolInput:a.tool_input||a.toolInput,toolOutput:a.tool_response||a.toolOutput}}catch{r={}}let i=await fh(n,r),s={continue:i.continue};i.stopReason&&(s.stopReason=i.stopReason),i.message&&(s.hookSpecificOutput={hookEventName:n,additionalContext:i.message}),console.log(JSON.stringify(s)),process.exit(0)}var ti=process.argv[1]||"",$E=ti.endsWith("entry.ts")||ti.endsWith("entry.js")||ti.endsWith("olympus-hooks.mjs")||ti.includes("olympus-hooks");$E&&mh().catch(e=>{console.error("[olympus-hooks] Fatal error:",e),process.exit(1)});0&&(module.exports={main});
|
|
2013
|
+
`):void 0,stopReason:a,modifiedInput:c!==t.toolInput?c:void 0,modifiedMessages:l!==t.messages?l:void 0}}nh();async function xE(){return process.stdin.isTTY?"{}":new Promise(e=>{let t=[],n=!1,o=setTimeout(()=>{process.stdin.pause(),process.stdin.destroy(),e(n?Buffer.concat(t).toString("utf-8"):"{}")},1e3);process.stdin.on("data",r=>{n=!0,t.push(r)}),process.stdin.on("end",()=>{clearTimeout(o),e(n?Buffer.concat(t).toString("utf-8"):"{}")}),process.stdin.on("error",()=>{clearTimeout(o),e("{}")}),process.stdin.resume()})}async function mh(){let t=process.argv.slice(2).find(a=>a.startsWith("--event="));t||(console.error("Usage: node olympus-hooks.mjs --event=<event-type>"),process.exit(1));let n=t.split("=")[1],o=await xE(),r;try{let a=JSON.parse(o);r={...a,directory:a.cwd||a.directory,sessionId:a.session_id||a.sessionId,toolName:a.tool_name||a.toolName,toolInput:a.tool_input||a.toolInput,toolOutput:a.tool_response||a.toolOutput}}catch{r={}}let i=await fh(n,r),s={continue:i.continue};i.stopReason&&(s.stopReason=i.stopReason),i.message&&(n==="PreToolUse"||n==="UserPromptSubmit"||n==="PostToolUse"?s.hookSpecificOutput={hookEventName:n,additionalContext:i.message}:s.reason=i.message),console.log(JSON.stringify(s)),process.exit(0)}var ti=process.argv[1]||"",$E=ti.endsWith("entry.ts")||ti.endsWith("entry.js")||ti.endsWith("olympus-hooks.mjs")||ti.includes("olympus-hooks");$E&&mh().catch(e=>{console.error("[olympus-hooks] Fatal error:",e),process.exit(1)});0&&(module.exports={main});
|
|
@@ -24,7 +24,7 @@ export declare const HOOKS_DIR: string;
|
|
|
24
24
|
export declare const SETTINGS_FILE: string;
|
|
25
25
|
export declare const VERSION_FILE: string;
|
|
26
26
|
/** Current version - MUST match package.json */
|
|
27
|
-
export declare const VERSION = "4.4.
|
|
27
|
+
export declare const VERSION = "4.4.9";
|
|
28
28
|
/** Installation result */
|
|
29
29
|
export interface InstallResult {
|
|
30
30
|
success: boolean;
|
package/dist/installer/index.js
CHANGED
|
@@ -40,7 +40,7 @@ export const HOOKS_DIR = join(CLAUDE_CONFIG_DIR, 'hooks');
|
|
|
40
40
|
export const SETTINGS_FILE = join(CLAUDE_CONFIG_DIR, 'settings.json');
|
|
41
41
|
export const VERSION_FILE = join(CLAUDE_CONFIG_DIR, '.olympus-version.json');
|
|
42
42
|
/** Current version - MUST match package.json */
|
|
43
|
-
export const VERSION = '4.4.
|
|
43
|
+
export const VERSION = '4.4.9';
|
|
44
44
|
/**
|
|
45
45
|
* Read a content file from the resources/ directory.
|
|
46
46
|
*
|
package/package.json
CHANGED
|
@@ -112,11 +112,42 @@ When managing code generation, the orchestrator MUST leverage Olympus capabiliti
|
|
|
112
112
|
- [ ] Ensure plan is executable step-by-step
|
|
113
113
|
- [ ] Emphasize that this plan is the single source of truth for Code Generation
|
|
114
114
|
|
|
115
|
-
## Step 5:
|
|
116
|
-
- [ ]
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
115
|
+
## Step 5: Present Plan Summary and Approval Request
|
|
116
|
+
- [ ] Present plan summary in this structure:
|
|
117
|
+
|
|
118
|
+
1. **Plan Summary Header** (mandatory): Always start with:
|
|
119
|
+
|
|
120
|
+
```markdown
|
|
121
|
+
# 📋 Code Generation Plan — [unit-name] (Unit [N] of [total])
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
2. **Plan Details** (mandatory): Include structured summary:
|
|
125
|
+
- **Steps**: Total step count and brief description of each
|
|
126
|
+
- **Stories**: Which user stories are covered
|
|
127
|
+
- **Agent**: Which agent will execute Part 2 and why
|
|
128
|
+
- **Key highlights**: Notable design decisions, constraints, or risks
|
|
129
|
+
|
|
130
|
+
3. **Plan Path** (mandatory): Always show the canonical plan path:
|
|
131
|
+
|
|
132
|
+
```markdown
|
|
133
|
+
> **Plan saved to**: `aidlc-docs/{workflow-id}/construction/plans/{unit-name}-code-generation-plan.md`
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
4. **Approval Gate** (mandatory): Always end with this exact format:
|
|
137
|
+
|
|
138
|
+
```markdown
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
You may:
|
|
142
|
+
- **Request Changes** — Ask for modifications to the plan
|
|
143
|
+
- **Continue** — Approve the plan and proceed to Part 2 (Code Generation)
|
|
144
|
+
|
|
145
|
+
---
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
- [ ] Do NOT include emojis in the approval options (only in the header)
|
|
149
|
+
- [ ] Do NOT add a third option — strictly 2 options per construction stage rules
|
|
150
|
+
- [ ] Ensure the plan path uses the actual workflow-id, not a placeholder
|
|
120
151
|
|
|
121
152
|
## Step 6: Log Approval Prompt
|
|
122
153
|
- [ ] Before asking for approval, log the prompt with timestamp in `aidlc-docs/audit.md`
|