Publish private tiles for your libraries

In this tutorial we'll help you create a tile with documentation, such as usage information, for a private library and share it with other users.

The (public) Registry only contains tiles for open-source dependencies. Private tiles let you create a tile for code that is private to you. You can publish and store these tiles in a private workspace, controlling who has access. You must be logged in to follow this tutorial.

Creating a new private tile

Depending on the complexity and the number of files included in a tile, you may want to introduce a directory structure to organize the content or you may want to keep things contained in a single directory. The Tessl tools support both approaches.

In this example we'll have a simple tile in a folder called "docs", in our main project folder, that we want to publish privately. This example will show you how and where to create it.

  1. Create a workspace for your team, group, company, if you've not done so already. You can find information on workspace creation here.

  2. Create a docs directory from your main project folder. You will place the following files there

    1. Create a tile.json file in docs . This is the manifest for your tile, containing metadata such as name, version and entry points. An example is provided below that you will need to complete with your tile information. Be sure to remove the comments once you've filled it in.

    2. Create a tile , with the .md extension, and place it the docs directory. An example is provided below. Create your own and name it index.md.

      1. Update tile.json to reference the relative path under the docs key in the supplied JSON. In this example, if you put index.md and tile.json in docs directory, it will be "index.md" as shown in the example comments.

    3. (Optional) Add a README.md inside the docs directory: this provides the ability to customize what others see when viewing the tile in the Tessl Registry. The README.md information is not passed to agents, it's solely for display in the Registry user interface.

  3. From your main project folder, run tessl tile publish <path>, where path is the relative path to the directory containing your tile tile.json, which for this example is docs.

    • In this simple example, both the manifest (tile.json) and the documentation (index.md) are in the same directory. If you have several markdown files forming the tile that you would like to organize in a directory structure, it is necessary to keep the manifest tile.json in the top directory, while the various markdown files can be organized in one or more subdirectories. When executing the tessl tile publish <path> command you will point to the (top level) directory where the manifest (tile.json) is located

  4. Add members to the workspace, with the appropriate role, if you have not already, so they can access it as viewer, member or owner.

tile.json , index.md , and README.md example

tile.json

describes must be a valid package-url and version must be a valid semver

index.md
README.md

Pack and validate a tile prior to publishing

Publishing a tile will automatically pack it, however if you want to validate a tile prior to publishing, the pack command can be run separately.

Sharing a tile

Add a Tessl user to your workspace to share private tiles with them. The member role gives read-only access to the tiles in the workspace. For more information on roles, see CLI Commands and Roles

To validate if they have been added to the workspace run:

The user added to a workspace will automatically have access to all tiles published there.

Using a private tile

Private tiles for your workspaces are searchable just like public tiles.

For example, to install the util-formatter tile with Claude Code:

Claude Code will find it in the Registry and install it into your project using Tessl's MCP tools.

Publishing a new private tile version

Simply raise the version and publish again.

Archive or unpublish a private tile

To remove a tile from search results without deleting it, archive it with:

This will return a message confirming that the Tile has been archived.

Private Tiles can be unpublished within 2 hours of upload. Use:

This will return a message confirming that the Tile has been unpublished.

Last updated