> For the complete documentation index, see [llms.txt](https://cover-docs.diffblue.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://cover-docs.diffblue.com/features/cover-cli/project-configuration.md).

# Project configuration

Before using Cover CLI to write tests, your project must meet the following general requirements:

* Java 8, 11, 17, or 21 compatible source code, or Kotlin source code.
* Maven 3.2.5+, Gradle 4.9+, or Ant 1.10.14 build tools.
* The project must compile and run with no failing unit tests.
* All associated dependencies have been added, including JUnit or TestNG testing frameworks.

Also, Diffblue Cover requires that the system environment (hardware, operating system, network connectivity, Java installation) as well as the project environment (build tooling, dependencies, presence of artifacts, existing unit tests) meet the minimum requirements as detailed in [Specs & Reqs](/get-started/specs-and-reqs.md). When you run `dcover create`, if there are any issues these will be reported in the output summary using [Output Codes](/features/output-codes.md).

{% hint style="info" %}
The fastest way to check your environment is to run `dcover create --preflight` to check the Cover prerequisites for your project, without performing any other actions - see [Preflight checks](/features/cover-cli/project-configuration/preflight.md) for details.
{% endhint %}
