@whylineee/zerocode 0.1.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.
@@ -0,0 +1,7 @@
1
+ export declare function ask(question: string): Promise<string>;
2
+ export declare function choose<T extends {
3
+ name: string;
4
+ }>(label: string, items: T[]): Promise<T | undefined>;
5
+ export declare function confirm(question: string): Promise<boolean>;
6
+ export declare function askEnvVars(vars: string[]): Promise<Record<string, string>>;
7
+ //# sourceMappingURL=prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAKA,wBAAgB,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQrD;AAED,wBAAsB,MAAM,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EACrD,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,CAAC,EAAE,GACT,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC,CAgBxB;AAED,wBAAsB,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGhE;AAED,wBAAsB,UAAU,CAC9B,IAAI,EAAE,MAAM,EAAE,GACb,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAejC"}
package/dist/prompt.js ADDED
@@ -0,0 +1,50 @@
1
+ import { createInterface } from "node:readline";
2
+ const rl = () => createInterface({ input: process.stdin, output: process.stdout });
3
+ export function ask(question) {
4
+ return new Promise((resolve) => {
5
+ const r = rl();
6
+ r.question(question, (answer) => {
7
+ r.close();
8
+ resolve(answer.trim());
9
+ });
10
+ });
11
+ }
12
+ export async function choose(label, items) {
13
+ if (items.length === 0)
14
+ return undefined;
15
+ if (items.length === 1)
16
+ return items[0];
17
+ console.log(`\n ${label}\n`);
18
+ for (let i = 0; i < items.length; i++) {
19
+ console.log(` ${i + 1}) ${items[i].name}`);
20
+ }
21
+ console.log();
22
+ const answer = await ask(" Select (number): ");
23
+ const idx = parseInt(answer, 10) - 1;
24
+ if (idx < 0 || idx >= items.length || isNaN(idx)) {
25
+ return undefined;
26
+ }
27
+ return items[idx];
28
+ }
29
+ export async function confirm(question) {
30
+ const answer = await ask(` ${question} (y/N): `);
31
+ return answer.toLowerCase() === "y" || answer.toLowerCase() === "yes";
32
+ }
33
+ export async function askEnvVars(vars) {
34
+ const result = {};
35
+ for (const v of vars) {
36
+ const existing = process.env[v];
37
+ if (existing) {
38
+ console.log(` Using existing env ${v}`);
39
+ result[v] = existing;
40
+ }
41
+ else {
42
+ const value = await ask(` Enter ${v}: `);
43
+ if (value) {
44
+ result[v] = value;
45
+ }
46
+ }
47
+ }
48
+ return result;
49
+ }
50
+ //# sourceMappingURL=prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.js","sourceRoot":"","sources":["../src/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,EAAE,GAAG,GAAG,EAAE,CACd,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAEpE,MAAM,UAAU,GAAG,CAAC,QAAgB;IAClC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,CAAC,GAAG,EAAE,EAAE,CAAC;QACf,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YAC9B,CAAC,CAAC,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,MAAM,CAC1B,KAAa,EACb,KAAU;IAEV,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACzC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC;IAExC,OAAO,CAAC,GAAG,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,qBAAqB,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QACjD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC;AACpB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,QAAgB;IAC5C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,QAAQ,UAAU,CAAC,CAAC;IAClD,OAAO,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,IAAc;IAEd,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;QACrB,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;QACvB,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { McpServerEntry } from "./agents.js";
2
+ export interface McpRegistryEntry {
3
+ slug: string;
4
+ name: string;
5
+ description: string;
6
+ npmPackage: string;
7
+ entry: McpServerEntry;
8
+ envVars?: string[];
9
+ }
10
+ export interface SkillRegistryEntry {
11
+ slug: string;
12
+ name: string;
13
+ description: string;
14
+ installCommand: string;
15
+ skillMd: string;
16
+ }
17
+ export declare const mcpRegistry: McpRegistryEntry[];
18
+ export declare const skillRegistry: SkillRegistryEntry[];
19
+ export declare function findMcp(slug: string): McpRegistryEntry | undefined;
20
+ export declare function findSkill(slug: string): SkillRegistryEntry | undefined;
21
+ //# sourceMappingURL=registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;CACjB;AAID,eAAO,MAAM,WAAW,EAAE,gBAAgB,EAuVzC,CAAC;AAIF,eAAO,MAAM,aAAa,EAAE,kBAAkB,EAmN7C,CAAC;AAEF,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAElE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAEtE"}
@@ -0,0 +1,565 @@
1
+ // ── MCP Server Registry ──────────────────────────────────────────
2
+ export const mcpRegistry = [
3
+ {
4
+ slug: "filesystem-mcp",
5
+ name: "Filesystem",
6
+ description: "Read, write, and inspect project files safely.",
7
+ npmPackage: "@modelcontextprotocol/server-filesystem",
8
+ entry: {
9
+ command: "npx",
10
+ args: ["-y", "@modelcontextprotocol/server-filesystem", "{PROJECT_DIR}"],
11
+ },
12
+ },
13
+ {
14
+ slug: "git-mcp",
15
+ name: "Git",
16
+ description: "Inspect history, diffs, and safe commit workflows.",
17
+ npmPackage: "mcp-server-git (uvx)",
18
+ entry: {
19
+ command: "uvx",
20
+ args: ["mcp-server-git", "--repository", "{PROJECT_DIR}"],
21
+ },
22
+ },
23
+ {
24
+ slug: "fetch-mcp",
25
+ name: "Fetch",
26
+ description: "Pull web content into cleaner text for agent use.",
27
+ npmPackage: "mcp-server-fetch (uvx)",
28
+ entry: {
29
+ command: "uvx",
30
+ args: ["mcp-server-fetch"],
31
+ },
32
+ },
33
+ {
34
+ slug: "memory-mcp",
35
+ name: "Memory",
36
+ description: "Persist useful facts across sessions.",
37
+ npmPackage: "@modelcontextprotocol/server-memory",
38
+ entry: {
39
+ command: "npx",
40
+ args: ["-y", "@modelcontextprotocol/server-memory"],
41
+ },
42
+ },
43
+ {
44
+ slug: "sequential-thinking-mcp",
45
+ name: "Sequential Thinking",
46
+ description: "Dynamic multi-step problem-solving through thought sequences.",
47
+ npmPackage: "@modelcontextprotocol/server-sequential-thinking",
48
+ entry: {
49
+ command: "npx",
50
+ args: ["-y", "@modelcontextprotocol/server-sequential-thinking"],
51
+ },
52
+ },
53
+ {
54
+ slug: "brave-search-mcp",
55
+ name: "Brave Search",
56
+ description: "Web and local search via Brave Search API.",
57
+ npmPackage: "@modelcontextprotocol/server-brave-search",
58
+ entry: {
59
+ command: "npx",
60
+ args: ["-y", "@modelcontextprotocol/server-brave-search"],
61
+ env: { BRAVE_API_KEY: "{BRAVE_API_KEY}" },
62
+ },
63
+ envVars: ["BRAVE_API_KEY"],
64
+ },
65
+ {
66
+ slug: "puppeteer-mcp",
67
+ name: "Puppeteer",
68
+ description: "Headless browser automation and screenshot capture.",
69
+ npmPackage: "@modelcontextprotocol/server-puppeteer",
70
+ entry: {
71
+ command: "npx",
72
+ args: ["-y", "@modelcontextprotocol/server-puppeteer"],
73
+ },
74
+ },
75
+ {
76
+ slug: "playwright-mcp",
77
+ name: "Playwright",
78
+ description: "Cross-browser automation with Chromium, Firefox, WebKit.",
79
+ npmPackage: "@playwright/mcp",
80
+ entry: {
81
+ command: "npx",
82
+ args: ["-y", "@playwright/mcp"],
83
+ },
84
+ },
85
+ {
86
+ slug: "github-mcp",
87
+ name: "GitHub",
88
+ description: "Manage repos, issues, PRs via GitHub API.",
89
+ npmPackage: "@modelcontextprotocol/server-github",
90
+ entry: {
91
+ command: "npx",
92
+ args: ["-y", "@modelcontextprotocol/server-github"],
93
+ env: { GITHUB_PERSONAL_ACCESS_TOKEN: "{GITHUB_TOKEN}" },
94
+ },
95
+ envVars: ["GITHUB_PERSONAL_ACCESS_TOKEN"],
96
+ },
97
+ {
98
+ slug: "postgres-mcp",
99
+ name: "PostgreSQL",
100
+ description: "Read-only querying of PostgreSQL databases.",
101
+ npmPackage: "@modelcontextprotocol/server-postgres",
102
+ entry: {
103
+ command: "npx",
104
+ args: ["-y", "@modelcontextprotocol/server-postgres", "{DATABASE_URL}"],
105
+ },
106
+ envVars: ["DATABASE_URL"],
107
+ },
108
+ {
109
+ slug: "sqlite-mcp",
110
+ name: "SQLite",
111
+ description: "Query and analyze local SQLite databases.",
112
+ npmPackage: "mcp-server-sqlite (uvx)",
113
+ entry: {
114
+ command: "uvx",
115
+ args: ["mcp-server-sqlite", "--db-path", "{DB_PATH}"],
116
+ },
117
+ envVars: ["DB_PATH"],
118
+ },
119
+ {
120
+ slug: "slack-mcp",
121
+ name: "Slack",
122
+ description: "Read channels, search messages, post to Slack.",
123
+ npmPackage: "slack-mcp-server",
124
+ entry: {
125
+ command: "npx",
126
+ args: ["-y", "slack-mcp-server"],
127
+ env: { SLACK_BOT_TOKEN: "{SLACK_BOT_TOKEN}" },
128
+ },
129
+ envVars: ["SLACK_BOT_TOKEN"],
130
+ },
131
+ {
132
+ slug: "notion-mcp",
133
+ name: "Notion",
134
+ description: "Search, read, and update Notion pages and databases.",
135
+ npmPackage: "notion-mcp-server",
136
+ entry: {
137
+ command: "npx",
138
+ args: ["-y", "notion-mcp-server"],
139
+ env: { NOTION_API_KEY: "{NOTION_API_KEY}" },
140
+ },
141
+ envVars: ["NOTION_API_KEY"],
142
+ },
143
+ {
144
+ slug: "linear-mcp",
145
+ name: "Linear",
146
+ description: "Create, search, and manage Linear issues.",
147
+ npmPackage: "linear-mcp-server",
148
+ entry: {
149
+ command: "npx",
150
+ args: ["-y", "linear-mcp-server"],
151
+ env: { LINEAR_API_KEY: "{LINEAR_API_KEY}" },
152
+ },
153
+ envVars: ["LINEAR_API_KEY"],
154
+ },
155
+ {
156
+ slug: "sentry-mcp",
157
+ name: "Sentry",
158
+ description: "Query error reports and stack traces from Sentry.",
159
+ npmPackage: "@sentry/mcp-server",
160
+ entry: {
161
+ command: "npx",
162
+ args: ["-y", "@sentry/mcp-server"],
163
+ env: { SENTRY_AUTH_TOKEN: "{SENTRY_AUTH_TOKEN}" },
164
+ },
165
+ envVars: ["SENTRY_AUTH_TOKEN"],
166
+ },
167
+ {
168
+ slug: "docker-mcp",
169
+ name: "Docker",
170
+ description: "Manage containers, images, and compose stacks.",
171
+ npmPackage: "docker-mcp-server",
172
+ entry: {
173
+ command: "npx",
174
+ args: ["-y", "docker-mcp-server"],
175
+ },
176
+ },
177
+ {
178
+ slug: "stripe-mcp",
179
+ name: "Stripe",
180
+ description: "Query payments, customers, and subscriptions.",
181
+ npmPackage: "@stripe/agent-toolkit",
182
+ entry: {
183
+ command: "npx",
184
+ args: ["-y", "@stripe/agent-toolkit", "mcp"],
185
+ env: { STRIPE_SECRET_KEY: "{STRIPE_SECRET_KEY}" },
186
+ },
187
+ envVars: ["STRIPE_SECRET_KEY"],
188
+ },
189
+ {
190
+ slug: "cloudflare-mcp",
191
+ name: "Cloudflare",
192
+ description: "Manage Workers, KV, R2, and DNS.",
193
+ npmPackage: "@cloudflare/mcp-server-cloudflare",
194
+ entry: {
195
+ command: "npx",
196
+ args: ["-y", "@cloudflare/mcp-server-cloudflare"],
197
+ env: { CLOUDFLARE_API_TOKEN: "{CLOUDFLARE_API_TOKEN}", CLOUDFLARE_ACCOUNT_ID: "{CLOUDFLARE_ACCOUNT_ID}" },
198
+ },
199
+ envVars: ["CLOUDFLARE_API_TOKEN", "CLOUDFLARE_ACCOUNT_ID"],
200
+ },
201
+ {
202
+ slug: "redis-mcp",
203
+ name: "Redis",
204
+ description: "Inspect and query Redis instances.",
205
+ npmPackage: "redis-mcp",
206
+ entry: {
207
+ command: "npx",
208
+ args: ["-y", "redis-mcp"],
209
+ env: { REDIS_URL: "{REDIS_URL}" },
210
+ },
211
+ envVars: ["REDIS_URL"],
212
+ },
213
+ {
214
+ slug: "firecrawl-mcp",
215
+ name: "Firecrawl",
216
+ description: "Crawl web pages and convert to clean markdown.",
217
+ npmPackage: "firecrawl-mcp",
218
+ entry: {
219
+ command: "npx",
220
+ args: ["-y", "firecrawl-mcp"],
221
+ env: { FIRECRAWL_API_KEY: "{FIRECRAWL_API_KEY}" },
222
+ },
223
+ envVars: ["FIRECRAWL_API_KEY"],
224
+ },
225
+ {
226
+ slug: "mongodb-mcp",
227
+ name: "MongoDB",
228
+ description: "Query and inspect MongoDB collections.",
229
+ npmPackage: "mongodb-mcp-server",
230
+ entry: {
231
+ command: "npx",
232
+ args: ["-y", "mongodb-mcp-server"],
233
+ env: { MONGODB_URI: "{MONGODB_URI}" },
234
+ },
235
+ envVars: ["MONGODB_URI"],
236
+ },
237
+ {
238
+ slug: "jira-mcp",
239
+ name: "Jira",
240
+ description: "Search, create, and update Jira issues.",
241
+ npmPackage: "jira-mcp-server",
242
+ entry: {
243
+ command: "npx",
244
+ args: ["-y", "jira-mcp-server"],
245
+ env: { JIRA_URL: "{JIRA_URL}", JIRA_EMAIL: "{JIRA_EMAIL}", JIRA_API_TOKEN: "{JIRA_API_TOKEN}" },
246
+ },
247
+ envVars: ["JIRA_URL", "JIRA_EMAIL", "JIRA_API_TOKEN"],
248
+ },
249
+ {
250
+ slug: "google-drive-mcp",
251
+ name: "Google Drive",
252
+ description: "Search, read, and organize Google Drive files.",
253
+ npmPackage: "google-drive-mcp",
254
+ entry: {
255
+ command: "npx",
256
+ args: ["-y", "google-drive-mcp"],
257
+ env: { GOOGLE_APPLICATION_CREDENTIALS: "{CREDENTIALS_PATH}" },
258
+ },
259
+ envVars: ["GOOGLE_APPLICATION_CREDENTIALS"],
260
+ },
261
+ {
262
+ slug: "supabase-mcp",
263
+ name: "Supabase",
264
+ description: "Query Supabase databases, storage, and auth.",
265
+ npmPackage: "supabase-mcp",
266
+ entry: {
267
+ command: "npx",
268
+ args: ["-y", "supabase-mcp"],
269
+ env: { SUPABASE_URL: "{SUPABASE_URL}", SUPABASE_ANON_KEY: "{SUPABASE_ANON_KEY}" },
270
+ },
271
+ envVars: ["SUPABASE_URL", "SUPABASE_ANON_KEY"],
272
+ },
273
+ {
274
+ slug: "vercel-mcp",
275
+ name: "Vercel",
276
+ description: "Manage deployments and project settings.",
277
+ npmPackage: "vercel-mcp-server",
278
+ entry: {
279
+ command: "npx",
280
+ args: ["-y", "vercel-mcp-server"],
281
+ env: { VERCEL_TOKEN: "{VERCEL_TOKEN}" },
282
+ },
283
+ envVars: ["VERCEL_TOKEN"],
284
+ },
285
+ {
286
+ slug: "youtube-mcp",
287
+ name: "YouTube",
288
+ description: "Search videos and retrieve transcripts.",
289
+ npmPackage: "youtube-mcp-server",
290
+ entry: {
291
+ command: "npx",
292
+ args: ["-y", "youtube-mcp-server"],
293
+ env: { YOUTUBE_API_KEY: "{YOUTUBE_API_KEY}" },
294
+ },
295
+ envVars: ["YOUTUBE_API_KEY"],
296
+ },
297
+ {
298
+ slug: "todoist-mcp",
299
+ name: "Todoist",
300
+ description: "Create and manage tasks in Todoist.",
301
+ npmPackage: "todoist-mcp-server",
302
+ entry: {
303
+ command: "npx",
304
+ args: ["-y", "todoist-mcp-server"],
305
+ env: { TODOIST_API_TOKEN: "{TODOIST_API_TOKEN}" },
306
+ },
307
+ envVars: ["TODOIST_API_TOKEN"],
308
+ },
309
+ {
310
+ slug: "twilio-mcp",
311
+ name: "Twilio",
312
+ description: "Send SMS and manage messaging workflows.",
313
+ npmPackage: "twilio-mcp",
314
+ entry: {
315
+ command: "npx",
316
+ args: ["-y", "twilio-mcp"],
317
+ env: { TWILIO_ACCOUNT_SID: "{TWILIO_ACCOUNT_SID}", TWILIO_AUTH_TOKEN: "{TWILIO_AUTH_TOKEN}" },
318
+ },
319
+ envVars: ["TWILIO_ACCOUNT_SID", "TWILIO_AUTH_TOKEN"],
320
+ },
321
+ {
322
+ slug: "elasticsearch-mcp",
323
+ name: "Elasticsearch",
324
+ description: "Search and analyze data in Elasticsearch.",
325
+ npmPackage: "elasticsearch-mcp-server",
326
+ entry: {
327
+ command: "npx",
328
+ args: ["-y", "elasticsearch-mcp-server"],
329
+ env: { ELASTICSEARCH_URL: "{ELASTICSEARCH_URL}" },
330
+ },
331
+ envVars: ["ELASTICSEARCH_URL"],
332
+ },
333
+ {
334
+ slug: "aws-s3-mcp",
335
+ name: "AWS S3",
336
+ description: "List, read, and manage S3 bucket objects.",
337
+ npmPackage: "aws-s3-mcp-server",
338
+ entry: {
339
+ command: "npx",
340
+ args: ["-y", "aws-s3-mcp-server"],
341
+ env: { AWS_ACCESS_KEY_ID: "{AWS_ACCESS_KEY_ID}", AWS_SECRET_ACCESS_KEY: "{AWS_SECRET_ACCESS_KEY}", AWS_REGION: "{AWS_REGION}" },
342
+ },
343
+ envVars: ["AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY", "AWS_REGION"],
344
+ },
345
+ ];
346
+ // ── Skills Registry ──────────────────────────────────────────────
347
+ export const skillRegistry = [
348
+ {
349
+ slug: "pr-reviewer",
350
+ name: "PR Reviewer",
351
+ description: "Scan diffs for regressions, missing tests, and unclear logic.",
352
+ installCommand: "npx skills add zerocode/skills@pr-reviewer",
353
+ skillMd: `# Skill: PR Reviewer
354
+
355
+ ## Trigger
356
+ Run when reviewing a pull request or code diff.
357
+
358
+ ## Workflow
359
+ 1. Read the full diff.
360
+ 2. Identify regressions, edge cases, and missing tests.
361
+ 3. Check for unclear logic or naming.
362
+ 4. Produce findings ordered by severity.
363
+
364
+ ## Output
365
+ - Findings ordered by severity
366
+ - Open questions
367
+ - Residual risk assessment`,
368
+ },
369
+ {
370
+ slug: "research-condenser",
371
+ name: "Research Condenser",
372
+ description: "Turn multi-source research into structured comparisons.",
373
+ installCommand: "npx skills add zerocode/skills@research-condenser",
374
+ skillMd: `# Skill: Research Condenser
375
+
376
+ ## Trigger
377
+ Run when synthesizing research from multiple sources.
378
+
379
+ ## Workflow
380
+ 1. Gather all source materials.
381
+ 2. Extract key claims and evidence.
382
+ 3. Identify consensus, disagreement, and gaps.
383
+ 4. Produce a structured comparison.
384
+
385
+ ## Output
386
+ - Key findings with source attribution
387
+ - Areas of consensus and disagreement
388
+ - Open questions and research gaps`,
389
+ },
390
+ {
391
+ slug: "docker-best-practices",
392
+ name: "Docker Best Practices",
393
+ description: "Efficient Dockerfiles, multi-stage builds, and security.",
394
+ installCommand: "npx skills add docker/labs@docker-best-practices",
395
+ skillMd: `# Skill: Docker Best Practices
396
+
397
+ ## Trigger
398
+ Run when writing or reviewing Dockerfiles and container configs.
399
+
400
+ ## Workflow
401
+ 1. Check for multi-stage build patterns.
402
+ 2. Verify layer caching optimization.
403
+ 3. Enforce non-root user and minimal base image.
404
+ 4. Review .dockerignore completeness.
405
+
406
+ ## Output
407
+ - Optimized Dockerfile
408
+ - Security findings
409
+ - Image size reduction suggestions`,
410
+ },
411
+ {
412
+ slug: "api-design-guidelines",
413
+ name: "API Design Guidelines",
414
+ description: "RESTful conventions, versioning, and error handling.",
415
+ installCommand: "npx skills add zerocode/skills@api-design-guidelines",
416
+ skillMd: `# Skill: API Design Guidelines
417
+
418
+ ## Trigger
419
+ Run when designing or reviewing REST API endpoints.
420
+
421
+ ## Workflow
422
+ 1. Review endpoint naming and HTTP method usage.
423
+ 2. Check error response format consistency.
424
+ 3. Verify versioning strategy.
425
+ 4. Validate request/response schemas.
426
+
427
+ ## Output
428
+ - API design review
429
+ - Suggested improvements
430
+ - Schema validation results`,
431
+ },
432
+ {
433
+ slug: "typescript-best-practices",
434
+ name: "TypeScript Best Practices",
435
+ description: "Strict types, utility types, and common patterns.",
436
+ installCommand: "npx skills add zerocode/skills@typescript-best-practices",
437
+ skillMd: `# Skill: TypeScript Best Practices
438
+
439
+ ## Trigger
440
+ Run when writing or reviewing TypeScript code.
441
+
442
+ ## Workflow
443
+ 1. Check for proper use of strict mode features.
444
+ 2. Review type definitions for completeness.
445
+ 3. Identify any usage patterns.
446
+ 4. Suggest utility types where appropriate.
447
+
448
+ ## Output
449
+ - Type safety assessment
450
+ - Improvement suggestions
451
+ - Pattern recommendations`,
452
+ },
453
+ {
454
+ slug: "prompt-engineering",
455
+ name: "Prompt Engineering",
456
+ description: "Write clear, structured prompts with constraints and examples.",
457
+ installCommand: "npx skills add zerocode/skills@prompt-engineering",
458
+ skillMd: `# Skill: Prompt Engineering
459
+
460
+ ## Trigger
461
+ Run when creating or improving prompts for AI agents.
462
+
463
+ ## Workflow
464
+ 1. Define the task clearly with constraints.
465
+ 2. Add positive and negative examples.
466
+ 3. Specify output format and evaluation criteria.
467
+ 4. Test with edge cases.
468
+
469
+ ## Output
470
+ - Refined prompt with clear structure
471
+ - Example inputs and expected outputs
472
+ - Evaluation criteria`,
473
+ },
474
+ {
475
+ slug: "git-workflow",
476
+ name: "Git Workflow",
477
+ description: "Branch strategy, commit messages, and merge hygiene.",
478
+ installCommand: "npx skills add zerocode/skills@git-workflow",
479
+ skillMd: `# Skill: Git Workflow
480
+
481
+ ## Trigger
482
+ Run when setting up or reviewing git workflows.
483
+
484
+ ## Workflow
485
+ 1. Define branch naming convention.
486
+ 2. Set commit message format.
487
+ 3. Establish merge/rebase strategy.
488
+ 4. Configure branch protection rules.
489
+
490
+ ## Output
491
+ - Branch strategy document
492
+ - Commit convention guide
493
+ - PR template`,
494
+ },
495
+ {
496
+ slug: "ci-cd-pipeline",
497
+ name: "CI/CD Pipeline",
498
+ description: "Build, test, and deploy automation patterns.",
499
+ installCommand: "npx skills add zerocode/skills@ci-cd-pipeline",
500
+ skillMd: `# Skill: CI/CD Pipeline
501
+
502
+ ## Trigger
503
+ Run when setting up or reviewing CI/CD pipelines.
504
+
505
+ ## Workflow
506
+ 1. Define build stages and dependencies.
507
+ 2. Configure test automation.
508
+ 3. Set up deployment stages with approvals.
509
+ 4. Add monitoring and rollback steps.
510
+
511
+ ## Output
512
+ - Pipeline configuration file
513
+ - Stage definitions
514
+ - Deployment checklist`,
515
+ },
516
+ {
517
+ slug: "database-migration",
518
+ name: "Database Migration",
519
+ description: "Safe schema changes, rollback plans, and data migration.",
520
+ installCommand: "npx skills add zerocode/skills@database-migration",
521
+ skillMd: `# Skill: Database Migration
522
+
523
+ ## Trigger
524
+ Run when planning or reviewing database schema changes.
525
+
526
+ ## Workflow
527
+ 1. Review the migration for data safety.
528
+ 2. Check for rollback capability.
529
+ 3. Verify index and constraint changes.
530
+ 4. Test on a copy before production.
531
+
532
+ ## Output
533
+ - Migration review
534
+ - Rollback plan
535
+ - Performance impact assessment`,
536
+ },
537
+ {
538
+ slug: "tailwind-css",
539
+ name: "Tailwind CSS",
540
+ description: "Utility-first patterns, responsive design, and custom themes.",
541
+ installCommand: "npx skills add zerocode/skills@tailwind-css",
542
+ skillMd: `# Skill: Tailwind CSS
543
+
544
+ ## Trigger
545
+ Run when writing or reviewing Tailwind CSS code.
546
+
547
+ ## Workflow
548
+ 1. Check for proper utility class usage.
549
+ 2. Review responsive breakpoint patterns.
550
+ 3. Verify custom theme token consistency.
551
+ 4. Identify redundant or conflicting classes.
552
+
553
+ ## Output
554
+ - Style review
555
+ - Responsive design assessment
556
+ - Theme consistency check`,
557
+ },
558
+ ];
559
+ export function findMcp(slug) {
560
+ return mcpRegistry.find((m) => m.slug === slug || m.name.toLowerCase() === slug.toLowerCase());
561
+ }
562
+ export function findSkill(slug) {
563
+ return skillRegistry.find((s) => s.slug === slug || s.name.toLowerCase() === slug.toLowerCase());
564
+ }
565
+ //# sourceMappingURL=registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../src/registry.ts"],"names":[],"mappings":"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"}