CLI commands

Overview of Tessl's CLI commands for managing tiles, workspaces, and authentication.

The Tessl CLI provides commands for managing tiles, workspaces, authentication, and project configuration. This page provides a comprehensive reference for all available commands.

Getting started

tessl help

To see all available commands, run:

tessl --help

To get detailed information about a specific command or command group, use the --help flag:

tessl <command> --help
tessl <command-group> <subcommand> --help

Authentication

tessl login

Authenticate with Tessl using the WorkOS device flow.

Usage

tessl login

Alternative

tessl auth login

tessl logout

Sign out and clear authentication credentials.

Usage

tessl logout

Alternative

tessl auth logout

tessl whoami

Show current authenticated user information.

Usage

tessl whoami

Alternative

tessl auth whoami

tessl auth token

Generate a new Tessl API key for programmatic access.

Usage

tessl auth token [--expiry-date <date>]

Flags

  • --expiry-date (string, optional): Expiration date for the API key in YYYY-MM-DD format (e.g., 2025-10-05)

Examples

# Generate an API key with default expiration
tessl auth token

# Generate an API key that expires on a specific date
tessl auth token --expiry-date 2025-12-31

Setup and Initialization

tessl init

Authenticate and sync dependencies, optionally configure MCP client integration with coding agents.

Usage

tessl init [--agent <agent-name>] [--project-dependencies <mode>]

Flags

  • --agent (string, optional): Configure coding agent integration. Supported values: cursor, claude-code. Can specify multiple agents.

    • See Custom Agents for information on configuring additional agents.

  • --project-dependencies (string, optional): Configure project dependencies mode. Options: install (default), skip, ask

Notes

  • Configures MCP server settings for AI coding agents

  • Automatically syncs project dependencies when configured

Examples

# Basic initialization with default settings
tessl init

# Initialize and configure Cursor integration
tessl init --agent cursor

# Initialize with multiple agents
tessl init --agent cursor --agent claude-code

# Initialize but skip automatic dependency sync
tessl init --project-dependencies skip

Project Dependencies

tessl install

Install tiles into your project. Tiles are usage specifications that help AI understand how to use libraries and frameworks.

Usage

tessl install <tile> [<tile>...] [--project-dependencies] [--yes]

Arguments

  • tile (string, required): One or more tile names in the format workspace/tile[@version]. If version is omitted, the latest version will be installed.

Flags

  • --project-dependencies (boolean, optional): Scan and sync project dependencies with registry tiles

  • --yes (boolean, optional): Automatically accept all installations (use with --project-dependencies)

Notes

  • Tiles are installed to .tessl/tiles/<workspace>/<tile>/ in your project

  • Your project's tessl.json is automatically updated with the tile reference

  • If a tile is already installed and up-to-date, it will be skipped

Examples

# Install a specific tile
tessl install tessl/[email protected]

# Install multiple tiles
tessl install tessl/svelte tessl/react

# Install tiles for all project dependencies
tessl install --project-dependencies

# Install all project dependencies without prompts
tessl install --project-dependencies --yes

Search for tiles in the Tessl registry by name, PURL, or HTTP URL.

Usage

tessl search [query]

Arguments

  • query (string, optional): Search query. If omitted, you'll be prompted interactively.

Examples

# Search for tiles matching "svelte"
tessl search svelte

# Interactive search
tessl search

tessl uninstall

Uninstall tiles from your project.

Usage

tessl uninstall <name>

Arguments

  • name (string, required): Full tile name in the format workspace/tile

Notes

  • Removes the tile from tessl.json and deletes files from .tessl/tiles/

  • Does not require authentication (local operation only)

Examples

# Uninstall a tile
tessl uninstall tessl/svelte

Tile Management

tessl tile lint

Validate tile structure and contents

Usage

tessl tile lint <source>

Arguments

  • source (string): Path to the tile directory to lint.

tessl tile pack

Package a tile into a .tgz file

Usage

tessl tile pack [--output path] <source>

Arguments

  • source (string): Path to the tile directory to publish.

  • output (string, optional): Path for the .tgz file that is generated. If omitted, uses the tile name and version to create a file in your current directrory.

tessl tile publish

Publish tiles to the Tessl registry.

Usage

tessl tile publish [path]

Arguments

  • path (string): Path to the tile directory to publish.

Examples

# Publish a tile from a specific directory
tessl tile publish path/to/my/tile

tessl tile unpublish

Unpublish tiles from the registry.

Usage

tessl tile unpublish [--tile <tile-name>]

Flags

  • --tile (string): Tile to unpublish in the format workspace/tile@version

Notes

  • Only available within 2 hours of publishing

Examples

