MetaEditor provides many useful features for working with projects. It allows you to organize files into a single structure, manage project settings, and collaborate via MQL5 Algo Forge with version control.
A project is an MQPROJ file that stores settings, parameters, and any information needed to compile an MQL5 application.
Double-clicking an MQPROJ file opens the "Project" tab, a separate workspace for conveniently working with projects within Navigator. All the project files and folders are arranged into categories on this tab.
In the top menu, click "File" > "New project" or press Ctrl + Shift + N. Choose your desired program type and continue in the MQL5 Wizard.

Enter a name and other details, add parameters, and choose event handlers.
The wizard also supports the creation of empty projects to house file structures incompatible with default templates. An empty project contains a blank MQPROJ file and requires you to create source code files manually.
Right-click the MQ5 file, then select "New Project from Source".

A new MQPROJ project file with the same name will appear in the directory. The main program properties specified in the source code via #property will be automatically added to the project, including the name, copyright, version, link to the developer's site, and program description. All files included in the source code via the #include directive will be added to the "Dependencies" section of the project.
You can access a project's settings from a separate dialog box and not have to edit the MQ5 file source code. Simply double-click the MQPROJ file on the "Project" tab.

The following project settings are available:
Properties specified in the project file are given priority over those defined within the source code when they conflict.
All files used in the source code are added to the project navigator automatically. For example, if you add a new MQH file using the #include directive, it will automatically appear in the "Dependencies" section of Navigator. Used header files are added to the "Headers" section; images, sounds and other MQL programs used in the project as resources (via the #resource directive) are added to the "Resources" section.
MQL5 files with the source code are displayed in the "Sources" section. Other files, such as set files for testing and chart templates, can be added to the "Settings and files" section.
You can use context menu commands to add existing files to a project or delete files from it. Be careful when deleting files, since you can remove a file from the project (remove the binding) or completely delete it from the disk.

The "Add existing folder" command enables batch addition of all supported files from the selected directory into the project.
A file added to the project manually is not included in the program code and is not copied to the project directory. The file is only linked to the project to be displayed in its navigator.
To get the EX5 executable file for a project, open the project or the main MQ5 file of the program, then run the compile command (F7). The file will be created in the directory containing the MQPROJ project file.
When you compile a group project, the executable file is automatically copied to the local Experts, Indicators, or Scripts directory depending on the program type. This allows you to instantly run the program in MetaTrader without having to copy it manually to the required directory.
Shared Projects is a dedicated section for collaborative projects. Any project you create inside this section will automatically be pushed to the online storage.
To create a new shared project, right-click "Shared Projects" and choose "New Project".

Then complete standard steps in the MQL5 Wizard: set the type, name, and properties of the desired program. For collaborative projects, you should use clear and understandable names, which enables other participants to easily find them. Only Latin letters and numbers without spaces can be used in project names.
When you finish creating the shared project, it will appear on MQL5 Algo Forge website as a private repository under your name.
You can choose to make the repository public or grant access to select users. Right-click the project folder, then select "Shared Project Settings".
Change "Sharing" from "Private project" to a new option:

You can grant access to a specific user. Click "add new user", then enter the user's MQL5.community login. Clicking the "Permission" drop down reveals the available privileges you can grant to the user:
A public project is a repository whose visibility setting is set to public. Any MQL5 user can download a public project's files, fork it to create their own copy, collaborate with its owner or maintainers, and propose code changes.
The "Public Projects" tab in MetaEditor is under development. Instead, you can explore available public projects on MQL5 Algo Forge website, which is like GitHub for the algorithm trading community.

After you fork a public project, your forked copy will appear as a public repository under your name on the website. After you clone the forked copy in MetaEditor, it will appear under Shared Projects.
If you want your existing project to become a public project, set its visibility to public. Perform this action in MetaEditor or follow these instructions to do it on the MQL5 Algo Forge website:
Open your repository page, then click "Settings" in the top-right area.

Deselect the "Make repository private" option, then click "Save settings".