Vue.js

Design review for Vue.js code.

Rams reads your single-file components: template, script, and scoped styles. On every pull request it posts inline one-click fix suggestions and a summary, usually in about a minute. No CI config, nothing to run.

Clickable divs in templates

A <div @click="open"> with no role, no tabindex, no keydown handler. Keyboard and screen reader users cannot reach it. Rams suggests the button element in one click.

v-model inputs without labels

An <input v-model="email"> with a placeholder standing in for a label. The hint vanishes on the first keystroke and screen readers have nothing to announce.

Low contrast in scoped styles

Body text set to #9ca3af on white is 2.5:1, under the 4.5:1 minimum. Rams computes the ratio from the real hex in your <style scoped> block and quotes the exact line.

Stray hex beside your tokens

Rams knows your token layer, so var(--color-text) is never flagged. But a one-off #3b82f6 pasted into a component drifts from the palette, and it gets called out.

Transitions that ignore reduced motion

A <Transition> whose .v-enter-active animates transform for 400ms with no prefers-reduced-motion guard. Users who turned motion off in their OS still get the full animation.

The stock AI gradient

A purple-to-blue hero gradient, glow shadows, five identical filled buttons in one SFC. A whole craft category exists to catch layouts that look generated, not designed.

The same 174 rules, on every Vue.js pull request.

Install the GitHub App, open a pull request, and read the first review about a minute later.

Review my public repo for free