# Guides

import { Card, CardGrid } from '@prosefly/astro-components';

Task-focused guides for using and extending OpenLint.

<CardGrid>
  <Card icon="lucide:workflow" title="Workflows" href="/guides/workflows/">
    Fit linting into your API workflows.
  </Card>
  <Card icon="lucide:terminal" title="OpenLint CLI" href="/guides/cli/">
    Run OpenLint from the command line.
  </Card>
  <Card icon="lucide:file-code" title="OpenLint in JavaScript" href="/guides/javascript/">
    Use OpenLint programmatically.
  </Card>
  <Card icon="lucide:book-open" title="Rulesets" href="/guides/custom-rulesets/">
    Overview of custom rulesets.
  </Card>
  <Card icon="lucide:list-checks" title="Rules" href="/guides/rules/">
    Define rules for your ruleset.
  </Card>
  <Card icon="lucide:layers" title="Extending Rulesets" href="/guides/extends/">
    Build on existing rulesets.
  </Card>
  <Card icon="lucide:link" title="Aliases" href="/guides/aliases/">
    Reuse JSONPath expressions across rules.
  </Card>
  <Card icon="lucide:sliders-horizontal" title="Overrides" href="/guides/overrides/">
    Apply rules to specific files or paths.
  </Card>
  <Card icon="lucide:thumbs-up" title="Recommended" href="/guides/recommended/">
    Use recommended rules.
  </Card>
  <Card icon="lucide:file-json" title="JavaScript Ruleset Format" href="/guides/js-rulesets/">
    Write rulesets in JavaScript.
  </Card>
  <Card icon="lucide:function-square" title="Custom Functions" href="/guides/custom-functions/">
    Write your own rule functions.
  </Card>
  <Card icon="lucide:share-2" title="Sharing Rulesets" href="/guides/sharing-rulesets/">
    Publish and reuse rulesets.
  </Card>
  <Card icon="lucide:refresh-cw" title="Continuous Integration" href="/guides/continuous-integration/">
    Run OpenLint in CI.
  </Card>
  <Card icon="lucide:sparkles" title="Tips and Tricks" href="/guides/tips-and-tricks/">
    Helpful patterns and techniques.
  </Card>
</CardGrid>
