-
Notifications
You must be signed in to change notification settings - Fork 43
Contributing‐Guide
Clo edited this page Mar 29, 2026
·
1 revision
git clone https://github.com/omnuron/omniclaw.git
cd omniclaw
uv sync --extra devpip install pre-commit
pre-commit installThis installs ruff lint and format checks that run automatically before each commit.
omniclaw doctorWe use a branch protection model. All changes must go through Pull Requests — direct pushes to main are not allowed.
-
Create a feature branch from
main:git checkout main git pull origin main git checkout -b feature/your-feature-name
-
Make your changes and commit:
git add . git commit -m "feat: describe your change"
-
Push and create a PR:
git push -u origin feature/your-feature-name
Then open a Pull Request on GitHub.
Before a PR can be merged, it must:
- Pass Lint check (ruff lint + format)
- Pass Test suite (pytest)
- Receive at least 1 approving review
We follow conventional commits:
| Prefix | Usage |
|---|---|
feat: |
New feature |
fix: |
Bug fix |
docs: |
Documentation only |
style: |
Code style / formatting |
refactor: |
Code restructuring (no behavior change) |
test: |
Adding or updating tests |
ci: |
CI/CD configuration |
chore: |
Maintenance tasks |
uv run ruff check src/ # Lint check
uv run ruff check src/ --fix # Auto-fix issuesuv run ruff format src/ # Format code
uv run ruff format --check src/ # Check without modifyinguv run mypy src/omniclaw --ignore-missing-importsuv run pytest # Run all tests
uv run pytest -x # Stop on first failure
uv run pytest -v # Verbose outputomniclaw/
├── src/omniclaw/ # Main source code
│ ├── agent/ # MCP agent server
│ ├── nanopayment/ # EIP-3009 nano transfers
│ ├── trust/ # ERC-8004 trust evaluation
│ ├── cli.py # CLI commands
│ ├── core.py # Main OmniClaw client
│ ├── seller.py # Seller SDK
│ └── config.py # Configuration
├── tests/ # Test suite
├── examples/ # Usage examples
├── .github/workflows/ # CI/CD pipelines
├── .pre-commit-config.yaml
├── pyproject.toml
└── README.md
- Open a GitHub Issue for bugs or feature requests
- Start a Discussion for questions
- Check existing issues for
good first issueandhelp wantedlabels
- Getting Started — setup for users
- Architecture — system design overview
- API Reference — SDK method documentation