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

# Overview

Commonality is designed to easily integrate with your existing tools and workflows.
[Checks](/checks) can be customized to fit your project's needs or can be used to encourage best practices and standards.

<Note>
  Since there are so many ways to customize Commonality, we need your help! [Let
  us know here](https://github.com/commonalityco/commonality/discussions/308)
  which tools you'd like us to create examples for and we'll add them here.
</Note>

## Customize to your fit needs

Compose checks that help you scale standards and best practices within your project.

<CardGroup cols={3}>
  <Card
    title="Package manager"
    icon={
  <svg
    viewBox="0 0 2500 2500"
    xmlns="http://www.w3.org/2000/svg"
    width="24"
    height="24"
  >
    <path d="M0 0h2500v2500H0z" fill="#c00" />
    <path
      d="M1241.5 268.5h-973v1962.9h972.9V763.5h495v1467.9h495V268.5z"
      fill="#fff"
    />
  </svg>
}
    href="/integrations/npm"
  />

  <Card
    title="TypeScript"
    icon={
  <svg
    fill="none"
    height="24"
    viewBox="0 0 512 512"
    width="24"
    xmlns="http://www.w3.org/2000/svg"
  >
    <rect fill="#3178c6" height="512" rx="50" width="512" />
    <rect fill="#3178c6" height="512" rx="50" width="512" />
    <path
      clipRule="evenodd"
      d="m316.939 407.424v50.061c8.138 4.172 17.763 7.3 28.875 9.386s22.823 3.129 35.135 3.129c11.999 0 23.397-1.147 34.196-3.442 10.799-2.294 20.268-6.075 28.406-11.342 8.138-5.266 14.581-12.15 19.328-20.65s7.121-19.007 7.121-31.522c0-9.074-1.356-17.026-4.069-23.857s-6.625-12.906-11.738-18.225c-5.112-5.319-11.242-10.091-18.389-14.315s-15.207-8.213-24.18-11.967c-6.573-2.712-12.468-5.345-17.685-7.9-5.217-2.556-9.651-5.163-13.303-7.822-3.652-2.66-6.469-5.476-8.451-8.448-1.982-2.973-2.974-6.336-2.974-10.091 0-3.441.887-6.544 2.661-9.308s4.278-5.136 7.512-7.118c3.235-1.981 7.199-3.52 11.894-4.615 4.696-1.095 9.912-1.642 15.651-1.642 4.173 0 8.581.313 13.224.938 4.643.626 9.312 1.591 14.008 2.894 4.695 1.304 9.259 2.947 13.694 4.928 4.434 1.982 8.529 4.276 12.285 6.884v-46.776c-7.616-2.92-15.937-5.084-24.962-6.492s-19.381-2.112-31.066-2.112c-11.895 0-23.163 1.278-33.805 3.833s-20.006 6.544-28.093 11.967c-8.086 5.424-14.476 12.333-19.171 20.729-4.695 8.395-7.043 18.433-7.043 30.114 0 14.914 4.304 27.638 12.912 38.172 8.607 10.533 21.675 19.45 39.204 26.751 6.886 2.816 13.303 5.579 19.25 8.291s11.086 5.528 15.415 8.448c4.33 2.92 7.747 6.101 10.252 9.543 2.504 3.441 3.756 7.352 3.756 11.733 0 3.233-.783 6.231-2.348 8.995s-3.939 5.162-7.121 7.196-7.147 3.624-11.894 4.771c-4.748 1.148-10.303 1.721-16.668 1.721-10.851 0-21.597-1.903-32.24-5.71-10.642-3.806-20.502-9.516-29.579-17.13zm-84.159-123.342h64.22v-41.082h-179v41.082h63.906v182.918h50.874z"
      fill="#fff"
      fillRule="evenodd"
    />
  </svg>
}
    href="/integrations/typescript"
  />

  <Card
    title="ESLint"
    icon={
  <svg
    xmlns="http://www.w3.org/2000/svg"
    className="h-6 w-6"
    viewBox="0 0 64 64"
  >
    <path
      d="M19.353 24.35l12.155-7.018a.98.98 0 0 1 .983 0l12.156 7.018c.304.176.492.5.492.852V39.24c0 .35-.188.676-.492.852L32.49 47.1a.98.98 0 0 1-.983 0L19.353 40.1c-.304-.176-.492-.5-.492-.852V25.203c0-.35.188-.676.492-.852"
      fill="#8080f2"
    />
    <path
      d="M63.604 30.744L49.08 5.478c-.527-.914-1.5-1.578-2.556-1.578H17.477c-1.055 0-2.03.674-2.557 1.587L.396 30.7a3 3 0 0 0 0 2.98L14.92 58.73c.528.914 1.502 1.38 2.557 1.38h29.047c1.055 0 2.03-.453 2.557-1.367l14.523-25.1a2.85 2.85 0 0 0 0-2.898m-12.026 12.15c0 .37-.224.715-.546.9l-18.5 10.673a1.05 1.05 0 0 1-1.047 0L12.972 43.795c-.322-.186-.547-.53-.547-.9V21.547a1.06 1.06 0 0 1 .544-.9l18.5-10.673a1.05 1.05 0 0 1 1.046 0L51.03 20.646c.322.186.55.53.55.9z"
      fill="#4b32c3"
    />
  </svg>
}
    href="/integrations/eslint"
  />

  <Card
    title="Tailwind"
    icon={
  <svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 54 33">
    <g clip-path="url(#prefix__clip0)">
      <path
        fill="#38bdf8"
        fill-rule="evenodd"
        d="M27 0c-7.2 0-11.7 3.6-13.5 10.8 2.7-3.6 5.85-4.95 9.45-4.05 2.054.513 3.522 2.004 5.147 3.653C30.744 13.09 33.808 16.2 40.5 16.2c7.2 0 11.7-3.6 13.5-10.8-2.7 3.6-5.85 4.95-9.45 4.05-2.054-.513-3.522-2.004-5.147-3.653C36.756 3.11 33.692 0 27 0zM13.5 16.2C6.3 16.2 1.8 19.8 0 27c2.7-3.6 5.85-4.95 9.45-4.05 2.054.514 3.522 2.004 5.147 3.653C17.244 29.29 20.308 32.4 27 32.4c7.2 0 11.7-3.6 13.5-10.8-2.7 3.6-5.85 4.95-9.45 4.05-2.054-.513-3.522-2.004-5.147-3.653C23.256 19.31 20.192 16.2 13.5 16.2z"
        clip-rule="evenodd"
      />
    </g>
    <defs>
      <clipPath id="prefix__clip0">
        <path fill="#fff" d="M0 0h54v32.4H0z" />
      </clipPath>
    </defs>
  </svg>
}
    href="/integrations/tailwind"
  />

  <Card
    title="Vite"
    icon={
  <svg width="24" height="24" viewBox="0 0 410 404" fill="none"
    xmlns="http://www.w3.org/2000/svg">
    <path d="M399.641 59.5246L215.643 388.545C211.844 395.338 202.084 395.378 198.228 388.618L10.5817 59.5563C6.38087 52.1896 12.6802 43.2665 21.0281 44.7586L205.223 77.6824C206.398 77.8924 207.601 77.8904 208.776 77.6763L389.119 44.8058C397.439 43.2894 403.768 52.1434 399.641 59.5246Z" fill="url(#paint0_linear)"/>
    <path d="M292.965 1.5744L156.801 28.2552C154.563 28.6937 152.906 30.5903 152.771 32.8664L144.395 174.33C144.198 177.662 147.258 180.248 150.51 179.498L188.42 170.749C191.967 169.931 195.172 173.055 194.443 176.622L183.18 231.775C182.422 235.487 185.907 238.661 189.532 237.56L212.947 230.446C216.577 229.344 220.065 232.527 219.297 236.242L201.398 322.875C200.278 328.294 207.486 331.249 210.492 326.603L212.5 323.5L323.454 102.072C325.312 98.3645 322.108 94.137 318.036 94.9228L279.014 102.454C275.347 103.161 272.227 99.746 273.262 96.1583L298.731 7.86689C299.767 4.27314 296.636 0.855181 292.965 1.5744Z" fill="url(#paint1_linear)"/>
    <defs>
      <linearGradient id="paint0_linear" x1="6.00017" y1="32.9999" x2="235" y2="344" gradientUnits="userSpaceOnUse">
        <stop stop-color="#41D1FF"/>
        <stop offset="1" stop-color="#BD34FE"/>
      </linearGradient>
      <linearGradient id="paint1_linear" x1="194.651" y1="8.81818" x2="236.076" y2="292.989" gradientUnits="userSpaceOnUse">
        <stop stop-color="#FFEA83"/>
        <stop offset="0.0833333" stop-color="#FFDD35"/>
        <stop offset="1" stop-color="#FFA800"/>
      </linearGradient>
    </defs>
  </svg>
}
    href="/integrations/vite"
  />
</CardGroup>

## Follow standards and best practices

<CardGroup cols={2}>
  <Card
    title="recommended"
    icon={
  <svg
    width="24"
    height="24"
    viewBox="0 0 100 100"
    fill="none"
    xmlns="http://www.w3.org/2000/svg"
  >
    <g clipPath="url(#clip0_848_401)">
      <path
        d="M63.5541 12.2173C64.9618 13.8013 63.0468 15.9803 61.0273 15.3384C57.5493 14.2329 53.8444 13.6364 50.0002 13.6364C29.9171 13.6364 13.6364 29.9168 13.6364 49.9996C13.6364 53.8435 14.2329 57.5481 15.3383 61.0259C15.9802 63.0455 13.8011 64.9603 12.2171 63.5526C4.72207 56.8918 0 47.1789 0 36.3632C0 16.2804 16.2806 0 36.3638 0C47.1799 0 56.8931 4.72218 63.5541 12.2173Z"
        fill="white"
      />
      <path
        d="M49.9998 86.3636C70.0829 86.3636 86.3636 70.0832 86.3636 50.0004C86.3636 46.1565 85.7671 42.4519 84.6618 38.9741C84.0199 36.9546 86.199 35.0397 87.783 36.4474C95.2779 43.1083 100 52.8211 100 63.6368C100 83.7196 83.7194 100 63.6362 100C52.8201 100 43.1069 95.2778 36.4459 87.7827C35.0382 86.1987 36.9532 84.0197 38.9728 84.6616C42.4508 85.7671 46.1556 86.3636 49.9998 86.3636Z"
        fill="white"
      />
    </g>
    <defs>
      <clipPath id="clip0_848_401">
        <rect width="100" height="100" fill="white" />
      </clipPath>
    </defs>
  </svg>
}
    href="https://github.com/commonalityco/commonality/tree/main/packages/commonality-checks-recommended"
  >
    Checks that encourage best practices for most multi-package monorepos.
  </Card>
</CardGroup>

## Unlock new workflows

<CardGroup cols={2}>
  <Card title="Domain boundaries" icon="handshake" href="/integrations/domain-boundaries">
    Limit packages to a specific business vertical with opt-in sharing.
  </Card>

  <Card title="Dependency hierarchy" icon="diagram-project" href="/integrations/domain-boundaries">
    Avoid circular dependencies and create a scalable structure for your
    dependency graph.
  </Card>
</CardGroup>
