GitHub checks for the rules your product cannot break.

Mo checks GitHub pull requests against approved business rules before merge. Pricing, permissions, onboarding, eligibility, and sensitive workflow rules — flagged before they ship.

See 10s demo Start free trial

Works with Slack and GitHub. Rules can also come from approved uploads.

Mo
Approved

"Guest users cannot access billing settings."

Update billing page visibility #184

Open

mo-botbot
Mo — Conflicts found

Approved: Guest users cannot access billing

PR allows: billing page for guest accounts

Failed — Conflict with approved rule

mo-bot / business-rule-check

Not every broken rule looks like a bug.

A pull request can compile, pass tests, and still break a business rule the team approved.

  • A guest user gets access to billing.
  • A trial becomes longer than approved.
  • A required onboarding step disappears.
  • A restricted action no longer needs the right role.

GitHub already tells teams whether the code builds. Mo adds a check for whether it still follows approved business logic.

What Mo adds to GitHub

  1. Approved rules

Capture product rules and decisions that should not drift.

  1. Pull request checks

Mo runs as part of the GitHub merge flow.

  1. Conflict detection

Flag pull requests that break approved rules.

  1. Pre-merge protection

Catch rule drift before it reaches production.

Where teams use GitHub business rule checks

A. Pricing and entitlements

Protect trial length, discount logic, plan limits, feature access, and upgrade behavior.

B. Permissions and roles

Protect admin-only actions, exports, finance controls, billing visibility, and sensitive operations.

C. Onboarding and flow logic

Protect required steps, activation gates, confirmation checks, and role-based entry flows.

D. Eligibility and restrictions

Protect region gating, account-state restrictions, verification requirements, and access conditions.

E. Product rules that should not drift

Protect decisions made by product, ops, founders, support, or engineering when those decisions need to hold at code level.

How teams use it inside GitHub

Step 01: Approve a rule

A rule is approved in Slack or added from an uploaded source.

Step 02: Open a pull request

Developers keep working in GitHub as usual.

Step 03: Mo runs the check

Mo compares the pull request against approved rules.

Step 04: Catch drift before merge

If the pull request breaks a rule, GitHub shows the conflict before merge.

Examples of GitHub business rules teams enforce

  • Guest users cannot access billing settings
  • Trial must stay at 7 days
  • Only admins can export users
  • Verification must complete before payouts are enabled
  • Restricted regions cannot access this feature
  • Basic plan users cannot use bulk export
  • Refunds above a threshold require review
  • Team setup requires at least one invited member before activation
  • Internal notes are visible only to staff
  • Billing changes require admin role

Why teams want this in GitHub

Without business rule checks:

  • Code review focuses on implementation
  • Tests focus on behavior that was explicitly covered
  • Business logic can drift quietly
  • Reviewers may not know what was approved

With Mo in GitHub:

  • Approved rules become visible at merge time
  • Pull requests are checked before they ship
  • Rule drift is flagged early
  • Important product logic stays aligned

Built for GitHub teams shipping faster than they can manually verify

As code review gets faster and AI-assisted development increases output, more risky logic changes can hide inside normal feature work. Mo adds a focused check in GitHub for the rules your team actually cares about.

FAQ

Is this a GitHub code review tool?
No. Mo does not focus on code quality. It checks whether a GitHub pull request breaks approved business rules.

Do rules need to live in GitHub?
No. Teams usually approve them in Slack. Mo can also support uploaded sources when needed.

Will this block every pull request?
No. Mo is meant to flag rule drift when a pull request breaks an approved rule.

Can we start with only a few rules?
Yes. Teams usually start with the highest-risk rules first.