Skip to content

Latest commit

 

History

History
50 lines (37 loc) · 1.46 KB

File metadata and controls

50 lines (37 loc) · 1.46 KB

Contributing to IRIS

Thanks for your interest in contributing! Here's how to get involved.

Getting Started

  1. Fork the repository
  2. Clone your fork: git clone https://github.com/YOUR_USERNAME/iris.git
  3. Create a branch: git checkout -b feature/your-feature-name
  4. Install dependencies: pip install -r requirements.txt
  5. Make your changes
  6. Run tests: pytest tests/
  7. Commit: git commit -m "feat: describe your change"
  8. Push: git push origin feature/your-feature-name
  9. Open a Pull Request

Commit Style

Use conventional commits:

  • feat: — new feature
  • fix: — bug fix
  • docs: — documentation only
  • refactor: — code restructure, no behavior change
  • test: — adding or updating tests
  • chore: — maintenance tasks

Code Style

  • Python 3.10+
  • Type hints on all functions
  • Docstrings on all classes and public methods
  • Use rich for any terminal output
  • No hardcoded credentials — always use env vars or config file

Adding a New Feed

  1. Create src/feeds/yourfeed.py
  2. Subclass BaseFeed from src/feeds/base.py
  3. Implement async def lookup(self, indicator: str) -> dict
  4. Register it in src/core/aggregator.py
  5. Add config entry to config.yaml
  6. Write tests in tests/test_feeds.py

Reporting Bugs

Open an issue using the bug report template.

Requesting Features

Open an issue using the feature request template.