@wpro-eng/opencode-config 1.1.2 → 1.2.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/command/test-orchestration.md +2 -2
- package/command/wpromote-list.md +7 -3
- package/command/wpromote-status.md +12 -12
- package/dist/index.js +38 -25
- package/package.json +1 -1
|
@@ -19,8 +19,8 @@ C) Config and Schema Consistency
|
|
|
19
19
|
- List supported wpromote.json fields, defaults, and any dead/unused config keys.
|
|
20
20
|
- Note any mismatch between docs and runtime behavior.
|
|
21
21
|
|
|
22
|
-
D)
|
|
23
|
-
- Trace end-to-end flow across src/index.ts, src/
|
|
22
|
+
D) Load Pipeline Trace
|
|
23
|
+
- Trace end-to-end flow across src/index.ts, src/assets.ts, src/install.ts, src/disable.ts, src/mcp-install.ts.
|
|
24
24
|
- Produce a step-by-step execution map with key decision points and failure modes.
|
|
25
25
|
- Identify where parallelism/concurrency exists and where it is effectively serialized.
|
|
26
26
|
|
package/command/wpromote-list.md
CHANGED
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
---
|
|
2
2
|
description: List all team assets from wpromote config
|
|
3
3
|
---
|
|
4
|
-
List all available team assets from the
|
|
4
|
+
List all available team assets from the installed @wpro-eng/opencode-config plugin.
|
|
5
5
|
|
|
6
6
|
## Instructions
|
|
7
7
|
|
|
8
|
-
1.
|
|
8
|
+
1. Check the installed asset locations:
|
|
9
|
+
- Skills: ~/.config/opencode/skill/_plugins/opencode-config/
|
|
10
|
+
- Plugins: ~/.config/opencode/plugins/ (files matching _remote_opencode-config_*)
|
|
11
|
+
- MCPs: ~/.config/opencode/mcp/_plugins/opencode-config/
|
|
12
|
+
|
|
9
13
|
2. For each asset type, list what's available:
|
|
10
14
|
|
|
11
15
|
### Skills (skill/ directory)
|
|
12
16
|
- Show each skill name and its description from SKILL.md frontmatter
|
|
13
17
|
- Mark if it's installed or skipped due to local conflict
|
|
14
18
|
|
|
15
|
-
### Agents (agent/ directory)
|
|
19
|
+
### Agents (agent/ directory)
|
|
16
20
|
- Show each agent name and description
|
|
17
21
|
- These are injected into OpenCode automatically
|
|
18
22
|
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: Show
|
|
2
|
+
description: Show status for wpromote team config
|
|
3
3
|
---
|
|
4
|
-
Read the
|
|
4
|
+
Read the status file at ~/.cache/opencode/wpromote-config/opencode-config.plugin-status.json and report:
|
|
5
5
|
|
|
6
|
-
1. **
|
|
7
|
-
2. **
|
|
8
|
-
3. **Installed Assets
|
|
6
|
+
1. **Plugin Version** - The installed version of @wpro-eng/opencode-config
|
|
7
|
+
2. **Last Load Time** - When the team config was last loaded
|
|
8
|
+
3. **Installed Assets** (with names):
|
|
9
9
|
- Skills (symlinked to local skill directory)
|
|
10
|
-
- Plugins (
|
|
10
|
+
- Team Plugins (symlinked into plugins directory)
|
|
11
11
|
- MCPs (configured MCP servers)
|
|
12
12
|
- Agents (team agent definitions)
|
|
13
13
|
- Commands (team slash commands)
|
|
14
14
|
- Instructions (team instructions)
|
|
15
|
-
4. **
|
|
16
|
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
|
|
15
|
+
4. **Runtime Plugins** - Plugins injected into config.plugin[] (e.g. @tarquinen/opencode-dcp@latest)
|
|
16
|
+
5. **Issues** (if any):
|
|
17
|
+
- Skipped conflicts (local skills that blocked team skills, listed by name)
|
|
18
|
+
- Disabled assets (explicitly disabled in wpromote.json, listed by type:name)
|
|
19
|
+
6. **Actions Required** - Any restart needed for plugin changes
|
|
20
20
|
|
|
21
|
-
If the file doesn't exist, report that
|
|
21
|
+
If the file doesn't exist, report that the plugin hasn't loaded yet.
|
|
22
22
|
|
|
23
23
|
Format the output as a clean, readable summary.
|
package/dist/index.js
CHANGED
|
@@ -9842,30 +9842,42 @@ import * as fs7 from "fs";
|
|
|
9842
9842
|
import * as path7 from "path";
|
|
9843
9843
|
var STATUS_BASE = path7.join(process.env.HOME || "~", ".cache", "opencode", "wpromote-config");
|
|
9844
9844
|
function getStatusFilePath() {
|
|
9845
|
-
return path7.join(STATUS_BASE, `${REPO_SHORT_NAME}.
|
|
9845
|
+
return path7.join(STATUS_BASE, `${REPO_SHORT_NAME}.plugin-status.json`);
|
|
9846
9846
|
}
|
|
9847
|
-
function
|
|
9847
|
+
function writePluginStatus(status) {
|
|
9848
9848
|
const statusPath = getStatusFilePath();
|
|
9849
9849
|
const dir = path7.dirname(statusPath);
|
|
9850
9850
|
fs7.mkdirSync(dir, { recursive: true });
|
|
9851
9851
|
fs7.writeFileSync(statusPath, JSON.stringify(status, null, 2));
|
|
9852
|
-
logDebug(`Wrote
|
|
9852
|
+
logDebug(`Wrote plugin status to ${statusPath}`);
|
|
9853
9853
|
}
|
|
9854
|
-
function
|
|
9854
|
+
function getPluginVersion() {
|
|
9855
|
+
try {
|
|
9856
|
+
const pkgPath = path7.resolve(import.meta.dir, "..", "package.json");
|
|
9857
|
+
const content = fs7.readFileSync(pkgPath, "utf-8");
|
|
9858
|
+
const pkg = JSON.parse(content);
|
|
9859
|
+
return pkg.version ?? null;
|
|
9860
|
+
} catch {
|
|
9861
|
+
return null;
|
|
9862
|
+
}
|
|
9863
|
+
}
|
|
9864
|
+
function updatePluginStatus(data) {
|
|
9855
9865
|
const status = {
|
|
9856
|
-
|
|
9857
|
-
|
|
9858
|
-
|
|
9859
|
-
|
|
9860
|
-
|
|
9861
|
-
|
|
9862
|
-
|
|
9866
|
+
lastLoadTime: new Date().toISOString(),
|
|
9867
|
+
pluginVersion: getPluginVersion(),
|
|
9868
|
+
skillNames: data.skillNames,
|
|
9869
|
+
pluginNames: data.pluginNames,
|
|
9870
|
+
runtimePluginNames: data.runtimePluginNames,
|
|
9871
|
+
mcpNames: data.mcpNames,
|
|
9872
|
+
agentNames: data.agentNames,
|
|
9873
|
+
commandNames: data.commandNames,
|
|
9874
|
+
instructionNames: data.instructionNames,
|
|
9863
9875
|
skippedConflicts: data.skippedConflicts,
|
|
9864
9876
|
disabledAssets: data.disabledAssets,
|
|
9865
9877
|
lastError: null,
|
|
9866
9878
|
pluginsChanged: data.pluginsChanged
|
|
9867
9879
|
};
|
|
9868
|
-
|
|
9880
|
+
writePluginStatus(status);
|
|
9869
9881
|
}
|
|
9870
9882
|
|
|
9871
9883
|
// src/index.ts
|
|
@@ -9873,9 +9885,9 @@ var PACKAGE_ROOT = path8.resolve(import.meta.dir, "..");
|
|
|
9873
9885
|
var initialized = false;
|
|
9874
9886
|
var REQUIRED_RUNTIME_PLUGINS = ["@tarquinen/opencode-dcp@latest"];
|
|
9875
9887
|
var DEFAULT_OPENCODE_AGENTS_TO_DISABLE = ["build", "plan"];
|
|
9876
|
-
async function
|
|
9888
|
+
async function performLoad(config) {
|
|
9877
9889
|
const disableMatcher = createDisableMatcher(config.disable);
|
|
9878
|
-
log(config.dryRun ? "[DRY-RUN] Analyzing team configuration..." : "
|
|
9890
|
+
log(config.dryRun ? "[DRY-RUN] Analyzing team configuration..." : "Loading team configuration...");
|
|
9879
9891
|
const result = await discoverAssets(PACKAGE_ROOT);
|
|
9880
9892
|
if (!config.dryRun) {
|
|
9881
9893
|
const brokenUnmanagedLinks = findBrokenUnmanagedPluginLinks();
|
|
@@ -10119,15 +10131,16 @@ async function performSync(config) {
|
|
|
10119
10131
|
log(`Cleaned up ${mcpCleanup.removed.length} stale MCP installs`);
|
|
10120
10132
|
}
|
|
10121
10133
|
const totalMcps = newMcpInstalls.size;
|
|
10122
|
-
|
|
10123
|
-
|
|
10124
|
-
|
|
10125
|
-
|
|
10126
|
-
|
|
10127
|
-
|
|
10128
|
-
|
|
10129
|
-
|
|
10130
|
-
|
|
10134
|
+
updatePluginStatus({
|
|
10135
|
+
skillNames: skillsToInstall.map((s) => s.name),
|
|
10136
|
+
pluginNames: pluginsToInstall.map((p) => p.name),
|
|
10137
|
+
runtimePluginNames: [...REQUIRED_RUNTIME_PLUGINS],
|
|
10138
|
+
mcpNames: [...remoteMcps.keys()],
|
|
10139
|
+
agentNames: [...remoteAgents.keys()],
|
|
10140
|
+
commandNames: [...remoteCommands.keys()],
|
|
10141
|
+
instructionNames: remoteInstructions.map((p) => p.split("/").pop() ?? p),
|
|
10142
|
+
skippedConflicts,
|
|
10143
|
+
disabledAssets,
|
|
10131
10144
|
pluginsChanged
|
|
10132
10145
|
});
|
|
10133
10146
|
return {
|
|
@@ -10205,7 +10218,7 @@ var WpromoteConfigPlugin = async (ctx) => {
|
|
|
10205
10218
|
pluginsChanged,
|
|
10206
10219
|
totalPlugins,
|
|
10207
10220
|
totalMcps
|
|
10208
|
-
} = await
|
|
10221
|
+
} = await performLoad(userConfig);
|
|
10209
10222
|
if (pluginsChanged) {
|
|
10210
10223
|
log("\u26A0 Plugin changes detected. Restart OpenCode to apply.");
|
|
10211
10224
|
}
|
|
@@ -10351,7 +10364,7 @@ var WpromoteConfigPlugin = async (ctx) => {
|
|
|
10351
10364
|
var RemoteSkillsPlugin = WpromoteConfigPlugin;
|
|
10352
10365
|
var src_default = WpromoteConfigPlugin;
|
|
10353
10366
|
export {
|
|
10354
|
-
|
|
10367
|
+
performLoad,
|
|
10355
10368
|
src_default as default,
|
|
10356
10369
|
WpromoteConfigPlugin,
|
|
10357
10370
|
RemoteSkillsPlugin
|