odd-studio 3.3.2 → 3.3.3
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 +12 -10
- package/bin/commands/init.js +4 -2
- package/bin/odd-studio.js +1 -1
- package/codex-plugin/.codex-plugin/plugin.json +1 -1
- package/package.json +1 -1
- package/skill/SKILL.md +3 -3
- package/templates/AGENTS.md +18 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "odd-studio",
|
|
3
3
|
"description": "Outcome-Driven Development — a planning and build harness for domain experts building serious software with AI. Installs the /odd skill, safety hooks, and project scaffolding into Claude Code.",
|
|
4
|
-
"version": "3.3.
|
|
4
|
+
"version": "3.3.3",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "ODD Studio"
|
|
7
7
|
},
|
package/README.md
CHANGED
|
@@ -45,8 +45,9 @@ npx odd-studio init my-project --agent codex
|
|
|
45
45
|
cd my-project
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
-
In Codex, ODD
|
|
49
|
-
|
|
48
|
+
In Codex, start ODD by saying `use ODD` or `start ODD`.
|
|
49
|
+
Codex reads `AGENTS.md`, which routes the session to `plugins/odd-studio/skills/odd/SKILL.md`.
|
|
50
|
+
Once ODD is active, the same starred flow works there too, including commands like `*plan`, `*build`, and `*status`.
|
|
50
51
|
|
|
51
52
|
### For Claude Code and OpenCode on the same machine
|
|
52
53
|
|
|
@@ -73,9 +74,10 @@ That single command:
|
|
|
73
74
|
- Optionally installs Checkpoint security scanning (you'll be asked)
|
|
74
75
|
- Initialises git with an initial commit
|
|
75
76
|
|
|
76
|
-
**Then open your project in your AI coding agent and
|
|
77
|
+
**Then open your project in your AI coding agent and start ODD:**
|
|
77
78
|
```
|
|
78
|
-
/odd
|
|
79
|
+
Claude Code / OpenCode: /odd
|
|
80
|
+
Codex: use ODD
|
|
79
81
|
```
|
|
80
82
|
|
|
81
83
|
---
|
|
@@ -92,14 +94,14 @@ All supported agents get the same methodology, the same safety enforcement, and
|
|
|
92
94
|
|
|
93
95
|
---
|
|
94
96
|
|
|
95
|
-
## What happens when you
|
|
97
|
+
## What happens when you start ODD
|
|
96
98
|
|
|
97
99
|
Your AI coding agent loads the ODD orchestrator. It checks whether you have an existing project in progress (via your local `.odd/state.json` and odd-flow memory) and either:
|
|
98
100
|
|
|
99
101
|
- **New project:** Welcomes you, explains what you're about to build together, and starts with the first question: *Who uses this system, and what do they actually need?*
|
|
100
102
|
- **Returning project:** Shows you exactly where you left off and resumes from there. Nothing is lost between sessions.
|
|
101
103
|
|
|
102
|
-
From there, use the dedicated
|
|
104
|
+
From there, use the dedicated direct commands listed below in Claude Code or OpenCode, or type sub-commands inside the active ODD session.
|
|
103
105
|
|
|
104
106
|
---
|
|
105
107
|
|
|
@@ -157,7 +159,7 @@ ODD Studio installs safety gates that run automatically throughout your build. T
|
|
|
157
159
|
**Claude Code:** Implemented as shell hooks registered in `.claude/settings.local.json` (project-local).
|
|
158
160
|
**OpenCode:** Implemented as a JS plugin (`odd-studio-plugin.js`) in `.opencode/plugins/` (project-local).
|
|
159
161
|
**Codex:** Implemented as a project-local plugin in `plugins/odd-studio/` with `hooks.json` and plugin-local skills.
|
|
160
|
-
|
|
162
|
+
Codex starts through `AGENTS.md` instructions (`use ODD` / `start ODD`) rather than a guaranteed `/odd` composer command.
|
|
161
163
|
|
|
162
164
|
---
|
|
163
165
|
|
|
@@ -261,9 +263,9 @@ Only the config directories for your target agent are generated (`.claude/`, `.o
|
|
|
261
263
|
|
|
262
264
|
---
|
|
263
265
|
|
|
264
|
-
##
|
|
266
|
+
## Direct Commands
|
|
265
267
|
|
|
266
|
-
These are the top-level commands you can invoke in Claude Code
|
|
268
|
+
These are the top-level direct commands you can invoke in Claude Code or OpenCode:
|
|
267
269
|
|
|
268
270
|
| Command | What it does |
|
|
269
271
|
|---------|-------------|
|
|
@@ -277,7 +279,7 @@ These are the top-level commands you can invoke in Claude Code, OpenCode, or Cod
|
|
|
277
279
|
|
|
278
280
|
## Sub-commands inside `/odd`
|
|
279
281
|
|
|
280
|
-
Once
|
|
282
|
+
Once ODD is active, you can use these sub-commands in Claude Code, OpenCode, or Codex:
|
|
281
283
|
|
|
282
284
|
```
|
|
283
285
|
*persona Work on personas with Diana
|
package/bin/commands/init.js
CHANGED
|
@@ -217,10 +217,12 @@ function printNextSteps({ isClaude, isOpenCode, isCodex, projectName }) {
|
|
|
217
217
|
console.log(` ${stepN++}. Open your project: ` + chalk.cyan('opencode'));
|
|
218
218
|
}
|
|
219
219
|
if (isCodex) {
|
|
220
|
-
console.log(` ${stepN++}. Restart Codex: ` + chalk.cyan('quit and reopen') + chalk.dim(' (activates the local ODD Studio plugin)'));
|
|
221
220
|
console.log(` ${stepN++}. Open your project in Codex`);
|
|
221
|
+
console.log(` ${stepN++}. Start ODD by saying: ` + chalk.cyan('use ODD') + chalk.dim(' (Codex reads AGENTS.md automatically — no /odd command needed)'));
|
|
222
|
+
}
|
|
223
|
+
if (isClaude || isOpenCode) {
|
|
224
|
+
console.log(` ${stepN++}. Start your ODD session: ` + chalk.cyan('/odd'));
|
|
222
225
|
}
|
|
223
|
-
console.log(` ${stepN++}. Start your ODD session: ` + chalk.cyan('/odd'));
|
|
224
226
|
console.log();
|
|
225
227
|
}
|
|
226
228
|
|
package/bin/odd-studio.js
CHANGED
|
@@ -15,7 +15,7 @@ import { registerUninstall } from './commands/uninstall.js';
|
|
|
15
15
|
const __filename = fileURLToPath(import.meta.url);
|
|
16
16
|
const __dirname = path.dirname(__filename);
|
|
17
17
|
const require = createRequire(import.meta.url);
|
|
18
|
-
const pkg = require('../package.json'); // v3.3.
|
|
18
|
+
const pkg = require('../package.json'); // v3.3.3
|
|
19
19
|
|
|
20
20
|
const PACKAGE_ROOT = path.resolve(__dirname, '..');
|
|
21
21
|
const deps = { PACKAGE_ROOT, print };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "odd-studio",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.3",
|
|
4
4
|
"description": "Outcome-Driven Development for AI coding agents — a planning and build harness for domain experts building serious software with AI. Works with Claude Code, OpenCode, and Codex.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"claude-code",
|
package/skill/SKILL.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: "odd"
|
|
3
|
-
version: "3.3.
|
|
3
|
+
version: "3.3.3"
|
|
4
4
|
description: "Outcome-Driven Development planning and build coach. Use /odd to start or resume an ODD project — building personas, writing outcomes, mapping contracts, creating a Master Implementation Plan, and directing a odd-flow-powered build. Designed for domain experts who are not developers. Works with Claude Code, OpenCode, and Codex."
|
|
5
5
|
---
|
|
6
6
|
|
|
@@ -35,7 +35,7 @@ Display this when no existing state is found:
|
|
|
35
35
|
|
|
36
36
|
---
|
|
37
37
|
|
|
38
|
-
Welcome to ODD Studio v3.3.
|
|
38
|
+
Welcome to ODD Studio v3.3.3.
|
|
39
39
|
|
|
40
40
|
You are about to plan and build something real — using a methodology called Outcome-Driven Development. Before we write a single line of code, we are going to get precise about three things:
|
|
41
41
|
|
|
@@ -59,7 +59,7 @@ Display this when existing state is found. Replace the bracketed values with act
|
|
|
59
59
|
|
|
60
60
|
---
|
|
61
61
|
|
|
62
|
-
Welcome back to ODD Studio v3.3.
|
|
62
|
+
Welcome back to ODD Studio v3.3.3.
|
|
63
63
|
|
|
64
64
|
**Project:** [project.name]
|
|
65
65
|
**Current Phase:** [state.currentPhase]
|
package/templates/AGENTS.md
CHANGED
|
@@ -1,6 +1,20 @@
|
|
|
1
|
-
# {{PROJECT_NAME}} —
|
|
1
|
+
# {{PROJECT_NAME}} — Agent Configuration
|
|
2
2
|
# Powered by ODD Studio (Outcome-Driven Development)
|
|
3
3
|
|
|
4
|
+
## How to Start ODD
|
|
5
|
+
|
|
6
|
+
This project uses ODD Studio for planning and building. To activate the ODD coach:
|
|
7
|
+
|
|
8
|
+
**In Codex:** Say `use ODD` or `start ODD` — there is no `/odd` slash command in Codex.
|
|
9
|
+
The agent will read the coaching protocol below and guide you through planning or building.
|
|
10
|
+
|
|
11
|
+
**In OpenCode:** Type `/odd` to start.
|
|
12
|
+
|
|
13
|
+
When activated, read the full coaching protocol:
|
|
14
|
+
- `plugins/odd-studio/skills/odd/SKILL.md` (Codex) or `.opencode/commands/odd/SKILL.md` (OpenCode)
|
|
15
|
+
|
|
16
|
+
Then execute the startup state check documented in that file.
|
|
17
|
+
|
|
4
18
|
## Project Context
|
|
5
19
|
This project is built using Outcome-Driven Development. All build decisions flow from the
|
|
6
20
|
outcomes documented in `docs/outcomes/` and the plan in `docs/plan.md`.
|
|
@@ -134,7 +148,9 @@ _Until then, the ODD defaults apply:_
|
|
|
134
148
|
_This section is populated by Rachel during Step 9b of the planning phase._
|
|
135
149
|
|
|
136
150
|
## Session Start Protocol
|
|
137
|
-
Every new session begins with
|
|
151
|
+
Every new session begins with the user saying **"use ODD"** or **"start ODD"**.
|
|
152
|
+
When you see this, read the full coaching protocol from the skill file (see "How to Start ODD" above),
|
|
153
|
+
then run the startup state check:
|
|
138
154
|
```
|
|
139
155
|
Read docs/plan.md and docs/outcomes/. We are in Phase [X].
|
|
140
156
|
Phase [A...] is complete and verified.
|