{
  "schema_version": "1.0.0",
  "scanner": {
    "name": "global-capability-catalog",
    "version": "0.1.0"
  },
  "repo": {
    "id": "github-recent__mbarbine__jts-hvac-gates-www",
    "name": "mbarbine__jts-hvac-gates-www",
    "path": "/Users/bwm.barbinewarnermichael/Documents/github/repositories/github-recent/mbarbine__jts-hvac-gates-www",
    "relative_path": "github-recent/mbarbine__jts-hvac-gates-www",
    "remote_url": "git@github.com:mbarbine/jts-hvac-gates-www.git",
    "default_branch": "main",
    "current_commit": "9fb285f626cf4ff708654b40f7c10234fb4a1580"
  },
  "languages": [
    {
      "language": "TypeScript",
      "files": 15,
      "bytes": 175170
    },
    {
      "language": "YAML",
      "files": 1,
      "bytes": 128468
    },
    {
      "language": "CSS",
      "files": 2,
      "bytes": 10755
    },
    {
      "language": "JSON",
      "files": 3,
      "bytes": 3274
    },
    {
      "language": "Markdown",
      "files": 1,
      "bytes": 1211
    },
    {
      "language": "JavaScript",
      "files": 2,
      "bytes": 371
    }
  ],
  "frameworks": [
    {
      "name": "Next.js",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "React",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    },
    {
      "name": "Tailwind CSS",
      "confidence": "high",
      "evidence_paths": [
        "package.json"
      ]
    }
  ],
  "packages": {
    "package_manager": "pnpm",
    "manifests": [
      {
        "path": "package.json",
        "name": "my-v0-project",
        "version": "0.1.0",
        "scripts": {
          "build": "next build",
          "dev": "next dev",
          "lint": "next lint",
          "start": "next start"
        },
        "dependencies": {
          "@hookform/resolvers": "^3.10.0",
          "@radix-ui/react-accordion": "1.2.2",
          "@radix-ui/react-alert-dialog": "1.1.4",
          "@radix-ui/react-aspect-ratio": "1.1.1",
          "@radix-ui/react-avatar": "1.1.2",
          "@radix-ui/react-checkbox": "1.1.3",
          "@radix-ui/react-collapsible": "1.1.2",
          "@radix-ui/react-context-menu": "2.2.4",
          "@radix-ui/react-dialog": "1.1.4",
          "@radix-ui/react-dropdown-menu": "2.1.4",
          "@radix-ui/react-hover-card": "1.1.4",
          "@radix-ui/react-label": "2.1.1",
          "@radix-ui/react-menubar": "1.1.4",
          "@radix-ui/react-navigation-menu": "1.2.3",
          "@radix-ui/react-popover": "1.1.4",
          "@radix-ui/react-progress": "1.1.1",
          "@radix-ui/react-radio-group": "1.2.2",
          "@radix-ui/react-scroll-area": "1.2.2",
          "@radix-ui/react-select": "2.1.4",
          "@radix-ui/react-separator": "1.1.1",
          "@radix-ui/react-slider": "1.2.2",
          "@radix-ui/react-slot": "1.1.1",
          "@radix-ui/react-switch": "1.1.2",
          "@radix-ui/react-tabs": "1.1.2",
          "@radix-ui/react-toast": "1.2.4",
          "@radix-ui/react-toggle": "1.1.1",
          "@radix-ui/react-toggle-group": "1.1.1",
          "@radix-ui/react-tooltip": "1.1.6",
          "autoprefixer": "^10.4.20",
          "class-variance-authority": "^0.7.1",
          "clsx": "^2.1.1",
          "cmdk": "1.0.4",
          "date-fns": "4.1.0",
          "embla-carousel-react": "8.5.1",
          "geist": "^1.3.1",
          "input-otp": "1.4.1",
          "lucide-react": "^0.454.0",
          "next": "15.2.4",
          "next-themes": "^0.4.6",
          "react": "^19",
          "react-day-picker": "9.8.0",
          "react-dom": "^19",
          "react-hook-form": "^7.60.0",
          "react-resizable-panels": "^2.1.7",
          "recharts": "2.15.4",
          "sonner": "^1.7.4",
          "tailwind-merge": "^2.5.5",
          "tailwindcss-animate": "^1.0.7",
          "vaul": "^0.9.9",
          "zod": "3.25.67"
        },
        "dev_dependencies": {
          "@tailwindcss/postcss": "^4.1.9",
          "@types/node": "^22",
          "@types/react": "^19",
          "@types/react-dom": "^19",
          "postcss": "^8.5",
          "tailwindcss": "^4.1.9",
          "tw-animate-css": "1.3.3",
          "typescript": "^5"
        }
      }
    ]
  },
  "routes": {
    "api_routes": [],
    "app_routes": []
  },
  "components": [
    {
      "name": "animated-hero",
      "kind": "ui-component",
      "source_path": "components/animated-hero.tsx"
    },
    {
      "name": "customer-reviews-platform",
      "kind": "ui-component",
      "source_path": "components/customer-reviews-platform.tsx"
    },
    {
      "name": "dynamic-contact-booking",
      "kind": "ui-component",
      "source_path": "components/dynamic-contact-booking.tsx"
    },
    {
      "name": "emergency-floating-widget",
      "kind": "ui-component",
      "source_path": "components/emergency-floating-widget.tsx"
    },
    {
      "name": "emergency-service-features",
      "kind": "ui-component",
      "source_path": "components/emergency-service-features.tsx"
    },
    {
      "name": "interactive-services",
      "kind": "ui-component",
      "source_path": "components/interactive-services.tsx"
    },
    {
      "name": "professional-gallery-portfolio",
      "kind": "ui-component",
      "source_path": "components/professional-gallery-portfolio.tsx"
    },
    {
      "name": "service-area-map",
      "kind": "ui-component",
      "source_path": "components/service-area-map.tsx"
    },
    {
      "name": "theme-provider",
      "kind": "ui-component",
      "source_path": "components/theme-provider.tsx"
    },
    {
      "name": "badge",
      "kind": "ui-component",
      "source_path": "components/ui/badge.tsx"
    },
    {
      "name": "button",
      "kind": "ui-component",
      "source_path": "components/ui/button.tsx"
    },
    {
      "name": "card",
      "kind": "ui-component",
      "source_path": "components/ui/card.tsx"
    }
  ],
  "data_models": [],
  "database": {
    "databases": [],
    "schemas": [],
    "migrations": []
  },
  "tests": [],
  "ci": {
    "workflows": []
  },
  "containers": {
    "dockerfiles": [],
    "compose_files": []
  },
  "env": {
    "example_files": [],
    "variables": []
  },
  "configs": [
    {
      "path": "next.config.mjs"
    },
    {
      "path": "package.json"
    },
    {
      "path": "postcss.config.mjs"
    },
    {
      "path": "tsconfig.json"
    }
  ],
  "docs": {
    "readme_paths": [
      {
        "path": "README.md"
      }
    ],
    "doc_paths": [],
    "llms_context_paths": []
  },
  "discovery_files": {
    "openapi": [],
    "mcp": [],
    "llms": [],
    "sitemaps": [],
    "feeds": [],
    "well_known": [],
    "robots": [],
    "manifests": []
  },
  "integrations": [],
  "license": {
    "spdx": null,
    "paths": []
  },
  "comments": [
    {
      "kind": "security",
      "source_path": "components/animated-hero.tsx",
      "line": 79,
      "text": "Expert installation, repair, and maintenance for your home's heating, cooling, and security systems."
    },
    {
      "kind": "security",
      "source_path": "components/customer-reviews-platform.tsx",
      "line": 59,
      "text": "\"Thanks Michael! We understand how important security is, especially on weekends. Glad we could get you back up and running quickly!\","
    },
    {
      "kind": "security",
      "source_path": "components/customer-reviews-platform.tsx",
      "line": 94,
      "text": "\"David, we're so proud of how your custom gate turned out! Thank you for trusting us with such an important project. Enjoy your enhanced security and curb appeal!\","
    },
    {
      "kind": "security",
      "source_path": "components/dynamic-contact-booking.tsx",
      "line": 250,
      "text": "restore your comfort and security."
    },
    {
      "kind": "security",
      "source_path": "components/dynamic-contact-booking.tsx",
      "line": 284,
      "text": "<span>Security system failures</span>"
    },
    {
      "kind": "security",
      "source_path": "components/emergency-service-features.tsx",
      "line": 76,
      "text": "description: \"Automatic gate malfunction affecting security or access\","
    },
    {
      "kind": "security",
      "source_path": "components/emergency-service-features.tsx",
      "line": 83,
      "text": "whenToCall: \"If gate affects security or prevents access to property\","
    },
    {
      "kind": "security",
      "source_path": "components/emergency-service-features.tsx",
      "line": 129,
      "text": "situation: \"Gate security emergency\","
    },
    {
      "kind": "security",
      "source_path": "components/emergency-service-features.tsx",
      "line": 131,
      "text": "\"Our security gate got stuck open during a storm. JT's emergency team came out at 11 PM and had it secured within an hour. True professionals!\","
    },
    {
      "kind": "security",
      "source_path": "components/emergency-service-features.tsx",
      "line": 256,
      "text": "to restore your comfort and security."
    },
    {
      "kind": "security",
      "source_path": "components/interactive-services.tsx",
      "line": 72,
      "text": "shortDesc: \"Custom gate installation for residential and commercial properties with security and style.\","
    },
    {
      "kind": "security",
      "source_path": "components/interactive-services.tsx",
      "line": 74,
      "text": "\"Professional installation of automatic and manual gates with advanced security features. Custom designs to match your property aesthetic.\","
    },
    {
      "kind": "security",
      "source_path": "components/interactive-services.tsx",
      "line": 78,
      "text": "\"Security integration\","
    },
    {
      "kind": "security",
      "source_path": "components/professional-gallery-portfolio.tsx",
      "line": 58,
      "text": "\"Custom designed and fabricated wrought iron driveway gate with automatic opener system and integrated security features.\","
    },
    {
      "kind": "security",
      "source_path": "components/professional-gallery-portfolio.tsx",
      "line": 67,
      "text": "features: [\"Custom wrought iron design\", \"Automatic opener\", \"Security integration\", \"Weather-resistant coating\"],"
    },
    {
      "kind": "security",
      "source_path": "components/professional-gallery-portfolio.tsx",
      "line": 146,
      "text": "title: \"Industrial Security Gate System\","
    },
    {
      "kind": "security",
      "source_path": "components/professional-gallery-portfolio.tsx",
      "line": 152,
      "text": "\"Heavy-duty security gate system for industrial facility with access control, surveillance integration, and emergency protocols.\","
    },
    {
      "kind": "security",
      "source_path": "components/professional-gallery-portfolio.tsx",
      "line": 157,
      "text": "\"/placeholder.svg?height=300&width=400&text=Security+Control+System\","
    },
    {
      "kind": "security",
      "source_path": "components/professional-gallery-portfolio.tsx",
      "line": 163,
      "text": "\"Professional installation of our security system. Excellent coordination with our existing infrastructure.\","
    },
    {
      "kind": "security",
      "source_path": "components/professional-gallery-portfolio.tsx",
      "line": 164,
      "text": "customerName: \"Tom Anderson, Security Director\","
    }
  ],
  "security": {
    "secret_risks": [],
    "unsafe_patterns": [],
    "sensitive_data_indicators": [
      {
        "name": "card",
        "confidence": "medium",
        "evidence_paths": [
          "app/globals.css",
          "app/page.tsx",
          "components/animated-hero.tsx",
          "components/customer-reviews-platform.tsx",
          "components/dynamic-contact-booking.tsx",
          "components/emergency-floating-widget.tsx",
          "components/emergency-service-features.tsx",
          "components/interactive-services.tsx",
          "components/professional-gallery-portfolio.tsx",
          "components/service-area-map.tsx",
          "components/ui/card.tsx",
          "package.json",
          "pnpm-lock.yaml",
          "styles/globals.css"
        ]
      },
      {
        "name": "email",
        "confidence": "medium",
        "evidence_paths": [
          "components/dynamic-contact-booking.tsx"
        ]
      },
      {
        "name": "location",
        "confidence": "medium",
        "evidence_paths": [
          "components/customer-reviews-platform.tsx",
          "components/emergency-service-features.tsx",
          "components/professional-gallery-portfolio.tsx",
          "components/service-area-map.tsx"
        ]
      },
      {
        "name": "pii",
        "confidence": "medium",
        "evidence_paths": [
          "pnpm-lock.yaml"
        ]
      },
      {
        "name": "token",
        "confidence": "medium",
        "evidence_paths": [
          "app/globals.css",
          "pnpm-lock.yaml"
        ]
      }
    ]
  },
  "generated_at": "2026-05-16T16:44:09.902Z"
}
