TF Design
TF Design is a local design workspace that builds presentations (decks), posters, landing pages, prototypes, design systems, and brand visuals. TF Code can delegate a design brief to it through the tfdesign tool.
It is an add-on, not a default: the tfdesign tool and the TF Design agent only exist while the tfdesign CLI is installed. Follow the same setup/doctor pattern as voice and computer use.
Install
tfcode tfdesign setup --install
This runs npm install -g @toothfairyai/tfdesign. Verify with:
tfcode tfdesign doctor
If tfcode was already running before the add-on was installed, restart it or start a new session so the tfdesign tool and the TF Design agent appear.
How delegation works
The tfdesign tool hands the user's design brief to TF Design's design pipeline. It may ask the user design questions (discovery brief, visual direction, first-slide design picks, fonts) — those are relayed to the user automatically through TF Code's question UI, and the answers flow back to TF Design. Let the call run to completion (it can take several minutes; do not retry or interrupt it).
The finished artifact:
- Stays in the TF Design project (versioned) for this working directory
- Is mirrored as plain files into
design/<project-slug>/in the working directory - Is previewable at the returned
previewUrl(open it in a browser)
Continuing a design
Pass project (an id or name from a previous call's result) to continue an existing design. When the user asks for changes ("make the title bigger", "try a different direction"), pass the project id together with the change request as task. Never edit the design/ mirror files yourself to change a design — iterate through the tool so versions accumulate in TF Design. You may read the mirror files to inspect or report on the result.
Tool
The tfdesign tool is only registered while the tfdesign CLI is installed (cached detection — tfcode tfdesign setup installs and re-probes).
| Parameter | Required | Description |
|---|---|---|
task | yes | The design brief, verbatim from the user. For follow-ups, the change request. |
project | no | TF Design project id or name to continue. Omit to create a new project. |
skill | no | Bind a TF Design skill id (e.g. a deck mode) |
designSystem | no | Bind a TF Design design system id |
model | no | Model for the nested design agent (default: TF Design's default) |
daemonUrl | no | TF Design daemon URL override (default http://127.0.0.1:7456) |
Configuration
The tfdesign config section controls CLI resolution and the mirror location:
{
"tfdesign": {
"bin": "/usr/local/bin/tfdesign",
"url": "http://127.0.0.1:7456",
"mirror_dir": "design"
}
}
| Key | Default | Description |
|---|---|---|
bin | TFDESIGN_BIN env, then PATH (tfdesign, od) | Path to the TF Design CLI. |
url | http://127.0.0.1:7456 | TF Design daemon URL. |
mirror_dir | design | Workspace directory (relative to cwd) where delegated artifacts are mirrored. |
The CLI is resolved in this order: TFDESIGN_BIN env → tfdesign.bin config → tfdesign on PATH. The resolved binary must advertise the run subcommand; an older CLI without it is skipped.