Contributing to Tiny Claw
Thanks for your interest in contributing to Tiny Claw! Every contribution - code, docs, bug reports, or ideas - helps make AI companions more accessible to everyone.Please read our Code of Conduct before getting started.
Contributor License Agreement (CLA)
By submitting a pull request, you agree to our Contributor License Agreement. The CLA is required because Tiny Claw uses a dual-licensing model (GPL-3.0 + Commercial). First-time contributors will be prompted to sign the CLA automatically via CLA Assistant when opening a PR.Getting Started
Prerequisites
Bun
Latest stable version
Git
Version control
GitHub Account
For contributions
Fork & Clone
Run in Development
Project Structure
Tiny Claw is a Bun workspace monorepo. The core stays tiny - everything else is a plugin.Development Workflow
Create an issue first
Describe what you want to work on before writing code. This helps avoid duplicate work and ensures alignment with project goals.
Create a branch
Create a branch from
dev using one of these prefixes:feature/*- new functionalityfix/*- bug fixesdocs/*- documentation changesrefactor/*- code restructuring without behavior changes
Commit Convention
This project follows the Clean Commit convention.| Emoji | Type | What it covers |
|---|---|---|
| 📦 | new | Adding new features, files, or capabilities |
| 🔧 | update | Changing existing code, refactoring, improvements |
| 🗑️ | remove | Removing code, files, features, or dependencies |
| 🔒 | security | Security fixes, patches, vulnerability resolutions |
| ⚙️ | setup | Project configs, CI/CD, tooling, build systems |
| ☕ | chore | Maintenance tasks, dependency updates, housekeeping |
| 🧪 | test | Adding, updating, or fixing tests |
| 📖 | docs | Documentation changes and updates |
| 🚀 | release | Version releases and release preparation |
Examples
Rules: lowercase type, present tense, no trailing period, under 72 characters.
Pull Request Guidelines
Before Submitting
Checklist
Checklist
- An issue exists and is referenced in the PR description (e.g.,
Closes #42) - PR targets the
devbranch - All commits follow the Clean Commit convention
- Code builds successfully (
bun build) - Tests pass (
bun test) - Documentation is updated (if applicable)
- CLA is signed
PR Description
Include a clear summary of what changed and why. Reference the issue number. If the change is visual, include screenshots or recordings.Review Process
- A maintainer will review your PR and may request changes.
- Please respond to feedback promptly - stale PRs may be closed after 30 days of inactivity.
- Once approved, a maintainer will merge your PR.
Writing Tests
Tests live intests/ directories alongside each package’s src/. We use Bun’s built-in test runner.
- Add tests for new features and bug fixes.
- Keep tests focused - one behavior per test.
- Use descriptive test names that explain what is being tested.
Code Style
TypeScript
Use strong typing - avoid
anyConsistency
Follow existing patterns and conventions
Simplicity
Keep functions small and focused
Error Handling
Handle errors gracefully - don’t swallow exceptions
Reporting Bugs
Open a new issue and include:- A clear, descriptive title.
- Steps to reproduce the issue.
- Expected vs. actual behavior.
- Your environment (OS, Bun version, Node version if applicable).
- Relevant logs or error messages.
Suggesting Features
Feature ideas are welcome! Open an issue with:- A clear description of the problem the feature solves.
- Your proposed solution or approach.
- Any alternatives you’ve considered.
Getting Help
Documentation
Check the docs for architecture and design info
Issues & Discussions
Browse existing conversations
Follow on X
Get updates from @TinyClawAI and @warengonzaga
Made with love by the Tiny Claw community