opencastle 0.6.0 → 0.8.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/README.md +8 -7
- package/dist/cli/adapters/claude-code.d.ts.map +1 -1
- package/dist/cli/adapters/claude-code.js +30 -3
- package/dist/cli/adapters/claude-code.js.map +1 -1
- package/dist/cli/adapters/cursor.d.ts.map +1 -1
- package/dist/cli/adapters/cursor.js +27 -3
- package/dist/cli/adapters/cursor.js.map +1 -1
- package/dist/cli/adapters/opencode.d.ts +20 -0
- package/dist/cli/adapters/opencode.d.ts.map +1 -0
- package/dist/cli/adapters/opencode.js +265 -0
- package/dist/cli/adapters/opencode.js.map +1 -0
- package/dist/cli/adapters/vscode.d.ts.map +1 -1
- package/dist/cli/adapters/vscode.js +37 -6
- package/dist/cli/adapters/vscode.js.map +1 -1
- package/dist/cli/copy.d.ts +12 -0
- package/dist/cli/copy.d.ts.map +1 -1
- package/dist/cli/copy.js +27 -0
- package/dist/cli/copy.js.map +1 -1
- package/dist/cli/detect.d.ts +1 -1
- package/dist/cli/detect.js +21 -15
- package/dist/cli/detect.js.map +1 -1
- package/dist/cli/init.d.ts.map +1 -1
- package/dist/cli/init.js +143 -94
- package/dist/cli/init.js.map +1 -1
- package/dist/cli/manifest.d.ts +1 -1
- package/dist/cli/manifest.d.ts.map +1 -1
- package/dist/cli/manifest.js +2 -1
- package/dist/cli/manifest.js.map +1 -1
- package/dist/cli/mcp.d.ts +6 -6
- package/dist/cli/mcp.d.ts.map +1 -1
- package/dist/cli/mcp.js +104 -33
- package/dist/cli/mcp.js.map +1 -1
- package/dist/cli/prompt.d.ts +19 -0
- package/dist/cli/prompt.d.ts.map +1 -1
- package/dist/cli/prompt.js +143 -0
- package/dist/cli/prompt.js.map +1 -1
- package/dist/cli/stack-config.d.ts +23 -0
- package/dist/cli/stack-config.d.ts.map +1 -1
- package/dist/cli/stack-config.js +128 -124
- package/dist/cli/stack-config.js.map +1 -1
- package/dist/cli/types.d.ts +26 -9
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/cli/types.js +26 -1
- package/dist/cli/types.js.map +1 -1
- package/dist/cli/update.d.ts.map +1 -1
- package/dist/cli/update.js +60 -19
- package/dist/cli/update.js.map +1 -1
- package/dist/orchestrator/plugins/chrome-devtools/config.d.ts +3 -0
- package/dist/orchestrator/plugins/chrome-devtools/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/chrome-devtools/config.js +28 -0
- package/dist/orchestrator/plugins/chrome-devtools/config.js.map +1 -0
- package/dist/orchestrator/plugins/contentful/config.d.ts +3 -0
- package/dist/orchestrator/plugins/contentful/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/contentful/config.js +48 -0
- package/dist/orchestrator/plugins/contentful/config.js.map +1 -0
- package/dist/orchestrator/plugins/convex/config.d.ts +3 -0
- package/dist/orchestrator/plugins/convex/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/convex/config.js +32 -0
- package/dist/orchestrator/plugins/convex/config.js.map +1 -0
- package/dist/orchestrator/plugins/index.d.ts +28 -0
- package/dist/orchestrator/plugins/index.d.ts.map +1 -0
- package/dist/orchestrator/plugins/index.js +63 -0
- package/dist/orchestrator/plugins/index.js.map +1 -0
- package/dist/orchestrator/plugins/jira/config.d.ts +3 -0
- package/dist/orchestrator/plugins/jira/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/jira/config.js +29 -0
- package/dist/orchestrator/plugins/jira/config.js.map +1 -0
- package/dist/orchestrator/plugins/linear/config.d.ts +3 -0
- package/dist/orchestrator/plugins/linear/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/linear/config.js +33 -0
- package/dist/orchestrator/plugins/linear/config.js.map +1 -0
- package/dist/orchestrator/plugins/nx/config.d.ts +3 -0
- package/dist/orchestrator/plugins/nx/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/nx/config.js +28 -0
- package/dist/orchestrator/plugins/nx/config.js.map +1 -0
- package/dist/orchestrator/plugins/sanity/config.d.ts +3 -0
- package/dist/orchestrator/plugins/sanity/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/sanity/config.js +43 -0
- package/dist/orchestrator/plugins/sanity/config.js.map +1 -0
- package/dist/orchestrator/plugins/slack/config.d.ts +3 -0
- package/dist/orchestrator/plugins/slack/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/slack/config.js +34 -0
- package/dist/orchestrator/plugins/slack/config.js.map +1 -0
- package/dist/orchestrator/plugins/strapi/config.d.ts +3 -0
- package/dist/orchestrator/plugins/strapi/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/strapi/config.js +40 -0
- package/dist/orchestrator/plugins/strapi/config.js.map +1 -0
- package/dist/orchestrator/plugins/supabase/config.d.ts +3 -0
- package/dist/orchestrator/plugins/supabase/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/supabase/config.js +33 -0
- package/dist/orchestrator/plugins/supabase/config.js.map +1 -0
- package/dist/orchestrator/plugins/teams/config.d.ts +3 -0
- package/dist/orchestrator/plugins/teams/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/teams/config.js +43 -0
- package/dist/orchestrator/plugins/teams/config.js.map +1 -0
- package/dist/orchestrator/plugins/types.d.ts +61 -0
- package/dist/orchestrator/plugins/types.d.ts.map +1 -0
- package/dist/orchestrator/plugins/types.js +2 -0
- package/dist/orchestrator/plugins/types.js.map +1 -0
- package/dist/orchestrator/plugins/vercel/config.d.ts +3 -0
- package/dist/orchestrator/plugins/vercel/config.d.ts.map +1 -0
- package/dist/orchestrator/plugins/vercel/config.js +32 -0
- package/dist/orchestrator/plugins/vercel/config.js.map +1 -0
- package/package.json +1 -1
- package/src/cli/adapters/claude-code.ts +36 -4
- package/src/cli/adapters/cursor.ts +42 -4
- package/src/cli/adapters/opencode.ts +320 -0
- package/src/cli/adapters/vscode.ts +40 -8
- package/src/cli/copy.ts +32 -0
- package/src/cli/detect.ts +17 -17
- package/src/cli/init.ts +157 -99
- package/src/cli/manifest.ts +2 -1
- package/src/cli/mcp.ts +129 -50
- package/src/cli/prompt.ts +176 -0
- package/src/cli/stack-config.ts +174 -145
- package/src/cli/types.ts +39 -8
- package/src/cli/update.ts +71 -20
- package/src/dashboard/node_modules/.vite/deps/_metadata.json +6 -6
- package/src/orchestrator/agent-workflows/README.md +1 -1
- package/src/orchestrator/agent-workflows/bug-fix.md +12 -12
- package/src/orchestrator/agent-workflows/data-pipeline.md +21 -20
- package/src/orchestrator/agent-workflows/database-migration.md +11 -11
- package/src/orchestrator/agent-workflows/feature-implementation.md +19 -12
- package/src/orchestrator/agent-workflows/performance-optimization.md +6 -6
- package/src/orchestrator/agent-workflows/refactoring.md +10 -10
- package/src/orchestrator/agent-workflows/schema-changes.md +8 -8
- package/src/orchestrator/agent-workflows/security-audit.md +12 -12
- package/src/orchestrator/agent-workflows/shared-delivery-phase.md +5 -5
- package/src/orchestrator/agents/api-designer.agent.md +1 -1
- package/src/orchestrator/agents/architect.agent.md +2 -2
- package/src/orchestrator/agents/content-engineer.agent.md +3 -3
- package/src/orchestrator/agents/copywriter.agent.md +2 -2
- package/src/orchestrator/agents/data-expert.agent.md +6 -6
- package/src/orchestrator/agents/database-engineer.agent.md +3 -3
- package/src/orchestrator/agents/developer.agent.md +4 -4
- package/src/orchestrator/agents/devops-expert.agent.md +5 -5
- package/src/orchestrator/agents/documentation-writer.agent.md +1 -1
- package/src/orchestrator/agents/performance-expert.agent.md +2 -2
- package/src/orchestrator/agents/release-manager.agent.md +4 -4
- package/src/orchestrator/agents/researcher.agent.md +3 -3
- package/src/orchestrator/agents/reviewer.agent.md +1 -1
- package/src/orchestrator/agents/security-expert.agent.md +4 -4
- package/src/orchestrator/agents/seo-specialist.agent.md +2 -2
- package/src/orchestrator/agents/team-lead.agent.md +56 -38
- package/src/orchestrator/agents/testing-expert.agent.md +5 -5
- package/src/orchestrator/agents/ui-ux-expert.agent.md +6 -6
- package/src/orchestrator/copilot-instructions.md +1 -1
- package/src/orchestrator/customizations/AGENT-FAILURES.md +1 -1
- package/src/orchestrator/customizations/AGENT-PERFORMANCE.md +12 -12
- package/src/orchestrator/customizations/DISPUTES.md +5 -5
- package/src/orchestrator/customizations/KNOWN-ISSUES.md +30 -0
- package/src/orchestrator/customizations/LESSONS-LEARNED.md +7 -7
- package/src/orchestrator/customizations/README.md +5 -2
- package/src/orchestrator/customizations/agents/agent-registry.md +1 -1
- package/src/orchestrator/customizations/agents/skill-matrix.md +12 -7
- package/src/orchestrator/customizations/logs/README.md +1 -1
- package/src/orchestrator/customizations/project/decisions.md +31 -0
- package/src/orchestrator/customizations/project/docs-structure.md +16 -5
- package/src/orchestrator/customizations/project/roadmap.md +24 -0
- package/src/orchestrator/customizations/project/tracker-config.md +1 -1
- package/src/orchestrator/customizations/stack/cms-config.md +1 -1
- package/src/orchestrator/customizations/stack/notifications-config.md +1 -1
- package/src/orchestrator/instructions/ai-optimization.instructions.md +2 -2
- package/src/orchestrator/instructions/general.instructions.md +102 -40
- package/src/orchestrator/{skills/browser-testing → plugins/chrome-devtools}/SKILL.md +1 -1
- package/src/orchestrator/plugins/chrome-devtools/config.ts +29 -0
- package/src/orchestrator/{skills/contentful-cms → plugins/contentful}/SKILL.md +1 -1
- package/src/orchestrator/plugins/contentful/config.ts +49 -0
- package/src/orchestrator/{skills/convex-database → plugins/convex}/SKILL.md +1 -1
- package/src/orchestrator/plugins/convex/config.ts +33 -0
- package/src/orchestrator/plugins/index.ts +85 -0
- package/src/orchestrator/{skills/jira-management → plugins/jira}/SKILL.md +3 -3
- package/src/orchestrator/plugins/jira/config.ts +30 -0
- package/src/orchestrator/{skills/task-management → plugins/linear}/SKILL.md +3 -3
- package/src/orchestrator/plugins/linear/config.ts +34 -0
- package/src/orchestrator/{skills/nx-workspace → plugins/nx}/SKILL.md +1 -1
- package/src/orchestrator/plugins/nx/config.ts +29 -0
- package/src/orchestrator/{skills/sanity-cms → plugins/sanity}/SKILL.md +1 -1
- package/src/orchestrator/plugins/sanity/config.ts +44 -0
- package/src/orchestrator/{skills/slack-notifications → plugins/slack}/SKILL.md +2 -2
- package/src/orchestrator/plugins/slack/config.ts +35 -0
- package/src/orchestrator/{skills/strapi-cms → plugins/strapi}/SKILL.md +1 -1
- package/src/orchestrator/plugins/strapi/config.ts +41 -0
- package/src/orchestrator/{skills/supabase-database → plugins/supabase}/SKILL.md +1 -1
- package/src/orchestrator/plugins/supabase/config.ts +34 -0
- package/src/orchestrator/{skills/teams-notifications → plugins/teams}/SKILL.md +2 -2
- package/src/orchestrator/plugins/teams/config.ts +44 -0
- package/src/orchestrator/plugins/types.ts +79 -0
- package/src/orchestrator/plugins/vercel/config.ts +33 -0
- package/src/orchestrator/prompts/bootstrap-customizations.prompt.md +8 -8
- package/src/orchestrator/prompts/brainstorm.prompt.md +3 -3
- package/src/orchestrator/prompts/bug-fix.prompt.md +27 -22
- package/src/orchestrator/prompts/create-skill.prompt.md +50 -32
- package/src/orchestrator/prompts/generate-task-spec.prompt.md +3 -3
- package/src/orchestrator/prompts/implement-feature.prompt.md +34 -29
- package/src/orchestrator/prompts/metrics-report.prompt.md +11 -11
- package/src/orchestrator/prompts/quick-refinement.prompt.md +23 -19
- package/src/orchestrator/prompts/resolve-pr-comments.prompt.md +19 -5
- package/src/orchestrator/skills/accessibility-standards/SKILL.md +1 -1
- package/src/orchestrator/skills/agent-hooks/SKILL.md +27 -18
- package/src/orchestrator/skills/agent-memory/SKILL.md +7 -7
- package/src/orchestrator/skills/api-patterns/SKILL.md +6 -6
- package/src/orchestrator/skills/code-commenting/SKILL.md +1 -1
- package/src/orchestrator/skills/context-map/SKILL.md +4 -4
- package/src/orchestrator/skills/data-engineering/SKILL.md +7 -4
- package/src/orchestrator/skills/deployment-infrastructure/SKILL.md +2 -2
- package/src/orchestrator/skills/documentation-standards/SKILL.md +1 -1
- package/src/orchestrator/skills/fast-review/SKILL.md +18 -7
- package/src/orchestrator/skills/frontend-design/SKILL.md +1 -1
- package/src/orchestrator/skills/memory-merger/SKILL.md +8 -8
- package/src/orchestrator/skills/nextjs-patterns/SKILL.md +1 -1
- package/src/orchestrator/skills/panel-majority-vote/SKILL.md +2 -2
- package/src/orchestrator/skills/panel-majority-vote/panel-report.template.md +1 -1
- package/src/orchestrator/skills/performance-optimization/SKILL.md +1 -1
- package/src/orchestrator/skills/react-development/SKILL.md +3 -3
- package/src/orchestrator/skills/security-hardening/SKILL.md +27 -27
- package/src/orchestrator/skills/self-improvement/SKILL.md +14 -13
- package/src/orchestrator/skills/seo-patterns/SKILL.md +1 -1
- package/src/orchestrator/skills/session-checkpoints/SKILL.md +19 -19
- package/src/orchestrator/skills/team-lead-reference/SKILL.md +9 -9
- package/src/orchestrator/skills/testing-workflow/SKILL.md +13 -13
- package/src/orchestrator/skills/validation-gates/SKILL.md +157 -27
- package/src/orchestrator/mcp.json +0 -69
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export const config = {
|
|
2
|
+
id: 'linear',
|
|
3
|
+
name: 'Linear',
|
|
4
|
+
category: 'team',
|
|
5
|
+
subCategory: 'tracker',
|
|
6
|
+
label: 'Linear',
|
|
7
|
+
hint: 'Issue tracking with MCP integration',
|
|
8
|
+
skillName: 'linear-task-management',
|
|
9
|
+
mcpServerKey: 'Linear',
|
|
10
|
+
mcpConfig: {
|
|
11
|
+
type: 'stdio',
|
|
12
|
+
command: 'npx',
|
|
13
|
+
args: ['-y', '@mseep/linear-mcp'],
|
|
14
|
+
envFile: '${workspaceFolder}/.env',
|
|
15
|
+
},
|
|
16
|
+
authType: 'env-token',
|
|
17
|
+
envVars: [
|
|
18
|
+
{
|
|
19
|
+
name: 'LINEAR_API_KEY',
|
|
20
|
+
hint: 'Create at linear.app → Settings → API → Personal API keys',
|
|
21
|
+
},
|
|
22
|
+
],
|
|
23
|
+
agentToolMap: {
|
|
24
|
+
'team-lead': [
|
|
25
|
+
'linear/create_issue', 'linear/list_issues', 'linear/update_issue',
|
|
26
|
+
'linear/list_teams', 'linear/list_projects', 'linear/get_issue', 'linear/search_issues',
|
|
27
|
+
],
|
|
28
|
+
},
|
|
29
|
+
docsUrl: '/guides/linear-setup',
|
|
30
|
+
officialDocs: 'https://linear.app/docs',
|
|
31
|
+
mcpPackage: '@mseep/linear-mcp',
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/linear/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,SAAS;IACtB,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,qCAAqC;IAC3C,SAAS,EAAE,wBAAwB;IACnC,YAAY,EAAE,QAAQ;IACtB,SAAS,EAAE;QACT,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,mBAAmB,CAAC;QACjC,OAAO,EAAE,yBAAyB;KACnC;IACD,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE;QACP;YACE,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,2DAA2D;SAClE;KACF;IACD,YAAY,EAAE;QACZ,WAAW,EAAE;YACX,qBAAqB,EAAE,oBAAoB,EAAE,qBAAqB;YAClE,mBAAmB,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,sBAAsB;SACxF;KACF;IACD,OAAO,EAAE,sBAAsB;IAC/B,YAAY,EAAE,yBAAyB;IACvC,UAAU,EAAE,mBAAmB;CAChC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/nx/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,YA0BpB,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export const config = {
|
|
2
|
+
id: 'nx',
|
|
3
|
+
name: 'NX',
|
|
4
|
+
category: 'tech',
|
|
5
|
+
subCategory: 'monorepo',
|
|
6
|
+
label: 'NX',
|
|
7
|
+
hint: 'Monorepo build system',
|
|
8
|
+
skillName: 'nx-workspace',
|
|
9
|
+
mcpServerKey: 'Nx',
|
|
10
|
+
mcpConfig: {
|
|
11
|
+
type: 'stdio',
|
|
12
|
+
command: 'npx',
|
|
13
|
+
args: ['nx', 'mcp'],
|
|
14
|
+
},
|
|
15
|
+
authType: 'none',
|
|
16
|
+
envVars: [],
|
|
17
|
+
agentToolMap: {
|
|
18
|
+
'architect': ['nx-mcp-server/nx_workspace', 'nx-mcp-server/nx_project_details', 'nx-mcp-server/nx_visualize_graph'],
|
|
19
|
+
'developer': ['nx-mcp-server/nx_project_details', 'nx-mcp-server/nx_workspace', 'nx-mcp-server/nx_generators'],
|
|
20
|
+
'devops-expert': ['nx-mcp-server/nx_project_details', 'nx-mcp-server/nx_workspace', 'nx-mcp-server/nx_workspace_path'],
|
|
21
|
+
'performance-expert': ['nx-mcp-server/nx_project_details', 'nx-mcp-server/nx_workspace'],
|
|
22
|
+
'release-manager': ['nx-mcp-server/nx_project_details', 'nx-mcp-server/nx_workspace', 'nx-mcp-server/nx_workspace_path'],
|
|
23
|
+
},
|
|
24
|
+
docsUrl: null,
|
|
25
|
+
officialDocs: 'https://nx.dev/getting-started/intro',
|
|
26
|
+
mcpPackage: null,
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/nx/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,EAAE,EAAE,IAAI;IACR,IAAI,EAAE,IAAI;IACV,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,UAAU;IACvB,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,uBAAuB;IAC7B,SAAS,EAAE,cAAc;IACzB,YAAY,EAAE,IAAI;IAClB,SAAS,EAAE;QACT,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC;KACpB;IACD,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,EAAE;IACX,YAAY,EAAE;QACZ,WAAW,EAAE,CAAC,4BAA4B,EAAE,kCAAkC,EAAE,kCAAkC,CAAC;QACnH,WAAW,EAAE,CAAC,kCAAkC,EAAE,4BAA4B,EAAE,6BAA6B,CAAC;QAC9G,eAAe,EAAE,CAAC,kCAAkC,EAAE,4BAA4B,EAAE,iCAAiC,CAAC;QACtH,oBAAoB,EAAE,CAAC,kCAAkC,EAAE,4BAA4B,CAAC;QACxF,iBAAiB,EAAE,CAAC,kCAAkC,EAAE,4BAA4B,EAAE,iCAAiC,CAAC;KACzH;IACD,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,sCAAsC;IACpD,UAAU,EAAE,IAAI;CACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/sanity/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,YAyCpB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export const config = {
|
|
2
|
+
id: 'sanity',
|
|
3
|
+
name: 'Sanity',
|
|
4
|
+
category: 'tech',
|
|
5
|
+
subCategory: 'cms',
|
|
6
|
+
label: 'Sanity',
|
|
7
|
+
hint: 'GROQ queries, real-time collaboration',
|
|
8
|
+
skillName: 'sanity-cms',
|
|
9
|
+
mcpServerKey: 'Sanity',
|
|
10
|
+
mcpConfig: {
|
|
11
|
+
type: 'http',
|
|
12
|
+
url: 'https://mcp.sanity.io',
|
|
13
|
+
},
|
|
14
|
+
authType: 'oauth',
|
|
15
|
+
envVars: [],
|
|
16
|
+
agentToolMap: {
|
|
17
|
+
'content-engineer': [
|
|
18
|
+
'sanity/get_schema', 'sanity/get_sanity_rules', 'sanity/list_sanity_rules',
|
|
19
|
+
'sanity/query_documents', 'sanity/get_document', 'sanity/create_documents_from_json',
|
|
20
|
+
'sanity/create_documents_from_markdown', 'sanity/patch_document_from_json',
|
|
21
|
+
'sanity/patch_document_from_markdown', 'sanity/deploy_schema', 'sanity/publish_documents',
|
|
22
|
+
'sanity/unpublish_documents', 'sanity/discard_drafts', 'sanity/list_projects',
|
|
23
|
+
'sanity/list_datasets', 'sanity/list_workspace_schemas', 'sanity/list_embeddings_indices',
|
|
24
|
+
'sanity/search_docs', 'sanity/read_docs', 'sanity/semantic_search',
|
|
25
|
+
'sanity/migration_guide', 'sanity/create_version', 'sanity/generate_image',
|
|
26
|
+
'sanity/transform_image', 'sanity/add_cors_origin',
|
|
27
|
+
],
|
|
28
|
+
'copywriter': [
|
|
29
|
+
'sanity/get_schema', 'sanity/query_documents', 'sanity/get_document',
|
|
30
|
+
'sanity/patch_document_from_json', 'sanity/patch_document_from_markdown',
|
|
31
|
+
'sanity/list_datasets', 'sanity/list_projects',
|
|
32
|
+
],
|
|
33
|
+
'data-expert': [
|
|
34
|
+
'sanity/get_schema', 'sanity/query_documents', 'sanity/create_documents_from_json',
|
|
35
|
+
'sanity/patch_document_from_json', 'sanity/get_document', 'sanity/list_datasets',
|
|
36
|
+
'sanity/list_projects',
|
|
37
|
+
],
|
|
38
|
+
},
|
|
39
|
+
docsUrl: null,
|
|
40
|
+
officialDocs: 'https://www.sanity.io/docs',
|
|
41
|
+
mcpPackage: null,
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/sanity/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,KAAK;IAClB,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,uCAAuC;IAC7C,SAAS,EAAE,YAAY;IACvB,YAAY,EAAE,QAAQ;IACtB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,uBAAuB;KAC7B;IACD,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,EAAE;IACX,YAAY,EAAE;QACZ,kBAAkB,EAAE;YAClB,mBAAmB,EAAE,yBAAyB,EAAE,0BAA0B;YAC1E,wBAAwB,EAAE,qBAAqB,EAAE,mCAAmC;YACpF,uCAAuC,EAAE,iCAAiC;YAC1E,qCAAqC,EAAE,sBAAsB,EAAE,0BAA0B;YACzF,4BAA4B,EAAE,uBAAuB,EAAE,sBAAsB;YAC7E,sBAAsB,EAAE,+BAA+B,EAAE,gCAAgC;YACzF,oBAAoB,EAAE,kBAAkB,EAAE,wBAAwB;YAClE,wBAAwB,EAAE,uBAAuB,EAAE,uBAAuB;YAC1E,wBAAwB,EAAE,wBAAwB;SACnD;QACD,YAAY,EAAE;YACZ,mBAAmB,EAAE,wBAAwB,EAAE,qBAAqB;YACpE,iCAAiC,EAAE,qCAAqC;YACxE,sBAAsB,EAAE,sBAAsB;SAC/C;QACD,aAAa,EAAE;YACb,mBAAmB,EAAE,wBAAwB,EAAE,mCAAmC;YAClF,iCAAiC,EAAE,qBAAqB,EAAE,sBAAsB;YAChF,sBAAsB;SACvB;KACF;IACD,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,4BAA4B;IAC1C,UAAU,EAAE,IAAI;CACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/slack/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,YAgCpB,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export const config = {
|
|
2
|
+
id: 'slack',
|
|
3
|
+
name: 'Slack',
|
|
4
|
+
category: 'team',
|
|
5
|
+
subCategory: 'notifications',
|
|
6
|
+
label: 'Slack',
|
|
7
|
+
hint: 'Agent notifications and communication',
|
|
8
|
+
skillName: 'slack-notifications',
|
|
9
|
+
mcpServerKey: 'Slack',
|
|
10
|
+
mcpConfig: {
|
|
11
|
+
type: 'stdio',
|
|
12
|
+
command: 'npx',
|
|
13
|
+
args: ['-y', '@kazuph/mcp-slack'],
|
|
14
|
+
envFile: '${workspaceFolder}/.env',
|
|
15
|
+
env: {
|
|
16
|
+
SLACK_MCP_ADD_MESSAGE_TOOL: 'true',
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
authType: 'env-token',
|
|
20
|
+
envVars: [
|
|
21
|
+
{
|
|
22
|
+
name: 'SLACK_MCP_XOXB_TOKEN',
|
|
23
|
+
hint: 'Create a Slack App at api.slack.com/apps → Bot User OAuth Token',
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
agentToolMap: {
|
|
27
|
+
'team-lead': ['slack/*'],
|
|
28
|
+
'release-manager': ['slack/*'],
|
|
29
|
+
},
|
|
30
|
+
docsUrl: '/guides/plugins#slack',
|
|
31
|
+
officialDocs: 'https://api.slack.com/docs',
|
|
32
|
+
mcpPackage: '@kazuph/mcp-slack',
|
|
33
|
+
};
|
|
34
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/slack/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,OAAO;IACb,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,eAAe;IAC5B,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,uCAAuC;IAC7C,SAAS,EAAE,qBAAqB;IAChC,YAAY,EAAE,OAAO;IACrB,SAAS,EAAE;QACT,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,mBAAmB,CAAC;QACjC,OAAO,EAAE,yBAAyB;QAClC,GAAG,EAAE;YACH,0BAA0B,EAAE,MAAM;SACnC;KACF;IACD,QAAQ,EAAE,WAAW;IACrB,OAAO,EAAE;QACP;YACE,IAAI,EAAE,sBAAsB;YAC5B,IAAI,EAAE,iEAAiE;SACxE;KACF;IACD,YAAY,EAAE;QACZ,WAAW,EAAE,CAAC,SAAS,CAAC;QACxB,iBAAiB,EAAE,CAAC,SAAS,CAAC;KAC/B;IACD,OAAO,EAAE,uBAAuB;IAChC,YAAY,EAAE,4BAA4B;IAC1C,UAAU,EAAE,mBAAmB;CAChC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/strapi/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,YAsCpB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export const config = {
|
|
2
|
+
id: 'strapi',
|
|
3
|
+
name: 'Strapi',
|
|
4
|
+
category: 'tech',
|
|
5
|
+
subCategory: 'cms',
|
|
6
|
+
label: 'Strapi',
|
|
7
|
+
hint: 'Open-source headless CMS',
|
|
8
|
+
skillName: 'strapi-cms',
|
|
9
|
+
mcpServerKey: 'Strapi',
|
|
10
|
+
mcpConfig: {
|
|
11
|
+
type: 'stdio',
|
|
12
|
+
command: 'npx',
|
|
13
|
+
args: ['-y', 'strapi-mcp'],
|
|
14
|
+
},
|
|
15
|
+
authType: 'none',
|
|
16
|
+
envVars: [],
|
|
17
|
+
agentToolMap: {
|
|
18
|
+
'content-engineer': [
|
|
19
|
+
'strapi/list_content_types', 'strapi/get_content_type_schema', 'strapi/get_entries',
|
|
20
|
+
'strapi/get_entry', 'strapi/create_entry', 'strapi/update_entry', 'strapi/delete_entry',
|
|
21
|
+
'strapi/publish_entry', 'strapi/unpublish_entry', 'strapi/upload_media',
|
|
22
|
+
'strapi/upload_media_from_path', 'strapi/connect_relation', 'strapi/disconnect_relation',
|
|
23
|
+
'strapi/create_content_type', 'strapi/update_content_type', 'strapi/delete_content_type',
|
|
24
|
+
'strapi/list_components', 'strapi/get_component_schema', 'strapi/create_component',
|
|
25
|
+
'strapi/update_component',
|
|
26
|
+
],
|
|
27
|
+
'copywriter': [
|
|
28
|
+
'strapi/list_content_types', 'strapi/get_content_type_schema', 'strapi/get_entries',
|
|
29
|
+
'strapi/get_entry', 'strapi/update_entry', 'strapi/publish_entry',
|
|
30
|
+
],
|
|
31
|
+
'data-expert': [
|
|
32
|
+
'strapi/list_content_types', 'strapi/get_content_type_schema', 'strapi/get_entries',
|
|
33
|
+
'strapi/get_entry', 'strapi/create_entry', 'strapi/update_entry',
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
docsUrl: null,
|
|
37
|
+
officialDocs: 'https://docs.strapi.io/',
|
|
38
|
+
mcpPackage: 'strapi-mcp',
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/strapi/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,KAAK;IAClB,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,0BAA0B;IAChC,SAAS,EAAE,YAAY;IACvB,YAAY,EAAE,QAAQ;IACtB,SAAS,EAAE;QACT,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,KAAK;QACd,IAAI,EAAE,CAAC,IAAI,EAAE,YAAY,CAAC;KAC3B;IACD,QAAQ,EAAE,MAAM;IAChB,OAAO,EAAE,EAAE;IACX,YAAY,EAAE;QACZ,kBAAkB,EAAE;YAClB,2BAA2B,EAAE,gCAAgC,EAAE,oBAAoB;YACnF,kBAAkB,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,qBAAqB;YACvF,sBAAsB,EAAE,wBAAwB,EAAE,qBAAqB;YACvE,+BAA+B,EAAE,yBAAyB,EAAE,4BAA4B;YACxF,4BAA4B,EAAE,4BAA4B,EAAE,4BAA4B;YACxF,wBAAwB,EAAE,6BAA6B,EAAE,yBAAyB;YAClF,yBAAyB;SAC1B;QACD,YAAY,EAAE;YACZ,2BAA2B,EAAE,gCAAgC,EAAE,oBAAoB;YACnF,kBAAkB,EAAE,qBAAqB,EAAE,sBAAsB;SAClE;QACD,aAAa,EAAE;YACb,2BAA2B,EAAE,gCAAgC,EAAE,oBAAoB;YACnF,kBAAkB,EAAE,qBAAqB,EAAE,qBAAqB;SACjE;KACF;IACD,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,yBAAyB;IACvC,UAAU,EAAE,YAAY;CACzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/supabase/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,YA+BpB,CAAC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export const config = {
|
|
2
|
+
id: 'supabase',
|
|
3
|
+
name: 'Supabase',
|
|
4
|
+
category: 'tech',
|
|
5
|
+
subCategory: 'database',
|
|
6
|
+
label: 'Supabase',
|
|
7
|
+
hint: 'Postgres + Auth + RLS + Edge Functions',
|
|
8
|
+
skillName: 'supabase-database',
|
|
9
|
+
mcpServerKey: 'Supabase',
|
|
10
|
+
mcpConfig: {
|
|
11
|
+
type: 'http',
|
|
12
|
+
url: 'https://mcp.supabase.com/mcp',
|
|
13
|
+
},
|
|
14
|
+
authType: 'oauth',
|
|
15
|
+
envVars: [],
|
|
16
|
+
agentToolMap: {
|
|
17
|
+
'database-engineer': [
|
|
18
|
+
'supabase/apply_migration', 'supabase/execute_sql', 'supabase/list_tables',
|
|
19
|
+
'supabase/list_migrations', 'supabase/list_extensions', 'supabase/get_logs',
|
|
20
|
+
'supabase/get_project', 'supabase/get_project_url', 'supabase/list_projects',
|
|
21
|
+
'supabase/search_docs', 'supabase/generate_typescript_types', 'supabase/get_advisors',
|
|
22
|
+
'supabase/create_branch', 'supabase/list_branches',
|
|
23
|
+
],
|
|
24
|
+
'security-expert': [
|
|
25
|
+
'supabase/execute_sql', 'supabase/list_tables', 'supabase/get_advisors',
|
|
26
|
+
'supabase/list_migrations', 'supabase/get_project',
|
|
27
|
+
],
|
|
28
|
+
},
|
|
29
|
+
docsUrl: null,
|
|
30
|
+
officialDocs: 'https://supabase.com/docs',
|
|
31
|
+
mcpPackage: null,
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/supabase/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,UAAU;IAChB,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,UAAU;IACvB,KAAK,EAAE,UAAU;IACjB,IAAI,EAAE,wCAAwC;IAC9C,SAAS,EAAE,mBAAmB;IAC9B,YAAY,EAAE,UAAU;IACxB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,8BAA8B;KACpC;IACD,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,EAAE;IACX,YAAY,EAAE;QACZ,mBAAmB,EAAE;YACnB,0BAA0B,EAAE,sBAAsB,EAAE,sBAAsB;YAC1E,0BAA0B,EAAE,0BAA0B,EAAE,mBAAmB;YAC3E,sBAAsB,EAAE,0BAA0B,EAAE,wBAAwB;YAC5E,sBAAsB,EAAE,oCAAoC,EAAE,uBAAuB;YACrF,wBAAwB,EAAE,wBAAwB;SACnD;QACD,iBAAiB,EAAE;YACjB,sBAAsB,EAAE,sBAAsB,EAAE,uBAAuB;YACvE,0BAA0B,EAAE,sBAAsB;SACnD;KACF;IACD,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,2BAA2B;IACzC,UAAU,EAAE,IAAI;CACjB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/teams/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,YAyCpB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
export const config = {
|
|
2
|
+
id: 'teams',
|
|
3
|
+
name: 'Microsoft Teams',
|
|
4
|
+
category: 'team',
|
|
5
|
+
subCategory: 'notifications',
|
|
6
|
+
label: 'Microsoft Teams',
|
|
7
|
+
hint: 'Agent notifications via Teams channels',
|
|
8
|
+
skillName: 'teams-notifications',
|
|
9
|
+
mcpServerKey: 'Teams',
|
|
10
|
+
mcpConfig: {
|
|
11
|
+
type: 'http',
|
|
12
|
+
url: 'https://agent365.svc.cloud.microsoft/agents/tenants/${input:tenant_id}/servers/mcp_TeamsServer',
|
|
13
|
+
},
|
|
14
|
+
authType: 'oauth',
|
|
15
|
+
envVars: [],
|
|
16
|
+
agentToolMap: {
|
|
17
|
+
'team-lead': [
|
|
18
|
+
'Teams/mcp_graph_chat_createChat', 'Teams/mcp_graph_chat_listChats',
|
|
19
|
+
'Teams/mcp_graph_chat_getChat', 'Teams/mcp_graph_chat_postMessage',
|
|
20
|
+
'Teams/mcp_graph_chat_listChatMessages', 'Teams/mcp_graph_chat_getChatMessage',
|
|
21
|
+
'Teams/mcp_graph_teams_listTeams', 'Teams/mcp_graph_teams_listChannels',
|
|
22
|
+
'Teams/mcp_graph_teams_getChannel', 'Teams/mcp_graph_teams_postChannelMessage',
|
|
23
|
+
'Teams/mcp_graph_teams_replyToChannelMessage', 'Teams/mcp_graph_teams_listChannelMessages',
|
|
24
|
+
],
|
|
25
|
+
'release-manager': [
|
|
26
|
+
'Teams/mcp_graph_chat_postMessage', 'Teams/mcp_graph_chat_listChats',
|
|
27
|
+
'Teams/mcp_graph_teams_listTeams', 'Teams/mcp_graph_teams_listChannels',
|
|
28
|
+
'Teams/mcp_graph_teams_postChannelMessage', 'Teams/mcp_graph_teams_replyToChannelMessage',
|
|
29
|
+
'Teams/mcp_graph_teams_listChannelMessages',
|
|
30
|
+
],
|
|
31
|
+
},
|
|
32
|
+
docsUrl: null,
|
|
33
|
+
officialDocs: 'https://learn.microsoft.com/en-us/microsoftteams/',
|
|
34
|
+
mcpPackage: null,
|
|
35
|
+
mcpInputs: [
|
|
36
|
+
{
|
|
37
|
+
id: 'tenant_id',
|
|
38
|
+
type: 'promptString',
|
|
39
|
+
description: 'Microsoft Entra tenant ID (GUID)',
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
};
|
|
43
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/teams/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,iBAAiB;IACvB,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,eAAe;IAC5B,KAAK,EAAE,iBAAiB;IACxB,IAAI,EAAE,wCAAwC;IAC9C,SAAS,EAAE,qBAAqB;IAChC,YAAY,EAAE,OAAO;IACrB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,gGAAgG;KACtG;IACD,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,EAAE;IACX,YAAY,EAAE;QACZ,WAAW,EAAE;YACX,iCAAiC,EAAE,gCAAgC;YACnE,8BAA8B,EAAE,kCAAkC;YAClE,uCAAuC,EAAE,qCAAqC;YAC9E,iCAAiC,EAAE,oCAAoC;YACvE,kCAAkC,EAAE,0CAA0C;YAC9E,6CAA6C,EAAE,2CAA2C;SAC3F;QACD,iBAAiB,EAAE;YACjB,kCAAkC,EAAE,gCAAgC;YACpE,iCAAiC,EAAE,oCAAoC;YACvE,0CAA0C,EAAE,6CAA6C;YACzF,2CAA2C;SAC5C;KACF;IACD,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,mDAAmD;IACjE,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE;QACT;YACE,EAAE,EAAE,WAAW;YACf,IAAI,EAAE,cAAc;YACpB,WAAW,EAAE,kCAAkC;SAChD;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration for a tool plugin.
|
|
3
|
+
* Single source of truth for tool metadata used by init, adapters, and agents.
|
|
4
|
+
*/
|
|
5
|
+
export interface PluginConfig {
|
|
6
|
+
/** Unique ID matching TechTool | TeamTool union type */
|
|
7
|
+
id: string;
|
|
8
|
+
/** Human-readable display name */
|
|
9
|
+
name: string;
|
|
10
|
+
/** Plugin category */
|
|
11
|
+
category: 'tech' | 'team';
|
|
12
|
+
/** Sub-category for grouping */
|
|
13
|
+
subCategory: 'cms' | 'database' | 'deployment' | 'monorepo' | 'tracker' | 'notifications' | 'testing';
|
|
14
|
+
/** Label shown in the `npx opencastle init` multiselect */
|
|
15
|
+
label: string;
|
|
16
|
+
/** Hint shown next to the label in multiselect */
|
|
17
|
+
hint: string;
|
|
18
|
+
/** Skill directory name (matches the old skills/ dirname). null if no skill. */
|
|
19
|
+
skillName: string | null;
|
|
20
|
+
/** MCP server key used in the generated MCP config. null if no MCP server. */
|
|
21
|
+
mcpServerKey: string | null;
|
|
22
|
+
/** Raw MCP server config */
|
|
23
|
+
mcpConfig: McpServerConfig;
|
|
24
|
+
/** Authentication type */
|
|
25
|
+
authType: 'oauth' | 'env-token' | 'none';
|
|
26
|
+
/** Required environment variables for this plugin */
|
|
27
|
+
envVars: EnvVarRequirement[];
|
|
28
|
+
/** Tools to inject into specific agent definitions when this plugin is selected.
|
|
29
|
+
* Key = agent name (e.g. 'content-engineer'), Value = tool names to append. */
|
|
30
|
+
agentToolMap?: Record<string, string[]>;
|
|
31
|
+
/** URL to setup guide on opencastle.dev (null if none) */
|
|
32
|
+
docsUrl: string | null;
|
|
33
|
+
/** Official product documentation URL */
|
|
34
|
+
officialDocs: string;
|
|
35
|
+
/** NPM package for the MCP server (null for HTTP/OAuth servers) */
|
|
36
|
+
mcpPackage: string | null;
|
|
37
|
+
/** Whether this plugin should be preselected in the init prompt */
|
|
38
|
+
preselected?: boolean;
|
|
39
|
+
/** VS Code input prompts required by this plugin's MCP config (e.g. tenant ID) */
|
|
40
|
+
mcpInputs?: McpInput[];
|
|
41
|
+
}
|
|
42
|
+
export interface McpInput {
|
|
43
|
+
id: string;
|
|
44
|
+
type: 'promptString';
|
|
45
|
+
description: string;
|
|
46
|
+
}
|
|
47
|
+
export interface McpServerConfig {
|
|
48
|
+
type: 'stdio' | 'http';
|
|
49
|
+
command?: string;
|
|
50
|
+
args?: string[];
|
|
51
|
+
url?: string;
|
|
52
|
+
env?: Record<string, string>;
|
|
53
|
+
envFile?: string;
|
|
54
|
+
}
|
|
55
|
+
export interface EnvVarRequirement {
|
|
56
|
+
/** Environment variable name */
|
|
57
|
+
name: string;
|
|
58
|
+
/** Short description of where to get the value */
|
|
59
|
+
hint: string;
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/orchestrator/plugins/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,wDAAwD;IACxD,EAAE,EAAE,MAAM,CAAC;IAEX,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IAEb,sBAAsB;IACtB,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC;IAE1B,gCAAgC;IAChC,WAAW,EAAE,KAAK,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,CAAC;IAEtG,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IAEd,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IAEb,gFAAgF;IAChF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,8EAA8E;IAC9E,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,4BAA4B;IAC5B,SAAS,EAAE,eAAe,CAAC;IAE3B,0BAA0B;IAC1B,QAAQ,EAAE,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;IAEzC,qDAAqD;IACrD,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAE7B;mFAC+E;IAC/E,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAExC,0DAA0D;IAC1D,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB,yCAAyC;IACzC,YAAY,EAAE,MAAM,CAAC;IAErB,mEAAmE;IACnE,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1B,mEAAmE;IACnE,WAAW,CAAC,EAAE,OAAO,CAAC;IAEtB,kFAAkF;IAClF,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/orchestrator/plugins/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/vercel/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,MAAM,EAAE,YA8BpB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export const config = {
|
|
2
|
+
id: 'vercel',
|
|
3
|
+
name: 'Vercel',
|
|
4
|
+
category: 'tech',
|
|
5
|
+
subCategory: 'deployment',
|
|
6
|
+
label: 'Vercel',
|
|
7
|
+
hint: 'Deployment and hosting platform',
|
|
8
|
+
skillName: null,
|
|
9
|
+
mcpServerKey: 'Vercel',
|
|
10
|
+
mcpConfig: {
|
|
11
|
+
type: 'http',
|
|
12
|
+
url: 'https://mcp.vercel.com',
|
|
13
|
+
},
|
|
14
|
+
authType: 'oauth',
|
|
15
|
+
envVars: [],
|
|
16
|
+
agentToolMap: {
|
|
17
|
+
'devops-expert': [
|
|
18
|
+
'vercel/deploy_to_vercel', 'vercel/get_deployment', 'vercel/get_deployment_build_logs',
|
|
19
|
+
'vercel/get_project', 'vercel/get_runtime_logs', 'vercel/list_deployments',
|
|
20
|
+
'vercel/list_projects', 'vercel/list_teams', 'vercel/search_vercel_documentation',
|
|
21
|
+
'vercel/check_domain_availability_and_price',
|
|
22
|
+
],
|
|
23
|
+
'release-manager': [
|
|
24
|
+
'vercel/get_deployment', 'vercel/get_deployment_build_logs',
|
|
25
|
+
'vercel/get_runtime_logs', 'vercel/list_deployments', 'vercel/list_projects',
|
|
26
|
+
],
|
|
27
|
+
},
|
|
28
|
+
docsUrl: null,
|
|
29
|
+
officialDocs: 'https://vercel.com/docs',
|
|
30
|
+
mcpPackage: null,
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/orchestrator/plugins/vercel/config.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,MAAM,GAAiB;IAClC,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,MAAM;IAChB,WAAW,EAAE,YAAY;IACzB,KAAK,EAAE,QAAQ;IACf,IAAI,EAAE,iCAAiC;IACvC,SAAS,EAAE,IAAI;IACf,YAAY,EAAE,QAAQ;IACtB,SAAS,EAAE;QACT,IAAI,EAAE,MAAM;QACZ,GAAG,EAAE,wBAAwB;KAC9B;IACD,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,EAAE;IACX,YAAY,EAAE;QACZ,eAAe,EAAE;YACf,yBAAyB,EAAE,uBAAuB,EAAE,kCAAkC;YACtF,oBAAoB,EAAE,yBAAyB,EAAE,yBAAyB;YAC1E,sBAAsB,EAAE,mBAAmB,EAAE,oCAAoC;YACjF,4CAA4C;SAC7C;QACD,iBAAiB,EAAE;YACjB,uBAAuB,EAAE,kCAAkC;YAC3D,yBAAyB,EAAE,yBAAyB,EAAE,sBAAsB;SAC7E;KACF;IACD,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,yBAAyB;IACvC,UAAU,EAAE,IAAI;CACjB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { resolve, basename } from 'node:path'
|
|
2
2
|
import { mkdir, writeFile, readdir, readFile, unlink, rm } from 'node:fs/promises'
|
|
3
3
|
import { existsSync } from 'node:fs'
|
|
4
|
-
import { copyDir, getOrchestratorRoot } from '../copy.js'
|
|
4
|
+
import { copyDir, getOrchestratorRoot, getPluginsRoot, getPluginSkillEntries } from '../copy.js'
|
|
5
5
|
import { scaffoldMcpConfig } from '../mcp.js'
|
|
6
|
-
import { getExcludedSkills, getExcludedAgents, getCustomizationsTransform } from '../stack-config.js'
|
|
6
|
+
import { getExcludedSkills, getExcludedAgents, getCustomizationsTransform, getIncludedPluginIds } from '../stack-config.js'
|
|
7
7
|
import type { CopyResults, ManagedPaths, RepoInfo, StackConfig } from '../types.js'
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -127,6 +127,19 @@ export async function install(
|
|
|
127
127
|
`- **${entry.name}** (\`.claude/skills/${entry.name}.md\`): ${desc}`
|
|
128
128
|
)
|
|
129
129
|
}
|
|
130
|
+
|
|
131
|
+
// Plugin skills
|
|
132
|
+
const pluginsRoot = getPluginsRoot(pkgRoot)
|
|
133
|
+
const includedPlugins = stack ? getIncludedPluginIds(stack) : undefined
|
|
134
|
+
const pluginEntries = await getPluginSkillEntries(pluginsRoot, includedPlugins)
|
|
135
|
+
for (const { id, skillPath } of pluginEntries.sort((a, b) => a.id.localeCompare(b.id))) {
|
|
136
|
+
const pluginMeta = parseFrontmatterMeta(await readFile(skillPath, 'utf8'))
|
|
137
|
+
const pluginDesc = pluginMeta['description'] ?? ''
|
|
138
|
+
skillLines.push(
|
|
139
|
+
`- **${id}** (\`.claude/skills/${id}.md\`): ${pluginDesc}`
|
|
140
|
+
)
|
|
141
|
+
}
|
|
142
|
+
|
|
130
143
|
sections.push(skillLines.join('\n'))
|
|
131
144
|
}
|
|
132
145
|
|
|
@@ -180,6 +193,25 @@ export async function install(
|
|
|
180
193
|
}
|
|
181
194
|
}
|
|
182
195
|
|
|
196
|
+
// 3b. Plugin skills → .claude/skills/<plugin-id>.md
|
|
197
|
+
{
|
|
198
|
+
const pluginsRoot = getPluginsRoot(pkgRoot)
|
|
199
|
+
const includedPlugins = stack ? getIncludedPluginIds(stack) : undefined
|
|
200
|
+
const pluginEntries = await getPluginSkillEntries(pluginsRoot, includedPlugins)
|
|
201
|
+
const destSkills = resolve(claudeDir, 'skills')
|
|
202
|
+
await mkdir(destSkills, { recursive: true })
|
|
203
|
+
for (const { id, skillPath } of pluginEntries) {
|
|
204
|
+
const destPath = resolve(destSkills, `${id}.md`)
|
|
205
|
+
if (existsSync(destPath)) {
|
|
206
|
+
results.skipped.push(destPath)
|
|
207
|
+
continue
|
|
208
|
+
}
|
|
209
|
+
const content = await readFile(skillPath, 'utf8')
|
|
210
|
+
await writeFile(destPath, stripFrontmatter(content) + '\n')
|
|
211
|
+
results.created.push(destPath)
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
183
215
|
// 4. Prompts → .claude/commands/<name>.md
|
|
184
216
|
const promptDir = resolve(srcRoot, 'prompts')
|
|
185
217
|
if (existsSync(promptDir)) {
|
|
@@ -231,11 +263,11 @@ export async function install(
|
|
|
231
263
|
|
|
232
264
|
// 7. MCP server config → .claude/mcp.json (scaffold once)
|
|
233
265
|
const mcpResult = await scaffoldMcpConfig(
|
|
234
|
-
pkgRoot,
|
|
235
266
|
projectRoot,
|
|
236
267
|
'.claude/mcp.json',
|
|
237
268
|
stack,
|
|
238
|
-
repoInfo
|
|
269
|
+
repoInfo,
|
|
270
|
+
'claude-code'
|
|
239
271
|
)
|
|
240
272
|
results[mcpResult.action].push(mcpResult.path)
|
|
241
273
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { resolve, basename } from 'node:path'
|
|
2
2
|
import { mkdir, writeFile, readdir, readFile, unlink } from 'node:fs/promises'
|
|
3
3
|
import { existsSync } from 'node:fs'
|
|
4
|
-
import { copyDir, getOrchestratorRoot, removeDirIfExists } from '../copy.js'
|
|
4
|
+
import { copyDir, getOrchestratorRoot, removeDirIfExists, getPluginsRoot, getPluginSkillEntries } from '../copy.js'
|
|
5
5
|
import { scaffoldMcpConfig } from '../mcp.js'
|
|
6
|
-
import { getExcludedSkills, getExcludedAgents, getCustomizationsTransform } from '../stack-config.js'
|
|
6
|
+
import { getExcludedSkills, getExcludedAgents, getCustomizationsTransform, getIncludedPluginIds } from '../stack-config.js'
|
|
7
7
|
import type { CopyResults, ManagedPaths, RepoInfo, StackConfig } from '../types.js'
|
|
8
8
|
|
|
9
9
|
/**
|
|
@@ -164,6 +164,24 @@ export async function install(
|
|
|
164
164
|
// 4. Skills → .cursor/rules/skills/*.mdc
|
|
165
165
|
await convertSkills(srcRoot, resolve(rulesRoot, 'skills'), results, false, excludedSkills)
|
|
166
166
|
|
|
167
|
+
// 4b. Plugin skills → .cursor/rules/skills/<plugin-id>.mdc
|
|
168
|
+
{
|
|
169
|
+
const pluginsRoot = getPluginsRoot(pkgRoot)
|
|
170
|
+
const includedPlugins = stack ? getIncludedPluginIds(stack) : undefined
|
|
171
|
+
const pluginEntries = await getPluginSkillEntries(pluginsRoot, includedPlugins)
|
|
172
|
+
const skillsDest = resolve(rulesRoot, 'skills')
|
|
173
|
+
await mkdir(skillsDest, { recursive: true })
|
|
174
|
+
for (const { id, skillPath } of pluginEntries) {
|
|
175
|
+
const destPath = resolve(skillsDest, `${id}.mdc`)
|
|
176
|
+
await writeConverted(
|
|
177
|
+
skillPath,
|
|
178
|
+
destPath,
|
|
179
|
+
{ descriptionFallback: `Skill: ${id}` },
|
|
180
|
+
results
|
|
181
|
+
)
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
|
|
167
185
|
// 5. Agent Workflows → .cursor/rules/agent-workflows/*.mdc
|
|
168
186
|
await convertDir(
|
|
169
187
|
srcRoot,
|
|
@@ -191,11 +209,11 @@ export async function install(
|
|
|
191
209
|
|
|
192
210
|
// 8. MCP server config → .cursor/mcp.json (scaffold once)
|
|
193
211
|
const mcpResult = await scaffoldMcpConfig(
|
|
194
|
-
pkgRoot,
|
|
195
212
|
projectRoot,
|
|
196
213
|
'.cursor/mcp.json',
|
|
197
214
|
stack,
|
|
198
|
-
repoInfo
|
|
215
|
+
repoInfo,
|
|
216
|
+
'cursor'
|
|
199
217
|
)
|
|
200
218
|
results[mcpResult.action].push(mcpResult.path)
|
|
201
219
|
|
|
@@ -255,6 +273,26 @@ export async function update(
|
|
|
255
273
|
{ descriptionPrefix: 'Agent: ', removeExt: '.agent.md', overwrite: true, excludeFiles: excludedAgents }
|
|
256
274
|
)
|
|
257
275
|
await convertSkills(srcRoot, resolve(rulesRoot, 'skills'), results, true, excludedSkills)
|
|
276
|
+
|
|
277
|
+
// Plugin skills → .cursor/rules/skills/<plugin-id>.mdc (overwrite)
|
|
278
|
+
{
|
|
279
|
+
const pluginsRoot = getPluginsRoot(pkgRoot)
|
|
280
|
+
const includedPlugins = stack ? getIncludedPluginIds(stack) : undefined
|
|
281
|
+
const pluginEntries = await getPluginSkillEntries(pluginsRoot, includedPlugins)
|
|
282
|
+
const skillsDest = resolve(rulesRoot, 'skills')
|
|
283
|
+
await mkdir(skillsDest, { recursive: true })
|
|
284
|
+
for (const { id, skillPath } of pluginEntries) {
|
|
285
|
+
const destPath = resolve(skillsDest, `${id}.mdc`)
|
|
286
|
+
await writeConverted(
|
|
287
|
+
skillPath,
|
|
288
|
+
destPath,
|
|
289
|
+
{ descriptionFallback: `Skill: ${id}` },
|
|
290
|
+
results,
|
|
291
|
+
true
|
|
292
|
+
)
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
|
|
258
296
|
await convertDir(
|
|
259
297
|
srcRoot,
|
|
260
298
|
'agent-workflows',
|