@wpro-eng/opencode-config 1.0.2 → 1.1.2
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 +9 -49
- package/agent/aragorn.md +304 -0
- package/agent/celebrimbor.md +52 -0
- package/agent/elrond.md +88 -0
- package/agent/galadriel.md +28 -0
- package/agent/gandalf.md +51 -0
- package/agent/legolas.md +64 -0
- package/agent/radagast.md +51 -0
- package/agent/samwise.md +42 -0
- package/agent/treebeard.md +39 -0
- package/command/continue.md +9 -0
- package/command/diagnostics.md +38 -0
- package/command/doctor.md +9 -0
- package/command/example.md +9 -0
- package/command/look-at.md +11 -0
- package/command/stop.md +9 -0
- package/command/task.md +11 -0
- package/command/tasks.md +9 -0
- package/command/test-orchestration.md +42 -0
- package/command/wpromote-list.md +45 -0
- package/command/wpromote-status.md +23 -0
- package/dist/index.js +40 -389
- package/instruction/getting-started.md +24 -0
- package/instruction/orchestration-runtime.md +79 -0
- package/instruction/team-conventions.md +17 -0
- package/manifest.json +8 -0
- package/mcp/chrome-devtools/mcp.json +4 -0
- package/mcp/context7/mcp.json +4 -0
- package/mcp/exa/mcp.json +4 -0
- package/package.json +10 -5
- package/plugin/wpromote-look-at.ts +33 -0
- package/plugin/wpromote-orchestration.ts +1385 -0
- package/skill/example/SKILL.md +18 -0
- package/skill/orchestration-core/SKILL.md +29 -0
- package/skill/readme-editor/SKILL.md +529 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
# Wpromote Orchestration Runtime
|
|
2
|
+
|
|
3
|
+
Use the wpromote orchestration control surface for long-running and delegated work.
|
|
4
|
+
|
|
5
|
+
## Core Controls
|
|
6
|
+
|
|
7
|
+
- `/continue` enables continuous loop mode for the session.
|
|
8
|
+
- `/stop` halts loop and queue processing immediately, then waits for further instruction.
|
|
9
|
+
- `/tasks` shows active/recent subagent tasks.
|
|
10
|
+
- `/task <id>` shows one task record.
|
|
11
|
+
- `/diagnostics` runs full orchestration diagnostics.
|
|
12
|
+
|
|
13
|
+
## Delegation Discipline
|
|
14
|
+
|
|
15
|
+
When using delegated execution:
|
|
16
|
+
|
|
17
|
+
1. Provide a short, specific task title.
|
|
18
|
+
2. Include expected outcome and verification criteria.
|
|
19
|
+
3. Prefer bounded retries with backoff.
|
|
20
|
+
4. Keep updates concise and state-driven: started, retrying, completed, failed, stopped.
|
|
21
|
+
|
|
22
|
+
## Provider Routing
|
|
23
|
+
|
|
24
|
+
- Default provider mode is `copilot`.
|
|
25
|
+
- If service quality or budget requires it, switch to `native` in `wpromote.json`:
|
|
26
|
+
|
|
27
|
+
```json
|
|
28
|
+
{
|
|
29
|
+
"orchestration": {
|
|
30
|
+
"providerMode": "native",
|
|
31
|
+
"categories": {
|
|
32
|
+
"routing": {
|
|
33
|
+
"quick": "native"
|
|
34
|
+
},
|
|
35
|
+
"maxConcurrent": {
|
|
36
|
+
"quick": 1
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Recovery
|
|
44
|
+
|
|
45
|
+
- Startup recovery is enabled by default (`orchestration.recovery.autoResumeOnStart = true`).
|
|
46
|
+
- On startup, queued/running/retrying task records from prior sessions are moved back to queued state so they remain visible and can be re-dispatched.
|
|
47
|
+
|
|
48
|
+
```json
|
|
49
|
+
{
|
|
50
|
+
"orchestration": {
|
|
51
|
+
"recovery": {
|
|
52
|
+
"autoResumeOnStart": true
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## Tmux Runtime
|
|
59
|
+
|
|
60
|
+
- Enable tmux pane management with `orchestration.tmux.enabled`.
|
|
61
|
+
- Recommended defaults:
|
|
62
|
+
|
|
63
|
+
```json
|
|
64
|
+
{
|
|
65
|
+
"orchestration": {
|
|
66
|
+
"tmux": {
|
|
67
|
+
"enabled": true,
|
|
68
|
+
"layout": "main-vertical",
|
|
69
|
+
"mainPaneSize": 60,
|
|
70
|
+
"mainPaneMinWidth": 120,
|
|
71
|
+
"agentPaneMinWidth": 40,
|
|
72
|
+
"sessionPrefix": "wpo"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
- `/tasks` reports tmux pane attachment state and deferred queue health.
|
|
79
|
+
- `/diagnostics` checks tmux wiring, binary availability, queue health, and pane reconciliation.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Wpromote Team Conventions
|
|
2
|
+
|
|
3
|
+
## Code Style
|
|
4
|
+
|
|
5
|
+
- Use TypeScript for all new code
|
|
6
|
+
- Follow existing patterns in the codebase
|
|
7
|
+
- Write tests for new functionality
|
|
8
|
+
|
|
9
|
+
## Git Workflow
|
|
10
|
+
|
|
11
|
+
- Create feature branches from main
|
|
12
|
+
- Write descriptive commit messages
|
|
13
|
+
- Request code review before merging
|
|
14
|
+
|
|
15
|
+
## Adding New Configs
|
|
16
|
+
|
|
17
|
+
See CONTRIBUTING.md for how to add new skills, agents, and commands.
|
package/manifest.json
ADDED
package/mcp/exa/mcp.json
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wpro-eng/opencode-config",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.2",
|
|
4
4
|
"description": "Wpromote OpenCode plugin to sync team config assets on startup",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -14,7 +14,14 @@
|
|
|
14
14
|
"main": "dist/index.js",
|
|
15
15
|
"types": "dist/index.d.ts",
|
|
16
16
|
"files": [
|
|
17
|
-
"dist"
|
|
17
|
+
"dist",
|
|
18
|
+
"skill",
|
|
19
|
+
"agent",
|
|
20
|
+
"command",
|
|
21
|
+
"plugin",
|
|
22
|
+
"mcp",
|
|
23
|
+
"instruction",
|
|
24
|
+
"manifest.json"
|
|
18
25
|
],
|
|
19
26
|
"scripts": {
|
|
20
27
|
"build": "bun build src/index.ts --outdir dist --target bun",
|
|
@@ -27,9 +34,7 @@
|
|
|
27
34
|
"opencode",
|
|
28
35
|
"plugin",
|
|
29
36
|
"wpromote",
|
|
30
|
-
"config"
|
|
31
|
-
"git",
|
|
32
|
-
"sync"
|
|
37
|
+
"config"
|
|
33
38
|
],
|
|
34
39
|
"author": "Wpromote",
|
|
35
40
|
"license": "UNLICENSED",
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { tool, type Plugin } from "@opencode-ai/plugin"
|
|
2
|
+
|
|
3
|
+
const lookAtTool = tool({
|
|
4
|
+
description:
|
|
5
|
+
"Wrapper guidance for multimodal analysis workflows. Use this tool to normalize goal text before invoking native look_at.",
|
|
6
|
+
args: {
|
|
7
|
+
file_path: tool.schema.string().optional(),
|
|
8
|
+
goal: tool.schema.string(),
|
|
9
|
+
},
|
|
10
|
+
execute: async (args) => {
|
|
11
|
+
const filePath = args.file_path ? `\n- file_path: ${args.file_path}` : ""
|
|
12
|
+
return [
|
|
13
|
+
"Use native look_at for multimodal analysis with this normalized request:",
|
|
14
|
+
filePath,
|
|
15
|
+
`- goal: ${args.goal}`,
|
|
16
|
+
"",
|
|
17
|
+
"Recommended follow-up:",
|
|
18
|
+
"1) Run look_at with the same goal and file path.",
|
|
19
|
+
"2) Return extracted findings with concrete evidence.",
|
|
20
|
+
"3) If uncertain, call out ambiguity and request a sharper goal.",
|
|
21
|
+
].join("\n")
|
|
22
|
+
},
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
const WpromoteLookAtPlugin: Plugin = async () => {
|
|
26
|
+
return {
|
|
27
|
+
tool: {
|
|
28
|
+
wpromote_look_at: lookAtTool,
|
|
29
|
+
},
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export default WpromoteLookAtPlugin
|