Install any skill in seconds. Free to start, no credit card required.
Get Started Free →butterbase-ai/contributing
Use when contributing to the Butterbase codebase, adding new MCP tools, creating API routes, writing migrations, or understanding the monorepo architecture
Passed 22 of 22 test cases with the skill, and 5 of 22 without it.
and 24 more in the full report
17 fixed5 passed either way0 still failing0 broke
Tokens, turns and time describe resource use, not a dollar price.
One of 17 test cases the skill fixed. Same model, same prompt, with and without the skill.
Which directory contains the serverless function executor in the Butterbase monorepo, and on which local port does it run?
| Checked | Without skill | With skill |
|---|---|---|
| Identifies services/deno-runtime as the serverless executor directory | Missed | Passed |
| Specifies port 7133 for local execution of the serverless runtime | Missed | Passed |
The instructions your model reads when the skill loads.
Contributor guide for the Butterbase monorepo. Covers architecture, how to add MCP tools, API routes, database migrations, and coding conventions.
| Directory | Package | Purpose |
|---|---|---|
packages/cli | @butterbase/cli (v0.1.3) | Published CLI tool (Commander.js). Commands: init, apps, schema, functions, storage, deploy, data, env, keys, realtime, status, open |
packages/sdk | @butterbase/sdk (v1.2.1) | Published TypeScript SDK. Modules: auth, storage, functions, AI, billing, realtime, admin |
packages/shared | @butterbase/shared | Internal shared types, constants, schema DSL, error types |
packages/plugin | @butterbase/plugin | Claude Code plugin (this package — skills for AI agents) |
services/control-api | @butterbase/control-api | Fastify API server — the brain. Routes, plugins, services. Port 4000 |
services/mcp-server | @butterbase/mcp-server | MCP server with ~28 tools (consolidated manage_* action-based tools + a few standalone ones like init_app, deploy_function, select_rows). Runs via stdio or HTTP (served by control-api at /mcp) |
services/deno-runtime | — | Serverless function executor. Deno-based worker isolation. Port 7133 |
services/cron-scheduler | @butterbase/cron-scheduler | Cron job runner using node-cron + cron-parser |
services/dashboard | — | React management UI (Vite + Radix UI) |
services/dashboard-api | — | Dashboard backend proxy. Port 4100 |
services/docs | @butterbase/docs | Astro/Starlight documentation site |
services/storage-indexer | — | Cloudflare Worker for S3 event indexing |
db/control-plane | — | SQL migrations (sequential numbering, 001_ upward). Control plane database schema |
db/data-plane | — | Per-app database initialization scripts |
services/mcp-server/src/tools/my-new-tool.tsDecide whether the new capability is a standalone tool (single, self-contained operation like init_app) or another action on an existing umbrella tool (manage_schema, manage_function, etc). Most new operations should be added as actions on an existing manage_* tool — this keeps the surface area small for AI agents.
For a brand-new standalone tool, follow the pattern from init-app.ts:
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
import { z } from 'zod';
import { apiPost } from '../api-client.js';
test cases passed, vs 5 / 22 without
More skills from the same source and nearby in the registry, with their headline benchmark lift.