# Unpublish a specific tile version
tessl tile unpublish --tile myworkspace/[email protected]

tessl tile archive

Archive tiles in the registry.

Usage

tessl tile archive [--tile <tile-name>] [--reason <reason>]

Flags

  • --tile (string, optional): Tile to archive in the format workspace/tile@version

  • --reason (string, optional): Reason for archiving the tile

Notes

  • Prevents new installations while preserving existing installations

Examples

# Archive a tile with a reason
tessl tile archive --tile myworkspace/[email protected] --reason "Deprecated in favor of v2"

Workspace Management

Workspaces enable you to create private collections of tiles that are restricted to yourself or your organization. You can control member access and permissions. To learn more, see Publish private Tiles for your libraries.

tessl workspace create

Create a new workspace.

Usage

tessl workspace create [name]

Arguments

  • name (string, optional): Name for the workspace. The name must be lowercase. If omitted, you'll be prompted.

Examples

# Create a workspace
tessl workspace create myworkspace

# Interactive creation
tessl workspace create

tessl workspace list

List all workspaces that you are a member of.

Usage

tessl workspace list

tessl workspace delete

Delete an existing workspace.

Usage

tessl workspace delete [name]

Arguments

  • name (string, optional): The name or ID of the workspace. If omitted, you'll be prompted.

Examples

# Delete a workspace
tessl workspace delete myworkspace

# Interactive deletion
tessl workspace delete

tessl workspace add-member

Add a member to a workspace with specified permissions.

Usage

tessl workspace add-member [--workspace <name>] [--user <user>] [--role <role>]

Flags

  • --workspace (string, optional): The name or ID of the workspace

  • --user (string, optional): The username or ID of the user to add

  • --role (string, optional): The role of the user. Options:

    • viewer - Can install tiles

    • member - Can install and publish tiles

    • owner - Can install, publish, archive, and unpublish tiles

Examples

# Add a member with viewer role
tessl workspace add-member --workspace myworkspace --user [email protected] --role viewer

# Add a member with owner role
tessl workspace add-member --workspace myworkspace --user [email protected] --role owner

# Interactive mode (prompts for all fields)
tessl workspace add-member

tessl workspace remove-member

Remove a user from a workspace.

Usage

tessl workspace remove-member [--workspace <name>] [--user <user>]

Flags

  • --workspace (string, optional): The name or ID of the workspace

  • --user (string, optional): The username or ID of the user to remove

Examples

# Remove a member
tessl workspace remove-member --workspace myworkspace --user [email protected]

# Interactive mode
tessl workspace remove-member

tessl workspace list-members

List all members of a workspace.

Usage

tessl workspace list-members [name]

Arguments

  • name (string, optional): The name or ID of the workspace. If omitted, you'll be prompted.

Examples

# List members of a workspace
tessl workspace list-members myworkspace

# Interactive mode
tessl workspace list-members

Configuration Management

tessl config get

Get a configuration value or show all configuration.

Usage

tessl config get [key]

Arguments

  • key (string, optional): Configuration key to get. If omitted, shows all configuration.

Examples

# Show all configuration
tessl config get

# Get a specific configuration value
tessl config get analytics.enabled

tessl config set

Set a configuration value.

Usage

tessl config set <key> <value>

Arguments

  • key (string, required): Configuration key to set

  • value (string, required): Value to set

Examples

# Set a configuration value
tessl config set analytics.enabled false

Diagnostics and Utilities

tessl doctor

Run authentication and manifest diagnostics to troubleshoot issues.

Usage

tessl doctor [--json]

Flags

  • --json (boolean, optional): Output diagnostics as JSON for programmatic processing

Examples

# Run diagnostics with human-readable output
tessl doctor

# Output diagnostics as JSON
tessl doctor --json

tessl feedback

Send feedback to the Tessl team.

Usage

tessl feedback [message]

Arguments

  • message (string, optional): Feedback message to send. If omitted, you'll be prompted interactively.

Examples

# Send feedback directly
tessl feedback "Great tool! Would love to see Python support."

# Interactive feedback
tessl feedback

CLI Self-Management

tessl cli update

Update the CLI to the latest or specified version.

Usage

tessl cli update [--target <version>] [--dry-run]

Flags

  • --target or -t (string, optional): Target version to update to (e.g., v1.0.0)

  • --dry-run (boolean, optional): Show what would be run without executing the update

Examples

# Update to the latest version
tessl cli update

# Update to a specific version
tessl cli update --target v1.0.0

# Preview update without executing
tessl cli update --dry-run

Model Context Protocol (MCP)

tessl mcp start

Start the Tessl MCP (Model Context Protocol) server for integration with AI coding agents.

Usage

tessl mcp start

Last updated