Vue + Nuxt

Full SFC support. VibeCode QA extracts <script> for logic analysis and scans templates for security + accessibility.

Quick Start

npx @vibecodeqa/cli

Set up CI + auto-fix

npx @vibecodeqa/cli init    # creates .github/workflows/vibecodeqa.yml
npx @vibecodeqa/cli fix     # auto-fix lint issues + show fix suggestions

Auto-detects: vue or nuxt in dependencies, Vite bundler, vitest/jest test runner.

How .vue Files Are Analyzed

Part of SFCWhat's Checked
<script setup>Type safety, complexity, duplication, error handling, imports, architecture graph
<template>Accessibility (img alt, click handlers), Security (v-html XSS)
<style>Not analyzed (CSS is out of scope)

Vue-Specific Patterns We Catch

Security

PatternSeverityWhy
v-html="..."Warning (CWE-79)Renders raw HTML — equivalent to React's dangerouslySetInnerHTML. Sanitize user input with DOMPurify.

Accessibility

PatternSeverityWhy
<div @click> without role + @keydownWarningNon-interactive elements with click handlers exclude keyboard users.
<img> without altErrorImages without alt text are invisible to screen readers.
autofocusWarningDisorients screen reader users.

All Standard Checks Apply

Complexity, duplication, error handling, secrets, dependencies, architecture — all work on the extracted <script> content. Vue files appear in the import graph and architecture diagrams.

Nuxt-Specific

Nuxt is detected via nuxt in dependencies. When found:

Recommended Tool Setup

# Core
pnpm add -D typescript @biomejs/biome vitest

# Vue-specific ESLint (optional — enables deeper checks in lint runner)
pnpm add -D eslint eslint-plugin-vue

# Security
brew install gitleaks

# E2E
pnpm add -D @playwright/test

What We Don't Cover (Yet)

Home · Tool Decisions · TS + React · Node.js · Flutter