2 KiB
2 KiB
Contributing to RMI (Rug Munch Intelligence)
Thank you for your interest in contributing. RMI is a multi-chain crypto intelligence platform providing real-time scam detection, token security scanning, wallet analysis, and market intelligence across 96 blockchains.
Quick Start
- Read AGENTS.md first — it contains the architecture rules and development constraints.
- Clone the repo and set up a virtual environment:
python3 -m venv .venv && source .venv/bin/activate pip install -r requirements.txt -r requirements-dev.txt - Run the test suite to verify your environment:
python3 -m pytest tests/unit/ -x --tb=short
Code Standards
- Formatter:
ruff format app/ - Linter:
ruff check --fix app/ - Type checker:
mypy app/core/ app/domain/ --ignore-missing-imports - No file > 500 lines. Split god files into domain modules.
- No bare
except:— always useexcept Exception:. - No
print()in app code — usefrom app.core.logging import get_logger; log = get_logger(__name__). - No sync HTTP calls — use
httpx.AsyncClientorapp.core.http.http_client. - Never add to
main.py— it is the entry point only. New code goes inapp/domain/*orapp/core/*.
PR Process
- Create a feature branch:
git checkout -b feat/your-change - Make changes following the code standards above.
- Add tests for new functionality (target: 80% coverage on new code).
- Run the full test suite:
python3 -m pytest tests/ -x - Commit with a clear message (conventional commits preferred).
- Push and open a PR with a description of what changed and why.
Where to Start
- Look for issues labeled
good-first-issueorhelp-wanted. - Improve test coverage on domain modules.
- Add type hints to untyped public functions.
- Fix lint errors (
ruff check app/). - Improve documentation.
Questions
Open a GitHub issue or discussion if you're unsure about something. We're happy to help.