@plazmodium/odin 0.3.3-beta → 0.3.5-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 +25 -10
- package/builtin/ODIN.md +1067 -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 +713 -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 +189 -0
- package/builtin/agent-definitions/planning.md +236 -0
- package/builtin/agent-definitions/product.md +405 -0
- package/builtin/agent-definitions/release.md +205 -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 +1 -0
- package/dist/adapters/skills/filesystem.d.ts.map +1 -1
- package/dist/adapters/skills/filesystem.js +6 -18
- package/dist/adapters/skills/filesystem.js.map +1 -1
- package/dist/adapters/skills/types.d.ts +1 -0
- package/dist/adapters/skills/types.d.ts.map +1 -1
- package/dist/adapters/workflow-state/in-memory.d.ts +10 -2
- package/dist/adapters/workflow-state/in-memory.d.ts.map +1 -1
- package/dist/adapters/workflow-state/in-memory.js +98 -5
- package/dist/adapters/workflow-state/in-memory.js.map +1 -1
- package/dist/adapters/workflow-state/supabase.d.ts +8 -2
- package/dist/adapters/workflow-state/supabase.d.ts.map +1 -1
- package/dist/adapters/workflow-state/supabase.js +204 -0
- package/dist/adapters/workflow-state/supabase.js.map +1 -1
- package/dist/adapters/workflow-state/types.d.ts +15 -1
- package/dist/adapters/workflow-state/types.d.ts.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/domain/skill-draft-validation.d.ts +18 -0
- package/dist/domain/skill-draft-validation.d.ts.map +1 -0
- package/dist/domain/skill-draft-validation.js +100 -0
- package/dist/domain/skill-draft-validation.js.map +1 -0
- package/dist/domain/skill-proposals.d.ts +11 -0
- package/dist/domain/skill-proposals.d.ts.map +1 -0
- package/dist/domain/skill-proposals.js +103 -0
- package/dist/domain/skill-proposals.js.map +1 -0
- package/dist/init.js +69 -11
- package/dist/init.js.map +1 -1
- package/dist/schemas.d.ts +39 -1
- package/dist/schemas.d.ts.map +1 -1
- package/dist/schemas.js +30 -1
- package/dist/schemas.js.map +1 -1
- package/dist/server.js +38 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/apply-migrations.d.ts +10 -0
- package/dist/tools/apply-migrations.d.ts.map +1 -1
- package/dist/tools/apply-migrations.js +10 -26
- package/dist/tools/apply-migrations.js.map +1 -1
- package/dist/tools/capture-learning.d.ts.map +1 -1
- package/dist/tools/capture-learning.js +14 -1
- package/dist/tools/capture-learning.js.map +1 -1
- package/dist/tools/get-skill-proposal-queue.d.ts +5 -0
- package/dist/tools/get-skill-proposal-queue.d.ts.map +1 -0
- package/dist/tools/get-skill-proposal-queue.js +21 -0
- package/dist/tools/get-skill-proposal-queue.js.map +1 -0
- package/dist/tools/get-skill-proposals.d.ts +4 -0
- package/dist/tools/get-skill-proposals.d.ts.map +1 -0
- package/dist/tools/get-skill-proposals.js +11 -0
- package/dist/tools/get-skill-proposals.js.map +1 -0
- 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/tools/publish-skill-proposal.d.ts +5 -0
- package/dist/tools/publish-skill-proposal.d.ts.map +1 -0
- package/dist/tools/publish-skill-proposal.js +57 -0
- package/dist/tools/publish-skill-proposal.js.map +1 -0
- package/dist/tools/record-skill-proposal-decision.d.ts +4 -0
- package/dist/tools/record-skill-proposal-decision.d.ts.map +1 -0
- package/dist/tools/record-skill-proposal-decision.js +22 -0
- package/dist/tools/record-skill-proposal-decision.js.map +1 -0
- package/dist/tools/record-skill-proposal-draft.d.ts +5 -0
- package/dist/tools/record-skill-proposal-draft.d.ts.map +1 -0
- package/dist/tools/record-skill-proposal-draft.js +65 -0
- package/dist/tools/record-skill-proposal-draft.js.map +1 -0
- package/dist/tools/sync-skill-proposal-candidates.d.ts +5 -0
- package/dist/tools/sync-skill-proposal-candidates.d.ts.map +1 -0
- package/dist/tools/sync-skill-proposal-candidates.js +20 -0
- package/dist/tools/sync-skill-proposal-candidates.js.map +1 -0
- package/dist/types.d.ts +41 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -1
- package/migrations/009_skill_proposal_candidates.sql +124 -0
- package/migrations/010_skill_proposals.sql +36 -0
- package/migrations/README.md +6 -0
- 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,24 +23,26 @@ 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
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).
|
|
46
48
|
|
|
@@ -148,6 +150,12 @@ Your AI agent now has these tools available:
|
|
|
148
150
|
| `odin.run_policy_checks` | Run deterministic policy checks for submitted claims |
|
|
149
151
|
| `odin.verify_design` | Run formal design verification (TLA+ model checking) on a `.machine.ts` DSL file |
|
|
150
152
|
| `odin.capture_learning` | Capture a reusable learning with semantic domain matching |
|
|
153
|
+
| `odin.get_skill_proposal_queue` | Inspect repeated unresolved learning topics that may warrant a generated skill draft |
|
|
154
|
+
| `odin.get_skill_proposals` | List drafted, approved, rejected, or published skill proposal records |
|
|
155
|
+
| `odin.record_skill_proposal_draft` | Persist a drafted generated-skill proposal and run deterministic validation |
|
|
156
|
+
| `odin.record_skill_proposal_decision` | Approve or reject a drafted skill proposal |
|
|
157
|
+
| `odin.publish_skill_proposal` | Publish an approved skill proposal into `.odin/skills/generated/` |
|
|
158
|
+
| `odin.sync_skill_proposal_candidates` | Persist the current deterministic proposal queue for later review/approval workflows |
|
|
151
159
|
| `odin.get_feature_status` | Inspect feature state with workflow details |
|
|
152
160
|
| `odin.verify_claims` | Check claim verification status |
|
|
153
161
|
| `odin.get_claims_needing_review` | List claims waiting for watcher review |
|
|
@@ -273,8 +281,10 @@ Recommended harness behavior:
|
|
|
273
281
|
```text
|
|
274
282
|
1. Call odin.prepare_phase_context(...)
|
|
275
283
|
2. Build the agent prompt from:
|
|
284
|
+
- .odin/ODIN.md (framework-level rules)
|
|
276
285
|
- context.agent.role_summary
|
|
277
286
|
- context.agent.constraints
|
|
287
|
+
- context.agent.definition_markdown
|
|
278
288
|
- context.development_evals.harness_prompt_block
|
|
279
289
|
3. Keep context.development_evals.status_summary visible to the operator
|
|
280
290
|
4. Do not treat eval instructions as a replacement for formal verification, Semgrep, tests, runtime checks, or watcher checks
|
|
@@ -284,14 +294,16 @@ Canonical eval-aware orchestration snippet:
|
|
|
284
294
|
|
|
285
295
|
```text
|
|
286
296
|
When orchestrating Odin phases:
|
|
287
|
-
1.
|
|
288
|
-
2.
|
|
297
|
+
1. Read `.odin/ODIN.md` once so the harness has the framework-level rules in project context.
|
|
298
|
+
2. Call odin.prepare_phase_context({ feature_id, phase, agent_name }).
|
|
299
|
+
3. Build the active agent prompt from:
|
|
289
300
|
- context.agent.role_summary
|
|
290
301
|
- context.agent.constraints
|
|
302
|
+
- context.agent.definition_markdown
|
|
291
303
|
- context.development_evals.harness_prompt_block
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
304
|
+
4. Use odin.get_development_eval_status({ feature_id }) when you need focused eval state.
|
|
305
|
+
5. Record eval artifacts/gates with odin.record_eval_plan, odin.record_eval_run, and odin.record_quality_gate.
|
|
306
|
+
6. Never let Development Evals override odin.verify_design, odin.run_review_checks, tests, runtime verification, or watcher checks.
|
|
295
307
|
```
|
|
296
308
|
|
|
297
309
|
If the harness wants a focused eval-only read path instead of parsing `odin.get_feature_status`, call:
|
|
@@ -327,6 +339,9 @@ Odin's learning system uses **semantic domain matching** to automatically route
|
|
|
327
339
|
3. **Auto-targeting**: Matches passing both gates (≥ 1 strong keyword hit AND ≥ 0.60 relevance) are auto-declared as propagation targets. Weaker matches are returned as suggestions
|
|
328
340
|
4. **Cross-feature corridors**: `odin.prepare_phase_context` retrieves related learnings from other features that share propagation targets, with tag intersection fallback
|
|
329
341
|
5. **Resonance ranking**: Related learnings are ranked by domain density, corroboration (same-category learnings from different features), and recency — never modifying `confidence_score`
|
|
342
|
+
6. **Proposal surfacing**: Repeated unresolved tags can be inspected via `odin.get_skill_proposal_queue` to identify candidate topics for governed skill drafting
|
|
343
|
+
7. **Proposal persistence**: `odin.sync_skill_proposal_candidates` snapshots the current candidate queue into workflow state so later approval/draft flows and dashboard surfaces can build on stable relational state
|
|
344
|
+
8. **Governed skill workflow**: draft generation, approval, and publish happen through `odin.record_skill_proposal_draft`, `odin.record_skill_proposal_decision`, and `odin.publish_skill_proposal` rather than automatic built-in self-modification
|
|
330
345
|
|
|
331
346
|
### Exploration
|
|
332
347
|
|