Contributing¶
Thank you for your interest in contributing to abi-to-mcp! This section covers everything you need to get started.
Ways to Contribute¶
-
Report Bugs
Found a bug? Open an issue with details to help us fix it.
-
Suggest Features
Have an idea? Open a discussion to share your thoughts.
-
Submit Code
Fix a bug or add a feature. See our development guide.
-
Improve Docs
Help improve documentation, add examples, fix typos.
Quick Start¶
# Fork and clone
git clone https://github.com/YOUR-USERNAME/UCAI.git
cd UCAI
# Setup development environment
make setup
# Run tests
make test
# Make your changes, then submit a PR!
Development Guides¶
| Guide | Description |
|---|---|
| Development Setup | Environment setup and workflow |
| Architecture | Project structure and design |
| Testing | Writing and running tests |
Contribution Guidelines¶
Code Style¶
- We use Ruff for linting and formatting
- Type hints are required for all public functions
- Docstrings follow Google style
Commit Messages¶
Use conventional commits:
feat: add support for ERC4626 detection
fix: handle empty ABI arrays
docs: update type mapping table
test: add tests for nested tuples
Pull Request Process¶
- Fork the repository
- Create a branch from
main - Make changes with tests
- Run checks (
make check) - Submit PR with description
Code Review¶
All submissions require review. We aim to review within:
- Bug fixes: 1-2 days
- Features: 3-5 days
- Major changes: 1-2 weeks
Documentation¶
Documentation is in docs/ using MkDocs with Material theme.
Local Preview¶
Visit http://localhost:8000
Doc Structure¶
| Path | Content |
|---|---|
docs/getting-started/ |
New user tutorials |
docs/cli/ |
CLI command reference |
docs/concepts/ |
Conceptual explanations |
docs/guides/ |
How-to guides |
docs/api/ |
Python API reference |
docs/reference/ |
Reference tables |
docs/contributing/ |
Contribution guides |
Community¶
- GitHub Discussions - Questions and ideas
- GitHub Issues - Bug reports
- Twitter/X - Updates and announcements
License¶
By contributing, you agree that your contributions will be licensed under the MIT License.
Code of Conduct¶
We are committed to providing a welcoming and inclusive environment. Please:
- Be respectful and constructive
- Welcome newcomers
- Focus on the code, not the person
- Accept constructive criticism gracefully