# 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-and-reqs](https://cover-docs.diffblue.com/get-started/specs-and-reqs "mention"). When you run `dcover create`, if there are any issues these will be reported in the output summary using [output-codes](https://cover-docs.diffblue.com/features/output-codes "mention").

{% 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](https://cover-docs.diffblue.com/features/cover-cli/project-configuration/preflight "mention") for details.
{% endhint %}
