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 logout

Sign out and clear authentication credentials.

Usage

Alternative

tessl whoami

Show current authenticated user information.

Usage

Alternative

tessl auth token

Generate a new Tessl API key for programmatic access.

Usage

Flags

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

Examples


Setup and initialization

tessl init

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

Usage

Flags

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

  • --agent (string, optional, repeatable): Configure MCP for coding agent. Supported values: cursor, claude-code, gemini, codex. Can specify multiple agents. See Custom Agents for information on configuring additional agents.

Notes

  • Configures MCP server settings for AI coding agents

  • Automatically syncs project dependencies when configured

  • Important: Open source dependencies must be installed in your project (via npm install, pip install, etc.) before running tessl init so that Tessl can detect them and install the relevant tiles

Examples


Project dependencies

tessl install

Install tiles into your project. Tiles are versioned bundles of reusable, agent-agnostic context that make coding agents more effective. They can contain skills, documentation, and rules.

Alias: tessl i

Usage

Arguments

  • tile (string, required): Can be:

    • Registry tile: workspace/tile[@version] (version optional, defaults to latest)

    • GitHub repository:

      • Full URL: https://github.com/owner/repo

      • Shorthand: github:owner/repo (e.g., github:softaworks/agent-toolkit)

    • File path: file:<path> to install from local directory

Flags

  • --project-dependencies (boolean, optional): Scan and sync project dependencies with registry tiles. Dependencies should be installed locally via package manager prior to using this. When used in a monorepo, scans dependencies from the current working directory.

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

  • --skill (string, repeatable, optional): ** Specify which skill(s) to install by name (e.g., pdf, pptx). Used when a repository contains multiple skills. If omitted, you'll be prompted interactively to select from available skills. Can be specified multiple times to install multiple skills from the same repository.

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

  • GitHub URL formats: https://github.com/owner/repo, github:owner/repo, or with branch/path: https://github.com/owner/repo/tree/main/skills/pdf

  • File system installation: Use file:<path> to install from a local directory (tile.json expected in the path)

  • Monorepo support: When using --project-dependencies in a monorepo, the command scans dependencies from your current working directory. This allows you to initialize Tessl at the monorepo root and then install project-specific dependencies from subfolders.

Examples

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

Usage

Arguments

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

Examples

tessl uninstall

Uninstall tiles from your project.

Usage

