# 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://cover-docs.diffblue.com/features/cover-cli/project-configuration.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
