# Developing tiles locally

When creating tiles, you'll often want to test them locally before publishing to the Tessl Registry. Tessl lets you install tiles directly from your filesystem, making it easy to iterate on your tile content and validate it works correctly with your agent.

## Why develop locally

* **Test before publishing** - Validate your tile works correctly before sharing it
* **Iterate quickly** - Make changes and test them immediately without publishing
* **Create repository-specific tiles** - Build context that's specific to one codebase
* **Work with monorepos** - Create tiles for different parts of your monorepo that stay with the code

## Development workflow

### 1. Create your tile

Create a new tile with a skill

```bash
tessl skill new --name my-skill --path ./my-tile/skills/my-skill
```

or a generic tile structure:

```bash
tessl tile new --name myworkspace/my-tile --path ./my-tile
```

### 2. Install locally

Install your tile from the filesystem:

```bash
tessl install file:./my-tile
```

The tile is now available to your agent.

### 3. Test and validate

Test with your agent:

* **Skills**: Invoke the skill - confirm it executes correctly and produces expected results
* **Docs**: Query the documentation via MCP - verify information is accurate and accessible
* **Rules**: Ask agent to generate code - check it follows your guidance

Then validate the tile structure:

```bash
tessl tile lint ./my-tile
tessl tile pack --output ./dist ./my-tile
```

### 4. Iterate

Edit content → reinstall → test → repeat.

## Tile structure

Tiles can contain three types of content:

```
my-tile/
├── tile.json
├── docs/              # Documentation - loaded on-demand via MCP
│   └── index.md
├── rules/             # Mandatory guidance - always loaded
│   └── standards.md
└── skills/            # Agent capabilities
    └── my-skill/
        └── SKILL.md
```

See [Configuration files](/reference/configuration.md#tile-configuration) for complete tile.json reference.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.tessl.io/create/developing-tiles-locally.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
