.tcli.yaml (project manifest)
.tcli.yaml is the project manifest: the committed, per-project file that
records the target Teamcenter version and the artifacts tcli manages for the
project. It is created by tcli init and grows as you scaffold.
File location
Section titled “File location”tcli discovers the manifest by walking up from the current working
directory until it finds a .tcli.yaml, stopping at the filesystem root.
The first directory containing the file is the project root. There is no
fixed depth limit. Nested manifests are not supported.
Root fields
Section titled “Root fields”| Field | Type | Required | Description |
|---|---|---|---|
version |
integer | yes | Manifest schema version. Must be 1. |
teamcenterVersion |
string | yes | Target Teamcenter release (e.g. "2512"). Selects the matching catalog release. |
libraries |
list | no | Scaffolded server libraries. See Library. |
tools |
list | no | Scaffolded server tools. See Tool. |
aw |
list | no | Scaffolded Active Workspace kits. See AW kit. |
rac |
list | no | Scaffolded RAC plugins. See RAC plugin. |
configArtifacts |
list | no | Deploy/export categories. See Config artifact. |
Library
Section titled “Library”Each entry describes a library whose path is
customisation/tc/server/<name>.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Library name. Must be unique across libraries. |
manageable |
boolean | no | Whether the library uses the manageable structure. Defaults to false. |
scaffoldedVersion |
string | yes | The Teamcenter version this artifact was scaffolded for. |
Each entry describes a tool whose path is customisation/tc/server/<name>.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Tool name. Must be unique across tools. |
scaffoldedVersion |
string | yes | The Teamcenter version this artifact was scaffolded for. |
AW kit
Section titled “AW kit”Each entry describes an Active Workspace kit whose path is
customisation/tc/aw/stage/src/<name>. Serialized under the key aw.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Kit name. |
scaffoldedVersion |
string | yes | The Teamcenter version this artifact was scaffolded for. |
RAC plugin
Section titled “RAC plugin”Each entry describes an Active Workspace kit whose path is
customisation/tc/aw/stage/src/<name>. Serialized under the key aw.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Plugin name. |
scaffoldedVersion |
string | yes | The Teamcenter version this artifact was scaffolded for. |
Config artifact
Section titled “Config artifact”Each entry is one deploy/export category. Display fields (name,
description) are seeded from the catalog at
scaffold/add time, but a project may edit them freely. Identity and routing
are keyed on type, not on the display text.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Friendly display name. Must be unique across configArtifacts. |
type |
string | yes | Stable category slug used by deploy/export, CLI args, and asset lookup. |
sourceDir |
string | yes | Project-relative directory holding the category’s content. |
description |
string | no | One-line explanation. |
deployScript |
string or mapping | no | Deploy script for the category. A scalar path, or a mapping with path and positional params. The path must stay within sourceDir (a local, non-escaping path). |
exportScript |
string or mapping | no | Export script for the category. Same scalar-or-mapping form as deployScript. |
custom |
boolean | no | Marks a project-specific artifact not sourced from the catalog. Defaults to false. |
scaffoldedVersion |
string | yes | The Teamcenter version this artifact was scaffolded for. |
Script params
Section titled “Script params”deployScript/exportScript accept either a bare path or a mapping that adds
positional parameters:
deployScript: path: deploy-v1.cmd params: - name: environment description: Target environment required: true default: dev - name: modeWhen a script has no parameters, use the terse scalar form (deployScript: deploy-v1.cmd);
tcli writes it back that way on save.
A positional parameter whose value is supplied when the script runs — prompted
as a field in the TUI, or passed positionally after the type in headless mode
(tcli deploy <type> <value1> <value2>). Values are forwarded to the script by
position, in declared order; scripts receive them as plain arguments.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string | yes | Parameter name. Used as the prompt label and in help text. Must be unique within its script. |
description |
string | no | One-line explanation shown next to the field / in --help. |
required |
boolean | no | When true, a non-empty value must be supplied. Defaults to false. |
default |
string | no | Value used when none is supplied (pre-filled in the TUI). |
Validation rules
Section titled “Validation rules”Loading the manifest fails (reporting all violations at once) if:
versionis not1.teamcenterVersionis empty.- any
libraries[].name,tools[].name, orconfigArtifacts[].nameis empty or duplicated within its list. - any
configArtifacts[]is missingtypeorsourceDir. - any
deployScript/exportScriptpath is not a local path withinsourceDir(it must not escape via..or an absolute path). - any script declares
paramswithout apath. - any param has an empty or duplicated
namewithin its script.
Example
Section titled “Example”version: 1teamcenterVersion: "2512"
libraries: - name: libsample manageable: true scaffoldedVersion: "2512"
tools: - name: bom_export scaffoldedVersion: "2512"
aw: - name: sampleKit scaffoldedVersion: "2512"
configArtifacts: - name: Preferences description: Teamcenter preference definitions and values. type: preferences sourceDir: configuration/preferences deployScript: deploy-v1.cmd scaffoldedVersion: "2512" - name: Workflows description: Workflow template definitions. type: workflows sourceDir: configuration/workflows deployScript: path: deploy-v1.cmd params: - name: environment description: Target environment required: true default: dev scaffoldedVersion: "2512"See also
Section titled “See also”- Project manifest — conceptual overview.
- catalog.yaml — where
typeslugs and default seeds come from. tcli init— how the manifest is created.