Loading source
Pulling the file list, source metadata, and syntax-aware rendering for this listing.
Source from repo
One-time setup that gathers your project's design context and saves it to CLAUDE.md for future sessions.
Files
Skill
Size
Entrypoint
Format
Open file
Syntax-highlighted preview of this file as included in the skill package.
scripts/detector/detect-antipatterns.mjs
1#!/usr/bin/env node23/**4* Anti-Pattern Detector for Impeccable5* Copyright (c) 2026 Paul Bakaus6* SPDX-License-Identifier: Apache-2.07*8* Public API facade. Runtime engines live under cli/engine/engines/.9*/1011import { detectCli } from './cli/main.mjs';1213export { ANTIPATTERNS, RULE_ENGINE_SUPPORT, getAntipattern, getRulesForCategory, getRuleEngineSupport } from './registry/antipatterns.mjs';14export { SAFE_TAGS, BORDER_SAFE_TAGS, OVERUSED_FONTS, GENERIC_FONTS, KNOWN_SERIF_FONTS } from './shared/constants.mjs';15export { isNeutralColor, parseRgb, relativeLuminance, contrastRatio, parseGradientColors, hasChroma, getHue, colorToHex } from './shared/color.mjs';16export { isFullPage } from './shared/page.mjs';17export {18checkElementBorders,19checkElementMotion,20checkElementGlow,21checkPageTypography,22checkPageLayout,23checkHtmlPatterns,24} from './rules/checks.mjs';25export { createDetectorProfile, summarizeDetectorProfile } from './profile/profiler.mjs';26export {27parseFrontmatter as parseDesignFrontmatter,28normalizeDesignSystem,29loadDesignSystemForCwd,30checkSourceDesignSystem,31collectStaticDesignSystemFindings,32} from './design-system.mjs';33export { detectHtml } from './engines/static-html/detect-html.mjs';34export { detectUrl, createBrowserDetector } from './engines/browser/detect-url.mjs';35export { detectText, extractStyleBlocks, extractCSSinJS } from './engines/regex/detect-text.mjs';36export {37walkDir,38SCANNABLE_EXTENSIONS,39SKIP_DIRS,40buildImportGraph,41resolveImport,42detectFrameworkConfig,43isPortListening,44FRAMEWORK_CONFIGS,45} from './node/file-system.mjs';46export { formatFindings, detectCli } from './cli/main.mjs';4748const isMainModule = process.argv[1]?.endsWith('detect-antipatterns.mjs') ||49process.argv[1]?.endsWith('detect-antipatterns.mjs/');50if (isMainModule) detectCli();51