> ## Documentation Index
> Fetch the complete documentation index at: https://docs.semgrep.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Semgrep Docs

> Get started with Semgrep to help you catch, flag, and fix real vulnerabilities before they ship.

<div style={{ position: 'relative', zIndex: 1 }}>
  <div className="relative w-full flex items-center justify-center" style={{ height: '24rem', overflow: 'hidden'}}>
    <div id="background-div" className="absolute inset-0 h-full bg-[#00000000] bg-cover bg-center" />

    <div style={{ position: 'absolute', textAlign: 'center', padding: '0 1rem' }}>
      <a href="https://semgrep.dev" style={{ display: 'inline-block' }}>
        <img
          noZoom
          src="https://mintcdn.com/semgrep-ee9d73d8/dAOv4YoaZfaIbJZH/images/semgrep.svg?fit=max&auto=format&n=dAOv4YoaZfaIbJZH&q=85&s=7fe52a2dba81bc4fd91d18f312219626"
          alt="Semgrep themed logo"
          style={{
    height: '3rem',
    margin: '0 auto 1rem auto',
    display: 'block'
  }}
          width="512"
          height="200"
          data-path="images/semgrep.svg"
        />
      </a>

      <div className="text-5xl font-bold w-full leading-[1.2] tracking-tight text-[#24434f] dark:text-white">
        <h1>Semgrep <span style={{ color: '#624def' }}>docs</span></h1>
      </div>

      <p className="text-lg text-[#24434f] dark:text-white" style={{ fontWeight: '500', maxWidth: '40rem', margin: '0 auto', marginTop: '0.5rem'}}>
        Find bugs and reachable dependency vulnerabilities in code. Enforce your code standards on every commit.
      </p>

      <div className="flex items-center justify-center" style={{ maxWidth: '800px', margin: '0 auto' }}>
        <button
          type="button"
          className="hidden w-full lg:flex items-center text-sm leading-6 py-4 pl-4 pr-4 text-gray-500 rounded-full"
          id="home-search-entry"
          style={{
    marginTop: '2rem',
    maxWidth: '40rem',
    background: '#FFF',
    boxShadow: '0px 1px 4px 0px rgba(8, 9, 10, 0.25), 0px 0px 0px 4px rgba(255, 255, 255, 0.20)',
    cursor: 'pointer',
    textAlign: 'left',
  }}
          onClick={()=> document.getElementById('search-bar-entry').click()}
        >
          <svg
            className="h-4 w-4 ml-1.5 flex-none bg-primary hover:bg-gray-600 dark:bg-primary-dark dark:hover:bg-white/70"
            style={{
    marginRight: '0.5rem',
    maskImage:
      'url("https://mintlify.b-cdn.net/v6.5.1/solid/magnifying-glass.svg")',
    maskRepeat: 'no-repeat',
    maskPosition: 'center center',
    }}
          />

          Search or ask...
        </button>
      </div>
    </div>
  </div>

  <div
    style={{marginTop: '0rem', marginBottom: '8rem', maxWidth: '70rem', marginLeft: 'auto',
marginRight: 'auto', paddingLeft: '1.25rem',
paddingRight: '1.25rem' }}
  >
    <div className="flex flex-col gap-2 mb-6 mt-10 justify-center items-left">
      <h2 className="text-3xl font-bold text-[#24434f] dark:text-white">Scan with Semgrep AppSec Platform</h2>
      <p className="text-xl text-[#24434f] dark:text-white">Deploy static application security testing (SAST), software composition analysis (SCA), and secrets scans from one platform.</p>
    </div>

    <CardGroup cols={2}>
      <Card title="Get started" icon="rocket" href="/getting-started/quickstart-managed-scans">
        Run your first Semgrep scan.
      </Card>

      <Card title="Deploy Semgrep" icon="cloud" href="/deployment/core-deployment">
        Deploy Semgrep to your organization quickly and at scale.
      </Card>

      <Card title="Triage and remediate" icon="list-check" href="/semgrep-code/triage-remediation">
        Triage and remediate findings; fine-tune guardrails for developers.
      </Card>

      <Card title="Write rules" icon="pen" href="/writing-rules/overview">
        Enforce your organization’s coding standards with custom rules.
      </Card>
    </CardGroup>

    <div className="flex flex-col gap-2 mb-6 mt-10 justify-center items-left">
      <h2 className="text-3xl font-bold text-[#24434f] dark:text-white">Supported languages</h2>

      <table style={{ width: '100%', borderCollapse: 'collapse', border: '1px solid #e5e7eb', marginTop: '1.5rem', marginBottom: '1.5rem' }}>
        <thead>
          <tr style={{ backgroundColor: '#f9fafb', borderBottom: '2px solid #e5e7eb' }}>
            <th style={{ padding: '12px 16px', textAlign: 'left', fontWeight: '600', borderRight: '1px solid #e5e7eb', width: '25%' }} className="text-[#24434f] dark:text-white dark:bg-gray-800">Product</th>
            <th style={{ padding: '12px 16px', textAlign: 'left', fontWeight: '600' }} className="text-[#24434f] dark:text-white dark:bg-gray-800">Languages</th>
          </tr>
        </thead>

        <tbody>
          <tr style={{ borderBottom: '1px solid #e5e7eb' }}>
            <td style={{ padding: '16px', verticalAlign: 'top', borderRight: '1px solid #e5e7eb', fontWeight: '600' }} className="text-[#24434f] dark:text-white">Semgrep Code</td>

            <td style={{ padding: '16px', verticalAlign: 'top' }} className="text-[#24434f] dark:text-white">
              <div style={{ marginBottom: '12px' }}>
                <strong>Generally available (GA)</strong><br />
                C and C++ • C# • Generic • Go • Java • JavaScript • JSON • Kotlin • Python • TypeScript • Ruby • Rust • JSX • PHP • Scala • Swift • Terraform
              </div>

              <div style={{ marginBottom: '12px' }}>
                <strong>Beta</strong><br />
                APEX • Elixir
              </div>

              <div>
                <strong>Experimental</strong><br />
                Bash • Cairo • Circom • Clojure • Dart • Dockerfile • Hack • HTML • Jsonnet • Julia • Lisp • Lua • Move on Aptos • Move on Sui • OCaml • R • Scheme • Solidity • YAML • XML
              </div>
            </td>
          </tr>

          <tr style={{ borderBottom: '1px solid #e5e7eb' }}>
            <td style={{ padding: '16px', verticalAlign: 'top', borderRight: '1px solid #e5e7eb', fontWeight: '600' }} className="text-[#24434f] dark:text-white">Semgrep Supply Chain</td>

            <td style={{ padding: '16px', verticalAlign: 'top' }} className="text-[#24434f] dark:text-white">
              <div style={{ marginBottom: '12px' }}>
                <strong>Generally available reachability</strong><br />
                C# • Go • Java • JavaScript and TypeScript • Kotlin • PHP • Python • Ruby • Rust • Scala • Swift
              </div>

              <div>
                <strong>Languages without support for reachability analysis</strong><br />
                Dart • Elixir
              </div>
            </td>
          </tr>

          <tr>
            <td style={{ padding: '16px', verticalAlign: 'top', borderRight: '1px solid #e5e7eb', fontWeight: '600' }} className="text-[#24434f] dark:text-white">Semgrep Secrets</td>

            <td style={{ padding: '16px', verticalAlign: 'top' }} className="text-[#24434f] dark:text-white">
              Language-agnostic; can detect 630+ types of credentials or keys.
            </td>
          </tr>
        </tbody>
      </table>

      <p className="text-l text-[#24434f] dark:text-white">See <a href="/supported-languages" style={{ color: '#624def', textDecoration: 'none', fontWeight: '500' }} onMouseOver={(e) => e.target.style.textDecoration = 'underline'} onMouseOut={(e) => e.target.style.textDecoration = 'none'}>Supported languages documentation</a> for more details.</p>
    </div>

    <div className="flex flex-col gap-2 mb-6 mt-10 justify-center items-left">
      <h2 className="text-3xl font-bold text-[#24434f] dark:text-white">May 2026 release notes summary</h2>

      <ul className="text-base text-[#24434f] dark:text-white list-disc ml-6 space-y-2 mt-4">
        <li>Semgrep AppSec Platform's **Usage & billing** page now allows you to download a report listing all contributors who have made commits in the last 90 days, as well as contributor identities, last contribution timestamp, and associated repository URL. This page also displays an alert if you exceed your contributor seat limit.</li>
        <li>Autofix pull requests now post the email of the user who initiated the pull request.</li>
        <li>Added indexes to file targeting to improve the performance of `semgrepignore` matching.</li>
        <li>Improved support for taint tracking through nested functions.</li>
        <li>Improved the parsing speed of JSON rules through the use of a new parser.</li>
        <li>Dynamic Dependency Resolution is now in **public beta** for **Java** and **Kotlin**. With Dynamic Dependency Resolution, Supply Chain can now accurately inventory dependencies in projects without lockfiles or with incomplete lockfiles.</li>
        <li>Improved Semgrep performance when parsing transitive reachability rules.</li>
      </ul>

      <p className="text-base text-[#24434f] dark:text-white mt-4">
        <a href="/release-notes" style={{ color: '#624def', textDecoration: 'none', fontWeight: '500' }} onMouseOver={(e) => e.target.style.textDecoration = 'underline'} onMouseOut={(e) => e.target.style.textDecoration = 'none'}>See the latest release notes →</a>
      </p>

      <p className="text-base text-[#24434f] dark:text-white" style={{ textAlign: 'right' }}>
        <a href="https://docs.semgrep.dev/release-notes/rss.xml" style={{ color: '#624def', textDecoration: 'none', fontWeight: '500' }} onMouseOver={(e) => e.target.style.textDecoration = 'underline'} onMouseOut={(e) => e.target.style.textDecoration = 'none'}>Subscribe to RSS feed</a>
      </p>
    </div>
  </div>
</div>
