tcmts.cli.commands

Types

Help type
A command's help, as `tcm help`, `--help`, usage errors and shell completion show it: its description, its parameters' (by name) and its subcommands'. Parsing doesn't read it (a route, `routeFind`, has none), so a change to one command's help reaches only what shows help, not every run of tcm.
Schema type
A Standard Schema (what router validates and types parameters with), for the few shapes tcm's take.

Shared

SECTIONS [string, string[]][]
Sections of `tcm help`, in order; every command is in one.
commonHelp Record<string, string>
The descriptions of parameters many commands share (`fresh`, `into`, `readBranch`, …), by name: a command's own help says otherwise for its own.
contributionId ModelElement<ParamModel<"id", number | undefined>>
count { (fallback: number): Schema<number>; (fallback: null): Schema<number | undefined>; }
A whole number; optional with a default, or with `null` for none.
file ModelElement<ParamModel<"file", string | undefined>>
files ModelElement<ParamModel<"files", string[]>>
Scratch files a command takes (none: the codebase's scratch.ts).
fresh ModelElement<ParamModel<"fresh", boolean>>
helpAdd Help
helpAlias Help
helpApps Help
helpAt Help
helpBranch Help
helpBuild Help
helpBuilds Help
helpChangelog Help
helpCheck Help
helpComplete Help
helpContribute Help
helpContribution Help
helpData Help
helpDependents Help
helpDeps Help
helpDescribe Help
helpDev Help
helpDiff Help
helpDocs Help
helpEdit Help
helpExport Help
helpFind Help
helpFmt Help
helpHistory Help
helpImport Help
helpInit Help
helpJobs Help
helpLib Help
helpLint Help
helpLs Help
helpLsp Help
helpMcp Help
helpMerge Help
helpMigrate Help
helpMirror Help
helpMv Help
helpPack Help
helpPackages Help
helpPatch Help
helpPull Help
helpPush Help
helpRegistry Help
helpRelease Help
helpReleases Help
helpRemote Help
helpReset Help
helpResolve Help
helpRevert Help
helpRm Help
helpRun Help
helpSearch Help
helpServe Help
helpStart Help
helpStatus Help
helpSwitch Help
helpTcm Help
helpTest Help
helpTodo Help
helpUpdate Help
helpUpgrade Help
helpUser Help
helpVerify Help
helpView Help
helpWatch Help
helps () => Record<string, Help>
Every command's help, by name (routes has what parsing reads): read only to show help (`tcm help`, `--help`, a usage error, shell completion).
http ModelElement<ParamModel<"http", string | undefined>>
into ModelElement<ParamModel<"into", string | undefined>>
list Schema<string[]>
A comma-separated list (`--with a,b`).
message ModelElement<ParamModel<"message", string | undefined>>
`-m <message>`, `--message`, of the commands that make a history entry: what the entry is for, kept with it.
on Schema<boolean>
A toggle that's on unless turned off (`--no-run`).
port (n: number) => ModelElement<ParamModel<"port", number>>
readBranch ModelElement<ParamModel<"branch", string | undefined>>
`--branch <b>`, of the commands that only read: another branch (another session's, say), read as it is, with nothing changed; this process stays on its own. A command that changes things isn't given it (see `usageError`).
remote ModelElement<ParamModel<"remote", string>>
`--remote <name>`: the remote it's on (default origin).
routeAdd () => Route<"add", "execute" | "help", readonly [Done<{ files: string[]; into: string | undefined; …
routeAlias () => Route<"alias", "execute" | "help", readonly [Done<{ message: string | undefined; name: string…
routeApps () => Route<"apps", "execute" | "help", readonly [Done<{}, readonly [Route<"prune", "execute" | "he…
routeAt () => Route<"at", "execute" | "help", readonly [Done<{ branch: string | undefined; place: string | …
routeBranch () => Route<"branch", "execute" | "help", readonly [Done<{ branch: string | undefined; delete: bool…
routeBuild () => Route<"build", "execute" | "help", readonly [Done<{ app: string | undefined; base: string | u…
routeBuilds () => Route<"builds", "execute" | "help", readonly [Done<{}, readonly [Route<"make", "execute" | "h…
routeChangelog () => Route<"changelog", "execute" | "help", readonly [Done<{ out: string | undefined; package: str…
routeCheck () => Route<"check", "execute" | "help", readonly [Done<{ files: string[]; fresh: boolean; into: st…
routeComplete () => Route<"complete", "execute" | "help", readonly [Done<{ shell: string | undefined; }, []>]>
routeContribute () => Route<"contribute", "execute" | "help", readonly [Done<{ as: string | undefined; description:…
routeContribution () => Route<"contribution", "execute" | "help", readonly [Done<{ all: boolean; remote: string; }, r…
routeData () => Route<"data", "execute" | "help", readonly [Done<{ n: number; table: string | undefined; }, r…
routeDependents () => Route<"dependents", "execute" | "help", readonly [Done<{ branch: string | undefined; name: st…
routeDeps () => Route<"deps", "execute" | "help", readonly [Done<{ branch: string | undefined; name: string |…
routeDescribe () => Route<"describe", "execute" | "help", readonly [Done<{ entry: string | undefined; message: st…
routeDev () => Route<"dev", "execute" | "help", readonly [Done<{ app: string | undefined; http: string | und…
routeDiff () => Route<"diff", "execute" | "help", readonly [Done<{ branch: string | undefined; refs: string[]…
routeDocs () => Route<"docs", "execute" | "help", readonly [Done<{ branch: string | undefined; name: string |…
routeEdit () => Route<"edit", "execute" | "help", readonly [Done<{ file: string | undefined; force: boolean; …
routeExport () => Route<"export", "execute" | "help", readonly [Done<{ dir: string | undefined; namespace: stri…
routeFind () => Route<"find", "execute" | "help", readonly [Done<{ branch: string | undefined; query: string[…
routeFmt () => Route<"fmt", "execute" | "help", readonly [Done<{ message: string | undefined; namespace: str…
routeHistory () => Route<"history", "execute" | "help", readonly [Done<{ all: boolean; branch: string | undefine…
routeImport () => Route<"import", "execute" | "help", readonly [Done<{ dir: string; exclude: string[]; into: st…
routeInit () => Route<"init", "execute" | "help", [Done<{}, []>]>
routeJobs () => Route<"jobs", "execute" | "help", readonly [Done<{ n: number; }, readonly [Route<"retry", "ex…
routeLib () => Route<"lib", "execute" | "help", readonly [Done<{}, readonly [Route<"add", "execute" | "help"…
routeLint () => Route<"lint", "execute" | "help", readonly [Done<{ fresh: boolean; namespace: string | undefi…
routeLs () => Route<"ls", "execute" | "help", readonly [Done<{ branch: string | undefined; namespace: strin…
routeLsp () => Route<"lsp", "execute" | "help", readonly [Done<{ stdio: boolean; }, []>]>
routeMcp () => Route<"mcp", "execute" | "help", readonly [Done<{ branch: string | undefined; direct: boolean…
routeMerge () => Route<"merge", "execute" | "help", readonly [Done<{ abort: boolean; branch: string | undefine…
routeMigrate () => Route<"migrate", "execute" | "help", readonly [Done<{ "if-needed": boolean; }, []>]>
routeMirror () => Route<"mirror", "execute" | "help", readonly [Done<{ check: boolean; unlink: boolean; }, []>]>
routeMv () => Route<"mv", "execute" | "help", readonly [Done<{ from: string | undefined; message: string | …
routePack () => Route<"pack", "execute" | "help", readonly [Done<{ bin: string[]; description: string | undef…
routePackages () => Route<"packages", "execute" | "help", [Done<{}, []>]>
routePatch () => Route<"patch", "execute" | "help", readonly [Done<{ all: boolean; edits: string | undefined; …
routePull () => Route<"pull", "execute" | "help", readonly [Done<{ branch: string | undefined; remote: string…
routePush () => Route<"push", "execute" | "help", readonly [Done<{ as: string | undefined; force: boolean; re…
routeRegistry () => Route<"registry", "execute" | "help", readonly [Done<{ base: string | undefined; dir: string;…
routeRelease () => Route<"release", "execute" | "help", readonly [Done<{ announce: boolean; as: string | undefin…
routeReleases () => Route<"releases", "execute" | "help", readonly [Done<{ package: string | undefined; }, []>]>
routeRemote () => Route<"remote", "execute" | "help", readonly [Done<{}, readonly [Route<"add", "execute" | "he…
routeReset () => Route<"reset", "execute" | "help", readonly [Done<{ message: string | undefined; to: string |…
routeResolve () => Route<"resolve", "execute" | "help", readonly [Done<{ hash: string | undefined; message: stri…
routeRevert () => Route<"revert", "execute" | "help", readonly [Done<{ entry: string | undefined; message: stri…
routeRm () => Route<"rm", "execute" | "help", readonly [Done<{ force: boolean; message: string | undefined;…
routeRun () => Route<"run", "execute" | "help", readonly [Done<{ args: string[]; bin: string | undefined; na…
routeSearch () => Route<"search", "execute" | "help", readonly [Done<{ branch: string | undefined; case: boolea…
routeServe () => Route<"serve", "execute" | "help", readonly [Done<{ host: string; insecure: boolean; moved: s…
routeStart () => Route<"start", "execute" | "help", readonly [Done<{ app: string | undefined; base: string | u…
routeStatus () => Route<"status", "execute" | "help", readonly [Done<{ branch: string | undefined; }, []>]>
routeSwitch () => Route<"switch", "execute" | "help", readonly [Done<{ branch: string | undefined; }, []>]>
routeTcm () => Route<"tcm", "execute" | "help" | "version", readonly [Done<{ build: string | undefined; dire…
routeTest () => Route<"test", "execute" | "help", readonly [Done<{ bin: string[]; definitions: boolean; fresh…
routeTodo () => Route<"todo", "execute" | "help", readonly [Done<{ all: boolean; branch: string | undefined; …
routeUpdate () => Route<"update", "execute" | "help", readonly [Done<{ clear: boolean; files: string[]; into: s…
routeUpgrade () => Route<"upgrade", "execute" | "help", readonly [Done<{ force: boolean; message: string | undef…
routeUser () => Route<"user", "execute" | "help", readonly [Done<{ remote: string; }, readonly [Route<"add", …
routeVerify () => Route<"verify", "execute" | "help", readonly [Done<{ fresh: boolean; }, []>]>
routeView () => Route<"view", "execute" | "help", readonly [Done<{ branch: string | undefined; grep: string |…
routeWatch () => Route<"watch", "execute" | "help", readonly [Done<{ fresh: boolean; into: string | undefined;…
routes () => { init: () => Route<"init", "execute" | "help", [Done<{}, []>]>; watch: () => Route<"watch", …
Every command, by name: what parsing reads of it (its route: arguments, options, subcommands), made when it's asked for. tcm runs one command, so a run reads one route, and a change to another command's leaves it as it was. Help, by name, is helps.
text { (): Schema<string>; (fallback: string): Schema<string>; (fallback: null | undefined): Schema<stri…
Text; required unless there's a default.
tls readonly [ModelElement<ParamModel<"tls", boolean>>, ModelElement<ParamModel<"tls-cert", string | un…
valid <T>(validate: (value: unknown) => { value: T; } | { issues: { message: string; }[]; }) => Schema<T>
words Schema<string[]>
Any number of words (a variadic argument).