AI Slop Code Risk Monitor

saadeghi/daisyui

SlopCodeMonitor badge for saadeghi/daisyui Adjusted legacy signal; badge bands: 25 / 50 / 75 (different from dashboard bands).

🌼 🌼 🌼 🌼 🌼  The most popular, free and open-source Tailwind CSS component library

0.8 Low pattern signal View on GitHub

Open-Source Code Quality, Security and Technical Debt Review

This report summarizes scanner evidence for saadeghi/daisyui, a JavaScript project with 42,711 GitHub stars. SynthScan examined 203,521 lines of code across 1010 source files, recording 92 pattern matches distributed across 9 syntactic categories. The legacy adjusted pattern signal is 0.8 (Low pattern signal); it is not an authorship estimate.

Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.

0.8
Adjusted Signal
0.8
Raw Pattern Score
100%
Time Factor
2026-10-17
Last Push
42.7K
Stars
JavaScript
Language
203.5K
Lines of Code
1.0K
Files
92
Pattern Hits
2026-10-31
Scan Date
0.00
HC Hit Rate

Risk Review · Payload v1

Use each vector to guide manual verification of the underlying findings.

Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.

Cognitive Ownership Risk 3.9/100 · LOW

Can maintainers explain intent, assumptions, and trade-offs? 87 finding(s).

Hallucinated Dependency & Supply Chain Risk 0.1/100 · LOW

Are imports declared and package/API names verified? 5 finding(s).

Agent Over-Engineering Ratio 0.3/100 · LOW

Are wrappers, guards, and repeated structures necessary? 13 finding(s).

PR Review Velocity Impact 3.9/100 · LOW

Which changes need focused human review? 92 finding(s).

What These Metrics Mean

Adjusted Signal
Legacy pattern score normalized per 1,000 scanned lines and multiplied by the repository-level time factor. It is not an estimate of AI authorship.
Raw Pattern Score
Sum of severity- and context-weighted pattern findings before applying the time factor.
Time Factor
A coarse multiplier based on repository last-push metadata. It does not identify when individual code was written.
Pattern Hits
Count of configured pattern findings. Review each location and surrounding code before acting.
HC Hit Rate
High- and critical-severity findings per scanned file. Severity is a configured detector weight, not proof of a vulnerability or authorship.
Lines / Files
Scan coverage denominators used by the legacy normalized score.

Pattern-Signal History

This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.

Severity Breakdown

Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.

CRITICAL 0HIGH 3MEDIUM 28LOW 61

Directory Score Breakdown

This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.

Pattern Findings

The scanner identified 92 distinct pattern matches across 9 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.

Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.

