.. _using-the-codeql-cli:

Using the CodeQL CLI
====================

.. include:: ../reusables/codeql-cli-overview.rst

See the following links to learn how to get set up and run CodeQL commands:

- :doc:`About the CodeQL CLI <about-the-codeql-cli>`: Software
  developers and security researchers can secure their code using the CodeQL CLI.

- :doc:`Getting started with the CodeQL CLI
  <getting-started-with-the-codeql-cli>`: Set up the
  CodeQL CLI so that you can run CodeQL processes from your command line.

- :doc:`Creating CodeQL databases
  <creating-codeql-databases>`: Create relational
  representations of source code that can be queried like any other database.

- :doc:`Extractor options
  <extractor-options>`: Set options for the
  behavior of extractors that create CodeQL databases.

- :doc:`Analyzing CodeQL databases with the CodeQL CLI
  <analyzing-databases-with-the-codeql-cli>`: Analyze your code using queries
  written in a specially-designed, object-oriented query language.

- :doc:`Using custom queries with the CodeQL CLI
  <using-custom-queries-with-the-codeql-cli>`: Use custom queries to extend your
  analysis or highlight errors that are specific to a particular codebase.

- :doc:`Creating CodeQL query suites <creating-codeql-query-suites>`:
  Define query suite definitions for groups of frequently used queries.

- :doc:`Testing custom queries <testing-custom-queries>`: Set up
  regression testing of custom queries to ensure that they behave as expected in
  your analysis.

- :doc:`Testing query help files <testing-query-help-files>`:
  Test query help files by rendering them as markdown to ensure they are valid
  before adding them to the CodeQL repository or using them in code scanning.

- :doc:`Creating and working with CodeQL packs <creating-and-working-with-codeql-packs>`:
  Create, share, depend on, and run CodeQL queries and libraries.

- :doc:`Publishing and using CodeQL packs <publishing-and-using-codeql-packs>`:
  Publish your own or use others CodeQL packs for code scanning.

- :doc:`Specifying command options in a CodeQL configuration file <specifying-command-options-in-a-codeql-configuration-file>`:
  You can save default or frequently used options for your commands in a per-user configuration file.

.. toctree::
   :titlesonly:
   :hidden:

   about-the-codeql-cli
   getting-started-with-the-codeql-cli
   creating-codeql-databases
   extractor-options
   analyzing-databases-with-the-codeql-cli
   using-custom-queries-with-the-codeql-cli
   creating-codeql-query-suites
   testing-custom-queries
   testing-query-help-files
   creating-and-working-with-codeql-packs
   publishing-and-using-codeql-packs
   Specifying command options <specifying-command-options-in-a-codeql-configuration-file>
