Skip to content

.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.

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.

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.

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.

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.

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.

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.

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: mode

When 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).

Loading the manifest fails (reporting all violations at once) if:

  • version is not 1.
  • teamcenterVersion is empty.
  • any libraries[].name, tools[].name, or configArtifacts[].name is empty or duplicated within its list.
  • any configArtifacts[] is missing type or sourceDir.
  • any deployScript/exportScript path is not a local path within sourceDir (it must not escape via .. or an absolute path).
  • any script declares params without a path.
  • any param has an empty or duplicated name within its script.
version: 1
teamcenterVersion: "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"