Thank you for your interest in contributing to Crow! This guide covers everything you need to get started.
Create Crow's Nest panels, MCP server integrations, or skill files that users install with one command: "install the X add-on." Add-ons are the primary way to extend Crow.
Types: Crow's Nest panels, MCP servers, skill files, Docker bundles.
Guide: Creating Add-ons | Add-on Registry
Create new behavioral prompts that teach the AI workflows. Skills are markdown files — no code required.
Guide: Writing Skills
Add support for new external services (e.g., Linear, Jira, Todoist) to the core server registry.
Guide: Building Integrations
Add new MCP tools to crow-memory, crow-projects, crow-sharing, crow-storage, or crow-blog servers.
Guide: Core Tools
Build custom panels for the Crow's Nest. See the panel template in templates/dashboard-panel.js.
Guide: Creating Panels
Create Docker Compose configurations with curated integration sets or self-hosting add-ons (Ollama, Nextcloud, Immich, etc.). See bundles/ for examples.
Guide: Bundles
git clone https://github.com/kh0pper/crow.git
cd crow
npm run setup # Install dependencies + initialize databasenode servers/memory/index.js # crow-memory (stdio)
node servers/research/index.js # crow-projects (stdio)
node servers/sharing/index.js # crow-sharing (stdio)
node servers/gateway/index.js --no-auth # HTTP gateway (local dev only — blocked if CROW_GATEWAY_URL is public)SQLite via @libsql/client. Schema in scripts/init-db.js. Re-initialize with:
npm run init-db- ESM modules —
import/export, no CommonJS - Zod schemas — All MCP tool parameters use Zod with
.max()constraints - FTS safety — Use
sanitizeFtsQuery()fromservers/db.jsfor FTS5 MATCH queries - LIKE safety — Use
escapeLikePattern()fromservers/db.jsfor LIKE queries - No test framework — Verify servers start without errors:
node servers/<name>/index.js - Server factory pattern — Tool logic in
server.js, transport wiring inindex.js
- Fork the repository
- Create a feature branch:
git checkout -b feature/your-feature - Make your changes following the conventions above
- Test: verify affected servers start without errors
- Submit a PR using the pull request template
Not ready to code? Open an issue: