2026-01-30 03:15:10 +01:00
# Contributing to OpenClaw
2026-01-02 20:31:31 +00:00
Welcome to the lobster tank! 🦞
## Quick Links
2026-01-31 21:13:13 +09:00
2026-01-30 03:15:10 +01:00
- **GitHub:** https://github.com/openclaw/openclaw
2026-01-02 20:31:31 +00:00
- **Discord:** https://discord.gg/qkhbAGHRBT
2026-01-30 03:15:10 +01:00
- **X/Twitter:** [@steipete ](https://x.com/steipete ) / [@openclaw ](https://x.com/openclaw )
2026-01-02 20:31:31 +00:00
2026-02-10 10:33:32 -06:00
## Maintainers
2026-01-02 20:31:31 +00:00
2026-02-10 10:33:32 -06:00
- **Peter Steinberger** - Benevolent Dictator
- GitHub: [@steipete ](https://github.com/steipete ) · X: [@steipete ](https://x.com/steipete )
2026-02-17 11:07:38 -06:00
- **Shadow** - Discord subsystem, Discord admin, Clawhub, all community moderation
2026-02-10 10:33:32 -06:00
- GitHub: [@thewilloftheshadow ](https://github.com/thewilloftheshadow ) · X: [@4shad0wed ](https://x.com/4shad0wed )
2026-02-16 09:18:35 +05:30
- **Vignesh** - Memory (QMD), formal modeling, TUI, IRC, and Lobster
2026-02-10 10:33:32 -06:00
- 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 )
2026-02-16 09:18:35 +05:30
- **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 )
- **Seb Slight** - Docs, Agent Reliability, Runtime Hardening
- GitHub: [@sebslight ](https://github.com/sebslight ) · X: [@sebslig ](https://x.com/sebslig )
2026-02-10 10:33:32 -06:00
- **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 )
2026-01-02 20:31:31 +00:00
## How to Contribute
2026-01-31 21:13:13 +09:00
2026-01-02 20:31:31 +00:00
1. **Bugs & small fixes** → Open a PR!
2026-01-30 03:15:10 +01:00
2. **New features / architecture** → Start a [GitHub Discussion ](https://github.com/openclaw/openclaw/discussions ) or ask in Discord first
2026-01-02 20:31:31 +00:00
3. **Questions** → Discord #setup -help
## Before You PR
2026-01-31 21:13:13 +09:00
2026-01-30 03:15:10 +01:00
- Test locally with your OpenClaw instance
2026-02-02 11:14:27 +09:00
- Run tests: `pnpm build && pnpm check && pnpm test`
2026-02-09 19:21:33 -08:00
- Ensure CI checks pass
2026-01-02 20:31:31 +00:00
- Keep PRs focused (one thing per PR)
- Describe what & why
2026-02-03 13:56:20 -05:00
## 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.
2026-01-02 20:31:31 +00:00
## AI/Vibe-Coded PRs Welcome! 🤖
Built with Codex, Claude, or other AI tools? **Awesome - just mark it!**
Please include in your PR:
2026-01-31 21:13:13 +09:00
2026-01-02 20:31:31 +00:00
- [ ] 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.
2026-01-25 14:54:48 +02:00
## Current Focus & Roadmap 🗺
We are currently prioritizing:
2026-01-31 21:13:13 +09:00
2026-01-25 14:54:48 +02:00
- **Stability**: Fixing edge cases in channel connections (WhatsApp/Telegram).
- **UX**: Improving the onboarding wizard and error messages.
2026-02-09 19:21:33 -08:00
- **Skills**: For skill contributions, head to [ClawHub ](https://clawhub.ai/ ) — the community hub for OpenClaw skills.
2026-01-25 14:54:48 +02:00
- **Performance**: Optimizing token usage and compaction logic.
2026-01-30 03:15:10 +01:00
Check the [GitHub Issues ](https://github.com/openclaw/openclaw/issues ) for "good first issue" labels!
2026-02-10 15:08:30 +11:00
2026-02-17 15:38:45 +01:00
## Maintainers
2026-02-17 15:49:38 +01:00
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.
2026-02-17 15:38:45 +01:00
2026-02-17 15:49:38 +01:00
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.
2026-02-17 15:38:45 +01:00
2026-02-17 15:49:38 +01:00
Still interested? Email contributing@openclaw .ai with:
2026-02-17 15:38:45 +01:00
2026-02-17 15:49:38 +01:00
- 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.
2026-02-17 15:38:45 +01:00
2026-02-10 15:08:30 +11:00
## 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.