{"id":37087686,"url":"https://github.com/bivas/rivi","last_synced_at":"2026-01-14T10:47:29.012Z","repository":{"id":57516527,"uuid":"95376534","full_name":"bivas/rivi","owner":"bivas","description":"Simplify Your Review Process with Rivi","archived":false,"fork":false,"pushed_at":"2019-03-06T21:15:52.000Z","size":59377,"stargazers_count":47,"open_issues_count":3,"forks_count":7,"subscribers_count":4,"default_branch":"development","last_synced_at":"2025-08-15T10:30:38.291Z","etag":null,"topics":["bot","configuration-management","review","review-process","review-tools","webhook"],"latest_commit_sha":null,"homepage":"http://rivi-cm.org","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bivas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-06-25T17:55:18.000Z","updated_at":"2021-04-07T11:26:19.000Z","dependencies_parsed_at":"2022-09-26T18:00:50.756Z","dependency_job_id":null,"html_url":"https://github.com/bivas/rivi","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/bivas/rivi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bivas%2Frivi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bivas%2Frivi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bivas%2Frivi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bivas%2Frivi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bivas","download_url":"https://codeload.github.com/bivas/rivi/tar.gz/refs/heads/development","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bivas%2Frivi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28417716,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-14T10:25:19.714Z","status":"ssl_error","status_checked_at":"2026-01-14T10:22:49.371Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bot","configuration-management","review","review-process","review-tools","webhook"],"created_at":"2026-01-14T10:47:28.278Z","updated_at":"2026-01-14T10:47:29.006Z","avatar_url":"https://github.com/bivas.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/bivas/rivi.svg?branch=development)](https://travis-ci.org/bivas/rivi)\n[![Go Report Card](https://goreportcard.com/badge/github.com/bivas/rivi/pkg)](https://goreportcard.com/report/github.com/bivas/rivi/pkg)\n[![codecov](https://codecov.io/gh/bivas/rivi/branch/development/graph/badge.svg)](https://codecov.io/gh/bivas/rivi)\n\n# rivi - Simplify your review process\n\nManaging a repository can require tedious administrative work, and as pull requests increase, it becomes even more complex. Today’s review flow lacks important visible information that leads to serious management issues. \n\nRivi is an innovative tool that automates repository management. Forget about manually checking which module was modified, or which people are in charge of a pull review, Rivi will do it for you. \nRivi enables automatic labeling with common parameters so that maitainers can immediately understand their repository status with a quick glance. It also assigns relevant people to pull request reviews, allows to add comments, merges pull requests, sends triggers to relevant systems and notifying them about issues that require prompt attention and more. \n\nWith Rivi, developers can focus on the actual code base and less on administrative unambiguous actions made every day.  We are looking to add more automation features to make the repository management process seamless, and our highest priority is to ensure that Rivi lives up to the community standards by providing true value and efficiency.\n\n## Usage\nRivi is available as a Github Application. Find out more at [rivi-cm.org](https://rivi-cm.org)\n\nIf you wish to host rivi on your local environment, please follow the [installation guide](docs/installation.md)\n\n## Configuration File Structure\n\nPlace a `.rivi.yaml` file at the repository root directory to be processed.\n\nThis configuration file might have multiple sections (depending on your scenario), but the only required one is `rules` section\n\n## Rules Section\n\nConfigure rules to be processed on each issue event. Each rule may have several actions. See [examples](docs/examples/README.md) for various rules.\n### Structure\n\n```yaml\nrules:\n  rule-name1:\n    \u003ccondition\u003e\n    \u003caction-name\u003e\n    \u003caction-name\u003e\n    \u003caction-name\u003e\n    ...\n  rule-name2:\n    \u003ccondition\u003e\n    \u003caction-name\u003e\n...\n```\n\n### Example\n```yaml\nrules:\n  rule-name:\n      condition:\n        if-labeled:\n          - label1\n          - label2\n        skip-if-labeled:\n          - label3\n        files:\n          patterns: \n            - \"docs/.*\"\n          extensions: \n            - \".go\"\n        title:\n          starts-with: \"BUGFIX\"\n          ends-with: \"WIP\"\n          patterns:\n            - \".* Bug( )?[0-9]{5} .*\"\n        description:\n          starts-with: \"test PR please ignore\"\n          ends-with: \"don't review yet\"\n          patterns:\n            - \".*depends on #[0-9]{1,5}.*\"\n        ref:\n          match: \"master\"\n          patterns:\n            - \"integration_v[0-9]{2}$\"\n        comments:\n          count: \"\u003e10\"\n        order: 5\n      commenter:\n        comment: \"We have a match!\"\n      labeler:\n        label: ready-for-review\n```\n### Condition\n\nThe entire `condition` section is optional - you can run all rules all the time and see if it helps :smile:\n\nFind out about available `condition` options [here](docs/condition.md)\n\n### Available Actions\n- [`autoassign`](pkg/engine/actions/autoassign/autoassign.md) - Automatic assignment of issue reviewers\n- [`automerge`](pkg/engine/actions/automerge/automerge.md) - Automatic merge for approved pull requests\n- [`commenter`](pkg/engine/actions/commenter/commenter.md) - Add comment to an issue\n- [`labeler`](pkg/engine/actions/labeler/labeler.md) - Add/Remove label to/from an issue\n- [`sizing`](pkg/engine/actions/sizing/sizing.md) - Size a pull request\n- [`trigger`](pkg/engine/actions/trigger/trigger.md) - Send HTTP triggers\n- [`locker`](pkg/engine/actions/locker/locker.md) - Lock an issue\n- [`slack`](pkg/engine/actions/slack/slack.md) - Send Slack messages\n- [`status`](pkg/engine/actions/status/status.md) - Update pull request commit status\n\n# Example Configuration\n\n```yaml\nconfig:\n  provider: github\n  token: my-very-secret-token\n  secret: my-hook-secret-shhhhh\n\nroles:\n  admins:\n      - user1\n      - user2\n  reviewers:\n      - user3\n      - user4\n  testers:\n      - user2\n      - user4\n\nrules:\n  pr-size:\n        sizing:\n          xs:\n            label: size/xs\n            changed-files-threshold: 5\n          s:\n            label: size/s\n            changed-files-threshold: 15\n          default:\n            label: pending-approval\n            comment: \"Your pull-request is too large for review\"\n\n  docs:\n        condition:\n          files:\n            patterns: \n              - \"docs/.*\"\n        labeler:\n          label: documentation\n\n  assignment:\n        condition:\n          skip-if-labeled:\n            - pending-approval\n        autoassign:\n          roles:\n            - admins\n            - reviewers\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbivas%2Frivi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbivas%2Frivi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbivas%2Frivi/lists"}