# Customize code scanning

Learn how to customize code scanning to meet your project's unique security needs by creating and using CodeQL packs and custom queries.

## Links

* [Evaluating default setup for code scanning](/en/code-security/tutorials/customize-code-scanning/evaluating-default-setup-for-code-scanning)

  Learn how to assess how code scanning is working for you, and how you can customize your setup to best meet your needs.

* [Preparing your code for CodeQL analysis](/en/code-security/tutorials/customize-code-scanning/preparing-your-code-for-codeql-analysis)

  You can build a CodeQL database containing the data needed to analyze your code.

* [Analyzing your code with CodeQL queries](/en/code-security/tutorials/customize-code-scanning/analyzing-your-code-with-codeql-queries)

  You can run queries against a CodeQL database extracted from a codebase.

* [Uploading CodeQL analysis results to GitHub](/en/code-security/tutorials/customize-code-scanning/uploading-codeql-analysis-results-to-github)

  You can use the CodeQL CLI to upload CodeQL analysis results to GitHub.

* [Running CodeQL code scanning in a container](/en/code-security/tutorials/customize-code-scanning/running-codeql-code-scanning-in-a-container)

  You can run code scanning in a container by ensuring that all processes run in the same container.

* [Customizing analysis with CodeQL packs](/en/code-security/tutorials/customize-code-scanning/customizing-analysis-with-codeql-packs)

  You can use CodeQL packs to run CodeQL queries maintained by other people, or to share CodeQL queries that you've developed.

* [Creating CodeQL query suites](/en/code-security/tutorials/customize-code-scanning/creating-codeql-query-suites)

  You can create query suites for queries you frequently use in your CodeQL analyses.

* [Creating and working with CodeQL packs](/en/code-security/tutorials/customize-code-scanning/creating-and-working-with-codeql-packs)

  You can use CodeQL packs to create, share, depend on, and run CodeQL queries and libraries.