Capability
It cites the rule it is holding you to.
Teams write their conventions down in plain language, and Moonray AI also picks up what is already in the repository: README files, AI instruction files, linting configuration and rules from other tools. When a finding comes from one of those, it names the rule.
What it does
Most disagreement in code review is not about whether something is wrong. It is about whose preference is being applied. A finding that names the rule it came from moves the conversation from opinion to reference, and the author can go and read the rule.
You can write standards for us in plain language. We also read what your repository already contains, so a team that has never written a line of configuration for us still gets findings grounded in their own conventions on day one.
What it reads without being asked
README files, contributing guides, AI instruction files such as AGENTS.md or CLAUDE.md, editor and agent rule files, and linting configuration. If your team has already told a tool what good looks like, we would rather read that than ask you to write it again.
Finding
The refund retry path logs the order id but not a correlation id, so a retry cannot be traced back to the original attempt.
Rule
"Money paths log a correlation id"
engineering/conventions.md, line 42
Confidence 0.91, from your own written standard
Questions.
Where do we write our rules?
In plain language, in the repository. There is no rule syntax to learn, and no separate console to keep in sync with the code.
What if a rule contradicts our linter?
The finding names its source, so you can see which one produced it and decide which to change.
See it on your own pull requests.
We install on one repository, let Moonray AI assess the next changes your team opens, and go through what it found with you. If the position is not better than what you have now, you will know within a week.
Nothing to host. Reviews begin on the next pull request opened.