opcrew 0.1.6 → 0.1.7

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.
@@ -0,0 +1,8 @@
1
+ {
2
+ "$schema": "./logbook.schema.json",
3
+ "voyage": { "status": "idle" },
4
+ "missions": [],
5
+ "decisions": [],
6
+ "blockers": [],
7
+ "notes": []
8
+ }
@@ -0,0 +1,67 @@
1
+ # Knowledge Base Conventions
2
+
3
+ This folder is the **canonical, human-readable source of truth** for project context. Agents must read relevant files before acting and update them when decisions or constraints change.
4
+
5
+ ## Structure
6
+
7
+ - `decisions/` — Architecture Decision Records (ADRs)
8
+ - `runbooks/` — Operational procedures and recurring workflows
9
+ - `glossary.md` — Terms, abbreviations, and canonical definitions
10
+ - `project-map.md` — High-level module map, ownership boundaries, and key entry points
11
+
12
+ ## Rules of Engagement
13
+
14
+ 1. **Read first:** Check `project-map.md`, `glossary.md`, and any related ADRs before planning or execution.
15
+ 2. **Write when you decide:** Any non-trivial decision that changes direction, constraints, or approach must be captured as an ADR.
16
+ 3. **Keep it small and explicit:** Prefer concise entries with clear rationale and consequences.
17
+ 4. **No hidden knowledge:** If it matters for future work, it belongs here.
18
+ 5. **Git is the source of truth:** Do not store canonical decisions in databases; this folder is the canonical record.
19
+
20
+ ## ADR Template
21
+
22
+ Create a new file in `decisions/` using the next sequence number:
23
+
24
+ ```text
25
+ YYYYMMDD-###-short-title.md
26
+ ```
27
+
28
+ Include the following sections:
29
+
30
+ ```markdown
31
+ # Title
32
+
33
+ ## Status
34
+ Accepted | Superseded | Deprecated
35
+
36
+ ## Context
37
+ What problem are we solving? What constraints apply?
38
+
39
+ ## Decision
40
+ What did we decide?
41
+
42
+ ## Consequences
43
+ What tradeoffs or follow-up work does this create?
44
+ ```
45
+
46
+ ## Runbook Template
47
+
48
+ Create a new file in `runbooks/` using:
49
+
50
+ ```text
51
+ topic-short-title.md
52
+ ```
53
+
54
+ ```markdown
55
+ # Title
56
+
57
+ ## Purpose
58
+
59
+ ## Preconditions
60
+
61
+ ## Steps
62
+ 1.
63
+
64
+ ## Verification
65
+
66
+ ## Rollback
67
+ ```
@@ -0,0 +1,10 @@
1
+ # Glossary
2
+
3
+ ## ADR (Architecture Decision Record)
4
+ A short, structured document that records a significant architectural or process decision.
5
+
6
+ ## Logbook
7
+ The mission log that captures decisions, risks, task status, and verification evidence.
8
+
9
+ ## Mission
10
+ A unit of work defined by the Captain, executed by crew agents.
@@ -0,0 +1,13 @@
1
+ # Project Map
2
+
3
+ ## Purpose
4
+ High-level map of key modules, entry points, and ownership boundaries.
5
+
6
+ ## Modules
7
+ (Add your project modules here)
8
+
9
+ ## Entry Points
10
+ (Add your entry points here)
11
+
12
+ ## Conventions
13
+ (Add your project conventions here)
@@ -0,0 +1,82 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Logbook",
4
+ "description": "OpenCrew logbook for tracking voyage status, missions, decisions, and blockers",
5
+ "type": "object",
6
+ "required": ["voyage", "missions", "decisions", "blockers", "notes"],
7
+ "properties": {
8
+ "voyage": {
9
+ "type": "object",
10
+ "description": "Current voyage/session information",
11
+ "properties": {
12
+ "id": { "type": "string" },
13
+ "started": { "type": "string", "format": "date-time" },
14
+ "status": { "type": "string", "enum": ["idle", "active", "blocked", "completed"] }
15
+ }
16
+ },
17
+ "missions": {
18
+ "type": "array",
19
+ "description": "List of missions undertaken",
20
+ "items": {
21
+ "type": "object",
22
+ "required": ["id", "intent", "status"],
23
+ "properties": {
24
+ "id": { "type": "string" },
25
+ "intent": { "type": "string" },
26
+ "assigned_to": { "type": "string" },
27
+ "status": { "type": "string", "enum": ["pending", "in_progress", "completed", "blocked"] },
28
+ "started": { "type": "string", "format": "date-time" },
29
+ "completed": { "type": "string", "format": "date-time" },
30
+ "outcome": { "type": "string" }
31
+ }
32
+ }
33
+ },
34
+ "decisions": {
35
+ "type": "array",
36
+ "description": "Key decisions made during the voyage",
37
+ "items": {
38
+ "type": "object",
39
+ "required": ["id", "decision", "rationale", "made_by"],
40
+ "properties": {
41
+ "id": { "type": "string" },
42
+ "decision": { "type": "string" },
43
+ "rationale": { "type": "string" },
44
+ "alternatives": { "type": "array", "items": { "type": "string" } },
45
+ "made_by": { "type": "string" },
46
+ "timestamp": { "type": "string", "format": "date-time" }
47
+ }
48
+ }
49
+ },
50
+ "blockers": {
51
+ "type": "array",
52
+ "description": "Current blockers impeding progress",
53
+ "items": {
54
+ "type": "object",
55
+ "required": ["id", "description", "severity"],
56
+ "properties": {
57
+ "id": { "type": "string" },
58
+ "description": { "type": "string" },
59
+ "severity": { "type": "string", "enum": ["low", "medium", "high", "critical"] },
60
+ "raised_by": { "type": "string" },
61
+ "raised_at": { "type": "string", "format": "date-time" },
62
+ "resolved": { "type": "boolean" },
63
+ "resolution": { "type": "string" }
64
+ }
65
+ }
66
+ },
67
+ "notes": {
68
+ "type": "array",
69
+ "description": "General notes and observations",
70
+ "items": {
71
+ "type": "object",
72
+ "required": ["id", "content"],
73
+ "properties": {
74
+ "id": { "type": "string" },
75
+ "content": { "type": "string" },
76
+ "author": { "type": "string" },
77
+ "timestamp": { "type": "string", "format": "date-time" }
78
+ }
79
+ }
80
+ }
81
+ }
82
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "$schema": "./logbook.schema.json",
3
+ "voyage": { "status": "idle" },
4
+ "missions": [],
5
+ "decisions": [],
6
+ "blockers": [],
7
+ "notes": []
8
+ }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "opcrew",
3
3
  "description": "OpenCrew agents and OpenCode plugin",
4
- "version": "0.1.6",
4
+ "version": "0.1.7",
5
5
  "main": "./dist/opencode-plugin.js",
6
6
  "module": "./dist/opencode-plugin.js",
7
7
  "type": "module",
@@ -29,10 +29,11 @@
29
29
  "opcrew": "./dist/cli.js"
30
30
  },
31
31
  "scripts": {
32
- "build": "bun run build:plugin && bun run build:cli && bun run build:skills",
32
+ "build": "bun run build:plugin && bun run build:cli && bun run build:skills && bun run build:templates",
33
33
  "build:plugin": "bun build src/opencode-plugin.ts --outdir dist --target bun",
34
34
  "build:cli": "bun build src/cli/index.ts --outfile dist/cli.js --target bun",
35
35
  "build:skills": "cp -r src/skills dist/skills",
36
+ "build:templates": "cp -r src/templates dist/templates",
36
37
  "prepack": "bun run build",
37
38
  "test": "bun test",
38
39
  "build:types": "bunx tsc -p tsconfig.build.json"