bopodev-api 0.1.33 → 0.1.35
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/package.json +5 -5
- package/src/app.ts +4 -2
- package/src/assets/starter-packs/customer-support-excellence.zip +0 -0
- package/src/assets/starter-packs/devrel-growth.zip +0 -0
- package/src/assets/starter-packs/product-delivery-trio.zip +0 -0
- package/src/assets/starter-packs/revenue-gtm-b2b.zip +0 -0
- package/src/assets/starter-packs/sources/customer-support-excellence/.bopo.yaml +129 -0
- package/src/assets/starter-packs/sources/customer-support-excellence/COMPANY.md +7 -0
- package/src/assets/starter-packs/sources/customer-support-excellence/README.md +3 -0
- package/src/assets/starter-packs/sources/customer-support-excellence/agents/founder-ceo/HEARTBEAT.md +5 -0
- package/src/assets/starter-packs/sources/customer-support-excellence/agents/support-lead/HEARTBEAT.md +5 -0
- package/src/assets/starter-packs/sources/customer-support-excellence/agents/support-specialist/HEARTBEAT.md +5 -0
- package/src/assets/starter-packs/sources/customer-support-excellence/projects/knowledge-base/PROJECT.md +7 -0
- package/src/assets/starter-packs/sources/customer-support-excellence/projects/quality/PROJECT.md +7 -0
- package/src/assets/starter-packs/sources/customer-support-excellence/projects/queue/PROJECT.md +7 -0
- package/src/assets/starter-packs/sources/customer-support-excellence/skills/kb-article-skeleton/SKILL.md +17 -0
- package/src/assets/starter-packs/sources/customer-support-excellence/skills/ticket-response-playbook/SKILL.md +15 -0
- package/src/assets/starter-packs/sources/customer-support-excellence/tasks/daily-queue-standup/TASK.md +11 -0
- package/src/assets/starter-packs/sources/customer-support-excellence/tasks/kb-gap-sweep/TASK.md +11 -0
- package/src/assets/starter-packs/sources/devrel-growth/.bopo.yaml +128 -0
- package/src/assets/starter-packs/sources/devrel-growth/COMPANY.md +7 -0
- package/src/assets/starter-packs/sources/devrel-growth/README.md +3 -0
- package/src/assets/starter-packs/sources/devrel-growth/agents/content-producer/HEARTBEAT.md +5 -0
- package/src/assets/starter-packs/sources/devrel-growth/agents/devrel-lead/HEARTBEAT.md +5 -0
- package/src/assets/starter-packs/sources/devrel-growth/agents/founder-ceo/HEARTBEAT.md +5 -0
- package/src/assets/starter-packs/sources/devrel-growth/projects/community/PROJECT.md +7 -0
- package/src/assets/starter-packs/sources/devrel-growth/projects/docs-education/PROJECT.md +7 -0
- package/src/assets/starter-packs/sources/devrel-growth/projects/partners/PROJECT.md +7 -0
- package/src/assets/starter-packs/sources/devrel-growth/skills/changelog-to-post/SKILL.md +14 -0
- package/src/assets/starter-packs/sources/devrel-growth/skills/tutorial-outline/SKILL.md +15 -0
- package/src/assets/starter-packs/sources/devrel-growth/tasks/community-health-review/TASK.md +11 -0
- package/src/assets/starter-packs/sources/devrel-growth/tasks/weekly-content-plan/TASK.md +11 -0
- package/src/assets/starter-packs/sources/product-delivery-trio/.bopo.yaml +138 -0
- package/src/assets/starter-packs/sources/product-delivery-trio/COMPANY.md +7 -0
- package/src/assets/starter-packs/sources/product-delivery-trio/README.md +9 -0
- package/src/assets/starter-packs/sources/product-delivery-trio/agents/engineer-ic/HEARTBEAT.md +5 -0
- package/src/assets/starter-packs/sources/product-delivery-trio/agents/founder-ceo/HEARTBEAT.md +6 -0
- package/src/assets/starter-packs/sources/product-delivery-trio/agents/product-lead/HEARTBEAT.md +5 -0
- package/src/assets/starter-packs/sources/product-delivery-trio/projects/delivery/PROJECT.md +7 -0
- package/src/assets/starter-packs/sources/product-delivery-trio/projects/quality/PROJECT.md +7 -0
- package/src/assets/starter-packs/sources/product-delivery-trio/projects/strategy/PROJECT.md +7 -0
- package/src/assets/starter-packs/sources/product-delivery-trio/skills/issue-triage/SKILL.md +21 -0
- package/src/assets/starter-packs/sources/product-delivery-trio/skills/rca-template/SKILL.md +16 -0
- package/src/assets/starter-packs/sources/product-delivery-trio/tasks/release-hygiene/TASK.md +11 -0
- package/src/assets/starter-packs/sources/product-delivery-trio/tasks/weekly-leadership-sync/TASK.md +11 -0
- package/src/assets/starter-packs/sources/revenue-gtm-b2b/.bopo.yaml +132 -0
- package/src/assets/starter-packs/sources/revenue-gtm-b2b/COMPANY.md +7 -0
- package/src/assets/starter-packs/sources/revenue-gtm-b2b/README.md +3 -0
- package/src/assets/starter-packs/sources/revenue-gtm-b2b/agents/founder-ceo/HEARTBEAT.md +5 -0
- package/src/assets/starter-packs/sources/revenue-gtm-b2b/agents/gtm-lead/HEARTBEAT.md +5 -0
- package/src/assets/starter-packs/sources/revenue-gtm-b2b/agents/pipeline-owner/HEARTBEAT.md +5 -0
- package/src/assets/starter-packs/sources/revenue-gtm-b2b/projects/customer-success/PROJECT.md +7 -0
- package/src/assets/starter-packs/sources/revenue-gtm-b2b/projects/deals/PROJECT.md +7 -0
- package/src/assets/starter-packs/sources/revenue-gtm-b2b/projects/pipeline/PROJECT.md +7 -0
- package/src/assets/starter-packs/sources/revenue-gtm-b2b/skills/discovery-call-brief/SKILL.md +14 -0
- package/src/assets/starter-packs/sources/revenue-gtm-b2b/skills/icp-scoring/SKILL.md +20 -0
- package/src/assets/starter-packs/sources/revenue-gtm-b2b/tasks/pipeline-hygiene/TASK.md +11 -0
- package/src/assets/starter-packs/sources/revenue-gtm-b2b/tasks/weekly-revenue-review/TASK.md +11 -0
- package/src/lib/agent-issue-permissions.ts +56 -0
- package/src/lib/builtin-bopo-skills/bopodev-control-plane.md +7 -0
- package/src/realtime/office-space.ts +7 -0
- package/src/routes/agents.ts +23 -1
- package/src/routes/assistant.ts +40 -1
- package/src/routes/companies.ts +227 -15
- package/src/routes/issues.ts +48 -0
- package/src/routes/plugins.ts +393 -103
- package/src/routes/{loops.ts → routines.ts} +72 -76
- package/src/scripts/onboard-seed.ts +2 -0
- package/src/server.ts +3 -1
- package/src/services/company-assistant-context-snapshot.ts +4 -2
- package/src/services/company-assistant-service.ts +17 -15
- package/src/services/company-file-archive-service.ts +56 -3
- package/src/services/company-file-import-service.ts +210 -31
- package/src/services/governance-service.ts +58 -3
- package/src/services/heartbeat-service/heartbeat-run.ts +7 -0
- package/src/services/plugin-artifact-installer.ts +115 -0
- package/src/services/plugin-artifact-store.ts +28 -0
- package/src/services/plugin-capability-policy.ts +31 -0
- package/src/services/plugin-jobs-service.ts +74 -0
- package/src/services/plugin-manifest-loader.ts +78 -3
- package/src/services/plugin-rpc.ts +102 -0
- package/src/services/plugin-runtime.ts +240 -209
- package/src/services/plugin-worker-host.ts +167 -0
- package/src/services/starter-pack-registry.ts +68 -0
- package/src/services/template-apply-service.ts +3 -1
- package/src/services/template-catalog.ts +29 -0
- package/src/services/work-loop-service/work-loop-service.ts +18 -18
- package/src/shutdown/graceful-shutdown.ts +3 -1
- package/src/worker/scheduler.ts +21 -1
- package/src/services/company-export-service.ts +0 -63
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bopodev-api",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.35",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"files": [
|
|
@@ -21,9 +21,9 @@
|
|
|
21
21
|
"ws": "^8.19.0",
|
|
22
22
|
"yaml": "^2.8.3",
|
|
23
23
|
"zod": "^4.1.5",
|
|
24
|
-
"bopodev-agent-sdk": "0.1.
|
|
25
|
-
"bopodev-db": "0.1.
|
|
26
|
-
"bopodev-contracts": "0.1.
|
|
24
|
+
"bopodev-agent-sdk": "0.1.35",
|
|
25
|
+
"bopodev-db": "0.1.35",
|
|
26
|
+
"bopodev-contracts": "0.1.35"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"@types/archiver": "^7.0.0",
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"db:init": "tsx src/scripts/db-init.ts",
|
|
41
41
|
"onboard:seed": "tsx src/scripts/onboard-seed.ts",
|
|
42
42
|
"workspaces:backfill": "tsx src/scripts/backfill-project-workspaces.ts",
|
|
43
|
-
"build": "tsc -p tsconfig.json",
|
|
43
|
+
"build": "tsc -p tsconfig.json && node ./scripts/copy-assets.mjs",
|
|
44
44
|
"lint": "tsc -p tsconfig.json --noEmit",
|
|
45
45
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
46
46
|
}
|
package/src/app.ts
CHANGED
|
@@ -11,7 +11,7 @@ import { createGoalsRouter } from "./routes/goals";
|
|
|
11
11
|
import { createGovernanceRouter } from "./routes/governance";
|
|
12
12
|
import { createHeartbeatRouter } from "./routes/heartbeats";
|
|
13
13
|
import { createIssuesRouter } from "./routes/issues";
|
|
14
|
-
import {
|
|
14
|
+
import { createRoutinesRouter } from "./routes/routines";
|
|
15
15
|
import { createObservabilityRouter } from "./routes/observability";
|
|
16
16
|
import { createProjectsRouter } from "./routes/projects";
|
|
17
17
|
import { createPluginsRouter } from "./routes/plugins";
|
|
@@ -67,7 +67,9 @@ export function createApp(ctx: AppContext) {
|
|
|
67
67
|
app.use("/companies", createCompaniesRouter(ctx));
|
|
68
68
|
app.use("/projects", createProjectsRouter(ctx));
|
|
69
69
|
app.use("/issues", createIssuesRouter(ctx));
|
|
70
|
-
|
|
70
|
+
const routinesRouter = createRoutinesRouter(ctx);
|
|
71
|
+
app.use("/routines", routinesRouter);
|
|
72
|
+
app.use("/loops", routinesRouter);
|
|
71
73
|
app.use("/goals", createGoalsRouter(ctx));
|
|
72
74
|
app.use("/agents", createAgentsRouter(ctx));
|
|
73
75
|
app.use("/governance", createGovernanceRouter(ctx));
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
schema: bopo/company-export/v1
|
|
2
|
+
exportedAt: "2026-03-31T12:00:00.000Z"
|
|
3
|
+
company:
|
|
4
|
+
name: Customer Support Excellence
|
|
5
|
+
mission: Resolve issues fast, grow self-serve, and protect customer trust.
|
|
6
|
+
slug: customer-support-excellence
|
|
7
|
+
projects:
|
|
8
|
+
queue:
|
|
9
|
+
name: Support Queue
|
|
10
|
+
description: Triage, SLA, escalation, and case quality.
|
|
11
|
+
status: active
|
|
12
|
+
knowledge-base:
|
|
13
|
+
name: Knowledge Base
|
|
14
|
+
description: Help articles, macros, and searchable answers.
|
|
15
|
+
status: active
|
|
16
|
+
quality:
|
|
17
|
+
name: Quality & Coaching
|
|
18
|
+
description: QA, rubrics, training, and voice consistency.
|
|
19
|
+
status: active
|
|
20
|
+
agents:
|
|
21
|
+
founder-ceo:
|
|
22
|
+
name: Founder CEO
|
|
23
|
+
role: CEO
|
|
24
|
+
roleKey: ceo
|
|
25
|
+
title: Founder CEO
|
|
26
|
+
capabilities: Owns customer trust, staffing trade-offs, and policy exceptions.
|
|
27
|
+
providerType: shell
|
|
28
|
+
heartbeatCron: "*/15 * * * *"
|
|
29
|
+
monthlyBudgetUsd: 200
|
|
30
|
+
canHireAgents: true
|
|
31
|
+
canAssignAgents: true
|
|
32
|
+
canCreateIssues: true
|
|
33
|
+
bootstrapPrompt: |
|
|
34
|
+
You are Founder CEO accountable for customer experience.
|
|
35
|
+
|
|
36
|
+
Principles:
|
|
37
|
+
- Support is a product surface: speed, clarity, and empathy matter.
|
|
38
|
+
- Deflect with docs only when accuracy is high; never optimize metrics by hiding humans behind bad KB.
|
|
39
|
+
|
|
40
|
+
Cadence:
|
|
41
|
+
- Review SLA breaches, top drivers of contact, and churn-risk tickets weekly.
|
|
42
|
+
- Align Support Lead on hiring, tooling, and policy (refunds, credits, edge cases).
|
|
43
|
+
|
|
44
|
+
Escalate: legal threats, security incidents, press-risk situations—immediate routing.
|
|
45
|
+
|
|
46
|
+
Output: volume trend, customer impact decision, owner, due date, risks.
|
|
47
|
+
support-lead:
|
|
48
|
+
name: Support Lead
|
|
49
|
+
role: Support Manager
|
|
50
|
+
roleKey: general
|
|
51
|
+
title: Support Lead
|
|
52
|
+
capabilities: Runs queue health, staffing, escalations, and KB roadmap with Support Specialist.
|
|
53
|
+
managerSlug: founder-ceo
|
|
54
|
+
providerType: shell
|
|
55
|
+
heartbeatCron: "*/20 * * * *"
|
|
56
|
+
monthlyBudgetUsd: 180
|
|
57
|
+
canHireAgents: false
|
|
58
|
+
canAssignAgents: true
|
|
59
|
+
canCreateIssues: true
|
|
60
|
+
bootstrapPrompt: |
|
|
61
|
+
You are Support Lead.
|
|
62
|
+
|
|
63
|
+
Operating rules:
|
|
64
|
+
- Queue discipline: oldest critical first; no ticket without owner and status.
|
|
65
|
+
- Escalation path to engineering includes repro, impact, and customer expectation.
|
|
66
|
+
- Weekly: categorize reasons for contact; feed top three into KB or product issues.
|
|
67
|
+
|
|
68
|
+
Coaching:
|
|
69
|
+
- Sample tickets against rubric; give specific feedback tied to customer outcome.
|
|
70
|
+
|
|
71
|
+
Metrics: SLA hit rate, first response time, reopen rate, CSAT if available.
|
|
72
|
+
support-specialist:
|
|
73
|
+
name: Support Specialist
|
|
74
|
+
role: Support Specialist
|
|
75
|
+
roleKey: general
|
|
76
|
+
title: Support Specialist
|
|
77
|
+
capabilities: Resolves tier-1/2 tickets, drafts KB articles, and flags product bugs.
|
|
78
|
+
managerSlug: support-lead
|
|
79
|
+
providerType: shell
|
|
80
|
+
heartbeatCron: "*/15 * * * *"
|
|
81
|
+
monthlyBudgetUsd: 160
|
|
82
|
+
canHireAgents: false
|
|
83
|
+
canAssignAgents: true
|
|
84
|
+
canCreateIssues: true
|
|
85
|
+
bootstrapPrompt: |
|
|
86
|
+
You are Support Specialist.
|
|
87
|
+
|
|
88
|
+
Standards:
|
|
89
|
+
- Acknowledge quickly; solve or set clear expectation for next update.
|
|
90
|
+
- One issue per ticket when possible; link related cases.
|
|
91
|
+
- KB drafts: problem, steps, screenshots or examples, when to escalate.
|
|
92
|
+
|
|
93
|
+
Tone: calm, specific, no jargon unless the customer used it first.
|
|
94
|
+
goals:
|
|
95
|
+
customer-trust:
|
|
96
|
+
level: company
|
|
97
|
+
title: Meet response and resolution commitments while improving self-serve accuracy.
|
|
98
|
+
status: active
|
|
99
|
+
queue-sla:
|
|
100
|
+
level: project
|
|
101
|
+
projectSlug: queue
|
|
102
|
+
parentGoalSlug: customer-trust
|
|
103
|
+
title: Critical and high-priority SLAs met with transparent customer communication.
|
|
104
|
+
status: active
|
|
105
|
+
kb-coverage:
|
|
106
|
+
level: project
|
|
107
|
+
projectSlug: knowledge-base
|
|
108
|
+
parentGoalSlug: customer-trust
|
|
109
|
+
title: Top volume drivers have maintained articles linked from replies.
|
|
110
|
+
status: active
|
|
111
|
+
routines:
|
|
112
|
+
daily-queue-standup:
|
|
113
|
+
title: Daily queue standup — volume, SLA risk, escalations
|
|
114
|
+
description: Review backlog age, SLA clocks, and stuck tickets; assign swarms if needed.
|
|
115
|
+
projectSlug: queue
|
|
116
|
+
assigneeAgentSlug: support-lead
|
|
117
|
+
triggers:
|
|
118
|
+
- cronExpression: "0 13 * * 1-5"
|
|
119
|
+
timezone: UTC
|
|
120
|
+
label: Weekday standup
|
|
121
|
+
kb-gap-sweep:
|
|
122
|
+
title: KB gap sweep — top reasons for contact
|
|
123
|
+
description: Identify missing or stale articles for top drivers; open KB issues with outlines.
|
|
124
|
+
projectSlug: knowledge-base
|
|
125
|
+
assigneeAgentSlug: support-specialist
|
|
126
|
+
triggers:
|
|
127
|
+
- cronExpression: "0 10 * * 2"
|
|
128
|
+
timezone: UTC
|
|
129
|
+
label: Tuesday KB
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Customer Support Excellence"
|
|
3
|
+
schema: bopo/company-md/v1
|
|
4
|
+
slug: "customer-support-excellence"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Resolve issues fast, grow self-serve, and protect customer trust. Queue for live workload; Knowledge Base for deflection; Quality for coaching and consistency.
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: kb-article-skeleton
|
|
3
|
+
description: >
|
|
4
|
+
Skeleton for a help-center article that deflects repeat tickets.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# KB article skeleton
|
|
8
|
+
|
|
9
|
+
**Title** — How to [verb] [object] (user language)
|
|
10
|
+
|
|
11
|
+
1. **Who this is for** — Plan, role, or scenario.
|
|
12
|
+
2. **Before you start** — Prereqs, permissions.
|
|
13
|
+
3. **Steps** — Numbered, one action per step, screenshots where UI-heavy.
|
|
14
|
+
4. **Troubleshooting** — Top 2–3 errors and fixes.
|
|
15
|
+
5. **Still stuck?** — What to send support (screenshot, account id, etc.)
|
|
16
|
+
|
|
17
|
+
Review date in footer; owner team name.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ticket-response-playbook
|
|
3
|
+
description: >
|
|
4
|
+
Structure support replies for clarity, empathy, and next steps.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Ticket response playbook
|
|
8
|
+
|
|
9
|
+
1. **Acknowledge** — Restate the issue in plain language.
|
|
10
|
+
2. **Context** — What you checked (account, logs, known issue).
|
|
11
|
+
3. **Resolution or path** — Fix now, or dated next step with owner.
|
|
12
|
+
4. **Education** — Link KB if helpful; avoid dumping irrelevant docs.
|
|
13
|
+
5. **Close loop** — Confirm satisfaction or invite reply if unresolved.
|
|
14
|
+
|
|
15
|
+
Avoid internal ticket IDs in customer-visible text unless they asked.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Daily queue standup — volume, SLA risk, escalations"
|
|
3
|
+
assignee: "support-lead"
|
|
4
|
+
project: "queue"
|
|
5
|
+
recurring: true
|
|
6
|
+
cronExpression: "0 13 * * 1-5"
|
|
7
|
+
timezone: "UTC"
|
|
8
|
+
label: "Weekday standup"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Review backlog age, SLA risk, stuck tickets; assign owners for anything >24h idle.
|
package/src/assets/starter-packs/sources/customer-support-excellence/tasks/kb-gap-sweep/TASK.md
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "KB gap sweep — top reasons for contact"
|
|
3
|
+
assignee: "support-specialist"
|
|
4
|
+
project: "knowledge-base"
|
|
5
|
+
recurring: true
|
|
6
|
+
cronExpression: "0 10 * * 2"
|
|
7
|
+
timezone: "UTC"
|
|
8
|
+
label: "Tuesday KB"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
List top drivers lacking articles; draft outlines or update stale pages.
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
schema: bopo/company-export/v1
|
|
2
|
+
exportedAt: "2026-03-31T12:00:00.000Z"
|
|
3
|
+
company:
|
|
4
|
+
name: DevRel & Growth
|
|
5
|
+
mission: Grow adoption through docs, community, and partner-ready narratives.
|
|
6
|
+
slug: devrel-growth
|
|
7
|
+
projects:
|
|
8
|
+
docs-education:
|
|
9
|
+
name: Docs & Education
|
|
10
|
+
description: Tutorials, references, onboarding paths, and examples.
|
|
11
|
+
status: active
|
|
12
|
+
community:
|
|
13
|
+
name: Community
|
|
14
|
+
description: Forums, events, advocates, and contributor experience.
|
|
15
|
+
status: active
|
|
16
|
+
partners:
|
|
17
|
+
name: Partners & Ecosystem
|
|
18
|
+
description: Integrations, co-marketing, and technical partner enablement.
|
|
19
|
+
status: planned
|
|
20
|
+
agents:
|
|
21
|
+
founder-ceo:
|
|
22
|
+
name: Founder CEO
|
|
23
|
+
role: CEO
|
|
24
|
+
roleKey: ceo
|
|
25
|
+
title: Founder CEO
|
|
26
|
+
capabilities: Sets narrative, prioritizes channels, and aligns DevRel with product and revenue.
|
|
27
|
+
providerType: shell
|
|
28
|
+
heartbeatCron: "*/15 * * * *"
|
|
29
|
+
monthlyBudgetUsd: 200
|
|
30
|
+
canHireAgents: true
|
|
31
|
+
canAssignAgents: true
|
|
32
|
+
canCreateIssues: true
|
|
33
|
+
bootstrapPrompt: |
|
|
34
|
+
You are Founder CEO for a developer-facing product.
|
|
35
|
+
|
|
36
|
+
Priorities:
|
|
37
|
+
- Developer trust: accurate docs, fast answers, honest roadmaps.
|
|
38
|
+
- One flagship narrative per quarter; avoid scattered initiatives.
|
|
39
|
+
|
|
40
|
+
Cadence:
|
|
41
|
+
- Week start: content + community metrics vs goals; cut lowest ROI.
|
|
42
|
+
- Partner or launch commitments need explicit owners and dates.
|
|
43
|
+
|
|
44
|
+
Escalate: misleading claims, breaking API promises, or community moderation edge cases.
|
|
45
|
+
|
|
46
|
+
Output: metric, decision, owner, due date, risks.
|
|
47
|
+
devrel-lead:
|
|
48
|
+
name: DevRel Lead
|
|
49
|
+
role: Developer Advocate
|
|
50
|
+
roleKey: general
|
|
51
|
+
title: DevRel Lead
|
|
52
|
+
capabilities: Owns developer journey from first touch to successful integration.
|
|
53
|
+
managerSlug: founder-ceo
|
|
54
|
+
providerType: shell
|
|
55
|
+
heartbeatCron: "*/20 * * * *"
|
|
56
|
+
monthlyBudgetUsd: 190
|
|
57
|
+
canHireAgents: false
|
|
58
|
+
canAssignAgents: true
|
|
59
|
+
canCreateIssues: true
|
|
60
|
+
bootstrapPrompt: |
|
|
61
|
+
You are DevRel Lead. You shorten time-to-first-success.
|
|
62
|
+
|
|
63
|
+
Focus:
|
|
64
|
+
- Docs that answer “jobs to be done” with copy-pasteable examples.
|
|
65
|
+
- Sample apps and error messages that teach, not frustrate.
|
|
66
|
+
- Community presence: acknowledge issues, route bugs, celebrate contributors.
|
|
67
|
+
|
|
68
|
+
Metrics: activation funnel steps, doc page helpful votes, time-to-first-API-call (if measured).
|
|
69
|
+
|
|
70
|
+
Never promise dates not aligned with product; use public roadmap language carefully.
|
|
71
|
+
content-producer:
|
|
72
|
+
name: Technical Content Producer
|
|
73
|
+
role: Technical Writer
|
|
74
|
+
roleKey: general
|
|
75
|
+
title: Technical Content Producer
|
|
76
|
+
capabilities: Produces tutorials, posts, and changelogs aligned to release cadence.
|
|
77
|
+
managerSlug: devrel-lead
|
|
78
|
+
providerType: shell
|
|
79
|
+
heartbeatCron: "*/30 * * * *"
|
|
80
|
+
monthlyBudgetUsd: 170
|
|
81
|
+
canHireAgents: false
|
|
82
|
+
canAssignAgents: true
|
|
83
|
+
canCreateIssues: true
|
|
84
|
+
bootstrapPrompt: |
|
|
85
|
+
You are Technical Content Producer for developers.
|
|
86
|
+
|
|
87
|
+
Standards:
|
|
88
|
+
- Lead with outcome; code blocks must run or be marked pseudo.
|
|
89
|
+
- Changelog entries: user impact first, internals second.
|
|
90
|
+
- Repurpose one flagship piece into shorter snippets per channel guidelines.
|
|
91
|
+
|
|
92
|
+
Coordinate with DevRel on review for technical accuracy before publish.
|
|
93
|
+
goals:
|
|
94
|
+
developer-adoption:
|
|
95
|
+
level: company
|
|
96
|
+
title: Improve measurable activation and sustained usage among target developers.
|
|
97
|
+
status: active
|
|
98
|
+
docs-clarity:
|
|
99
|
+
level: project
|
|
100
|
+
projectSlug: docs-education
|
|
101
|
+
parentGoalSlug: developer-adoption
|
|
102
|
+
title: Top journeys have tested docs and a clear happy path to first success.
|
|
103
|
+
status: active
|
|
104
|
+
community-health:
|
|
105
|
+
level: project
|
|
106
|
+
projectSlug: community
|
|
107
|
+
parentGoalSlug: developer-adoption
|
|
108
|
+
title: Community questions get a first response within SLA with correct routing.
|
|
109
|
+
status: active
|
|
110
|
+
routines:
|
|
111
|
+
weekly-content-plan:
|
|
112
|
+
title: Weekly content and docs plan
|
|
113
|
+
description: Queue tutorials, doc fixes, and changelog work for the week.
|
|
114
|
+
projectSlug: docs-education
|
|
115
|
+
assigneeAgentSlug: devrel-lead
|
|
116
|
+
triggers:
|
|
117
|
+
- cronExpression: "0 9 * * 1"
|
|
118
|
+
timezone: UTC
|
|
119
|
+
label: Monday content
|
|
120
|
+
community-health-review:
|
|
121
|
+
title: Community health review
|
|
122
|
+
description: Triage open threads, moderation backlog, and advocate follow-ups.
|
|
123
|
+
projectSlug: community
|
|
124
|
+
assigneeAgentSlug: founder-ceo
|
|
125
|
+
triggers:
|
|
126
|
+
- cronExpression: "0 15 * * 5"
|
|
127
|
+
timezone: UTC
|
|
128
|
+
label: Friday community
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "DevRel & Growth"
|
|
3
|
+
schema: bopo/company-md/v1
|
|
4
|
+
slug: "devrel-growth"
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Grow adoption through docs, community, and partner-ready narratives. Docs & Education owns the learning path; Community owns conversation and advocates; Partners holds ecosystem plays.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: changelog-to-post
|
|
3
|
+
description: >
|
|
4
|
+
Turn release notes into a short public post without overpromising.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Changelog to post
|
|
8
|
+
|
|
9
|
+
1. Pick **one** user-visible headline (not ten bullet screams).
|
|
10
|
+
2. Lead with benefit; link to docs for depth.
|
|
11
|
+
3. Credit contributors and breaking changes clearly.
|
|
12
|
+
4. CTA: upgrade path, migration link, or feedback channel.
|
|
13
|
+
|
|
14
|
+
Avoid internal jargon; match voice guidelines.
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: tutorial-outline
|
|
3
|
+
description: >
|
|
4
|
+
Structure a technical tutorial from problem to working outcome.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Tutorial outline
|
|
8
|
+
|
|
9
|
+
1. **Audience & prerequisite** — Who and what they already know.
|
|
10
|
+
2. **Outcome** — Runnable end state in one sentence.
|
|
11
|
+
3. **Steps** — Numbered; each step verifiable.
|
|
12
|
+
4. **Failure paths** — Common errors and fixes.
|
|
13
|
+
5. **Next steps** — Where to go after success.
|
|
14
|
+
|
|
15
|
+
Prefer one happy path per tutorial; split advanced topics.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Community health review"
|
|
3
|
+
assignee: "founder-ceo"
|
|
4
|
+
project: "community"
|
|
5
|
+
recurring: true
|
|
6
|
+
cronExpression: "0 15 * * 5"
|
|
7
|
+
timezone: "UTC"
|
|
8
|
+
label: "Friday community"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Review open threads, SLA breaches, and moderation queue; escalate product bugs with repro steps.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Weekly content and docs plan"
|
|
3
|
+
assignee: "devrel-lead"
|
|
4
|
+
project: "docs-education"
|
|
5
|
+
recurring: true
|
|
6
|
+
cronExpression: "0 9 * * 1"
|
|
7
|
+
timezone: "UTC"
|
|
8
|
+
label: "Monday content"
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
Prioritize doc gaps, tutorials, and changelog items for the week; assign owners.
|