# Contributing to OpenClaw Welcome to the lobster tank! 🦞 ## Quick Links - **GitHub:** https://github.com/openclaw/openclaw - **Vision:** [`VISION.md`](VISION.md) - **Discord:** https://discord.gg/qkhbAGHRBT - **X/Twitter:** [@steipete](https://x.com/steipete) / [@openclaw](https://x.com/openclaw) ## Maintainers - **Peter Steinberger** - Benevolent Dictator - GitHub: [@steipete](https://github.com/steipete) · X: [@steipete](https://x.com/steipete) - **Shadow** - Discord subsystem, Discord admin, Clawhub, all community moderation - GitHub: [@thewilloftheshadow](https://github.com/thewilloftheshadow) · X: [@4shad0wed](https://x.com/4shad0wed) - **Vignesh** - Memory (QMD), formal modeling, TUI, IRC, and Lobster - GitHub: [@vignesh07](https://github.com/vignesh07) · X: [@\_vgnsh](https://x.com/_vgnsh) - **Jos** - Telegram, API, Nix mode - GitHub: [@joshp123](https://github.com/joshp123) · X: [@jjpcodes](https://x.com/jjpcodes) - **Ayaan Zaidi** - Telegram subsystem, iOS app - GitHub: [@obviyus](https://github.com/obviyus) · X: [@0bviyus](https://x.com/0bviyus) - **Tyler Yust** - Agents/subagents, cron, BlueBubbles, macOS app - GitHub: [@tyler6204](https://github.com/tyler6204) · X: [@tyleryust](https://x.com/tyleryust) - **Mariano Belinky** - iOS app, Security - GitHub: [@mbelinky](https://github.com/mbelinky) · X: [@belimad](https://x.com/belimad) - **Vincent Koc** - Agents, Telemetry, Hooks, Security - GitHub: [@vincentkoc](https://github.com/vincentkoc) · X: [@vincent_koc](https://x.com/vincent_koc) - **Seb Slight** - Docs, Agent Reliability, Runtime Hardening - GitHub: [@sebslight](https://github.com/sebslight) · X: [@sebslig](https://x.com/sebslig) - **Christoph Nakazawa** - JS Infra - GitHub: [@cpojer](https://github.com/cpojer) · X: [@cnakazawa](https://x.com/cnakazawa) - **Gustavo Madeira Santana** - Multi-agents, CLI, web UI - GitHub: [@gumadeiras](https://github.com/gumadeiras) · X: [@gumadeiras](https://x.com/gumadeiras) ## How to Contribute 1. **Bugs & small fixes** → Open a PR! 2. **New features / architecture** → Start a [GitHub Discussion](https://github.com/openclaw/openclaw/discussions) or ask in Discord first 3. **Questions** → Discord #setup-help ## Before You PR - Test locally with your OpenClaw instance - Run tests: `pnpm build && pnpm check && pnpm test` - Ensure CI checks pass - Keep PRs focused (one thing per PR; do not mix unrelated concerns) - Describe what & why ## Control UI Decorators The Control UI uses Lit with **legacy** decorators (current Rollup parsing does not support `accessor` fields required for standard decorators). When adding reactive fields, keep the legacy style: ```ts @state() foo = "bar"; @property({ type: Number }) count = 0; ``` The root `tsconfig.json` is configured for legacy decorators (`experimentalDecorators: true`) with `useDefineForClassFields: false`. Avoid flipping these unless you are also updating the UI build tooling to support standard decorators. ## AI/Vibe-Coded PRs Welcome! 🤖 Built with Codex, Claude, or other AI tools? **Awesome - just mark it!** Please include in your PR: - [ ] Mark as AI-assisted in the PR title or description - [ ] Note the degree of testing (untested / lightly tested / fully tested) - [ ] Include prompts or session logs if possible (super helpful!) - [ ] Confirm you understand what the code does AI PRs are first-class citizens here. We just want transparency so reviewers know what to look for. ## Current Focus & Roadmap 🗺 We are currently prioritizing: - **Stability**: Fixing edge cases in channel connections (WhatsApp/Telegram). - **UX**: Improving the onboarding wizard and error messages. - **Skills**: For skill contributions, head to [ClawHub](https://clawhub.ai/) — the community hub for OpenClaw skills. - **Performance**: Optimizing token usage and compaction logic. Check the [GitHub Issues](https://github.com/openclaw/openclaw/issues) for "good first issue" labels! ## Maintainers We're selectively expanding the maintainer team. If you're an experienced contributor who wants to help shape OpenClaw's direction — whether through code, docs, or community — we'd like to hear from you. Being a maintainer is a responsibility, not an honorary title. We expect active, consistent involvement — triaging issues, reviewing PRs, and helping move the project forward. Still interested? Email contributing@openclaw.ai with: - Links to your PRs on OpenClaw (if you don't have any, start there first) - Links to open source projects you maintain or actively contribute to - Your GitHub, Discord, and X/Twitter handles - A brief intro: background, experience, and areas of interest - Languages you speak and where you're based - How much time you can realistically commit We welcome people across all skill sets — engineering, documentation, community management, and more. We review every human-only-written application carefully and add maintainers slowly and deliberately. Please allow a few weeks for a response. ## Report a Vulnerability We take security reports seriously. Report vulnerabilities directly to the repository where the issue lives: - **Core CLI and gateway** — [openclaw/openclaw](https://github.com/openclaw/openclaw) - **macOS desktop app** — [openclaw/openclaw](https://github.com/openclaw/openclaw) (apps/macos) - **iOS app** — [openclaw/openclaw](https://github.com/openclaw/openclaw) (apps/ios) - **Android app** — [openclaw/openclaw](https://github.com/openclaw/openclaw) (apps/android) - **ClawHub** — [openclaw/clawhub](https://github.com/openclaw/clawhub) - **Trust and threat model** — [openclaw/trust](https://github.com/openclaw/trust) For issues that don't fit a specific repo, or if you're unsure, email **security@openclaw.ai** and we'll route it. ### Required in Reports 1. **Title** 2. **Severity Assessment** 3. **Impact** 4. **Affected Component** 5. **Technical Reproduction** 6. **Demonstrated Impact** 7. **Environment** 8. **Remediation Advice** Reports without reproduction steps, demonstrated impact, and remediation advice will be deprioritized. Given the volume of AI-generated scanner findings, we must ensure we're receiving vetted reports from researchers who understand the issues.