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.
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
- Approved rules
Capture product rules and decisions that should not drift.
- Pull request checks
Mo runs as part of the GitHub merge flow.
- Conflict detection
Flag pull requests that break approved rules.
- 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.