@rudderhq/agent-runtime-codex-local 0.1.0-canary.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/LICENSE +14 -0
- package/dist/cli/format-event.d.ts +2 -0
- package/dist/cli/format-event.d.ts.map +1 -0
- package/dist/cli/format-event.js +213 -0
- package/dist/cli/format-event.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +2 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/quota-probe.d.ts +3 -0
- package/dist/cli/quota-probe.d.ts.map +1 -0
- package/dist/cli/quota-probe.js +97 -0
- package/dist/cli/quota-probe.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +50 -0
- package/dist/index.js.map +1 -0
- package/dist/server/codex-home.d.ts +7 -0
- package/dist/server/codex-home.d.ts.map +1 -0
- package/dist/server/codex-home.js +456 -0
- package/dist/server/codex-home.js.map +1 -0
- package/dist/server/execute.d.ts +3 -0
- package/dist/server/execute.d.ts.map +1 -0
- package/dist/server/execute.js +514 -0
- package/dist/server/execute.js.map +1 -0
- package/dist/server/index.d.ts +8 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +57 -0
- package/dist/server/index.js.map +1 -0
- package/dist/server/parse.d.ts +12 -0
- package/dist/server/parse.d.ts.map +1 -0
- package/dist/server/parse.js +67 -0
- package/dist/server/parse.js.map +1 -0
- package/dist/server/quota.d.ts +64 -0
- package/dist/server/quota.d.ts.map +1 -0
- package/dist/server/quota.js +425 -0
- package/dist/server/quota.js.map +1 -0
- package/dist/server/skills.d.ts +7 -0
- package/dist/server/skills.d.ts.map +1 -0
- package/dist/server/skills.js +57 -0
- package/dist/server/skills.js.map +1 -0
- package/dist/server/test.d.ts +3 -0
- package/dist/server/test.d.ts.map +1 -0
- package/dist/server/test.js +194 -0
- package/dist/server/test.js.map +1 -0
- package/dist/ui/build-config.d.ts +3 -0
- package/dist/ui/build-config.d.ts.map +1 -0
- package/dist/ui/build-config.js +116 -0
- package/dist/ui/build-config.js.map +1 -0
- package/dist/ui/index.d.ts +3 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +3 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/parse-stdout.d.ts +3 -0
- package/dist/ui/parse-stdout.d.ts.map +1 -0
- package/dist/ui/parse-stdout.js +232 -0
- package/dist/ui/parse-stdout.js.map +1 -0
- package/package.json +62 -0
- package/skills/para-memory-files/SKILL.md +114 -0
- package/skills/para-memory-files/references/schemas.md +35 -0
- package/skills/rudder/SKILL.md +265 -0
- package/skills/rudder/references/api-reference.md +253 -0
- package/skills/rudder/references/cli-reference.md +67 -0
- package/skills/rudder/references/organization-skills.md +155 -0
- package/skills/rudder-create-agent/SKILL.md +166 -0
- package/skills/rudder-create-agent/references/api-reference.md +172 -0
- package/skills/rudder-create-agent/references/cli-reference.md +126 -0
- package/skills/rudder-create-plugin/SKILL.md +103 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
# Rudder Create Agent API Reference
|
|
2
|
+
|
|
3
|
+
Internal/debug reference for the bundled `rudder-create-agent` skill.
|
|
4
|
+
|
|
5
|
+
- Normal runtime execution should follow the CLI-first workflow in `../SKILL.md`.
|
|
6
|
+
- The canonical command catalog lives in `cli-reference.md`.
|
|
7
|
+
- Keep this document for route-level debugging, compatibility work, and payload-shape inspection.
|
|
8
|
+
|
|
9
|
+
## CLI-to-API Mapping
|
|
10
|
+
|
|
11
|
+
| CLI command | Primary route |
|
|
12
|
+
| --- | --- |
|
|
13
|
+
| `rudder agent config index` | `GET /llms/agent-configuration.txt` |
|
|
14
|
+
| `rudder agent config doc <agentRuntimeType>` | `GET /llms/agent-configuration/:agentRuntimeType.txt` |
|
|
15
|
+
| `rudder agent icons` | `GET /llms/agent-icons.txt` |
|
|
16
|
+
| `rudder agent config list --org-id <orgId>` | `GET /api/orgs/:orgId/agent-configurations` |
|
|
17
|
+
| `rudder agent config get <agentId>` | `GET /api/agents/:agentId/configuration` |
|
|
18
|
+
| `rudder agent hire --org-id <orgId> --payload <json>` | `POST /api/orgs/:orgId/agent-hires` |
|
|
19
|
+
| `rudder approval get <approvalId>` | `GET /api/approvals/:approvalId` |
|
|
20
|
+
| `rudder approval comment <approvalId> --body <text>` | `POST /api/approvals/:approvalId/comments` |
|
|
21
|
+
| `rudder approval resubmit <approvalId> [--payload <json>]` | `POST /api/approvals/:approvalId/resubmit` |
|
|
22
|
+
| `rudder approval issues <approvalId>` | `GET /api/approvals/:approvalId/issues` |
|
|
23
|
+
|
|
24
|
+
## Reflection Endpoints
|
|
25
|
+
|
|
26
|
+
- `GET /llms/agent-configuration.txt`
|
|
27
|
+
- `GET /llms/agent-configuration/:agentRuntimeType.txt`
|
|
28
|
+
- `GET /llms/agent-icons.txt`
|
|
29
|
+
|
|
30
|
+
Auth:
|
|
31
|
+
|
|
32
|
+
- board access, or
|
|
33
|
+
- same-org agent auth with `canCreateAgents=true`
|
|
34
|
+
|
|
35
|
+
These endpoints return plain text. The CLI wraps them directly.
|
|
36
|
+
|
|
37
|
+
## Configuration Snapshots
|
|
38
|
+
|
|
39
|
+
- `GET /api/orgs/:orgId/agent-configurations`
|
|
40
|
+
- `GET /api/agents/:agentId/configuration`
|
|
41
|
+
|
|
42
|
+
These responses are redacted snapshots for comparison and reuse.
|
|
43
|
+
|
|
44
|
+
Representative shape:
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"id": "uuid",
|
|
49
|
+
"orgId": "uuid",
|
|
50
|
+
"name": "CTO",
|
|
51
|
+
"role": "cto",
|
|
52
|
+
"title": "Chief Technology Officer",
|
|
53
|
+
"status": "idle",
|
|
54
|
+
"reportsTo": "uuid-or-null",
|
|
55
|
+
"agentRuntimeType": "codex_local",
|
|
56
|
+
"agentRuntimeConfig": {
|
|
57
|
+
"cwd": "/absolute/path",
|
|
58
|
+
"model": "o4-mini"
|
|
59
|
+
},
|
|
60
|
+
"runtimeConfig": {
|
|
61
|
+
"heartbeat": {
|
|
62
|
+
"enabled": true,
|
|
63
|
+
"intervalSec": 300,
|
|
64
|
+
"wakeOnDemand": true
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"permissions": {
|
|
68
|
+
"canCreateAgents": true
|
|
69
|
+
},
|
|
70
|
+
"updatedAt": "2026-04-19T12:00:00.000Z"
|
|
71
|
+
}
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
## `POST /api/orgs/:orgId/agent-hires`
|
|
75
|
+
|
|
76
|
+
Canonical hire route used by `rudder agent hire`.
|
|
77
|
+
|
|
78
|
+
Request body:
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"role": "cto",
|
|
83
|
+
"title": "Chief Technology Officer",
|
|
84
|
+
"icon": "crown",
|
|
85
|
+
"reportsTo": "uuid-or-null",
|
|
86
|
+
"capabilities": "Owns architecture and engineering execution",
|
|
87
|
+
"desiredSkills": ["vercel-labs/agent-browser/agent-browser"],
|
|
88
|
+
"agentRuntimeType": "codex_local",
|
|
89
|
+
"agentRuntimeConfig": {
|
|
90
|
+
"cwd": "/absolute/path",
|
|
91
|
+
"model": "o4-mini",
|
|
92
|
+
"promptTemplate": "You are CTO..."
|
|
93
|
+
},
|
|
94
|
+
"runtimeConfig": {
|
|
95
|
+
"heartbeat": {
|
|
96
|
+
"enabled": true,
|
|
97
|
+
"intervalSec": 300,
|
|
98
|
+
"wakeOnDemand": true
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"budgetMonthlyCents": 0,
|
|
102
|
+
"sourceIssueId": "uuid-or-null",
|
|
103
|
+
"sourceIssueIds": ["uuid-1", "uuid-2"]
|
|
104
|
+
}
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
Response when approval is required:
|
|
108
|
+
|
|
109
|
+
```json
|
|
110
|
+
{
|
|
111
|
+
"agent": {
|
|
112
|
+
"id": "uuid",
|
|
113
|
+
"status": "pending_approval"
|
|
114
|
+
},
|
|
115
|
+
"approval": {
|
|
116
|
+
"id": "uuid",
|
|
117
|
+
"type": "hire_agent",
|
|
118
|
+
"status": "pending",
|
|
119
|
+
"payload": {
|
|
120
|
+
"desiredSkills": ["vercel-labs/agent-browser/agent-browser"]
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
Response when approval is not required:
|
|
127
|
+
|
|
128
|
+
```json
|
|
129
|
+
{
|
|
130
|
+
"agent": {
|
|
131
|
+
"id": "uuid",
|
|
132
|
+
"status": "idle"
|
|
133
|
+
},
|
|
134
|
+
"approval": null
|
|
135
|
+
}
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
Important notes:
|
|
139
|
+
|
|
140
|
+
- `name` is optional; if omitted or blank, Rudder assigns a distinct first name automatically
|
|
141
|
+
- `desiredSkills` accepts organization skill ids, canonical keys, or a unique slug; the server resolves and stores canonical organization skill keys
|
|
142
|
+
- `sourceIssueId` and `sourceIssueIds` are the canonical way to link the hire back to originating issues
|
|
143
|
+
- this route is preferred over creating `hire_agent` approvals manually because it preserves the organization's approval policy
|
|
144
|
+
|
|
145
|
+
## Approval Lifecycle
|
|
146
|
+
|
|
147
|
+
Relevant routes:
|
|
148
|
+
|
|
149
|
+
- `GET /api/approvals/:approvalId`
|
|
150
|
+
- `POST /api/approvals/:approvalId/comments`
|
|
151
|
+
- `POST /api/approvals/:approvalId/resubmit`
|
|
152
|
+
- `GET /api/approvals/:approvalId/issues`
|
|
153
|
+
|
|
154
|
+
Statuses:
|
|
155
|
+
|
|
156
|
+
- `pending`
|
|
157
|
+
- `revision_requested`
|
|
158
|
+
- `approved`
|
|
159
|
+
- `rejected`
|
|
160
|
+
- `cancelled`
|
|
161
|
+
|
|
162
|
+
For hire approvals:
|
|
163
|
+
|
|
164
|
+
- approved: linked agent transitions `pending_approval -> idle`
|
|
165
|
+
- rejected: linked agent is terminated
|
|
166
|
+
|
|
167
|
+
## Safety Notes
|
|
168
|
+
|
|
169
|
+
- Config read APIs redact obvious secrets.
|
|
170
|
+
- `pending_approval` agents cannot run heartbeats, receive assignments, or create keys.
|
|
171
|
+
- All hire and approval actions are logged in activity for auditability.
|
|
172
|
+
- Use markdown in issue and approval comments and include links to the approval, agent, and source issue.
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
# Rudder Create Agent CLI Reference
|
|
2
|
+
|
|
3
|
+
Canonical CLI contract for the bundled `rudder-create-agent` skill. Prefer these commands over direct `/api` calls.
|
|
4
|
+
|
|
5
|
+
## Defaults
|
|
6
|
+
|
|
7
|
+
- All commands support `--json`.
|
|
8
|
+
- `--org-id` defaults to `RUDDER_ORG_ID` when relevant.
|
|
9
|
+
- Mutating commands attach `RUDDER_RUN_ID` automatically when available.
|
|
10
|
+
- `agent config index`, `agent config doc`, and `agent icons` print plain text by default. With `--json`, they emit that text as a JSON string.
|
|
11
|
+
|
|
12
|
+
## Core CLI Surface
|
|
13
|
+
|
|
14
|
+
### Identity and discovery
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
rudder agent me --json
|
|
18
|
+
rudder agent list --org-id "$RUDDER_ORG_ID" --json
|
|
19
|
+
rudder agent get "<agent-id-or-shortname>" --org-id "$RUDDER_ORG_ID" --json
|
|
20
|
+
rudder agent config index
|
|
21
|
+
rudder agent config doc "<agent-runtime-type>"
|
|
22
|
+
rudder agent config list --org-id "$RUDDER_ORG_ID" --json
|
|
23
|
+
rudder agent config get "<agent-id-or-shortname>" --org-id "$RUDDER_ORG_ID" --json
|
|
24
|
+
rudder agent icons
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Use these in order:
|
|
28
|
+
|
|
29
|
+
1. `agent me` to verify auth and org context
|
|
30
|
+
2. `agent config index` to discover installed runtimes
|
|
31
|
+
3. `agent config doc` to read one runtime's required fields and examples
|
|
32
|
+
4. `agent list` plus `agent config list/get` to reuse proven patterns from related agents
|
|
33
|
+
5. `agent icons` to choose an allowed `icon`
|
|
34
|
+
|
|
35
|
+
### Organization skills
|
|
36
|
+
|
|
37
|
+
```sh
|
|
38
|
+
rudder skill list --org-id "$RUDDER_ORG_ID" --json
|
|
39
|
+
rudder skill get "<skill-id>" --org-id "$RUDDER_ORG_ID" --json
|
|
40
|
+
rudder skill file "<skill-id>" --org-id "$RUDDER_ORG_ID" --path SKILL.md --json
|
|
41
|
+
rudder skill import --org-id "$RUDDER_ORG_ID" --source "<source>" --json
|
|
42
|
+
rudder skill scan-local --org-id "$RUDDER_ORG_ID" --roots "<csv>" --json
|
|
43
|
+
rudder skill scan-projects --org-id "$RUDDER_ORG_ID" --project-ids "<csv>" --workspace-ids "<csv>" --json
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Use these before hiring when the new role needs `desiredSkills`.
|
|
47
|
+
|
|
48
|
+
`desiredSkills` accepts:
|
|
49
|
+
|
|
50
|
+
- exact organization skill key
|
|
51
|
+
- exact organization skill id
|
|
52
|
+
- exact slug when it is unique in the organization
|
|
53
|
+
|
|
54
|
+
### Canonical hire flow
|
|
55
|
+
|
|
56
|
+
```sh
|
|
57
|
+
rudder agent hire --org-id "$RUDDER_ORG_ID" --payload '{
|
|
58
|
+
"role": "cto",
|
|
59
|
+
"title": "Chief Technology Officer",
|
|
60
|
+
"icon": "crown",
|
|
61
|
+
"reportsTo": "<ceo-agent-id>",
|
|
62
|
+
"capabilities": "Owns technical roadmap, architecture, staffing, execution",
|
|
63
|
+
"desiredSkills": ["vercel-labs/agent-browser/agent-browser"],
|
|
64
|
+
"agentRuntimeType": "codex_local",
|
|
65
|
+
"agentRuntimeConfig": {"cwd": "/abs/path/to/repo", "model": "o4-mini"},
|
|
66
|
+
"runtimeConfig": {"heartbeat": {"enabled": true, "intervalSec": 300, "wakeOnDemand": true}},
|
|
67
|
+
"sourceIssueId": "<issue-id>"
|
|
68
|
+
}' --json
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
Canonical semantics:
|
|
72
|
+
|
|
73
|
+
- this wraps `POST /api/orgs/:orgId/agent-hires`
|
|
74
|
+
- if the organization does not require board approval, the response contains `approval: null` and the agent is created directly
|
|
75
|
+
- if the organization requires board approval, the response contains both `agent` and `approval`, and the new agent stays `pending_approval`
|
|
76
|
+
|
|
77
|
+
Do not use `rudder approval create --type hire_agent` as a replacement for `agent hire` during normal skill execution. That is a lower-level compatibility surface and does not preserve the canonical direct-create behavior.
|
|
78
|
+
|
|
79
|
+
### Approval follow-up
|
|
80
|
+
|
|
81
|
+
```sh
|
|
82
|
+
rudder approval get "<approval-id>" --json
|
|
83
|
+
rudder approval comment "<approval-id>" --body "<markdown>" --json
|
|
84
|
+
rudder approval resubmit "<approval-id>" --payload '{"...":"..."}' --json
|
|
85
|
+
rudder approval issues "<approval-id>" --json
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
Notes:
|
|
89
|
+
|
|
90
|
+
- `approval comment` should use markdown and link the approval, pending agent, and source issue when available
|
|
91
|
+
- `approval resubmit` is only for a revision-requested approval; update the payload instead of creating a second hire
|
|
92
|
+
- if the run wakes with `RUDDER_APPROVAL_ID`, treat that approval as the first task
|
|
93
|
+
|
|
94
|
+
## Payload Notes
|
|
95
|
+
|
|
96
|
+
The `agent hire` payload accepts the same shape as the hire API, including:
|
|
97
|
+
|
|
98
|
+
- `name` optional; blank or omitted means Rudder assigns a distinct first name
|
|
99
|
+
- `role`
|
|
100
|
+
- `title`
|
|
101
|
+
- `icon`
|
|
102
|
+
- `reportsTo`
|
|
103
|
+
- `capabilities`
|
|
104
|
+
- `desiredSkills`
|
|
105
|
+
- `agentRuntimeType`
|
|
106
|
+
- `agentRuntimeConfig`
|
|
107
|
+
- `runtimeConfig`
|
|
108
|
+
- `budgetMonthlyCents`
|
|
109
|
+
- `metadata`
|
|
110
|
+
- `sourceIssueId`
|
|
111
|
+
- `sourceIssueIds`
|
|
112
|
+
|
|
113
|
+
Issue linkage rule:
|
|
114
|
+
|
|
115
|
+
- prefer `sourceIssueId` or `sourceIssueIds` inside the hire payload
|
|
116
|
+
- use `approval issues` to inspect the resulting approval links after the server creates them
|
|
117
|
+
|
|
118
|
+
## Related Commands
|
|
119
|
+
|
|
120
|
+
Post-hire adjustments use the normal agent and skill surfaces:
|
|
121
|
+
|
|
122
|
+
```sh
|
|
123
|
+
rudder agent get "<agent-id-or-shortname>" --org-id "$RUDDER_ORG_ID" --json
|
|
124
|
+
rudder agent skills sync "<agent-id>" --desired-skills "<csv>" --json
|
|
125
|
+
rudder agent local-cli "<agent-id-or-shortname>" --org-id "$RUDDER_ORG_ID" --json
|
|
126
|
+
```
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: rudder-create-plugin
|
|
3
|
+
description: Create new Rudder plugins with the current alpha SDK/runtime. Use when scaffolding a plugin package, adding a new example plugin, or updating plugin authoring docs. Covers the supported worker/UI surface, route conventions, scaffold flow, and verification steps.
|
|
4
|
+
Create new Rudder plugins with the current alpha SDK/runtime. Use when
|
|
5
|
+
scaffolding a plugin package, adding a new example plugin, or updating plugin
|
|
6
|
+
authoring docs. Covers the supported worker/UI surface, route conventions,
|
|
7
|
+
scaffold flow, and verification steps.
|
|
8
|
+
allowed-tools:
|
|
9
|
+
disable: true
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Create a Rudder Plugin
|
|
13
|
+
|
|
14
|
+
Use this skill when the task is to create, scaffold, or document a Rudder plugin.
|
|
15
|
+
|
|
16
|
+
## 1. Ground rules
|
|
17
|
+
|
|
18
|
+
Read these first when needed:
|
|
19
|
+
|
|
20
|
+
1. `doc/plugins/PLUGIN_AUTHORING_GUIDE.md`
|
|
21
|
+
2. `packages/plugins/sdk/README.md`
|
|
22
|
+
3. `doc/plugins/PLUGIN_SPEC.md` only for future-looking context
|
|
23
|
+
|
|
24
|
+
Current runtime assumptions:
|
|
25
|
+
|
|
26
|
+
- plugin workers are trusted code
|
|
27
|
+
- plugin UI is trusted same-origin host code
|
|
28
|
+
- worker APIs are capability-gated
|
|
29
|
+
- plugin UI is not sandboxed by manifest capabilities
|
|
30
|
+
- no host-provided shared plugin UI component kit yet
|
|
31
|
+
- `ctx.assets` is not supported in the current runtime
|
|
32
|
+
|
|
33
|
+
## 2. Preferred workflow
|
|
34
|
+
|
|
35
|
+
Use the scaffold package instead of hand-writing the boilerplate:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
pnpm --filter @rudderhq/create-rudder-plugin build
|
|
39
|
+
node packages/plugins/create-rudder-plugin/dist/index.js <npm-package-name> --output <target-dir>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
For a plugin that lives outside the Rudder repo, pass `--sdk-path` and let the scaffold snapshot the local SDK/shared packages into `.rudder-sdk/`:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
pnpm --filter @rudderhq/create-rudder-plugin build
|
|
46
|
+
node packages/plugins/create-rudder-plugin/dist/index.js @acme/plugin-name \
|
|
47
|
+
--output /absolute/path/to/plugin-repos \
|
|
48
|
+
--sdk-path /absolute/path/to/rudder/packages/plugins/sdk
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Recommended target inside this repo:
|
|
52
|
+
|
|
53
|
+
- `packages/plugins/examples/` for example plugins
|
|
54
|
+
- another `packages/plugins/<name>/` folder if it is becoming a real package
|
|
55
|
+
|
|
56
|
+
## 3. After scaffolding
|
|
57
|
+
|
|
58
|
+
Check and adjust:
|
|
59
|
+
|
|
60
|
+
- `src/manifest.ts`
|
|
61
|
+
- `src/worker.ts`
|
|
62
|
+
- `src/ui/index.tsx`
|
|
63
|
+
- `tests/plugin.spec.ts`
|
|
64
|
+
- `package.json`
|
|
65
|
+
|
|
66
|
+
Make sure the plugin:
|
|
67
|
+
|
|
68
|
+
- declares only supported capabilities
|
|
69
|
+
- does not use `ctx.assets`
|
|
70
|
+
- does not import host UI component stubs
|
|
71
|
+
- keeps UI self-contained
|
|
72
|
+
- uses `routePath` only on `page` slots
|
|
73
|
+
- is installed into Rudder from an absolute local path during development
|
|
74
|
+
|
|
75
|
+
## 4. If the plugin should appear in the app
|
|
76
|
+
|
|
77
|
+
For bundled example/discoverable behavior, update the relevant host wiring:
|
|
78
|
+
|
|
79
|
+
- bundled example list in `server/src/routes/plugins.ts`
|
|
80
|
+
- any docs that list in-repo examples
|
|
81
|
+
|
|
82
|
+
Only do this if the user wants the plugin surfaced as a bundled example.
|
|
83
|
+
|
|
84
|
+
## 5. Verification
|
|
85
|
+
|
|
86
|
+
Always run:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
pnpm --filter <plugin-package> typecheck
|
|
90
|
+
pnpm --filter <plugin-package> test
|
|
91
|
+
pnpm --filter <plugin-package> build
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
If you changed SDK/host/plugin runtime code too, also run broader repo checks as appropriate.
|
|
95
|
+
|
|
96
|
+
## 6. Documentation expectations
|
|
97
|
+
|
|
98
|
+
When authoring or updating plugin docs:
|
|
99
|
+
|
|
100
|
+
- distinguish current implementation from future spec ideas
|
|
101
|
+
- be explicit about the trusted-code model
|
|
102
|
+
- do not promise host UI components or asset APIs
|
|
103
|
+
- prefer npm-package deployment guidance over repo-local workflows for production
|