@plazmodium/odin 0.3.2-beta → 0.3.4-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +82 -11
- package/builtin/ODIN.md +1045 -0
- package/builtin/agent-definitions/README.md +170 -0
- package/builtin/agent-definitions/_shared-context.md +377 -0
- package/builtin/agent-definitions/architect.md +627 -0
- package/builtin/agent-definitions/builder.md +716 -0
- package/builtin/agent-definitions/discovery.md +293 -0
- package/builtin/agent-definitions/documenter.md +238 -0
- package/builtin/agent-definitions/guardian.md +1049 -0
- package/builtin/agent-definitions/integrator.md +363 -0
- package/builtin/agent-definitions/planning.md +236 -0
- package/builtin/agent-definitions/product.md +405 -0
- package/builtin/agent-definitions/release.md +430 -0
- package/builtin/agent-definitions/reviewer.md +447 -0
- package/builtin/agent-definitions/watcher.md +402 -0
- package/builtin/skills/api/graphql/SKILL.md +548 -0
- package/builtin/skills/api/grpc/SKILL.md +554 -0
- package/builtin/skills/api/rest-api/SKILL.md +469 -0
- package/builtin/skills/api/trpc/SKILL.md +503 -0
- package/builtin/skills/architecture/clean-architecture/SKILL.md +141 -0
- package/builtin/skills/architecture/domain-driven-design/SKILL.md +129 -0
- package/builtin/skills/architecture/event-driven/SKILL.md +145 -0
- package/builtin/skills/architecture/microservices/SKILL.md +143 -0
- package/builtin/skills/architecture/tla-precheck/SKILL.md +171 -0
- package/builtin/skills/backend/golang-gin/SKILL.md +141 -0
- package/builtin/skills/backend/nodejs-express/SKILL.md +277 -0
- package/builtin/skills/backend/nodejs-fastify/SKILL.md +152 -0
- package/builtin/skills/backend/python-django/SKILL.md +128 -0
- package/builtin/skills/backend/python-fastapi/SKILL.md +140 -0
- package/builtin/skills/database/mongodb/SKILL.md +132 -0
- package/builtin/skills/database/postgresql/SKILL.md +120 -0
- package/builtin/skills/database/prisma-orm/SKILL.md +366 -0
- package/builtin/skills/database/redis/SKILL.md +140 -0
- package/builtin/skills/database/supabase/SKILL.md +416 -0
- package/builtin/skills/devops/aws/SKILL.md +382 -0
- package/builtin/skills/devops/docker/SKILL.md +359 -0
- package/builtin/skills/devops/github-actions/SKILL.md +435 -0
- package/builtin/skills/devops/kubernetes/SKILL.md +459 -0
- package/builtin/skills/devops/terraform/SKILL.md +453 -0
- package/builtin/skills/frontend/alpine-dev/SKILL.md +27 -0
- package/builtin/skills/frontend/angular-dev/SKILL.md +28 -0
- package/builtin/skills/frontend/astro-dev/SKILL.md +28 -0
- package/builtin/skills/frontend/htmx-dev/SKILL.md +28 -0
- package/builtin/skills/frontend/nextjs-dev/SKILL.md +470 -0
- package/builtin/skills/frontend/react-patterns/SKILL.md +166 -0
- package/builtin/skills/frontend/svelte-dev/SKILL.md +28 -0
- package/builtin/skills/frontend/tailwindcss/SKILL.md +131 -0
- package/builtin/skills/frontend/vuejs-dev/SKILL.md +28 -0
- package/builtin/skills/generic-dev/SKILL.md +307 -0
- package/builtin/skills/testing/cypress/SKILL.md +372 -0
- package/builtin/skills/testing/jest/SKILL.md +176 -0
- package/builtin/skills/testing/playwright/SKILL.md +341 -0
- package/builtin/skills/testing/unit-tests-eval-sdd/SKILL.md +73 -0
- package/builtin/skills/testing/unit-tests-sdd/SKILL.md +83 -0
- package/builtin/skills/testing/vitest/SKILL.md +249 -0
- package/dist/adapters/skills/filesystem.d.ts.map +1 -1
- package/dist/adapters/skills/filesystem.js +2 -18
- package/dist/adapters/skills/filesystem.js.map +1 -1
- package/dist/builtin-assets.d.ts +8 -0
- package/dist/builtin-assets.d.ts.map +1 -0
- package/dist/builtin-assets.js +90 -0
- package/dist/builtin-assets.js.map +1 -0
- package/dist/init.js +69 -11
- package/dist/init.js.map +1 -1
- package/dist/schemas.d.ts +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/prepare-phase-context.d.ts.map +1 -1
- package/dist/tools/prepare-phase-context.js +5 -0
- package/dist/tools/prepare-phase-context.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -3
package/README.md
CHANGED
|
@@ -6,13 +6,13 @@ A single-install MCP server that gives your AI coding agent an 11-phase developm
|
|
|
6
6
|
|
|
7
7
|
### 1. Install
|
|
8
8
|
|
|
9
|
-
Preferred published-package flow
|
|
9
|
+
Preferred published-package flow:
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
12
|
npx -y @plazmodium/odin init --project-root /path/to/your/project --tool opencode --write-mcp
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Maintainer repo-checkout flow:
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
18
|
cd runtime
|
|
@@ -23,26 +23,82 @@ npm run build
|
|
|
23
23
|
### 2. Bootstrap your project
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
# Published-package MCP command snippets
|
|
26
|
+
# Published-package MCP command snippets
|
|
27
27
|
npx -y @plazmodium/odin init --project-root /path/to/your/project --tool amp --write-mcp
|
|
28
28
|
npx -y @plazmodium/odin init --project-root /path/to/your/project --tool opencode --write-mcp
|
|
29
29
|
|
|
30
|
-
# Source-checkout snippets while working from
|
|
30
|
+
# Source-checkout snippets while working on Odin from this repo
|
|
31
31
|
npm run init:project -- --project-root /path/to/your/project --tool amp --distribution source --write-mcp
|
|
32
32
|
npm run init:project -- --project-root /path/to/your/project --tool codex --distribution source --write-mcp
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
This creates:
|
|
36
36
|
- `.odin/config.yaml` — runtime configuration (commit this)
|
|
37
|
+
- `.odin/ODIN.md` — bundled Odin framework guide for the harness to read locally
|
|
38
|
+
- `.odin/agents/definitions/` — bundled phase agent definitions and shared context
|
|
37
39
|
- `.odin/skills/` — project-local skill overrides (commit this)
|
|
38
40
|
- `.env.example` — required environment variables (commit this)
|
|
39
41
|
- Your harness config file (`opencode.json`, `.mcp.json`, or `.codex/config.toml`, depending on tool)
|
|
40
42
|
|
|
41
43
|
Important: Odin bootstraps with `runtime.mode: in_memory` by default so MCP wiring can work without external services. Switch `.odin/config.yaml` to `runtime.mode: supabase` when you are ready for persistent workflow state.
|
|
42
44
|
|
|
43
|
-
|
|
45
|
+
If you are developing Odin from this repo, use the repo-checkout `--distribution source` flow shown above.
|
|
44
46
|
|
|
45
|
-
If you are the maintainer preparing that publish, use [
|
|
47
|
+
If you are the maintainer preparing that publish, use [the npm publish guide](https://github.com/Plazmodium/odin-workflow/blob/dev/docs/guides/NPM-PUBLISH.md).
|
|
48
|
+
|
|
49
|
+
### Manual MCP wiring
|
|
50
|
+
|
|
51
|
+
If you do not want Odin to write your harness config for you, add the MCP server manually.
|
|
52
|
+
|
|
53
|
+
For Claude Code / Amp:
|
|
54
|
+
|
|
55
|
+
```json
|
|
56
|
+
{
|
|
57
|
+
"mcpServers": {
|
|
58
|
+
"odin": {
|
|
59
|
+
"command": "npx",
|
|
60
|
+
"args": ["-y", "@plazmodium/odin", "mcp"],
|
|
61
|
+
"env": {
|
|
62
|
+
"ODIN_PROJECT_ROOT": "/absolute/path/to/your/project"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
For OpenCode:
|
|
70
|
+
|
|
71
|
+
```json
|
|
72
|
+
{
|
|
73
|
+
"$schema": "https://opencode.ai/config.json",
|
|
74
|
+
"mcp": {
|
|
75
|
+
"odin": {
|
|
76
|
+
"type": "local",
|
|
77
|
+
"command": [
|
|
78
|
+
"npx",
|
|
79
|
+
"-y",
|
|
80
|
+
"@plazmodium/odin",
|
|
81
|
+
"mcp"
|
|
82
|
+
],
|
|
83
|
+
"enabled": true,
|
|
84
|
+
"environment": {
|
|
85
|
+
"ODIN_PROJECT_ROOT": "/absolute/path/to/your/project"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
For Codex:
|
|
93
|
+
|
|
94
|
+
```toml
|
|
95
|
+
[mcp_servers.odin]
|
|
96
|
+
command = "npx"
|
|
97
|
+
args = ["-y", "@plazmodium/odin", "mcp"]
|
|
98
|
+
env = { ODIN_PROJECT_ROOT = "/absolute/path/to/your/project" }
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
For Cursor, use the same command, args, and env values in the MCP Servers settings UI.
|
|
46
102
|
|
|
47
103
|
### 3. Add your database credentials
|
|
48
104
|
|
|
@@ -102,6 +158,17 @@ Your AI agent now has these tools available:
|
|
|
102
158
|
| `odin.explore_knowledge` | Explore knowledge clusters, cross-domain bridges, and domain stats |
|
|
103
159
|
| `odin.apply_migrations` | Apply pending database migrations (auto-detects existing schema) |
|
|
104
160
|
|
|
161
|
+
## Dashboard
|
|
162
|
+
|
|
163
|
+
`@plazmodium/odin` ships the MCP runtime only. It does **not** bundle the Next.js dashboard.
|
|
164
|
+
|
|
165
|
+
If you want the dashboard UI for feature health, learnings, claims, and eval visibility, use the full Odin repository:
|
|
166
|
+
|
|
167
|
+
- Repo: https://github.com/Plazmodium/odin-workflow
|
|
168
|
+
- Dashboard app: https://github.com/Plazmodium/odin-workflow/tree/dev/dashboard
|
|
169
|
+
|
|
170
|
+
The dashboard is a separate app and is not included in the npm tarball.
|
|
171
|
+
|
|
105
172
|
## Configuration
|
|
106
173
|
|
|
107
174
|
Odin uses two files:
|
|
@@ -208,8 +275,10 @@ Recommended harness behavior:
|
|
|
208
275
|
```text
|
|
209
276
|
1. Call odin.prepare_phase_context(...)
|
|
210
277
|
2. Build the agent prompt from:
|
|
278
|
+
- .odin/ODIN.md (framework-level rules)
|
|
211
279
|
- context.agent.role_summary
|
|
212
280
|
- context.agent.constraints
|
|
281
|
+
- context.agent.definition_markdown
|
|
213
282
|
- context.development_evals.harness_prompt_block
|
|
214
283
|
3. Keep context.development_evals.status_summary visible to the operator
|
|
215
284
|
4. Do not treat eval instructions as a replacement for formal verification, Semgrep, tests, runtime checks, or watcher checks
|
|
@@ -219,14 +288,16 @@ Canonical eval-aware orchestration snippet:
|
|
|
219
288
|
|
|
220
289
|
```text
|
|
221
290
|
When orchestrating Odin phases:
|
|
222
|
-
1.
|
|
223
|
-
2.
|
|
291
|
+
1. Read `.odin/ODIN.md` once so the harness has the framework-level rules in project context.
|
|
292
|
+
2. Call odin.prepare_phase_context({ feature_id, phase, agent_name }).
|
|
293
|
+
3. Build the active agent prompt from:
|
|
224
294
|
- context.agent.role_summary
|
|
225
295
|
- context.agent.constraints
|
|
296
|
+
- context.agent.definition_markdown
|
|
226
297
|
- context.development_evals.harness_prompt_block
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
298
|
+
4. Use odin.get_development_eval_status({ feature_id }) when you need focused eval state.
|
|
299
|
+
5. Record eval artifacts/gates with odin.record_eval_plan, odin.record_eval_run, and odin.record_quality_gate.
|
|
300
|
+
6. Never let Development Evals override odin.verify_design, odin.run_review_checks, tests, runtime verification, or watcher checks.
|
|
230
301
|
```
|
|
231
302
|
|
|
232
303
|
If the harness wants a focused eval-only read path instead of parsing `odin.get_feature_status`, call:
|