# Project Initialization

```
aeproject init [folder]
```

*Optionally* a `folder` can be specified for the project to be initialized in, otherwise the current directory is used.

Creates a new project structure with a few folders in which the developer can create **contracts** and **tests**, as well as installing needed dependencies.

## Update existing project

For upgrade from old AEproject versions check out [Migration from 3.x.x to 4.x.x](/developer-documentation/aeproject/docs/migration-from-3.x.x-to-4.x.x.md) and [Migration from 4.x.x to 5.x.x](/developer-documentation/aeproject/docs/migration-from-4.x.x-to-5.x.x.md).

```
aeproject init --update
```

Updates the project structure and needed artifacts to the latest version, as well as installing needed dependencies.

## Upcoming Hard-fork initialization

The additional parameter `--next` can be used to either initialize or update a project with changes for an upcoming hard-fork if available.


---

# 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://docs.aeternity.com/developer-documentation/aeproject/docs/cli/init.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.
