@osovv/vv-opencode 0.1.0
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/AGENTS.md +164 -0
- package/README.md +43 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +23 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/doctor.d.ts +19 -0
- package/dist/commands/doctor.js +70 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/guardian.d.ts +2 -0
- package/dist/commands/guardian.js +119 -0
- package/dist/commands/guardian.js.map +1 -0
- package/dist/commands/install.d.ts +28 -0
- package/dist/commands/install.js +59 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/status.d.ts +13 -0
- package/dist/commands/status.js +47 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/sync.d.ts +23 -0
- package/dist/commands/sync.js +49 -0
- package/dist/commands/sync.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/lib/opencode.d.ts +86 -0
- package/dist/lib/opencode.js +415 -0
- package/dist/lib/opencode.js.map +1 -0
- package/dist/lib/opencode.test.d.ts +1 -0
- package/dist/lib/opencode.test.js +47 -0
- package/dist/lib/opencode.test.js.map +1 -0
- package/dist/plugins/guardian.d.ts +2 -0
- package/dist/plugins/guardian.js +1135 -0
- package/dist/plugins/guardian.js.map +1 -0
- package/docs/development-plan.xml +155 -0
- package/docs/knowledge-graph.xml +42 -0
- package/docs/operational-packets.xml +106 -0
- package/docs/requirements.xml +66 -0
- package/docs/technology.xml +51 -0
- package/docs/verification-plan.xml +145 -0
- package/package.json +58 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"guardian.js","sourceRoot":"","sources":["../../src/plugins/guardian.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
<DevelopmentPlan VERSION="0.2.0">
|
|
2
|
+
<ArchitectureNotes>
|
|
3
|
+
<objective>Package the existing Guardian plugin without behavior drift, while adding a small CLI that manages portable OpenCode config safely.</objective>
|
|
4
|
+
<non-goal>Do not expand into a large monorepo or broad profile manager before the first plugin packaging path is stable.</non-goal>
|
|
5
|
+
<risk-1>Config file mutation must stay conservative because users may already have hand-maintained JSONC with comments.</risk-1>
|
|
6
|
+
</ArchitectureNotes>
|
|
7
|
+
|
|
8
|
+
<Modules>
|
|
9
|
+
<M-CLI-CONFIG NAME="OpenCodeConfigTools" TYPE="UTILITY" LAYER="0" ORDER="1" STATUS="implemented">
|
|
10
|
+
<contract>
|
|
11
|
+
<purpose>Resolve OpenCode config paths, edit JSONC safely, render managed Guardian config, and inspect installation state.</purpose>
|
|
12
|
+
<inputs>
|
|
13
|
+
<param name="scope" type="global | project" />
|
|
14
|
+
<param name="cwd" type="string" />
|
|
15
|
+
<param name="configDir" type="string | undefined" />
|
|
16
|
+
</inputs>
|
|
17
|
+
<outputs>
|
|
18
|
+
<param name="ResolvedPaths | WriteResult | InstallationInspection" type="object" />
|
|
19
|
+
</outputs>
|
|
20
|
+
<errors>
|
|
21
|
+
<error code="INVALID_JSONC" />
|
|
22
|
+
<error code="INVALID_GUARDIAN_CONFIG" />
|
|
23
|
+
</errors>
|
|
24
|
+
</contract>
|
|
25
|
+
<interface>
|
|
26
|
+
<export-resolvePaths PURPOSE="Resolve config and Guardian file paths for the selected scope." />
|
|
27
|
+
<export-ensurePackageInstalled PURPOSE="Ensure the npm plugin is registered in OpenCode config." />
|
|
28
|
+
<export-syncGuardianConfig PURPOSE="Rewrite managed Guardian config while preserving current values." />
|
|
29
|
+
</interface>
|
|
30
|
+
<depends>none</depends>
|
|
31
|
+
<target>
|
|
32
|
+
<source>src/lib/opencode.ts</source>
|
|
33
|
+
<tests>src/lib/opencode.test.ts</tests>
|
|
34
|
+
</target>
|
|
35
|
+
<observability>
|
|
36
|
+
<log-prefix>[OpenCodeConfigTools]</log-prefix>
|
|
37
|
+
<critical-block>BLOCK_SYNC_GUARDIAN_CONFIG</critical-block>
|
|
38
|
+
</observability>
|
|
39
|
+
<verification-ref>V-M-CLI-CONFIG</verification-ref>
|
|
40
|
+
<notes>
|
|
41
|
+
<note-1>Main config edits should preserve comments when only the plugin array changes.</note-1>
|
|
42
|
+
</notes>
|
|
43
|
+
</M-CLI-CONFIG>
|
|
44
|
+
|
|
45
|
+
<M-CLI-COMMANDS NAME="VVOCCommands" TYPE="ENTRY_POINT" LAYER="1" ORDER="1" STATUS="implemented">
|
|
46
|
+
<contract>
|
|
47
|
+
<purpose>Expose install, sync, status, doctor, and Guardian config subcommands through citty.</purpose>
|
|
48
|
+
<inputs>
|
|
49
|
+
<param name="argv" type="string[]" />
|
|
50
|
+
</inputs>
|
|
51
|
+
<outputs>
|
|
52
|
+
<param name="stdout/stderr" type="terminal output" />
|
|
53
|
+
</outputs>
|
|
54
|
+
<errors>
|
|
55
|
+
<error code="INVALID_ARGUMENT" />
|
|
56
|
+
</errors>
|
|
57
|
+
</contract>
|
|
58
|
+
<interface>
|
|
59
|
+
<export-install PURPOSE="Bootstrap plugin registration and optional Guardian config." />
|
|
60
|
+
<export-sync PURPOSE="Refresh managed config files." />
|
|
61
|
+
<export-doctor PURPOSE="Diagnose installation drift or invalid config." />
|
|
62
|
+
</interface>
|
|
63
|
+
<depends>M-CLI-CONFIG</depends>
|
|
64
|
+
<target>
|
|
65
|
+
<source>src/cli.ts + src/commands/*.ts</source>
|
|
66
|
+
<tests>src/lib/opencode.test.ts</tests>
|
|
67
|
+
</target>
|
|
68
|
+
<observability>
|
|
69
|
+
<log-prefix>[VVOC]</log-prefix>
|
|
70
|
+
<critical-block>BLOCK_APPLY_COMMAND</critical-block>
|
|
71
|
+
</observability>
|
|
72
|
+
<verification-ref>V-M-CLI-COMMANDS</verification-ref>
|
|
73
|
+
<notes>
|
|
74
|
+
<note-1>Commands should stay thin and delegate file logic to `M-CLI-CONFIG`.</note-1>
|
|
75
|
+
</notes>
|
|
76
|
+
</M-CLI-COMMANDS>
|
|
77
|
+
|
|
78
|
+
<M-PLUGIN-GUARDIAN NAME="GuardianPlugin" TYPE="INTEGRATION" LAYER="0" ORDER="2" STATUS="implemented">
|
|
79
|
+
<contract>
|
|
80
|
+
<purpose>Review OpenCode permission requests with a constrained Guardian agent and auto-allow only low-risk actions.</purpose>
|
|
81
|
+
<inputs>
|
|
82
|
+
<param name="PluginInput" type="@opencode-ai/plugin input" />
|
|
83
|
+
</inputs>
|
|
84
|
+
<outputs>
|
|
85
|
+
<param name="Hooks" type="OpenCode plugin hooks" />
|
|
86
|
+
</outputs>
|
|
87
|
+
<errors>
|
|
88
|
+
<error code="GUARDIAN_REVIEW_FAILED" />
|
|
89
|
+
<error code="PERMISSION_REPLY_FAILED" />
|
|
90
|
+
</errors>
|
|
91
|
+
</contract>
|
|
92
|
+
<interface>
|
|
93
|
+
<export-GuardianPlugin PURPOSE="Register Guardian hooks, config agent, and permission review flow." />
|
|
94
|
+
</interface>
|
|
95
|
+
<depends>none</depends>
|
|
96
|
+
<target>
|
|
97
|
+
<source>src/plugins/guardian.ts</source>
|
|
98
|
+
<tests>typecheck-only in v1</tests>
|
|
99
|
+
</target>
|
|
100
|
+
<observability>
|
|
101
|
+
<log-prefix>[guardian]</log-prefix>
|
|
102
|
+
<critical-block>BLOCK_REVIEW_PERMISSION</critical-block>
|
|
103
|
+
</observability>
|
|
104
|
+
<verification-ref>V-M-PLUGIN-GUARDIAN</verification-ref>
|
|
105
|
+
<notes>
|
|
106
|
+
<note-1>This module is a direct port of the existing standalone plugin and should change minimally at first.</note-1>
|
|
107
|
+
</notes>
|
|
108
|
+
</M-PLUGIN-GUARDIAN>
|
|
109
|
+
</Modules>
|
|
110
|
+
|
|
111
|
+
<DataFlow>
|
|
112
|
+
<DF-PLUGIN-INSTALL NAME="PluginInstall" TRIGGER="vvoc install">
|
|
113
|
+
<step-1>Resolve scope-specific OpenCode and Guardian config paths.</step-1>
|
|
114
|
+
<step-2>Ensure `@osovv/vv-opencode` exists in the OpenCode `plugin` array.</step-2>
|
|
115
|
+
<step-3>Create `guardian.jsonc` when it does not already exist.</step-3>
|
|
116
|
+
<evidence>`vvoc status`, parsed config content, and successful typecheck/build.</evidence>
|
|
117
|
+
</DF-PLUGIN-INSTALL>
|
|
118
|
+
<DF-CONFIG-SYNC NAME="ManagedConfigSync" TRIGGER="vvoc sync">
|
|
119
|
+
<step-1>Inspect whether Guardian config is CLI-managed.</step-1>
|
|
120
|
+
<step-2>Parse current Guardian values from JSONC.</step-2>
|
|
121
|
+
<step-3>Rewrite managed file canonically while preserving current values.</step-3>
|
|
122
|
+
<evidence>Stable rewritten `guardian.jsonc` and no overwrite of unmanaged files without force.</evidence>
|
|
123
|
+
</DF-CONFIG-SYNC>
|
|
124
|
+
<DF-GUARDIAN-SETTINGS NAME="GuardianConfigWrite" TRIGGER="vvoc guardian config">
|
|
125
|
+
<step-1>Parse CLI overrides for model, variant, timeout, and thresholds.</step-1>
|
|
126
|
+
<step-2>Render a managed Guardian config template.</step-2>
|
|
127
|
+
<step-3>Write or print the config depending on mode.</step-3>
|
|
128
|
+
<evidence>JSONC parse succeeds and plugin can load the written file later.</evidence>
|
|
129
|
+
</DF-GUARDIAN-SETTINGS>
|
|
130
|
+
<DF-GUARDIAN-REVIEW NAME="GuardianPermissionReview" TRIGGER="permission.asked event">
|
|
131
|
+
<step-1>Capture relevant tool and command intent for the session.</step-1>
|
|
132
|
+
<step-2>Build a bounded transcript and planned action prompt.</step-2>
|
|
133
|
+
<step-3>Run Guardian, interpret risk, and auto-reply only when below threshold.</step-3>
|
|
134
|
+
<evidence>Guardian logs, toasts, and permission reply behavior inside OpenCode.</evidence>
|
|
135
|
+
</DF-GUARDIAN-REVIEW>
|
|
136
|
+
</DataFlow>
|
|
137
|
+
|
|
138
|
+
<ImplementationOrder>
|
|
139
|
+
<Phase-1 name="CLI Foundation" status="done">
|
|
140
|
+
<goal>Establish safe config mutation helpers and wire them into a usable Bun CLI.</goal>
|
|
141
|
+
<step-1 module="M-CLI-CONFIG" status="done" verification="V-M-CLI-CONFIG">Implement path resolution, JSONC edits, inspection, and Guardian template helpers.</step-1>
|
|
142
|
+
<step-2 module="M-CLI-COMMANDS" status="done" verification="V-M-CLI-COMMANDS">Expose install, sync, status, doctor, and Guardian config commands.</step-2>
|
|
143
|
+
</Phase-1>
|
|
144
|
+
<Phase-2 name="Guardian Packaging" status="done">
|
|
145
|
+
<goal>Move the existing standalone Guardian plugin into the repository and export it from the package.</goal>
|
|
146
|
+
<step-1 module="M-PLUGIN-GUARDIAN" status="done" verification="V-M-PLUGIN-GUARDIAN">Port the current Guardian plugin source into `src/plugins/guardian.ts`.</step-1>
|
|
147
|
+
</Phase-2>
|
|
148
|
+
</ImplementationOrder>
|
|
149
|
+
|
|
150
|
+
<ExecutionPolicy>
|
|
151
|
+
<default-profile>balanced</default-profile>
|
|
152
|
+
<controller-owns>docs/development-plan.xml, docs/knowledge-graph.xml, docs/verification-plan.xml</controller-owns>
|
|
153
|
+
<worker-owns>Only package source files, tests, and narrowly scoped documentation updates required by the approved module changes.</worker-owns>
|
|
154
|
+
</ExecutionPolicy>
|
|
155
|
+
</DevelopmentPlan>
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
<KnowledgeGraph>
|
|
2
|
+
<Project NAME="@osovv/vv-opencode" VERSION="0.2.0">
|
|
3
|
+
<keywords>opencode, plugins, workflow</keywords>
|
|
4
|
+
<annotation>Portable OpenCode workflow package with plugins and a Bun CLI for install, sync, and cross-device setup.</annotation>
|
|
5
|
+
|
|
6
|
+
<M-CLI-CONFIG NAME="OpenCodeConfigTools" TYPE="UTILITY" STATUS="implemented">
|
|
7
|
+
<purpose>Path resolution, JSONC-aware config mutation, managed Guardian config rendering, and installation inspection.</purpose>
|
|
8
|
+
<path>src/lib/opencode.ts</path>
|
|
9
|
+
<depends>none</depends>
|
|
10
|
+
<verification-ref>V-M-CLI-CONFIG</verification-ref>
|
|
11
|
+
<annotations>
|
|
12
|
+
<fn-resolvePaths PURPOSE="Resolve scope-aware config file paths for OpenCode and Guardian." />
|
|
13
|
+
<fn-ensurePackageInstalled PURPOSE="Add the package name to the OpenCode plugin array if needed." />
|
|
14
|
+
<fn-syncGuardianConfig PURPOSE="Rewrite managed Guardian config while preserving current values." />
|
|
15
|
+
</annotations>
|
|
16
|
+
</M-CLI-CONFIG>
|
|
17
|
+
|
|
18
|
+
<M-CLI-COMMANDS NAME="VVOCCommands" TYPE="ENTRY_POINT" STATUS="implemented">
|
|
19
|
+
<purpose>Compose the `vvoc` CLI and expose install, sync, status, doctor, and Guardian config commands.</purpose>
|
|
20
|
+
<path>src/cli.ts + src/commands/*.ts</path>
|
|
21
|
+
<depends>M-CLI-CONFIG</depends>
|
|
22
|
+
<verification-ref>V-M-CLI-COMMANDS</verification-ref>
|
|
23
|
+
<annotations>
|
|
24
|
+
<export-install PURPOSE="Bootstrap package registration and optional Guardian config." />
|
|
25
|
+
<export-sync PURPOSE="Refresh managed config files." />
|
|
26
|
+
<export-guardian PURPOSE="Expose Guardian-specific helper commands." />
|
|
27
|
+
</annotations>
|
|
28
|
+
</M-CLI-COMMANDS>
|
|
29
|
+
|
|
30
|
+
<M-PLUGIN-GUARDIAN NAME="GuardianPlugin" TYPE="INTEGRATION" STATUS="implemented">
|
|
31
|
+
<purpose>Review OpenCode permission requests using a constrained Guardian agent and safe fallback behavior.</purpose>
|
|
32
|
+
<path>src/plugins/guardian.ts</path>
|
|
33
|
+
<depends>none</depends>
|
|
34
|
+
<verification-ref>V-M-PLUGIN-GUARDIAN</verification-ref>
|
|
35
|
+
<annotations>
|
|
36
|
+
<export-GuardianPlugin PURPOSE="Register Guardian hooks for config, events, tool intent capture, and permission review." />
|
|
37
|
+
</annotations>
|
|
38
|
+
</M-PLUGIN-GUARDIAN>
|
|
39
|
+
|
|
40
|
+
<CrossLink from="M-CLI-COMMANDS" to="M-CLI-CONFIG" relation="uses" />
|
|
41
|
+
</Project>
|
|
42
|
+
</KnowledgeGraph>
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
<OperationalPackets VERSION="0.1.0">
|
|
2
|
+
<ExecutionPacketTemplate>
|
|
3
|
+
<ExecutionPacket>
|
|
4
|
+
<module-id>M-EXAMPLE</module-id>
|
|
5
|
+
<module-name>ExampleDomain</module-name>
|
|
6
|
+
<purpose>Implement the approved module without architectural drift.</purpose>
|
|
7
|
+
<write-scope>
|
|
8
|
+
<file-1>src/example/index.ts</file-1>
|
|
9
|
+
<file-2>src/example/index.test.ts</file-2>
|
|
10
|
+
</write-scope>
|
|
11
|
+
<contract-excerpt><![CDATA[
|
|
12
|
+
Planned module contract excerpt goes here.
|
|
13
|
+
]]></contract-excerpt>
|
|
14
|
+
<graph-entry-excerpt><![CDATA[
|
|
15
|
+
Knowledge graph entry excerpt goes here.
|
|
16
|
+
]]></graph-entry-excerpt>
|
|
17
|
+
<dependency-contract-summaries>
|
|
18
|
+
<dependency-1 module="M-LOGGER">Structured logger interface with stable marker fields.</dependency-1>
|
|
19
|
+
</dependency-contract-summaries>
|
|
20
|
+
<verification-excerpt><![CDATA[
|
|
21
|
+
Verification-plan excerpt goes here.
|
|
22
|
+
]]></verification-excerpt>
|
|
23
|
+
<expected-graph-delta-fields>
|
|
24
|
+
<field-1>imports</field-1>
|
|
25
|
+
<field-2>exports</field-2>
|
|
26
|
+
<field-3>annotations</field-3>
|
|
27
|
+
<field-4>CrossLinks</field-4>
|
|
28
|
+
</expected-graph-delta-fields>
|
|
29
|
+
<expected-verification-delta-fields>
|
|
30
|
+
<field-1>test-files</field-1>
|
|
31
|
+
<field-2>module-checks</field-2>
|
|
32
|
+
<field-3>required-log-markers</field-3>
|
|
33
|
+
<field-4>follow-up-checks</field-4>
|
|
34
|
+
</expected-verification-delta-fields>
|
|
35
|
+
<notes>
|
|
36
|
+
<note-1>Workers should only read more context when the packet is insufficient.</note-1>
|
|
37
|
+
</notes>
|
|
38
|
+
</ExecutionPacket>
|
|
39
|
+
</ExecutionPacketTemplate>
|
|
40
|
+
|
|
41
|
+
<GraphDeltaTemplate>
|
|
42
|
+
<GraphDelta module="M-EXAMPLE">
|
|
43
|
+
<imports-added>
|
|
44
|
+
<import-1>M-LOGGER</import-1>
|
|
45
|
+
</imports-added>
|
|
46
|
+
<imports-removed />
|
|
47
|
+
<exports-added>
|
|
48
|
+
<export-1>runExample</export-1>
|
|
49
|
+
</exports-added>
|
|
50
|
+
<exports-removed />
|
|
51
|
+
<annotations-added>
|
|
52
|
+
<annotation-1><fn-runExample PURPOSE="Execute the example flow" /></annotation-1>
|
|
53
|
+
</annotations-added>
|
|
54
|
+
<annotations-removed />
|
|
55
|
+
<cross-links-added>
|
|
56
|
+
<CrossLink from="M-EXAMPLE" to="M-LOGGER" relation="uses" />
|
|
57
|
+
</cross-links-added>
|
|
58
|
+
<cross-links-removed />
|
|
59
|
+
<notes>
|
|
60
|
+
<note-1>Only list graph facts that really changed in the code.</note-1>
|
|
61
|
+
</notes>
|
|
62
|
+
</GraphDelta>
|
|
63
|
+
</GraphDeltaTemplate>
|
|
64
|
+
|
|
65
|
+
<VerificationDeltaTemplate>
|
|
66
|
+
<VerificationDelta module="M-EXAMPLE">
|
|
67
|
+
<test-files-added>
|
|
68
|
+
<file-1>src/example/index.test.ts</file-1>
|
|
69
|
+
</test-files-added>
|
|
70
|
+
<test-files-removed />
|
|
71
|
+
<module-checks>
|
|
72
|
+
<command-1>bun test src/example/index.test.ts</command-1>
|
|
73
|
+
<command-2>bun x tsc --noEmit</command-2>
|
|
74
|
+
</module-checks>
|
|
75
|
+
<required-log-markers>
|
|
76
|
+
<marker-1>[ExampleDomain][runExample][BLOCK_EXECUTE_FLOW]</marker-1>
|
|
77
|
+
</required-log-markers>
|
|
78
|
+
<required-trace-assertions>
|
|
79
|
+
<assertion-1>Failure path must not emit BLOCK_PERSIST_RESULT.</assertion-1>
|
|
80
|
+
</required-trace-assertions>
|
|
81
|
+
<wave-follow-up>
|
|
82
|
+
<item-1>Run merged-surface integration check for the logger adapter.</item-1>
|
|
83
|
+
</wave-follow-up>
|
|
84
|
+
<phase-follow-up>
|
|
85
|
+
<item-1>Run the broader regression suite before marking the phase done.</item-1>
|
|
86
|
+
</phase-follow-up>
|
|
87
|
+
</VerificationDelta>
|
|
88
|
+
</VerificationDeltaTemplate>
|
|
89
|
+
|
|
90
|
+
<FailurePacketTemplate>
|
|
91
|
+
<FailurePacket>
|
|
92
|
+
<scenario>Primary success path fails on valid input.</scenario>
|
|
93
|
+
<contract-ref>M-EXAMPLE / V-M-EXAMPLE / scenario-1</contract-ref>
|
|
94
|
+
<expected-evidence>
|
|
95
|
+
<marker-1>[ExampleDomain][runExample][BLOCK_VALIDATE_INPUT]</marker-1>
|
|
96
|
+
<assertion-1>Expected return value should equal "ok".</assertion-1>
|
|
97
|
+
</expected-evidence>
|
|
98
|
+
<observed-evidence>
|
|
99
|
+
<log-1>[ExampleDomain][runExample][BLOCK_VALIDATE_INPUT] emitted</log-1>
|
|
100
|
+
<trace-1>BLOCK_VALIDATE_INPUT -> threw EXAMPLE_INVALID_STATE</trace-1>
|
|
101
|
+
</observed-evidence>
|
|
102
|
+
<first-divergent-block>BLOCK_VALIDATE_INPUT</first-divergent-block>
|
|
103
|
+
<suggested-next-action>Read the contract, inspect the divergent block, and apply the smallest safe fix.</suggested-next-action>
|
|
104
|
+
</FailurePacket>
|
|
105
|
+
</FailurePacketTemplate>
|
|
106
|
+
</OperationalPackets>
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
<RequirementsAnalysis VERSION="0.2.0">
|
|
2
|
+
<Project>
|
|
3
|
+
<name>@osovv/vv-opencode</name>
|
|
4
|
+
<annotation>Portable OpenCode workflow package with plugins and a Bun CLI for install, sync, and cross-device setup.</annotation>
|
|
5
|
+
<keywords>opencode, plugins, workflow</keywords>
|
|
6
|
+
</Project>
|
|
7
|
+
|
|
8
|
+
<Actors>
|
|
9
|
+
<actor-User>Engineer who wants a portable OpenCode workflow across devices and repositories.</actor-User>
|
|
10
|
+
<actor-System>CLI and plugin runtime that install, sync, and execute the configured workflow safely.</actor-System>
|
|
11
|
+
</Actors>
|
|
12
|
+
|
|
13
|
+
<UseCases>
|
|
14
|
+
<UC-001>
|
|
15
|
+
<Actor>User</Actor>
|
|
16
|
+
<Action>Runs `vvoc install` for global or project scope.</Action>
|
|
17
|
+
<Goal>To register `@osovv/vv-opencode` in OpenCode config and bootstrap Guardian config when needed.</Goal>
|
|
18
|
+
<Preconditions>Bun and OpenCode are available, and the target config location is writable.</Preconditions>
|
|
19
|
+
<AcceptanceCriteria>The package name appears in the resolved OpenCode config and a default Guardian config can be created idempotently.</AcceptanceCriteria>
|
|
20
|
+
<Priority>high</Priority>
|
|
21
|
+
<RelatedFlows>DF-PLUGIN-INSTALL</RelatedFlows>
|
|
22
|
+
</UC-001>
|
|
23
|
+
<UC-002>
|
|
24
|
+
<Actor>User</Actor>
|
|
25
|
+
<Action>Runs `vvoc sync` on another machine or after package updates.</Action>
|
|
26
|
+
<Goal>To refresh managed workflow files without clobbering manually-owned config.</Goal>
|
|
27
|
+
<Preconditions>The target config files already exist or can be created.</Preconditions>
|
|
28
|
+
<AcceptanceCriteria>Managed files are rewritten canonically, existing values are preserved, and unmanaged files are skipped unless force is explicit.</AcceptanceCriteria>
|
|
29
|
+
<Priority>high</Priority>
|
|
30
|
+
<RelatedFlows>DF-CONFIG-SYNC</RelatedFlows>
|
|
31
|
+
</UC-002>
|
|
32
|
+
<UC-003>
|
|
33
|
+
<Actor>User</Actor>
|
|
34
|
+
<Action>Runs `vvoc guardian config` with optional model, variant, timeout, or threshold overrides.</Action>
|
|
35
|
+
<Goal>To customize Guardian behavior without editing JSONC by hand.</Goal>
|
|
36
|
+
<Preconditions>A target OpenCode config scope has been chosen.</Preconditions>
|
|
37
|
+
<AcceptanceCriteria>The generated `guardian.jsonc` is valid, readable by the plugin, and safe to resync later.</AcceptanceCriteria>
|
|
38
|
+
<Priority>high</Priority>
|
|
39
|
+
<RelatedFlows>DF-GUARDIAN-SETTINGS</RelatedFlows>
|
|
40
|
+
</UC-003>
|
|
41
|
+
</UseCases>
|
|
42
|
+
|
|
43
|
+
<NonGoals>
|
|
44
|
+
<item-1>No public plugin marketplace, profile manager, or multi-package monorepo in v1.</item-1>
|
|
45
|
+
<item-2>No forced overwrite of unmanaged user config files without an explicit force flag.</item-2>
|
|
46
|
+
<item-3>No attempt to redesign Guardian logic before it is safely packaged and reproducible from this repository.</item-3>
|
|
47
|
+
</NonGoals>
|
|
48
|
+
|
|
49
|
+
<Constraints>
|
|
50
|
+
<constraint-1>OpenCode config integration must follow documented global and project path conventions.</constraint-1>
|
|
51
|
+
<constraint-2>Guardian must remain compatible with the current standalone plugin behavior while being moved into the repo.</constraint-2>
|
|
52
|
+
<constraint-3>Config writes must be idempotent and preserve existing JSONC comments in the main OpenCode config where practical.</constraint-3>
|
|
53
|
+
<constraint-4>Generated Guardian config should be clearly marked as CLI-managed so sync can distinguish owned and non-owned files.</constraint-4>
|
|
54
|
+
</Constraints>
|
|
55
|
+
|
|
56
|
+
<Risks>
|
|
57
|
+
<risk-1>Repositories or machines may contain multiple config files (`.json` and `.jsonc`) that can drift from each other.</risk-1>
|
|
58
|
+
<risk-2>Unsafe rewrites of user-maintained config could damage trust in the CLI.</risk-2>
|
|
59
|
+
<risk-3>Guardian depends on OpenCode plugin and SDK surface area that may evolve over time.</risk-3>
|
|
60
|
+
</Risks>
|
|
61
|
+
|
|
62
|
+
<OpenQuestions>
|
|
63
|
+
<question-1>Should future versions also manage agents, commands, skills, and themes in addition to plugins and Guardian config?</question-1>
|
|
64
|
+
<question-2>Should the package eventually export multiple plugins from the same npm entrypoint or separate them by subpath and opt-in config?</question-2>
|
|
65
|
+
</OpenQuestions>
|
|
66
|
+
</RequirementsAnalysis>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<TechnologyStack VERSION="0.2.0">
|
|
2
|
+
<Runtime>Bun 1.3.8</Runtime>
|
|
3
|
+
<Language>TypeScript 5.8.2</Language>
|
|
4
|
+
<Framework>citty 0.2.2</Framework>
|
|
5
|
+
|
|
6
|
+
<Dependencies>
|
|
7
|
+
<dep name="@opencode-ai/plugin" version="1.3.17" purpose="Type-safe OpenCode plugin API and hook definitions" />
|
|
8
|
+
<dep name="@opencode-ai/sdk" version="1.3.17" purpose="OpenCode client types and runtime interactions used by Guardian" />
|
|
9
|
+
<dep name="citty" version="0.2.2" purpose="CLI command tree and argument parsing for `vvoc`" />
|
|
10
|
+
<dep name="jsonc-parser" version="3.3.1" purpose="Safe JSONC-aware config parsing and in-place edits" />
|
|
11
|
+
</Dependencies>
|
|
12
|
+
|
|
13
|
+
<VersionConstraints>
|
|
14
|
+
<constraint lib="bun" min="1.3.8" max="1.3.x" reason="The package and local verification target Bun-based runtime and test execution." />
|
|
15
|
+
<constraint lib="@opencode-ai/plugin" min="1.3.17" max="1.3.x" reason="Guardian depends on the current plugin hook and input shape." />
|
|
16
|
+
<constraint lib="@opencode-ai/sdk" min="1.3.17" max="1.3.x" reason="Guardian uses current SDK message, part, and config types." />
|
|
17
|
+
</VersionConstraints>
|
|
18
|
+
|
|
19
|
+
<Tooling>
|
|
20
|
+
<tool name="package-manager" value="bun" version="1.3.8" />
|
|
21
|
+
<tool name="compiler" value="typescript" version="5.8.2" />
|
|
22
|
+
<tool name="test-runner" value="bun test" version="1.3.8" />
|
|
23
|
+
</Tooling>
|
|
24
|
+
|
|
25
|
+
<Testing>
|
|
26
|
+
<module-level>
|
|
27
|
+
<command>bun test src/lib/opencode.test.ts</command>
|
|
28
|
+
<focus>Fast deterministic checks for config merge and Guardian config rendering.</focus>
|
|
29
|
+
</module-level>
|
|
30
|
+
<wave-level>
|
|
31
|
+
<command>bun run typecheck && bun test</command>
|
|
32
|
+
<focus>Checks merged CLI and helper behavior after coordinated changes.</focus>
|
|
33
|
+
</wave-level>
|
|
34
|
+
<phase-level>
|
|
35
|
+
<command>bun run build && bun test</command>
|
|
36
|
+
<focus>Validates package output and regression-safe baseline behavior.</focus>
|
|
37
|
+
</phase-level>
|
|
38
|
+
<mocking-policy>Prefer direct pure-function verification and fixture text over broad mocks.</mocking-policy>
|
|
39
|
+
</Testing>
|
|
40
|
+
|
|
41
|
+
<Observability>
|
|
42
|
+
<logger>OpenCode app log via `client.app.log()` plus Guardian best-effort debug file in `/tmp`.</logger>
|
|
43
|
+
<log-format>[service][function][block] message</log-format>
|
|
44
|
+
<required-fields>service, level, message, requestID, sessionID</required-fields>
|
|
45
|
+
<redaction>Never log secrets, credentials, or raw high-risk payloads beyond the existing Guardian truncation policy.</redaction>
|
|
46
|
+
</Observability>
|
|
47
|
+
|
|
48
|
+
<DeliveryShape>
|
|
49
|
+
<shape>One public npm package that exports OpenCode plugins and ships a Bun CLI binary named `vvoc`.</shape>
|
|
50
|
+
</DeliveryShape>
|
|
51
|
+
</TechnologyStack>
|