@rudderhq/agent-runtime-opencode-local 0.3.6-canary.3 → 0.3.6-canary.31
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/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/server/execute.d.ts.map +1 -1
- package/dist/server/execute.js +127 -14
- package/dist/server/execute.js.map +1 -1
- package/dist/server/skills.d.ts +3 -2
- package/dist/server/skills.d.ts.map +1 -1
- package/dist/server/skills.js +48 -78
- package/dist/server/skills.js.map +1 -1
- package/package.json +2 -2
- package/skills/rudder/SKILL.md +9 -0
- package/skills/rudder/references/cli-reference.md +8 -6
- package/skills/rudder-create-plugin/SKILL.md +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -4,5 +4,5 @@ export declare const models: Array<{
|
|
|
4
4
|
id: string;
|
|
5
5
|
label: string;
|
|
6
6
|
}>;
|
|
7
|
-
export declare const agentConfigurationDoc = "# opencode_local agent configuration\n\nAdapter: opencode_local\n\nUse when:\n- You want Rudder to run OpenCode locally as the agent runtime\n- You want provider/model routing in OpenCode format (provider/model)\n- You want OpenCode session resume across heartbeats via --session\n\nDon't use when:\n- You need webhook-style external invocation (use openclaw_gateway or http)\n- You only need one-shot shell commands (use process)\n- OpenCode CLI is not installed on the machine\n\nCore fields:\n- cwd (string, optional): default absolute working directory fallback for the agent process (created if missing when possible)\n- instructionsFilePath (string, optional): absolute path to a markdown role/persona instructions file such as SOUL.md; Rudder's shared operating contract is prepended separately at runtime\n- model (string, required): OpenCode model id in provider/model format (for example opencode/deepseek-v4-flash-free)\n- modelFallbacks (array, optional): ordered fallback attempts as { agentRuntimeType, model, config? }; each may use a different runtime/provider\n- variant (string, optional): provider-specific model variant (for example minimal|low|medium|high|max)\n- dangerouslySkipPermissions (boolean, optional): pass --dangerously-skip-permissions to opencode\n- promptTemplate (string, optional): run prompt template\n- command (string, optional): defaults to \"opencode\"\n- extraArgs (string[], optional): additional CLI args\n- env (object, optional): KEY=VALUE environment variables\n\nOperational fields:\n- timeoutSec (number, optional): run timeout in seconds\n- graceSec (number, optional): SIGTERM grace period in seconds\n\nNotes:\n- OpenCode supports multiple providers and models. Use `opencode models` to list available options in provider/model format.\n- Rudder requires an explicit `model` value for `opencode_local` agents.\n-
|
|
7
|
+
export declare const agentConfigurationDoc = "# opencode_local agent configuration\n\nAdapter: opencode_local\n\nUse when:\n- You want Rudder to run OpenCode locally as the agent runtime\n- You want provider/model routing in OpenCode format (provider/model)\n- You want OpenCode session resume across heartbeats via --session\n\nDon't use when:\n- You need webhook-style external invocation (use openclaw_gateway or http)\n- You only need one-shot shell commands (use process)\n- OpenCode CLI is not installed on the machine\n\nCore fields:\n- cwd (string, optional): default absolute working directory fallback for the agent process (created if missing when possible)\n- instructionsFilePath (string, optional): absolute path to a markdown role/persona instructions file such as SOUL.md; Rudder's shared operating contract is prepended separately at runtime\n- model (string, required): OpenCode model id in provider/model format (for example opencode/deepseek-v4-flash-free)\n- modelFallbacks (array, optional): ordered fallback attempts as { agentRuntimeType, model, config? }; each may use a different runtime/provider\n- variant (string, optional): provider-specific model variant (for example minimal|low|medium|high|max)\n- dangerouslySkipPermissions (boolean, optional): pass --dangerously-skip-permissions to opencode\n- promptTemplate (string, optional): run prompt template\n- command (string, optional): defaults to \"opencode\"\n- extraArgs (string[], optional): additional CLI args\n- env (object, optional): KEY=VALUE environment variables\n\nOperational fields:\n- timeoutSec (number, optional): run timeout in seconds\n- graceSec (number, optional): SIGTERM grace period in seconds\n\nNotes:\n- OpenCode supports multiple providers and models. Use `opencode models` to list available options in provider/model format.\n- Rudder requires an explicit `model` value for `opencode_local` agents.\n- OpenCode CLI currently exposes plugin loading and --pure but no verified skills-directory allowlist. Rudder runs OpenCode with --pure, links selected skills into a Rudder-managed OpenCode sidecar, then injects only those selected SKILL.md files into the prompt. Operator-home Claude/OpenCode skill directories are not used as runtime skill sources.\n- Runs are executed with: opencode run --pure --format json --dir <cwd> ...\n- Sessions are resumed with --session when stored session cwd matches current cwd.\n- dangerouslySkipPermissions is opt-in for OpenCode. New OpenCode agents do not inherit the global Claude-oriented dangerous permission default unless this field is explicitly true.\n- A zero-exit OpenCode run that writes files but emits no final text is marked degraded instead of reported as an empty successful Rudder result.\n";
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,mBAAmB,CAAC;AACrC,eAAO,MAAM,KAAK,qBAAqB,CAAC;AAExC,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAM,CAAC;AAE/D,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,IAAI,mBAAmB,CAAC;AACrC,eAAO,MAAM,KAAK,qBAAqB,CAAC;AAExC,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAM,CAAC;AAE/D,eAAO,MAAM,qBAAqB,0pFAuCjC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -35,8 +35,8 @@ Notes:
|
|
|
35
35
|
- OpenCode supports multiple providers and models. Use \
|
|
36
36
|
\`opencode models\` to list available options in provider/model format.
|
|
37
37
|
- Rudder requires an explicit \`model\` value for \`opencode_local\` agents.
|
|
38
|
-
-
|
|
39
|
-
- Runs are executed with: opencode run --format json --dir <cwd> ...
|
|
38
|
+
- OpenCode CLI currently exposes plugin loading and --pure but no verified skills-directory allowlist. Rudder runs OpenCode with --pure, links selected skills into a Rudder-managed OpenCode sidecar, then injects only those selected SKILL.md files into the prompt. Operator-home Claude/OpenCode skill directories are not used as runtime skill sources.
|
|
39
|
+
- Runs are executed with: opencode run --pure --format json --dir <cwd> ...
|
|
40
40
|
- Sessions are resumed with --session when stored session cwd matches current cwd.
|
|
41
41
|
- dangerouslySkipPermissions is opt-in for OpenCode. New OpenCode agents do not inherit the global Claude-oriented dangerous permission default unless this field is explicitly true.
|
|
42
42
|
- A zero-exit OpenCode run that writes files but emits no final text is marked degraded instead of reported as an empty successful Rudder result.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,4BAA4B,EAAE,KAAK,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AA+RjJ,wBAAsB,OAAO,CAAC,GAAG,EAAE,4BAA4B,GAAG,OAAO,CAAC,2BAA2B,CAAC,CAoZrG"}
|
package/dist/server/execute.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { inferOpenAiCompatibleBiller
|
|
1
|
+
import { inferOpenAiCompatibleBiller } from "@rudderhq/agent-runtime-utils";
|
|
2
2
|
import { applyGitCredentialHelperPolicyEnv, applyGitIdentityPreparationEnv, ensureGitIdentityFileConfig } from "@rudderhq/agent-runtime-utils/git-identity";
|
|
3
3
|
import { asBoolean, asNumber, asString, asStringArray, buildRudderEnv, ensureAbsoluteDirectory, ensureCommandResolvable, ensureLocalCliCredentialShimsInPath, ensurePathInEnv, ensureRudderCliInPath, ensureRudderSkillSymlink, joinPromptSections, loadAgentInstructionsPrefix, parseObject, prepareAgentInstructionRuntimeContext, readRudderRuntimeSkillEntries, redactEnvForLogs, removeMaintainerOnlySkillSymlinks, renderTemplate, resolveLocalOperatorHome, resolveRudderDesiredSkillNames, runChildProcess, selectPromptTemplate, shouldIncludeRuntimeHeartbeatInstructions, syncLocalCliCredentialHomeEntries, } from "@rudderhq/agent-runtime-utils/server-utils";
|
|
4
4
|
import fs from "node:fs/promises";
|
|
@@ -7,13 +7,43 @@ import path from "node:path";
|
|
|
7
7
|
import { fileURLToPath } from "node:url";
|
|
8
8
|
import { validateOpenCodeModelConfig } from "./models.js";
|
|
9
9
|
import { isOpenCodeUnknownSessionError, parseOpenCodeJsonl } from "./parse.js";
|
|
10
|
+
import { resolveManagedOpenCodeHomeDir } from "./skills.js";
|
|
10
11
|
const __moduleDir = path.dirname(fileURLToPath(import.meta.url));
|
|
11
|
-
const
|
|
12
|
+
const OPENCODE_PROTECTED_ENV_KEYS = new Set([
|
|
13
|
+
"AGENT_HOME",
|
|
14
|
+
"HOME",
|
|
15
|
+
"RUDDER_AGENT_ROOT",
|
|
16
|
+
"RUDDER_OPERATOR_HOME",
|
|
17
|
+
"USERPROFILE",
|
|
18
|
+
]);
|
|
12
19
|
const SHARED_OPENCODE_HOME_ENTRIES = [
|
|
13
|
-
".config/opencode",
|
|
14
20
|
".local/share/opencode",
|
|
15
21
|
".cache/opencode",
|
|
16
22
|
];
|
|
23
|
+
const OPENCODE_CONFIG_FILE_CANDIDATES = ["opencode.json", "opencode.jsonc"];
|
|
24
|
+
const MANAGED_OPENCODE_CONFIG_FILE = "opencode.json";
|
|
25
|
+
const SAFE_OPENCODE_STRING_CONFIG_KEYS = [
|
|
26
|
+
"$schema",
|
|
27
|
+
"model",
|
|
28
|
+
"small_model",
|
|
29
|
+
"theme",
|
|
30
|
+
"username",
|
|
31
|
+
];
|
|
32
|
+
const UNSAFE_OPENCODE_CONFIG_ENTRIES = [
|
|
33
|
+
"agent",
|
|
34
|
+
"agents",
|
|
35
|
+
"mode",
|
|
36
|
+
"modes",
|
|
37
|
+
"skill",
|
|
38
|
+
"skills",
|
|
39
|
+
"plugin",
|
|
40
|
+
"plugins",
|
|
41
|
+
"tools",
|
|
42
|
+
"command",
|
|
43
|
+
"commands",
|
|
44
|
+
"hooks",
|
|
45
|
+
"mcp",
|
|
46
|
+
];
|
|
17
47
|
function firstNonEmptyLine(text) {
|
|
18
48
|
return (text
|
|
19
49
|
.split(/\r?\n/)
|
|
@@ -56,20 +86,66 @@ async function ensureSymlink(target, source) {
|
|
|
56
86
|
await fs.unlink(target);
|
|
57
87
|
await fs.symlink(source, target);
|
|
58
88
|
}
|
|
89
|
+
async function removeManagedOpenCodeConfigExtensions(configDir) {
|
|
90
|
+
for (const entry of UNSAFE_OPENCODE_CONFIG_ENTRIES) {
|
|
91
|
+
await fs.rm(path.join(configDir, entry), { recursive: true, force: true }).catch(() => { });
|
|
92
|
+
}
|
|
93
|
+
for (const fileName of OPENCODE_CONFIG_FILE_CANDIDATES) {
|
|
94
|
+
if (fileName === MANAGED_OPENCODE_CONFIG_FILE)
|
|
95
|
+
continue;
|
|
96
|
+
await fs.rm(path.join(configDir, fileName), { force: true }).catch(() => { });
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
function sanitizeOpenCodeConfig(rawConfig) {
|
|
100
|
+
const source = parseObject(rawConfig);
|
|
101
|
+
const sanitized = {};
|
|
102
|
+
for (const key of SAFE_OPENCODE_STRING_CONFIG_KEYS) {
|
|
103
|
+
const value = source[key];
|
|
104
|
+
if (typeof value === "string")
|
|
105
|
+
sanitized[key] = value;
|
|
106
|
+
}
|
|
107
|
+
sanitized.autoupdate = false;
|
|
108
|
+
if (typeof sanitized.$schema !== "string") {
|
|
109
|
+
sanitized.$schema = "https://opencode.ai/config.json";
|
|
110
|
+
}
|
|
111
|
+
return sanitized;
|
|
112
|
+
}
|
|
113
|
+
async function readOpenCodeConfigFile(sourceHome) {
|
|
114
|
+
for (const fileName of OPENCODE_CONFIG_FILE_CANDIDATES) {
|
|
115
|
+
const configPath = path.join(sourceHome, ".config", "opencode", fileName);
|
|
116
|
+
const content = await fs.readFile(configPath, "utf8").catch(() => "");
|
|
117
|
+
if (!content.trim())
|
|
118
|
+
continue;
|
|
119
|
+
try {
|
|
120
|
+
return sanitizeOpenCodeConfig(JSON.parse(content));
|
|
121
|
+
}
|
|
122
|
+
catch {
|
|
123
|
+
continue;
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return sanitizeOpenCodeConfig({});
|
|
127
|
+
}
|
|
128
|
+
async function ensureManagedOpenCodeConfig(input) {
|
|
129
|
+
const configDir = path.join(input.targetHome, ".config", "opencode");
|
|
130
|
+
const existing = await fs.lstat(configDir).catch(() => null);
|
|
131
|
+
if (existing?.isSymbolicLink()) {
|
|
132
|
+
await fs.unlink(configDir);
|
|
133
|
+
}
|
|
134
|
+
await fs.mkdir(configDir, { recursive: true });
|
|
135
|
+
await removeManagedOpenCodeConfigExtensions(configDir);
|
|
136
|
+
const config = await readOpenCodeConfigFile(input.sourceHome);
|
|
137
|
+
await fs.writeFile(path.join(configDir, MANAGED_OPENCODE_CONFIG_FILE), `${JSON.stringify(config, null, 2)}\n`, "utf8");
|
|
138
|
+
await input.onLog("stdout", `[rudder] Wrote sanitized OpenCode config into managed HOME ${configDir}.\n`);
|
|
139
|
+
}
|
|
59
140
|
function resolveSharedOpenCodeHomeDir(env) {
|
|
60
141
|
return path.resolve(nonEmpty(env.HOME) ?? os.homedir());
|
|
61
142
|
}
|
|
62
|
-
function resolveManagedOpenCodeHomeDir(env, orgId) {
|
|
63
|
-
const rudderHome = nonEmpty(env.RUDDER_HOME) ?? path.resolve(os.homedir(), ".rudder");
|
|
64
|
-
const instanceId = nonEmpty(env.RUDDER_INSTANCE_ID) ?? DEFAULT_RUDDER_INSTANCE_ID;
|
|
65
|
-
return path.resolve(rudderHome, "instances", instanceId, "organizations", resolveOrganizationStorageKey(orgId), "opencode-home");
|
|
66
|
-
}
|
|
67
143
|
function resolveManagedOpenCodeSkillsDir(homeDir) {
|
|
68
144
|
return path.join(homeDir, ".claude", "skills");
|
|
69
145
|
}
|
|
70
146
|
async function prepareManagedOpenCodeHome(env, onLog, orgId) {
|
|
71
147
|
const sourceHome = resolveSharedOpenCodeHomeDir(env);
|
|
72
|
-
const targetHome = resolveManagedOpenCodeHomeDir(env, orgId);
|
|
148
|
+
const targetHome = resolveManagedOpenCodeHomeDir({ env }, orgId);
|
|
73
149
|
if (targetHome === sourceHome)
|
|
74
150
|
return targetHome;
|
|
75
151
|
await fs.mkdir(targetHome, { recursive: true });
|
|
@@ -80,6 +156,7 @@ async function prepareManagedOpenCodeHome(env, onLog, orgId) {
|
|
|
80
156
|
continue;
|
|
81
157
|
await ensureSymlink(path.join(targetHome, relativeEntry), source);
|
|
82
158
|
}
|
|
159
|
+
await ensureManagedOpenCodeConfig({ sourceHome, targetHome, onLog });
|
|
83
160
|
await onLog("stdout", `[rudder] Using Rudder-managed OpenCode home "${targetHome}" (seeded from "${sourceHome}").\n`);
|
|
84
161
|
return targetHome;
|
|
85
162
|
}
|
|
@@ -104,6 +181,29 @@ async function ensureOpenCodeSkillsInjected(onLog, skillsHome, skillsEntries, de
|
|
|
104
181
|
}
|
|
105
182
|
}
|
|
106
183
|
}
|
|
184
|
+
async function renderSelectedOpenCodeSkillPrompt(onLog, skillsHome, skillsEntries) {
|
|
185
|
+
const sections = [];
|
|
186
|
+
for (const entry of skillsEntries) {
|
|
187
|
+
const skillPath = path.join(skillsHome, entry.runtimeName, "SKILL.md");
|
|
188
|
+
const content = await fs.readFile(skillPath, "utf8").catch(async (err) => {
|
|
189
|
+
await onLog("stderr", `[rudder] Failed to load OpenCode skill "${entry.key}" from ${skillPath}: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
190
|
+
return "";
|
|
191
|
+
});
|
|
192
|
+
if (!content.trim())
|
|
193
|
+
continue;
|
|
194
|
+
sections.push(`## Skill: ${entry.key}\n\n${content.trim()}`);
|
|
195
|
+
}
|
|
196
|
+
if (sections.length === 0)
|
|
197
|
+
return "";
|
|
198
|
+
return [
|
|
199
|
+
"# Enabled Rudder Skills",
|
|
200
|
+
"",
|
|
201
|
+
"These skill instructions come only from this agent's Rudder Skills enabled selections.",
|
|
202
|
+
"Do not load OpenCode, Claude-compatible, operator-home, project, bundled, or vendor-default skills unless Rudder enabled them for this agent.",
|
|
203
|
+
"",
|
|
204
|
+
sections.join("\n\n"),
|
|
205
|
+
].join("\n");
|
|
206
|
+
}
|
|
107
207
|
export async function execute(ctx) {
|
|
108
208
|
const { runId, agent, runtime, config, context, onLog, onMeta, onSpawn, authToken } = ctx;
|
|
109
209
|
const promptTemplate = selectPromptTemplate(asString(config.promptTemplate, ""), context);
|
|
@@ -198,12 +298,14 @@ export async function execute(ctx) {
|
|
|
198
298
|
if (workspaceHints.length > 0)
|
|
199
299
|
env.RUDDER_WORKSPACES_JSON = JSON.stringify(workspaceHints);
|
|
200
300
|
for (const [key, value] of Object.entries(envConfig)) {
|
|
301
|
+
if (OPENCODE_PROTECTED_ENV_KEYS.has(key))
|
|
302
|
+
continue;
|
|
201
303
|
if (typeof value === "string")
|
|
202
304
|
env[key] = value;
|
|
203
305
|
}
|
|
204
|
-
const sourceEnv = { ...process.env
|
|
306
|
+
const sourceEnv = { ...process.env };
|
|
205
307
|
const operatorHome = resolveLocalOperatorHome(sourceEnv);
|
|
206
|
-
const managedHome = await prepareManagedOpenCodeHome(sourceEnv, onLog, agent.orgId);
|
|
308
|
+
const managedHome = await prepareManagedOpenCodeHome({ ...sourceEnv, ...env }, onLog, agent.orgId);
|
|
207
309
|
await syncLocalCliCredentialHomeEntries({ sourceHome: operatorHome, targetHome: managedHome, onLog });
|
|
208
310
|
const preparedGitIdentity = await ensureGitIdentityFileConfig({
|
|
209
311
|
cwd,
|
|
@@ -212,7 +314,11 @@ export async function execute(ctx) {
|
|
|
212
314
|
onLog,
|
|
213
315
|
});
|
|
214
316
|
env.HOME = managedHome;
|
|
317
|
+
env.USERPROFILE = managedHome;
|
|
215
318
|
env.RUDDER_OPERATOR_HOME = operatorHome;
|
|
319
|
+
env.XDG_CONFIG_HOME = path.join(managedHome, ".config");
|
|
320
|
+
env.XDG_DATA_HOME = path.join(managedHome, ".local", "share");
|
|
321
|
+
env.XDG_CACHE_HOME = path.join(managedHome, ".cache");
|
|
216
322
|
if (!hasExplicitApiKey && authToken) {
|
|
217
323
|
env.RUDDER_API_KEY = authToken;
|
|
218
324
|
}
|
|
@@ -220,6 +326,7 @@ export async function execute(ctx) {
|
|
|
220
326
|
applyGitCredentialHelperPolicyEnv(env);
|
|
221
327
|
const openCodeSkillEntries = await readRudderRuntimeSkillEntries(config, __moduleDir);
|
|
222
328
|
const desiredOpenCodeSkillNames = resolveRudderDesiredSkillNames(config, openCodeSkillEntries);
|
|
329
|
+
const selectedOpenCodeSkillEntries = openCodeSkillEntries.filter((entry) => desiredOpenCodeSkillNames.includes(entry.key));
|
|
223
330
|
const loadedSkills = openCodeSkillEntries
|
|
224
331
|
.filter((entry) => desiredOpenCodeSkillNames.includes(entry.key))
|
|
225
332
|
.map((entry) => ({
|
|
@@ -228,7 +335,9 @@ export async function execute(ctx) {
|
|
|
228
335
|
name: entry.name ?? null,
|
|
229
336
|
description: entry.description ?? null,
|
|
230
337
|
}));
|
|
231
|
-
|
|
338
|
+
const managedOpenCodeSkillsDir = resolveManagedOpenCodeSkillsDir(managedHome);
|
|
339
|
+
await ensureOpenCodeSkillsInjected(onLog, managedOpenCodeSkillsDir, selectedOpenCodeSkillEntries, desiredOpenCodeSkillNames);
|
|
340
|
+
const selectedSkillPrompt = await renderSelectedOpenCodeSkillPrompt(onLog, managedOpenCodeSkillsDir, selectedOpenCodeSkillEntries);
|
|
232
341
|
const runtimeEnv = Object.fromEntries(Object.entries(await ensureLocalCliCredentialShimsInPath({
|
|
233
342
|
operatorHome,
|
|
234
343
|
targetHome: managedHome,
|
|
@@ -302,7 +411,7 @@ export async function execute(ctx) {
|
|
|
302
411
|
* "what changed?" discovery.
|
|
303
412
|
*
|
|
304
413
|
* Traceability:
|
|
305
|
-
* - doc/DEVELOPING.md
|
|
414
|
+
* - doc/engineering/DEVELOPING.md
|
|
306
415
|
*/
|
|
307
416
|
const bootstrapPromptTemplate = asString(config.bootstrapPromptTemplate, "");
|
|
308
417
|
const templateData = {
|
|
@@ -330,6 +439,7 @@ export async function execute(ctx) {
|
|
|
330
439
|
const sessionHandoffNote = asString(context.rudderSessionHandoffMarkdown, "").trim();
|
|
331
440
|
const prompt = joinPromptSections([
|
|
332
441
|
instructionsPrefix,
|
|
442
|
+
selectedSkillPrompt,
|
|
333
443
|
renderedBootstrapPrompt,
|
|
334
444
|
sessionHandoffNote,
|
|
335
445
|
renderedPrompt,
|
|
@@ -342,7 +452,7 @@ export async function execute(ctx) {
|
|
|
342
452
|
heartbeatPromptChars: renderedPrompt.length,
|
|
343
453
|
};
|
|
344
454
|
const buildArgs = (resumeSessionId) => {
|
|
345
|
-
const args = ["run", "--format", "json", "--dir", cwd];
|
|
455
|
+
const args = ["run", "--pure", "--format", "json", "--dir", cwd];
|
|
346
456
|
if (resumeSessionId)
|
|
347
457
|
args.push("--session", resumeSessionId);
|
|
348
458
|
if (model)
|
|
@@ -366,8 +476,11 @@ export async function execute(ctx) {
|
|
|
366
476
|
commandArgs: [...args, `<stdin prompt ${prompt.length} chars>`],
|
|
367
477
|
env: redactEnvForLogs(env),
|
|
368
478
|
prompt,
|
|
479
|
+
agentInstructionStack: prompt,
|
|
369
480
|
promptMetrics,
|
|
370
481
|
loadedSkills,
|
|
482
|
+
realizedSkills: loadedSkills,
|
|
483
|
+
promptInjectedSkills: loadedSkills,
|
|
371
484
|
context,
|
|
372
485
|
});
|
|
373
486
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/server/execute.ts"],"names":[],"mappings":"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"}
|
package/dist/server/skills.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { AgentRuntimeSkillContext, AgentRuntimeSkillSnapshot } from "@rudderhq/agent-runtime-utils";
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function resolveManagedOpenCodeHomeDir(config: Record<string, unknown>, orgId: string): string;
|
|
3
|
+
export declare function resolveOpenCodeSkillsHome(config: Record<string, unknown>, orgId: string): string;
|
|
3
4
|
export declare function listOpenCodeSkills(ctx: AgentRuntimeSkillContext): Promise<AgentRuntimeSkillSnapshot>;
|
|
4
|
-
export declare function syncOpenCodeSkills(ctx: AgentRuntimeSkillContext,
|
|
5
|
+
export declare function syncOpenCodeSkills(ctx: AgentRuntimeSkillContext, desiredSkills: string[]): Promise<AgentRuntimeSkillSnapshot>;
|
|
5
6
|
export declare function resolveOpenCodeDesiredSkillNames(config: Record<string, unknown>, availableEntries: Array<{
|
|
6
7
|
key: string;
|
|
7
8
|
}>): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/server/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,
|
|
1
|
+
{"version":3,"file":"skills.d.ts","sourceRoot":"","sources":["../../src/server/skills.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,yBAAyB,EAC1B,MAAM,+BAA+B,CAAC;AAqBvC,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,UAQ3F;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,UAEvF;AAqBD,wBAAsB,kBAAkB,CAAC,GAAG,EAAE,wBAAwB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAE1G;AAED,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,wBAAwB,EAC7B,aAAa,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,yBAAyB,CAAC,CAuBpC;AAED,wBAAgB,gCAAgC,CAC9C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,gBAAgB,EAAE,KAAK,CAAC;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,YAGzC"}
|
package/dist/server/skills.js
CHANGED
|
@@ -1,100 +1,70 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolveOrganizationStorageKey } from "@rudderhq/agent-runtime-utils";
|
|
2
|
+
import { buildPersistentSkillSnapshot, ensureRudderSkillSymlink, readInstalledSkillTargets, readRudderRuntimeSkillEntries, resolveRudderDesiredSkillNames, } from "@rudderhq/agent-runtime-utils/server-utils";
|
|
3
|
+
import fs from "node:fs/promises";
|
|
2
4
|
import os from "node:os";
|
|
3
5
|
import path from "node:path";
|
|
4
6
|
import { fileURLToPath } from "node:url";
|
|
5
7
|
const __moduleDir = path.dirname(fileURLToPath(import.meta.url));
|
|
8
|
+
const DEFAULT_RUDDER_INSTANCE_ID = "default";
|
|
6
9
|
function asString(value) {
|
|
7
10
|
return typeof value === "string" && value.trim().length > 0 ? value.trim() : null;
|
|
8
11
|
}
|
|
9
|
-
export function
|
|
12
|
+
export function resolveManagedOpenCodeHomeDir(config, orgId) {
|
|
10
13
|
const env = typeof config.env === "object" && config.env !== null && !Array.isArray(config.env)
|
|
11
14
|
? config.env
|
|
12
15
|
: {};
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
return path.
|
|
16
|
+
const rudderHome = asString(env.RUDDER_HOME) ?? process.env.RUDDER_HOME ?? path.join(os.homedir(), ".rudder");
|
|
17
|
+
const instanceId = asString(env.RUDDER_INSTANCE_ID) ?? process.env.RUDDER_INSTANCE_ID ?? DEFAULT_RUDDER_INSTANCE_ID;
|
|
18
|
+
return path.resolve(rudderHome, "instances", instanceId, "organizations", resolveOrganizationStorageKey(orgId), "opencode-home");
|
|
16
19
|
}
|
|
17
|
-
|
|
20
|
+
export function resolveOpenCodeSkillsHome(config, orgId) {
|
|
21
|
+
return path.join(resolveManagedOpenCodeHomeDir(config, orgId), ".claude", "skills");
|
|
22
|
+
}
|
|
23
|
+
async function buildOpenCodeSkillSnapshot(config, orgId) {
|
|
18
24
|
const availableEntries = await readRudderRuntimeSkillEntries(config, __moduleDir);
|
|
19
|
-
const availableByKey = new Map(availableEntries.map((entry) => [entry.key, entry]));
|
|
20
|
-
const availableRuntimeNames = new Set(availableEntries.map((entry) => entry.runtimeName));
|
|
21
25
|
const desiredSkills = resolveRudderDesiredSkillNames(config, availableEntries);
|
|
22
|
-
const
|
|
23
|
-
const skillsHome = resolveOpenCodeSkillsHome(config);
|
|
26
|
+
const skillsHome = resolveOpenCodeSkillsHome(config, orgId);
|
|
24
27
|
const installed = await readInstalledSkillTargets(skillsHome);
|
|
25
|
-
|
|
26
|
-
key: entry.key,
|
|
27
|
-
runtimeName: entry.runtimeName,
|
|
28
|
-
description: entry.description ?? null,
|
|
29
|
-
desired: desiredSet.has(entry.key),
|
|
30
|
-
managed: true,
|
|
31
|
-
state: desiredSet.has(entry.key) ? "configured" : "available",
|
|
32
|
-
origin: "organization_managed",
|
|
33
|
-
readOnly: false,
|
|
34
|
-
sourcePath: entry.source,
|
|
35
|
-
targetPath: null,
|
|
36
|
-
detail: desiredSet.has(entry.key)
|
|
37
|
-
? "Will be mounted into the Rudder-managed OpenCode skill directory on the next run."
|
|
38
|
-
: null,
|
|
39
|
-
}));
|
|
40
|
-
const warnings = [];
|
|
41
|
-
const externalInstalled = new Map(Array.from(installed.entries()).filter(([name]) => !availableRuntimeNames.has(name)));
|
|
42
|
-
for (const [name, installedEntry] of externalInstalled.entries()) {
|
|
43
|
-
const metadata = await readSkillMetadataFromPath(installedEntry.targetPath ?? path.join(skillsHome, name));
|
|
44
|
-
const desired = desiredSet.has(name);
|
|
45
|
-
entries.push({
|
|
46
|
-
key: name,
|
|
47
|
-
runtimeName: metadata.name ?? name,
|
|
48
|
-
description: metadata.description,
|
|
49
|
-
desired,
|
|
50
|
-
managed: false,
|
|
51
|
-
state: desired ? "configured" : "external",
|
|
52
|
-
origin: "user_installed",
|
|
53
|
-
originLabel: "User-installed",
|
|
54
|
-
locationLabel: "~/.claude/skills",
|
|
55
|
-
readOnly: false,
|
|
56
|
-
sourcePath: installedEntry.targetPath ?? path.join(skillsHome, name),
|
|
57
|
-
targetPath: installedEntry.targetPath ?? path.join(skillsHome, name),
|
|
58
|
-
detail: desired
|
|
59
|
-
? "Enabled for this agent. Rudder will mount this user-installed OpenCode skill on the next run."
|
|
60
|
-
: "Detected outside Rudder management in the user Claude-compatible skills home.",
|
|
61
|
-
});
|
|
62
|
-
}
|
|
63
|
-
for (const desiredSkill of desiredSkills) {
|
|
64
|
-
if (availableByKey.has(desiredSkill))
|
|
65
|
-
continue;
|
|
66
|
-
if (externalInstalled.has(desiredSkill))
|
|
67
|
-
continue;
|
|
68
|
-
warnings.push(`Desired skill "${desiredSkill}" is not available from the Rudder skills directory.`);
|
|
69
|
-
entries.push({
|
|
70
|
-
key: desiredSkill,
|
|
71
|
-
runtimeName: null,
|
|
72
|
-
desired: true,
|
|
73
|
-
managed: true,
|
|
74
|
-
state: "missing",
|
|
75
|
-
origin: "external_unknown",
|
|
76
|
-
originLabel: "External or unavailable",
|
|
77
|
-
readOnly: false,
|
|
78
|
-
sourcePath: null,
|
|
79
|
-
targetPath: null,
|
|
80
|
-
detail: "Rudder cannot find this skill in the local runtime skills directory.",
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
|
-
entries.sort((left, right) => left.key.localeCompare(right.key));
|
|
84
|
-
return {
|
|
28
|
+
return buildPersistentSkillSnapshot({
|
|
85
29
|
agentRuntimeType: "opencode_local",
|
|
86
|
-
|
|
87
|
-
mode: "ephemeral",
|
|
30
|
+
availableEntries,
|
|
88
31
|
desiredSkills,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
32
|
+
installed,
|
|
33
|
+
skillsHome,
|
|
34
|
+
locationLabel: "managed OpenCode skills sidecar",
|
|
35
|
+
installedDetail: "Enabled for this agent in Rudder and materialized into the managed OpenCode skills sidecar.",
|
|
36
|
+
missingDetail: "Configured but not currently linked into the managed OpenCode skills sidecar.",
|
|
37
|
+
externalConflictDetail: "Skill name is occupied by a non-Rudder entry inside the managed OpenCode skills sidecar.",
|
|
38
|
+
externalDetail: "Installed outside Rudder management in the OpenCode sidecar.",
|
|
39
|
+
});
|
|
92
40
|
}
|
|
93
41
|
export async function listOpenCodeSkills(ctx) {
|
|
94
|
-
return buildOpenCodeSkillSnapshot(ctx.config);
|
|
42
|
+
return buildOpenCodeSkillSnapshot(ctx.config, ctx.orgId);
|
|
95
43
|
}
|
|
96
|
-
export async function syncOpenCodeSkills(ctx,
|
|
97
|
-
|
|
44
|
+
export async function syncOpenCodeSkills(ctx, desiredSkills) {
|
|
45
|
+
const availableEntries = await readRudderRuntimeSkillEntries(ctx.config, __moduleDir);
|
|
46
|
+
const desiredSet = new Set(desiredSkills);
|
|
47
|
+
const skillsHome = resolveOpenCodeSkillsHome(ctx.config, ctx.orgId);
|
|
48
|
+
await fs.mkdir(skillsHome, { recursive: true });
|
|
49
|
+
const installed = await readInstalledSkillTargets(skillsHome);
|
|
50
|
+
const availableByRuntimeName = new Map(availableEntries.map((entry) => [entry.runtimeName, entry]));
|
|
51
|
+
for (const available of availableEntries) {
|
|
52
|
+
if (!desiredSet.has(available.key))
|
|
53
|
+
continue;
|
|
54
|
+
const target = path.join(skillsHome, available.runtimeName);
|
|
55
|
+
await ensureRudderSkillSymlink(available.source, target);
|
|
56
|
+
}
|
|
57
|
+
for (const [name, installedEntry] of installed.entries()) {
|
|
58
|
+
const available = availableByRuntimeName.get(name);
|
|
59
|
+
if (!available)
|
|
60
|
+
continue;
|
|
61
|
+
if (desiredSet.has(available.key))
|
|
62
|
+
continue;
|
|
63
|
+
if (installedEntry.targetPath !== available.source)
|
|
64
|
+
continue;
|
|
65
|
+
await fs.unlink(path.join(skillsHome, name)).catch(() => { });
|
|
66
|
+
}
|
|
67
|
+
return buildOpenCodeSkillSnapshot(ctx.config, ctx.orgId);
|
|
98
68
|
}
|
|
99
69
|
export function resolveOpenCodeDesiredSkillNames(config, availableEntries) {
|
|
100
70
|
return resolveRudderDesiredSkillNames(config, availableEntries);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/server/skills.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"skills.js","sourceRoot":"","sources":["../../src/server/skills.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rudderhq/agent-runtime-opencode-local",
|
|
3
|
-
"version": "0.3.6-canary.
|
|
3
|
+
"version": "0.3.6-canary.31",
|
|
4
4
|
"license": "SEE LICENSE IN LICENSE",
|
|
5
5
|
"homepage": "https://github.com/Undertone0809/rudder",
|
|
6
6
|
"bugs": {
|
|
@@ -67,7 +67,7 @@
|
|
|
67
67
|
"typecheck": "tsc --noEmit"
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|
|
70
|
-
"@rudderhq/agent-runtime-utils": "0.3.6-canary.
|
|
70
|
+
"@rudderhq/agent-runtime-utils": "0.3.6-canary.31",
|
|
71
71
|
"picocolors": "^1.1.1"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
package/skills/rudder/SKILL.md
CHANGED
|
@@ -68,8 +68,11 @@ rudder approval issues "$RUDDER_APPROVAL_ID" --json
|
|
|
68
68
|
rudder agent inbox --json
|
|
69
69
|
rudder issue context "<issue-id-or-identifier>" --json
|
|
70
70
|
rudder issue context "$RUDDER_TASK_ID" --wake-comment-id "$RUDDER_WAKE_COMMENT_ID" --json
|
|
71
|
+
rudder issue context "<issue-id-or-identifier>" --wake-comment-id "cmt_<uuid-prefix>" --json
|
|
71
72
|
rudder issue checkout "<issue-id-or-identifier>" --json
|
|
72
73
|
rudder issue comment "<issue-id-or-identifier>" --body-file "<path>" [--image "<path>"] --json
|
|
74
|
+
rudder issue comments get "<issue-id-or-identifier>" "cmt_<uuid-prefix>" --json
|
|
75
|
+
rudder issue comments list "<issue-id-or-identifier>" --after "cmt_<uuid-prefix>" --json
|
|
73
76
|
rudder issue done "<issue-id-or-identifier>" --comment-file "<path>" [--image "<path>"] --json
|
|
74
77
|
rudder issue block "<issue-id-or-identifier>" --comment-file "<path>" [--image "<path>"] --json
|
|
75
78
|
rudder issue review "<issue-id-or-identifier>" --decision approve --comment-file "<path>" --json
|
|
@@ -80,6 +83,12 @@ rudder issue create --org-id "$RUDDER_ORG_ID" ... --json
|
|
|
80
83
|
rudder user activity --user me --since today --json
|
|
81
84
|
```
|
|
82
85
|
|
|
86
|
+
Agent and issue-comment responses include `shortRef` when available. You may pass
|
|
87
|
+
`agt_<uuid-prefix>` to `rudder agent get` and `cmt_<uuid-prefix>` as
|
|
88
|
+
`--wake-comment-id`, `rudder issue comments get <issue> <comment>`, or
|
|
89
|
+
`rudder issue comments list <issue> --after <comment>`; use the full UUID if a
|
|
90
|
+
short ref is ambiguous within the issue.
|
|
91
|
+
|
|
83
92
|
Issue comment and close-out commands accept comment bodies only from files or
|
|
84
93
|
stdin. For multiline Markdown, command names, code spans, code blocks,
|
|
85
94
|
validation summaries, or screenshot evidence, write the body to a temporary
|
|
@@ -29,11 +29,11 @@ Direct API fallback is allowed for heartbeat close-out only when a required CLI
|
|
|
29
29
|
| `rudder agent skills sync <agent-id>` | Sync the desired enabled skill set for an agent. | yes | no | no | attached when available |
|
|
30
30
|
| `rudder issue get <issue>` | Read a full issue by UUID or identifier. | no | no | no | no |
|
|
31
31
|
| `rudder issue search <query> [--org-id <id>]` | Search issues with the server-side issue index across title, identifier, description, and comments. | no | required | no | no |
|
|
32
|
-
| `rudder issue context <issue
|
|
32
|
+
| `rudder issue context <issue> [--wake-comment-id <comment-id-or-cmt-ref>]` | Read the compact heartbeat context for an issue; wake comments may be addressed by full id or cmt_<uuid-prefix>. | no | no | no | no |
|
|
33
33
|
| `rudder issue checkout <issue>` | Atomically checkout an issue for the current or specified agent. | yes | no | required | attached when available |
|
|
34
34
|
| `rudder issue comment <issue> --body-file <path> [--image <path>]` | Add a comment to an issue, optionally uploading images and appending Markdown image links. | yes | no | no | attached when available |
|
|
35
|
-
| `rudder issue comments list <issue
|
|
36
|
-
| `rudder issue comments get <issue> <comment-id>` | Read one issue comment by id. | no | no | no | no |
|
|
35
|
+
| `rudder issue comments list <issue> [--after <comment-id-or-cmt-ref>]` | List issue comments, optionally only newer comments after a full comment id or cmt_<uuid-prefix> with --after. | no | no | no | no |
|
|
36
|
+
| `rudder issue comments get <issue> <comment-id-or-cmt-ref>` | Read one issue comment by full id or cmt_<uuid-prefix> scoped to the issue. | no | no | no | no |
|
|
37
37
|
| `rudder issue update <issue> ... [--comment-file <path>] [--image <path>]` | Apply generic issue updates when workflow commands are not enough, optionally uploading images for the update comment. | yes | no | no | attached when available |
|
|
38
38
|
| `rudder issue review <issue> --decision <decision> --comment-file <path>` | Record a structured reviewer decision with a required comment. | yes | no | no | attached when available |
|
|
39
39
|
| `rudder issue commit <issue> --sha <sha> --message <subject>` | Report a code commit created during issue work as structured issue activity. | yes | no | no | attached when available |
|
|
@@ -106,10 +106,12 @@ ownership. Questions should get answers, corrections should get acknowledgment
|
|
|
106
106
|
or explanation, and narrow requests should not become permission to finish the
|
|
107
107
|
whole issue.
|
|
108
108
|
|
|
109
|
-
If an issue has a reviewer, moving it to `blocked`
|
|
109
|
+
If an issue has a reviewer, moving it to `blocked` also routes reviewer work: the reviewer should confirm the blocker, request changes, approve, or keep explicit follow-up open with `rudder issue review`.
|
|
110
110
|
|
|
111
111
|
Issue comment and close-out commands accept comment bodies only from files or stdin. For any multiline Markdown, command names, code spans, code blocks, test summaries, or screenshot evidence, write the comment to a temporary Markdown file and pass `--body-file <path>` or `--comment-file <path>`, or pass `-` to read the body from stdin.
|
|
112
112
|
|
|
113
|
+
Issue comment responses include `shortRef` when available. `rudder issue comments get <issue> <comment-id-or-cmt-ref>` accepts a full comment UUID or `cmt_<uuid-prefix>`, and `rudder issue comments list <issue> --after <comment-id-or-cmt-ref>` accepts the same forms for the pagination anchor. Use the full UUID when a short ref is ambiguous within the issue.
|
|
114
|
+
|
|
113
115
|
`--image` may be repeated. The CLI uploads each local PNG/JPEG/WebP/GIF as an issue attachment and appends Markdown image links to the comment text before sending it.
|
|
114
116
|
|
|
115
117
|
If your issue comment cites a screenshot path or visual validation artifact, attach that file with `--image <path>` instead of leaving only the local path in the text.
|
|
@@ -167,12 +169,12 @@ When the inbox row or wake context says `relationship: "reviewer"`, `role: "revi
|
|
|
167
169
|
- needs follow-up: `rudder issue review <issue> --decision needs_followup --comment-file <path>`
|
|
168
170
|
- blocked or blocker confirmed: `rudder issue review <issue> --decision blocked --comment-file <path>`; use this only for a confirmed human/external blocker and name the next human action.
|
|
169
171
|
|
|
170
|
-
Do not rely on a free-form reject or accept comment as the review outcome. The structured decision is the durable close-out signal.
|
|
172
|
+
Do not rely on a free-form reject or accept comment as the review outcome. The structured decision is the durable close-out signal. If a blocked reviewer decision needs human input, name the next human action in the review comment; Rudder records only the reviewer decision and removes the issue from repeated reviewer pickup until the board changes the issue.
|
|
171
173
|
|
|
172
174
|
## Compatibility Commands
|
|
173
175
|
|
|
174
176
|
- `rudder agent list --org-id <id>` — List agents for an organization.
|
|
175
|
-
- `rudder agent get <agent-id-or-shortname>` — Read one agent by id or
|
|
177
|
+
- `rudder agent get <agent-id-or-shortname-or-agt-ref>` — Read one agent by id, shortname, or agt_<uuid-prefix> short ref.
|
|
176
178
|
- `rudder agent hire --org-id <id> --payload <json>` — Create a new hire using the canonical hire workflow.
|
|
177
179
|
- `rudder agent config index` — Read the installed agent runtime configuration index.
|
|
178
180
|
- `rudder agent config doc <agent-runtime-type>` — Read adapter-specific configuration guidance for one runtime.
|
|
@@ -17,9 +17,9 @@ Use this skill when the task is to create, scaffold, or document a Rudder plugin
|
|
|
17
17
|
|
|
18
18
|
Read these first when needed:
|
|
19
19
|
|
|
20
|
-
1. `doc/
|
|
20
|
+
1. `doc/engineering/PLUGIN_AUTHORING_GUIDE.md`
|
|
21
21
|
2. `packages/plugins/sdk/README.md`
|
|
22
|
-
3. `doc/
|
|
22
|
+
3. `doc/engineering/PLUGIN_RUNTIME_CONTRACT.md` only for future-looking context
|
|
23
23
|
|
|
24
24
|
Current runtime assumptions:
|
|
25
25
|
|