Settings#
Settings define project-level information, including things like the title of your model, copyright information, and more.
Settings are set in a CSV file located at
baseDirectory/Settings/Settings.csv.
This file has two columns: Key and Value.
Required settings#
Keys are case-sensitive and may appear only once. The following keys are
required for COGS 2. Description, Author, and Copyright may have an
empty value; every other required value must be nonempty.
- CogsVersion
The model-format version. For this specification the value is exactly
2.0. This is separate from the model’s ownVersion.- Title
The title of your model. This is included in the generated Sphinx documentation and is used by most other publishers.
- ShortTitle
A shorter title or abbreviation for your model. This is used in the Sphinx documentation.
- Slug
A stable name matching
[a-z][a-z0-9_]*. Package publishers derive target-specific names from it and reject ambiguous normalizations.- Description
A short description of your model. The value may be empty.
- Version
The canonical Semantic Versioning 2.0 release of your model, including major, minor, and patch. This is not the COGS format version.
- Author
The person, organization, or group responsible for creating the model. The value may be empty.
- Copyright
A copyright statement for the model. The value may be empty.
- NamespaceUrl
The absolute namespace URI of the model. It is authoritative for XML; some projection publishers also use it.
- NamespacePrefix
A nonempty XML NCName other than the reserved names
xmlandxmlns.
Additional Settings#
You can add unique extension settings to Settings.csv. A built-in
publisher uses one only when its documentation says so. Duplicate keys are an
error; a reader never chooses a first or last value silently.
CSharpNamespace is an optional known setting. When present it overrides the
namespace of generated C# classes and must be a valid C# namespace. Compile the
generated project as the final target check. Other unique keys are preserved as
extension metadata.
Identification Settings#
The baseDirectory/Settings/Identification.csv file is required and
defines the identification properties that are injected into root item types.
An optional Identification.Mixin.csv file can be used to add more
identification properties alongside the required set.
Header Text#
You can specify header text to be included in outputs creating a file named baseDirectory/Settings/HeaderInclude.txt.
Content from this file will be included as a comment on top of output files
that support comments.
See Model Format for the normative setting table.