## Introduction
-ContentDB will read configuration files in your package when doing a number of
-tasks, including package and release creation.
-This page details the ways in which you can use this to your advantage.
+ContentDB will read configuration files in your package when doing several
+tasks, including package and release creation. This page details how you can use
+this to your advantage.
## .conf files
+### What is a content .conf file?
+
Every type of content can have a `.conf` file that contains the metadata.
The filename of the `.conf` file depends on the content type:
name = mymod
description = A short description to show in the client.
+### Understood values
+
ContentDB understands the following information:
* `description` - A short description to show in the client.
* `depends` - Comma-separated hard dependencies.
* `optional_depends` - Comma-separated soft dependencies.
-* `min_minetest_version` - The minimum Minetest version this runs on.
-* `max_minetest_version` - The maximum Minetest version this runs on.
+* `min_minetest_version` - The minimum Minetest version this runs on, see [Min and Max Minetest Versions](#min_max_versions).
+* `max_minetest_version` - The maximum Minetest version this runs on, see [Min and Max Minetest Versions](#min_max_versions).
and for mods only:
## Controlling Release Creation
-### Git Releases and Submodules
+### Git-based Releases and Submodules
-ContentDB can automatically create releases from a git repository.
+ContentDB can create releases from a Git repository.
It will include submodules in the resulting archive.
+Simply set VCS Repository in the package's meta to a Git repository, and then
+choose Git as the method when creating a release.
### Automatic Release Creation
### Min and Max Minetest Versions
+<a name="min_max_versions" />
+
When creating a release, the `.conf` file will be read to determine what Minetest
versions the release supports. If the `.conf` doesn't specify, then it is assumed
-that is supports all versions.
+that it supports all versions.
This happens when you create a release via the ContentDB web interface, the
[API](/help/api/), or using a [GitLab/GitHub webhook](/help/release_webhooks/).
+Here's an example config:
+
+ name = mymod
+ min_minetest_version = 5.0
+ max_minetest_version = 5.3
+
+Leaving out min or max to have them set as "None".
+
### Excluding files
-When using git to create releases,
+When using Git to create releases,
you can exclude files from a release by using [gitattributes](https://git-scm.com/docs/gitattributes):