Skip to main content

Contributing

Webrain is an open-source MCP server. The workspace is a Cargo workspace with three crates: webrain-core, webrain-mcp, and webrain-cli.

Build & test

Rust edition 2024, MSRV 1.85.

Commit conventions

This project uses Semantic Versioning and Conventional Commits:
  • Types: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert
  • Scopes: core, api, cli, handlers, tools, plugin, memory, cache, pipeline, extraction, login, navigation, antibot, llm, token, browser, serp, search, config, deps, docs, tests, ci
  • See commitlint.config.js for the full rules
When source code changes, update CHANGELOG.md under [Unreleased].

Design notes

  • One binary, subcommands via match — no clap dependency (webrain-cli).
  • No unrequested abstractions — the codebase favors stdlib and native platform features; deliberate simplifications are marked with ponytail: comments naming their ceiling and upgrade path.
  • Every engine speaks CDP — a change to CdpBackend (webrain-core) benefits Chrome, lightpanda, and obscura at once.

Where to help

  • docs/FEATURE_GAPS.md — known gaps and priorities
  • docs/INTEGRATION_PLAN.md — integration roadmap
  • docs/ARCHITECTURE.md — deep-dive architecture