Manage¶
Housekeeping: configuration, profiles, model scaffolding, shell integration, and self-update.
config — CLI configuration¶
| Subcommand | Description |
|---|---|
config show |
Print the current CLI configuration. |
config set <key> <value> |
Change a configuration value. |
config init |
Write a default config.json. |
config paths |
Show resolved paths for local CLI files. |
tx config show
tx config set noColor true
tx config set defaultFormat json
tx config set validateOnSave false
tx config paths --output-format json
Supported keys are defaultFormat (text or json), noColor, updateCheck,
validateOnSave (true by default; set false to allow mutation saves that
introduce validation errors),
the non-secret authentication settings auth.clientId, auth.tenant, and
auth.authority, and bpa.rules (BPA rule files or URLs that every bpa run
and the deploy gate load, separated by ;; see rule sources),
and the tx format style keys format.separators (us or eu), format.functionSpacing
(space or none), and format.lines (short or long); see format style. An
explicit --output-format always overrides defaultFormat; the legacy value human is read as text.
Unknown legacy entries are preserved when another setting is changed and are
shown with (unsupported) by config show. If config.json is corrupt,
--help, --version, doctor, config paths, and config init --overwrite
remain available; other commands fail with TOMIX_CONFIG_CORRUPT.
profile — named connection profiles¶
| Subcommand | Description |
|---|---|
profile list |
Show the profiles you've saved. |
profile show <name> |
Print a profile's details. |
profile set <name> |
Create or update a profile. --from-active seeds it from the active connection (explicit -s/-d/--model/--auth still win). |
profile remove <name> |
Delete a profile. |
profile set options:
| Option | Description |
|---|---|
--desc, --description <text> |
Free-form description of this profile. |
--from-active |
Fill the profile from the current active connection. |
tx profile set dev -s DevWorkspace -d Sales
tx profile set dev --from-active --desc "Dev workspace"
tx connect --profile dev
A new profile must contain a usable remote, local-model, or Desktop target.
--from-active copies the full active state, including Desktop Local mode and
workspace mirroring. Explicit -s/-d/--model/--auth values override the
copied values. Activating a profile expands it through normal connect planning,
so local paths and remote databases are validated before the active session is
replaced. Legacy profiles with a model path are inferred to be local.
init — scaffold a new model¶
| Option | Description |
|---|---|
--name <name> |
Name of the new model (default: the directory's name). |
--serialization <tmdl\|bim\|pbip> |
On-disk format (default: tmdl). |
--compatibility-mode <mode> |
PowerBI (default) or AnalysisServices. |
--compat, --compatibility-level <level> |
Compatibility level (default: 1702 for PowerBI, 1500 otherwise). |
--overwrite |
Replace anything already at the target path. |
completion — shell completion¶
The shell argument is required. Completion scripts are always text; an
explicit non-text --output-format is rejected, and a configured JSON default
does not alter the generated script.
skills — agent skill¶
tx skills install [--agent claude|codex|all] [--user] [--force]
tx skills status
tx skills uninstall [--agent claude|codex|all] [--user] [--force]
Installs the tomix skill, which teaches a coding agent how to use tx, from the copy
built into this binary. The installed skill therefore always matches the commands of
the tx you have. It is written to:
| Agent | This repository (default) | --user (every project) |
|---|---|---|
claude (Claude Code) |
.claude/skills/tomix/ |
~/.claude/skills/tomix/ |
codex (Codex and other Agent Skills harnesses) |
.agents/skills/tomix/ |
~/.agents/skills/tomix/ |
"This repository" means the enclosing git repository root, or the current folder
outside one. Without --agent, install picks the agents the folder already shows
signs of (.claude/ or CLAUDE.md; .agents/, .codex/ or AGENTS.md), and both
when there are none.
The installed SKILL.md records the tomix version and a content hash in its
frontmatter (metadata.tomix-version, metadata.tomix-hash). status uses them to
report each location as current, outdated (from another tomix version; run
install again to update it), edited, not installed by tx, or not installed.
install and uninstall never overwrite or remove a copy that was edited or that tx
did not write. They skip that location with TOMIX_SKILL_CONFLICT (exit 1) and carry
on with the others. Pass --force to replace or remove it anyway.
tx skills install # this repository, detected agents
tx skills install --agent codex --user # Codex, for every project
tx skills status --output-format json
tx skills uninstall --agent claude
Start a new agent session after installing so the agent loads the skill.
stage — staged mutations¶
Inspect and manage staged (uncommitted) model mutations — see Editing & staging for the workflow.
| Subcommand | Description |
|---|---|
stage status |
Show staged mutations for the active model (the default). |
stage list |
List all staged models in the current session. |
stage commit |
Promote staged mutations onto the source (and workspace mirror). |
stage discard |
Discard staged mutations without committing them. |
stage commit compares validation errors in the source and staged model before
writing or deploying. New errors block promotion and leave the staged copy
available. stage commit --force bypasses that gate and also commits if the
source changed since staging began (overwriting it). Without --force, source
drift blocks the commit so you can re-stage. stage discard --all discards staged mutations for every model in
the session, not just the active one. Both stage commit (it overwrites the
source, and the workspace mirror for remote sources) and stage discard ask
for confirmation; pass --yes to skip the prompt in scripts.
tx stage # staged mutations for the active model
tx stage commit # promote them onto the source (and workspace mirror)
tx stage discard
update — self-update¶
Updates tx to the latest GitHub release. Detects how tx was installed:
a dotnet global tool runs dotnet tool update -g Tomix.Cli; a standalone
binary (install.sh/install.ps1) downloads the release asset, verifies it
against the published checksums.txt, and swaps the binary in place.
| Option | Description |
|---|---|
--check |
Preview only: latest version plus release notes for every version between installed and latest, with [breaking] flags. Exits 0 whether or not an update exists; a failed check (no network, no published releases) exits 1 with a TOMIX_UPDATE_CHECK_FAILED diagnostic. Scripts should read .data.updateAvailable from --output-format json. |
--version <v> |
Update (or downgrade, with --yes) to a specific released version. |
The binary swap always asks for confirmation; pass --yes to skip (required
when no TTY is available). Breaking releases are flagged from conventional-commit
! markers and "breaking change" phrases in the release notes, plus any
major-version bump.
Related: the throttled update notice printed after commands can be disabled
with tx config set updateCheck false or TOMIX_NO_UPDATE_CHECK=1. The
notice never fires after tx update itself — the command reports its own
result.