# 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/evaluate-default-setup)

  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/prepare-code-for-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/analyze-code)

  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/upload-results)

  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/run-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/customize-analysis)

  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/create-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/create-and-work-with-codeql-packs)

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