Arguments

  • workspace/tile (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

tessl list

List all installed tiles in your project.

Usage

Flags

  • --json / --no-json (boolean, optional): Output tiles as JSON instead of human-readable format

Notes

  • Lists all tiles installed in your project based on tessl.json

  • Shows tile names in the format workspace/tile with their versions

  • Does not require authentication (local operation only)

Examples


Skill management

tessl skill new

Create a new skill with an interactive wizard or using flags.

Usage

Flags

  • --name (string, optional): Name of the skill

  • --description (string, optional): Description of the skill

  • --workspace (string, optional): Workspace to create the skill in

  • --path (string, optional): Local path where the skill directory will be created

  • --install (boolean, optional): Install the skill locally after creation

  • --public (boolean, optional): Make the skill public (default is private)

Notes

  • If flags are omitted, an interactive wizard will guide you through skill creation

  • The skill will be created as a directory with the proper Agent Skills specification structure

  • Use --install to immediately add the skill to your local agent configuration

Examples

tessl skill import

Import an existing skill from a local path or GitHub repository.

Usage

Flags

  • --workspace (string, optional): Workspace to import the skill into

  • --public (boolean, optional): Make the imported skill public (default is private)

  • --force (boolean, optional): Force import even if validation warnings exist

Arguments

  • path (string, optional): Path to the skill directory or GitHub repository URL. Defaults to current directory if omitted.

Notes

  • Validates the skill structure against the Agent Skills specification

  • Can import from local directories or GitHub repositories

  • Use --force to bypass non-critical validation warnings

Examples

tessl skill lint

Validate a skill's structure and contents against the Agent Skills specification.

Usage

Arguments

  • source (string, optional): Path to skill folder which contains tile.json file. Defaults to current directory if omitted.

Notes

  • Checks for required files and proper structure

  • Validates frontmatter fields (name, description, etc.)

  • Verifies conformance to the Agent Skills specification at agentskills.io/specificationarrow-up-right

  • Returns validation errors and warnings

Examples

tessl skill publish

Publish a skill to the Tessl Registry.

Usage

Flags

  • --workspace (string, optional): Workspace to publish the skill to

  • --public (boolean, optional): Make the skill public (default is private)

  • --force (boolean, optional): Force publish even if validation warnings exist

  • --skip-evals (boolean, optional): Skip publishing eval scenarios from evals/ directory

Arguments

  • path (string, optional): Path to the skill directory to publish. Defaults to current directory if omitted.

Notes

  • Skills are automatically linted before publishing

  • Published skills are versioned based on the version in the skill manifest

  • Eval scenarios from the evals/ directory are published by default; use --skip-evals to exclude them

  • Automatic evaluation: When published, skills are automatically evaluated and review scores are calculated (see Evaluating skills)

Examples

tessl skill review

Review a skill's conformance to the Agent Skills specification.

Usage

Flags

  • --skill (string, optional): Specify which skill to review by name when the path contains multiple skills

Arguments

  • path-or-url (string, optional): Path to the skill directory or URL to review. Defaults to current directory if omitted.

Notes

  • Performs a comprehensive conformance review against the Agent Skills specification

  • Validates skill structure, formatting, and best practices

  • Provides detailed feedback on how to improve the skill

  • Similar to lint but with more detailed analysis and recommendations

Examples

Search for skills and tiles with skills in the Tessl registry.

Usage

Arguments

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

Notes

  • Searches specifically for skills and tiles containing skills

  • Use tessl search for general tile search (docs, rules, skills)

  • Use tessl skill search to focus specifically on skills

Examples


Tile management

tessl tile new

Create a new tile with an interactive wizard.

Usage

Flags

  • --name (string, optional): Tile name in format workspace/tile-name

  • --summary (string, optional): Brief description of the tile

  • --path (string, optional): Directory path where tile will be created

  • --docs / --no-docs (boolean, optional): Include documentation

  • --rules (string, repeatable, optional): Include rule by name (can be specified multiple times)

  • --workspace (string, optional): Workspace for the tile

  • --skill / --no-skill (boolean, optional): Include a skill in the tile

  • --skill-name (string, optional): Skill name (implies --skill)

  • --skill-description (string, optional): Skill description (required with --skill or --skill-name)

  • --describes (string, optional): PURL of package this tile documents

  • --install / --no-install (boolean, optional): Automatically install in current project

  • --public / --no-public (boolean, optional): Make tile public (default: private)

Notes

  • Creates a new tile directory with a basic tile.json template

  • If run without flags, launches an interactive wizard to guide you through tile creation

  • Use --skill or --skill-name to create a tile with a skill component

Examples

tessl tile lint

Validate tile structure and contents

Usage

Arguments

  • source (string, optional): Path to the tile directory to lint. Defaults to current directory if omitted.

tessl tile pack

Package a tile into a .tgz file

Usage

Arguments

  • source (string, optional): Path to the tile directory to pack. Defaults to current directory if omitted.

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

tessl tile publish

Publish tiles to the Tessl registry.

Usage

Flags

  • --skip-evals / --no-skip-evals (boolean, optional): Skip publishing eval scenarios from evals/ directory

Arguments

  • path (string, optional): Path to the tile directory to publish. Defaults to current directory if omitted.

Examples

circle-info

Not sure what your published tile's URL will look like? See Workspaces to learn how workspace and tile names map to Registry URLs.

tessl tile unpublish

Unpublish tiles from the registry.

Usage

Flags

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

Notes

  • Only available within 2 hours of publishing

Examples

tessl tile archive

Archive tiles in the registry.

Usage

Flags

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

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

Notes

  • Prevents new installations while preserving existing installations

Examples


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 Distributing via registry.

tessl workspace create

Create a new workspace.

Usage

Arguments

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

Examples

tessl workspace list

List all workspaces that you are a member of.

Usage

tessl workspace delete

Delete an existing workspace.

Usage

Arguments

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

Examples

tessl workspace add-member

Add a user to a workspace with specified permissions.

Usage

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:

    • member * publisher

    • manager * owner

See Roles for more information

Examples

tessl workspace remove-member

Remove a user from a workspace.

Usage

Flags

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

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

Examples

tessl workspace list-members

List all members of a workspace.

Usage

Arguments

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

Examples

tessl workspace archive

Archive a workspace. An archived workspace won't be available to publish to or read from, but can be unarchived later.

Usage

Flags

  • --reason (string, required): Reason for archiving the workspace

Arguments

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

Notes

  • Archiving is a safer alternative to deleting, as archived workspaces can be restored

  • Use tessl workspace unarchive to restore an archived workspace

Examples

tessl workspace unarchive

Unarchive an archived workspace, making it active again.

Usage

Arguments

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

Examples


Configuration management

tessl config get

Get a configuration value or show all configuration.

Usage

Arguments

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

Examples

tessl config set

Set a configuration value.

Usage

Arguments

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

  • value (string, required): Value to set

Examples

tessl config list

List all configuration values.

Usage

Arguments

  • key (string, optional): Configuration key to list. If omitted, lists all configuration.

Notes

  • Similar to tessl config get but specifically for listing configuration values

Examples

tessl config add

Add one or more values to a configuration array.

Usage

Arguments

  • key (string, required): Configuration key for the array

  • value (string, required, repeatable): One or more values to add to the array

Notes

  • Use this command to add values to array-type configuration settings

  • Can specify multiple values in a single command

Examples

tessl config remove

Remove a value from a configuration array.

Usage

Arguments

  • key (string, required): Configuration key for the array

  • value (string, required): Value to remove from the array

Notes

  • Use this command to remove values from array-type configuration settings

  • Only removes the specified value, not the entire configuration key

Examples


Diagnostics and utilities

tessl doctor

Run authentication and manifest diagnostics to troubleshoot issues.

Usage

Flags

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

Examples

tessl feedback

Send feedback to the Tessl team.

Usage

Arguments

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

Examples


CLI self-management

tessl cli update

Update the CLI to the latest or specified version.

Usage

Note: --target can be shortened to -t

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


Model Context Protocol (MCP)

tessl mcp start

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

Usage

Last updated