Structural Annotation Overuse36 hits · 60 pts
SeverityFileLineSnippetContext
LOW⚡…es/docs/src/lib/scripts/missingClassnamePrefix.test.js28// Step 1: Find all class.json files and extract class namesCOMMENT
LOW⚡…es/docs/src/lib/scripts/missingClassnamePrefix.test.js38// Step 2: Find all .md files and extract HTML/JSX code blocksCOMMENT
LOW…es/docs/src/lib/scripts/missingClassnamePrefix.test.js51// Step 3: Check if class names in classList are prefixed with $$ in class or className attributesCOMMENT
LOW…keting)/(groups)/claude-code/how-to-design-ui/+page.md14## Step 1: write a product briefCOMMENT
LOW…keting)/(groups)/claude-code/how-to-design-ui/+page.md18## Step 2: add daisyUI contextCOMMENT
LOW…keting)/(groups)/claude-code/how-to-design-ui/+page.md34## Step 3: prompt with componentsCOMMENT
LOW…ages/docs/src/routes/(routes)/blueprint/cline/+page.md13### Step 1: License keyCOMMENT
LOW…ages/docs/src/routes/(routes)/blueprint/cline/+page.md17### Step 2: Configure MCP settingsCOMMENT
LOW…ckages/docs/src/routes/(routes)/blueprint/zed/+page.md13### Step 1: License keyCOMMENT
LOW…ckages/docs/src/routes/(routes)/blueprint/zed/+page.md17### Step 2: Configure MCP settingsCOMMENT
LOW…s/docs/src/routes/(routes)/blueprint/openclaw/+page.md13### Step 1: License keyCOMMENT
LOW…s/docs/src/routes/(routes)/blueprint/openclaw/+page.md17### Step 2: Configure MCP settingsCOMMENT
LOW…ges/docs/src/routes/(routes)/blueprint/cursor/+page.md13### Step 1: License keyCOMMENT
LOW…ges/docs/src/routes/(routes)/blueprint/cursor/+page.md17### Step 2: Configure MCP settingsCOMMENT
LOW…docs/src/routes/(routes)/blueprint/claudecode/+page.md13### Step 1: License keyCOMMENT
LOW…docs/src/routes/(routes)/blueprint/claudecode/+page.md17### Step 2: Configure MCP settingsCOMMENT
LOW…ges/docs/src/routes/(routes)/blueprint/claude/+page.md13### Step 1: License keyCOMMENT
LOW…ges/docs/src/routes/(routes)/blueprint/claude/+page.md17### Step 2: Configure MCP settingsCOMMENT
LOW⚡…ages/docs/src/routes/(routes)/blueprint/codex/+page.md13### Step 1: License keyCOMMENT
LOW⚡…ages/docs/src/routes/(routes)/blueprint/codex/+page.md17### Step 2: Install Codex CLICOMMENT
LOW⚡…ages/docs/src/routes/(routes)/blueprint/codex/+page.md25### Step 3: Configure MCP settingsCOMMENT
LOW…kages/docs/src/routes/(routes)/blueprint/grok/+page.md11### Step 1: License keyCOMMENT
LOW…kages/docs/src/routes/(routes)/blueprint/grok/+page.md15### Step 2: Configure MCP settingsCOMMENT
LOW…ages/docs/src/routes/(routes)/blueprint/figma/+page.md25### Step 1: Get a Figma Access TokenCOMMENT
LOW…ages/docs/src/routes/(routes)/blueprint/figma/+page.md38### Step 2: Add the token to Blueprint MCPCOMMENT
LOW…ages/docs/src/routes/(routes)/blueprint/figma/+page.md54### Step 3: Copy a Figma selection linkCOMMENT
LOW…ages/docs/src/routes/(routes)/blueprint/figma/+page.md58### Step 4: Ask your editor to generate daisyUI codeCOMMENT
LOW…s/docs/src/routes/(routes)/blueprint/windsurf/+page.md13### Step 1: License keyCOMMENT
LOW…s/docs/src/routes/(routes)/blueprint/windsurf/+page.md17### Step 2: Configure MCP settingsCOMMENT
LOW…ocs/src/routes/(routes)/blueprint/antigravity/+page.md13### Step 1: License keyCOMMENT
LOW…ocs/src/routes/(routes)/blueprint/antigravity/+page.md17### Step 2: Configure MCP settingsCOMMENT
LOW…ges/docs/src/routes/(routes)/blueprint/vscode/+page.md13### Step 1: License keyCOMMENT
LOW…ges/docs/src/routes/(routes)/blueprint/vscode/+page.md17### Step 2: Configure MCP settingsCOMMENT
LOW⚡…s/docs/src/routes/(routes)/blueprint/opencode/+page.md13### Step 1: License keyCOMMENT
LOW⚡…s/docs/src/routes/(routes)/blueprint/opencode/+page.md17### Step 2: Install OpenCode CLICOMMENT
LOW⚡…s/docs/src/routes/(routes)/blueprint/opencode/+page.md25### Step 3: Configure MCP settingsCOMMENT
Slop Phrases30 hits · 57 pts
SeverityFileLineSnippetContext
MEDIUMpackages/docs/src/translation/ms.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "Di sini kami mCODE
MEDIUMpackages/docs/src/translation/id.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "Di sini kita mCODE
MEDIUMpackages/docs/src/translation/ro.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "Aici folosim iCODE
MEDIUMpackages/docs/src/translation/hu.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "Itt a `--no-ecCODE
MEDIUMpackages/docs/src/translation/ja.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "ここでは、デモンストレーショCODE
MEDIUMpackages/docs/src/translation/es.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "Aquí estamos uCODE
MEDIUMpackages/docs/src/translation/tr.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "Burada sadece CODE
MEDIUMpackages/docs/src/translation/de.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "Hier verwendenCODE
MEDIUMpackages/docs/src/translation/el.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "Εδώ χρησιμοποιCODE
MEDIUMpackages/docs/src/translation/ko.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "여기서는 데모 목적으로 `CODE
LOWpackages/docs/src/translation/en.other.json117 "If you're using a custom theme make sure you're using <a href=\"https://daisyui.com/docs/themes/#how-to-add-a-new-cusCODE
MEDIUMpackages/docs/src/translation/ru.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "Здесь мы исполCODE
MEDIUMpackages/docs/src/translation/pt.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "Aqui estamos uCODE
MEDIUMpackages/docs/src/translation/fr.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "Ici, nous utilCODE
MEDIUMpackages/docs/src/translation/pl.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "Tutaj używamy CODE
MEDIUMpackages/docs/src/translation/ur.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "یہاں ہم صرف مظCODE
MEDIUMpackages/docs/src/translation/ca.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "Aquí estem utiCODE
MEDIUMpackages/docs/src/translation/bn.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "এখানে আমরা শুধCODE
MEDIUMpackages/docs/src/translation/vi.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "Ở đây chúng tôCODE
MEDIUMpackages/docs/src/translation/fa.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "در اینجا ما ازCODE
MEDIUMpackages/docs/src/translation/zh_hant.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "這裡我們使用「`--no-eCODE
MEDIUMpackages/docs/src/translation/uk.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "Тут ми викорисCODE
MEDIUMpackages/docs/src/translation/zh_hans.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "这里我们使用`--no-ecCODE
LOWpackages/docs/src/translation/en.docs.json542 "If you're using a custom theme make sure you're using [all the required CSS variables](https://daisyui.com/docs/themeCODE
MEDIUMpackages/docs/src/translation/en.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "Here we are usCODE
LOWpackages/docs/src/translation/en.docs.json1226 "If you're using a custom theme make sure you're using <a href=\"https://daisyui.com/docs/themes/#how-to-add-a-new-cusCODE
MEDIUMpackages/docs/src/translation/ar.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "نحن هنا نستخدمCODE
MEDIUMpackages/docs/src/translation/he.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "כאן אנו משתמשיCODE
MEDIUMpackages/docs/src/translation/it.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "Qui utilizziamCODE
MEDIUMpackages/docs/src/translation/cs.docs.json669 "Here we are using the `--no-ecto` flag to skip the database setup, just for demonstration purposes.": "Zde používáme CODE
AI Response Leakage2 hits · 15 pts
SeverityFileLineSnippetContext
HIGH…es/docs/src/routes/(routes)/components/drawer/+page.md221#### In this example instead of completely hiding the drawer sidebar, we only show the icons when the drawer is closed. COMMENT
HIGH…kages/docs/src/routes/(routes)/components/otp/+page.md50#### Make sure the number of spans matches the maxlength and the pattern of the input field. In this example, we have 4 COMMENT
Hyper-Verbose Identifiers13 hits · 13 pts
SeverityFileLineSnippetContext
LOWpackages/daisyui/functions/generateRawStyles.js59export async function generateResponsiveVariants(css) {CODE
LOWpackages/docs/src/lib/discountCountdown.js15export function getDiscountCountdownRemaining(expiresAt, now = Date.now()) {CODE
LOWpackages/docs/src/lib/storeDiscount.js66export function isDiscountApplicableToProduct(discount, productIds) {CODE
LOWpackages/docs/src/lib/storeDiscount.js72export function isDiscountApplicableToBlueprint(discount) {CODE
LOWpackages/docs/src/lib/server/content/comparisonData.js107export function getAlternativeRouteEntries(manifest) {CODE
LOWpackages/docs/src/lib/server/content/comparisonData.js113export function getAlternativeLibraryKeys(manifest) {CODE
LOWpackages/docs/src/lib/server/content/comparisons.js28export async function getAlternativeRouteEntries() {CODE
LOWpackages/docs/src/lib/server/content/frameworkData.js49export function projectMarketingFrameworkRouteData(frameworks, testimonials, pathname) {CODE
LOWpackages/docs/src/lib/server/content/frameworks.js40export async function getMarketingFrameworkRouteData(pathname) {CODE
LOW…/docs/src/routes/(routes)/theme-generator/+page.svelte281 function handleColorModalStateChange(isOpen) {CODE
LOWpackages/docs/src/routes/llms.txt/+server.js92function transformFrontmatterLines(lines) {CODE
LOWpackages/docs/src/routes/search.csv/+server.js106function getMarkdownFilesFromModules() {CODE
LOWpackages/docs/src/routes/search.csv/+server.js153function getMarkdownFilesFromFileSystem(routesDir) {CODE
Verbosity Indicators3 hits · 6 pts
SeverityFileLineSnippetContext
LOW⚡…es/docs/src/lib/scripts/missingClassnamePrefix.test.js28// Step 1: Find all class.json files and extract class namesCOMMENT
LOW⚡…es/docs/src/lib/scripts/missingClassnamePrefix.test.js38// Step 2: Find all .md files and extract HTML/JSX code blocksCOMMENT
LOW…es/docs/src/lib/scripts/missingClassnamePrefix.test.js51// Step 3: Check if class names in classList are prefixed with $$ in class or className attributesCOMMENT
Fake / Example Data5 hits · 6 pts
SeverityFileLineSnippetContext
LOWpackages/daisyui/build.js80 // "placeholder",COMMENT
LOW…o-make-a-blog-quickly-using-astro-and-daisyUI/+page.md141description: Lorem ipsum dolor sit, amet consectetur adipisicing elit. Hic eos odit sequi minima iure natus, odio temporCODE
LOW…/src/routes/(routes)/components/button/design/+page.md61 Lorem ipsum dolor, sit amet consectetur adipisicing elit. Veniam, a ex perferendis ipsam quosCODE
LOW…/src/routes/(routes)/components/button/design/+page.md88 Lorem ipsum dolor, sit amet consectetur adipisicing elit. Veniam, a ex perferendis ipsam quosCODE
LOW…/src/routes/(routes)/components/button/design/+page.md125 Lorem ipsum dolor, sit amet consectetur adipisicing elit. Veniam, a ex perferendis ipsam quosCODE
Synthetic Comment Markers1 hit · 5 pts
SeverityFileLineSnippetContext
HIGH…ckages/docs/src/routes/(routes)/blueprint/+page.svelte2022 {#each ["The most mediocre layout", "Boring, inauthentic color palette", "Looks like every other AI-generateCODE
Modern AI Meta-Vocabulary1 hit · 3 pts
SeverityFileLineSnippetContext
MEDIUM…ting)/(groups)/tailwind-css/ai-code-generator/+page.md12## An AI Tailwind code generator needs guardrailsCOMMENT
Over-Commented Block1 hit · 1 pts
SeverityFileLineSnippetContext
LOWpackages/docs/src/routes/(routes)/+page.svelte121 // $effect(async () => {COMMENT