Concepts

A brief of the core concepts behind Tessl.

👉 Closed beta notice

Tessl framework is in private beta. Join our community to be updated on our future product releases.

Concept
Definition

Spec-driven development (SDD)

A development approach where specs — not code — are the primary artifact. Specs describe intent in structured, testable language, and agents generate code to match them.

Spec

A Markdown-like file (.spec.md) that defines software intent and capabilities. Specs serve as the source of truth for code generation and collaboration across teams.

Usage spec

A spec that provides usage instructions for existing code, such as open source libraries. It describes how to interact with software dependencies so agents can use them reliably and consistently. See below for a deeper definition.

Tessl Spec Registry

A place where you can download public libraries usage specs and also share your own specs with your team.

Tessl Framework

The code that allows humans and your agents to interact with specs and the spec registry for writing code and tests, MCP or CLI based. See below for a deeper definition.

Knowledge Index

Refers to the KNOWLEDGE.md file that links to usage specs installed in your project.

Plan

The Tessl Framework converts requested changes to a spec into a plan first, and while executing it updates the plan accordingly.

What is a Usage Spec?

When you are coding with AI agents, they're using Large Language Models (LLMs). These models have been trained on large portions of the internet. For code, that means they have been trained on different versions of software libraries. The result is that when the agents suggest code, they might use syntax that is already outdated, resulting in frustrating broken loops.

The solution is to provide the agent with up to date documentation so it can make better suggestions. We could ask the agent to search the internet to find the latest information on a library, but often times, documentation is not optimally structured to be read and understood by agents.

Usage specs solve this: the Tessl registry contains specifications that describe the behavior and intent of the library by referencing both the documentation and the implementation code. Similar to how you would install a library, you can now install an external library specification (a usage spec). These spec libraries have been preprocessed by Tessl, and optimized for agent readability.

Now when the agent is writing code, it can read these extra files and use the relevant bits in the prompts to yield better results, reducing hallucinations.

We currently have a set of ~10,000 popular libraries prepared. If you think any are missing, please let us know! In the future, you will be able to upload your own usage specs as well.

What is the Tessl Framework?

Coding agents can already write code, and generate tests. The Tessl framework alters the behavior of the agent to avoid writing files directly, instead generating them from a specification. This allows it to keep track of the intent that is otherwise scattered and lost in agent conversation histories. This helps align both humans and agents to understand what is being built. On top of the functional requirements, specs can contain tests to verify that the behavior is correct. This results in more consistent code generation, and more guided behavior of the agents.

Tessl can be used in two modes: CLI (typically for humans) and MCP server (for agents). When an agent uses our MCP server, it will call out when it is reaching for Tessl tools. The agent should be delegating code generation to Tessl tools unless otherwise specified by the user. The agent stays in control, but Tessl is keeping it on guardrails by nudging it to work spec-first.

Agents can then also make use of usage specs (see above) to improve code generation.

Under the hood, Tessl uses different models — both planning and reasoning methods, as well as agentic loops to improve any code or test issues.

Last updated