Logo

UNLOCKING

SPEC-DRIVEN DEV

with Tessl

Back to podcasts

Revolutionising Spec-Driven Development with Tessl’s Framework & Registry

with Guy Podjarny, and Simon Maple

Transcript

Chapters

Trailer
[00:00:00]
Introduction
[00:01:10]
Challenges in Agent Development
[00:03:52]
Spec-Driven Development Approach
[00:06:52]
Tessl Spec Registry and Its Benefits
[00:16:26]
Introducing the Spec Registry
[00:18:32]
Understanding Usage Specs
[00:20:27]
Open Beta and Controlled Beta Releases
[00:23:47]
Tessl's Journey and Vision
[00:27:20]
Community Engagement and Future Plans
[00:32:57]

In this episode

In this episode of AI Native Dev, co-hosts Simon Maple and Guy Podjarny introduce Tessl, a groundbreaking toolset designed to enhance agent-driven software development through spec-driven practices. By shifting from code-centric to spec-centric workflows, Tessl addresses common AI development challenges like overconfidence and inconsistency, enabling reliable, scalable, and autonomous coding. Tune in to discover how Tessl empowers developers to harness the creativity of LLMs while maintaining control over intent, constraints, and regressions.

AI-native development meets a new milestone in this special episode of AI Native Dev, as co-hosts Simon Maple and Guy Podjarny unveil Tessl—a pair of tools built to make agent-driven software development reliable at scale. Focused on spec-driven development, Tessl tackles the core pains developers face when using AI agents: overconfidence, inconsistency, and the endless review loop. The episode dives into what breaks in agent workflows today and how shifting from code-centric to spec-centric practices can unlock autonomy without sacrificing correctness.

Why Agentic Coding Breaks Down at Scale

Agents feel magical when you’re prototyping—short prompts produce useful code quickly. But as your codebase grows, that magic fades into fragility. Guy describes common failure modes: agents racing into implementation without aligning on intent, making up APIs or libraries, declaring work “done” when it isn’t, and unintentionally breaking unrelated functionality. The larger and more interdependent your application gets, the more these errors compound and the more time you spend reviewing, reverting, and patching.

This unreliability creates two big blockers. First, you hit a ceiling where you can’t safely evolve the app; even small changes cascade across the system. Second, when the agent gets itself into a knot, you often need to “start over,” losing context and momentum. For many teams, that makes agent development unsuitable for professional environments—particularly in enterprises where change management, compliance, and test coverage aren’t negotiable.

The episode frames this as a deeper architectural issue: today’s workflows are code-centric. We don’t consistently preserve the product’s intent or operational constraints in a machine-usable way. Without a shared, durable source of truth, agents default to improvisation. The opportunity, Guy argues, is to flip this model—make specs the primary artifact, and let code follow.

Spec-Driven Development: Intent Before Implementation

Spec-driven development (SDD) centers the development process on explicit, evolving specifications that describe what the software must do, not how it’s implemented. Tessl operationalizes this shift for AI agents. Instead of letting agents jump straight to code, Tessl guides them to first produce a spec that captures intent—requirements, behavior, constraints, and example cases that later become tests.

This approach isn’t just about better documentation. Specs act as a durable, machine-readable source of truth that persists across iterations. When you commit specs alongside code and tests, they become long-term memory for your product: why features exist, how they should behave, and what correctness looks like. Unlike traditional docs or PRDs that drift out of date, specs are the mechanism through which changes are applied—so they stay synchronized with reality.

The result is a workflow where you can safely harness the creativity and speed of LLMs. Agents can explore multiple implementation strategies, refactors, or language shifts while the spec and associated tests guard functionality. You unlock the benefits of autonomous code generation without ceding control of intent, constraints, and regressions.

Inside the Tessl Framework: MCP-Native, Tests-as-Guardrails, and “Vibe Specing”

The Tessl framework connects to your agent via MCP (Model Context Protocol), so it works with agents that support MCP out of the box. When you say “build X,” Tessl nudges the agent to propose and refine a spec before implementation. That spec is concise and easy to review, reducing misalignment. Only once intent is captured does the agent proceed to code—anchored to the spec as the canonical definition of done.

A key feature is automated test generation from the spec with a single command. Because Tessl’s spec format includes example behaviors and testable cases, the agent can set up a test environment, iterate if needed, and produce meaningful regression tests. Those tests become guardrails for future changes—so when you later ask for a tweak, the agent can’t casually break existing behavior without getting caught.

Tessl supports two working modes. If you prefer a more rigorous approach, you can do spec-first (akin to TDD), reviewing and hardening the spec and test cases up front before building. But Tessl also embraces “vibe specing”—moving fast to working code, then backfilling and refining specs and tests as you converge on what you actually want. This recognizes how people really work: sometimes you know exactly what you want; other times you need to discover it through exploration. Either way, the spec becomes the lasting record of intent.

Keeping Specs in Sync: Edit Through Specs, Not Around Them

Beyond initial creation, the real power of Tessl comes from keeping specs and code synchronized as your app evolves. The framework encourages edits to flow through the spec first, then the code. Using Tessl’s edit tooling, an agent modifies the spec to reflect the change, then updates the implementation. This ensures the spec remains a faithful representation of the product’s behavior, not a stale side artifact.

Of course, real life is messy: sometimes code or tests change outside the spec flow. Tessl is designed to detect that drift and reconcile it—bringing the spec back in line with the reality of the codebase. This dramatically reduces the overhead of keeping documentation accurate, while preserving a clear map of intent across versions, features, and refactors.

The second product, the Tessl spec registry, addresses another chronic source of agent unreliability: everything that lives outside your codebase. Agents frequently hallucinate APIs, misuse libraries, or misinterpret open-source components. The registry distributes authoritative specs for external dependencies—open-source packages, APIs, services, and other resources—so agents can consume and use them correctly. By encoding usage patterns, constraints, and examples as specs, the registry helps agents integrate third-party components without guesswork.

Key Takeaways

The episode marks a practical turning point for AI-native development. If you’ve been burned by agent overconfidence and endless review cycles, the path forward is to raise the level of abstraction. Capture intent as specs, generate tests from those specs, and let the agent build against that contract. With Tessl, this becomes a repeatable workflow: agents connect via MCP, create and refine specs, generate tests, and apply changes through those specs to stay reliable as you scale.

For developers, the actionable pattern is clear. Start every meaningful change by aligning on a spec—either rigorously up front or via vibe specing as you discover the right shape. Commit specs with your code. Prefer edits that update specs first, then implementations. Treat generated tests as non-negotiable regression guardrails. And when integrating external tools or libraries, pull authoritative specs from a registry to eliminate hallucinations and misuse.

Ultimately, Tessl aims to make agents viable for professional, large-scale software development. By moving from a code-centric to a spec-centric practice, you get the best of both worlds: the speed and creativity of LLMs and the reliability, traceability, and maintainability that teams need in production. To try it, head to tessl.io and plug the framework into your MCP-capable agent.