Changelog

Latest version = 0.73.0

0.73.0

New Features

  • Security Reviews on Install - tessl install and tessl update now show security review results before installation. CRITICAL/RISKY findings require confirmation to proceed, ADVISORY findings show an advisory after install, and unscanned items display a warning. Use -dangerously-ignore-security to bypass prompts in CI/scripted contexts

  • Commit-Pinned Installs - tessl install now accepts github:<repo>@<sha> and full GitHub commit URLs, allowing you to install a skill at a specific commit. A post-install hint directs to tessl update for future updates

  • Publish --bump Flag - tessl tile publish and tessl skill publish now accept --bump patch|minor|major to auto-increment the version when the current version already exists in the registry

  • .agents/skills Directory Support - Install skills in .agents/skills alongside other requested agents since that’s the folder many tools are aligning with

Improvements

  • Grouped Search Results - tessl search now groups results by type (Tiles / Skills) with section headers when both types are present

Bug Fixes

  • Fixed tessl skill new showing interactive prompts even when all required flags (-name, -description, -workspace) are provided

  • Fixed MCP server processes becoming orphaned when the parent process disconnects (stdin closes)

0.72.0

New Features

  • Pre-Publish Validation & Dry Run - Tile and skill publish commands now validate permissions, workspace, and version availability before publishing, with clear pass/fail output. Use --dry-run to check without actually publishing.

  • Security Scores in Search - Search results now display security assessment levels (Passed, Caution, Risky, Critical) alongside tile scores

Improvements

  • Smarter Eval Scenario Generation - Existing scenarios are now considered when generating new ones, avoiding duplicates

  • Large File Exclusion in Eval Archives - Files over 10MB are automatically excluded from repo archives during eval runs

  • Eval Commit Ref Validation - Commit refs are validated before archive creation, with clear error messages for missing refs

0.71.0

New Features

  • Support for Copilot in VSCode — Skills, rules, and our MCP server can be automatically set-up for vscode

  • Eval Run Labels — New --label / -l flag on tessl eval run lets you attach a short description to a run. Labels appear in tessl eval list and the Tessl web UI, making it easier to identify what you were testing across multiple runs.

  • Eval Variant Selection — New --variant flag on tessl eval run lets you run only a specific variant. Pass --variant without-context to run the baseline only (useful for iterating on scenario quality without affecting the with-context comparison), or --variant with-context to skip the baseline.

  • Local Repo Eval Runs — Project evals can now run against local git repos without SCM integration; the CLI archives and uploads the repo automatically

  • Smarter Scenario Generationtessl eval generate now avoids duplicating existing scenarios when generating new ones; --count specifies how many new scenarios to add

Bug Fixes

  • Allow installation of skills from unknown dot folders in GitHub repositories (e.g., .agent-skills/)

0.70.1

Improvements

  • Non-Interactive Mode for Evals & Scenariostessl eval run and tessl scenario generate now print the run/generation ID and URL immediately when running non-interactively, instead of polling for completion

  • Clearer Help Texttessl eval run and tessl scenario generate now show which flags are mode-specific, and invalid flag combinations are rejected with helpful messages

Bug Fixes

  • Fixed install --watch-local exiting prematurely — the process now stays alive until Ctrl+C and updated output to show relative paths rather than absolute ones

  • Fixed installation from file: source to exclude .git directories - It now installs the same files that would be captured by tessl tile pack or tessl tile publish

0.70.0

New Features

  • Local Tile Watching — New --watch-local flag on tessl install watches local file-source tiles for changes and automatically reinstalls tiles, streamlining the tile development workflow

  • Search Score Displaytessl search results now show aggregate quality and impact scores with color-coded badges

  • Scenario Generation from PRs — New --prs flag on tessl scenario generate accepts PR numbers as an alternative to --commits

  • Multiple Scenario Downloadstessl scenario download now accepts multiple space-separated IDs (e.g., tessl scenario download id1 id2)

  • Eval Run Repeats — New --runs / -n flag on tessl eval run to repeat each agent configuration multiple times

  • Eval Polling for Tile Evals — Tile evals now poll for completion instead of returning immediately, with Ctrl+C to detach gracefully

  • Eval JSON Output for Tile Evals--json flag on tessl eval run now works for tile evals, outputting run ID, tile name, and scenario count

  • Eval Agent Flag — New --agent flag (format: agent:model) replaces --model for tile evals, aligning with project eval conventions

  • Eval Cost Metadatatessl eval view now displays cost, runtime, turns, and token usage below each solution

  • Eval Agent/Model Displaytessl eval view stats now show the agent and model used for each solution

  • --last for Eval Debug & Retrytessl eval debug and tessl eval retry now support --last for quick access to the most recent eval run

  • Repository Metadata in tile.json — Tiles now support an optional repository URL field in their manifest

Improvements

  • Tile Cache Protection — Tile authoring commands now warn when operating on paths inside .tessl/tiles/, preventing accidental edits that would be overwritten on the next install

  • Cleaner Help Text — Removed meaningless --no-{flag} negated boolean flags from all commands, improved flag capitalization, and reordered commands for logical grouping

  • Consistent Scenario Terminology — "Generation run" renamed to "generation" throughout the CLI for simpler, more natural language

  • Scenario Generate Table Outputtessl scenario generate results now render as a formatted table with Scenario ID and Commit ID columns

  • Smarter Binary Install — Skips re-downloading binaries that already exist and pass validation; corrupt binaries are automatically cleaned up

Fixes

  • Fixed CLI crashes when output streams disconnect unexpectedly (EPIPE handling)

  • Fixed unpublish help text to reflect the correct 2-day timeframe (was showing 2 hours)

0.69.0

New Features

  • Scenario Generation Commands - New tessl scenario command suite for generating and managing test scenarios. Generate scenarios from tiles or repository commits (tessl scenario generate), download them to disk (tessl scenario download), and track generation runs (tessl scenario list, tessl scenario view)

  • Global Tile Installation - Install tiles globally with tessl install --global to make documentation and skills available across all your projects.

  • Eval Variant Comparison - tessl eval run now supports running evaluations with multiple agent variants and context patterns, with automatic detection of tile vs. project scenario sources

Improvements

  • Project Directory Hints - tessl init and tessl install now display a helpful hint when the target project directory differs from your current working directory

Bug Fixes

  • Fixed a crash when piping CLI output to another command (e.g., tessl list | head) by gracefully handling broken pipe signals

  • Fixed markdown link validation incorrectly parsing non-markdown files during tile linting

0.68.0

New Features

  • GitHub Copilot CLI Support — Tessl now recognizes GitHub Copilot CLI as an agent, with automatic detection, rules wiring via AGENTS.md, skill installation, and MCP configuration

  • Search Type Filteringtessl search now accepts a --type flag to filter results by content type (skills, docs, or rules)

  • Skill Review Auto-Accepttessl skill review --optimize now supports a --yes / -y flag to skip the confirmation prompt and auto-apply improvements

Improvements

  • Automatic Binary Cleanup — Old CLI binary versions are now automatically cleaned up after updates, keeping only the current version and one rollback

  • Short SHAs for Git Tiles — tessl list and tessl doctor now display short SHAs for git-sourced tiles instead of full commit hashes

  • Command Detection Timeout — Command lookups now have a 1-second timeout to prevent indefinite hangs during agent detection

Breaking Changes

  • tessl skill search Removed — Use tessl search --type skills instead

Bug Fixes

  • Fixed tessl skill review --optimize failing with a raw 401 error when not authenticated — now shows a clear login prompt

  • Fixed unpublish help text to reflect the correct 2-day window (was incorrectly showing 2 hours)

0.67.0

New Features

  • Skill Optimization - tessl skill review --optimize now applies feedback from the review to generate an updated SKILL.md file

  • Evaluation Type Support - tessl eval list now displays all evaluation types (tile, repo, skill) with a new "Type" column and --type flag to filter by evaluation type

  • Filter Evaluations by Status - tessl eval list now supports a --status flag to filter runs by status (pending, in_progress, completed, failed)

Bug Fixes

  • Fixed tessl skill review returning exit code 0 on validation failure — it now correctly returns a non-zero exit code, enabling proper CI/CD integration

  • Fixed tessl api --input - sending incorrect Content-Type when piping JSON via stdin

0.66.0

New Features

  • outdated command — Check installed tiles for newer versions, showing current, safe update, and latest version info

  • update command — Update tiles to newer versions. Use --yes for all, and --force to include breaking updates

0.65.0

Bug Fixes

  • Windows Compatibility for Generated Files - Fixes generated file and directory names containing colons (:) which are invalid in Windows file paths. Tile files committed to git repositories can now be cloned on Windows without errors. Existing installations are migrated automatically

0.64.0

New Features

  • Local Tile Evaluation - Run evals against your tiles directly from the CLI with tessl eval run and get a fast feedback loop for improving your tiles

  • Eval Results in Terminal - View eval results with per-scenario breakdowns, variant comparisons, and scoring summaries using tessl eval view

  • Eval Run History - List recent eval runs filtered by workspace, tile, or author with tessl eval list

  • Eval Retry - Re-run failed evals with tessl eval retry

0.63.4

Improvements

  • Internal - Stability improvements

0.63.3

New Features

  • Local Path Support for Tile Info - tessl tile info now accepts a local directory path as an argument and defaults to the current directory when no argument is provided, making it consistent with other tile commands like publish and lint

Improvements

  • Better Publish Messages - After publishing tiles or skills, the CLI now displays the published resource URL and a note about moderation timelines

Bug Fixes

  • Fixed MCP configuration failures when using npx tessl by ensuring the tessl binary is accessible via the PATH during init

0.63.2

Bug Fixes

  • Fixed circular reference issues when CLAUDE.md and AGENTS.md are symlinked

0.63.0

Improvements

  • The CLI is now distributed as a native binary instead of a bundled Node.js package

0.62.2

New Features

  • Optional Authentication - You can now use tessl init, tessl install, and tessl search without logging in. Public tiles are accessible to everyone, while private tiles will show helpful hints to log in when needed

Bug Fixes

  • Fixed --skill flag not working correctly when installing a single skill from a local tile with multiple skills

0.62.1

Improvements

  • Internal - Stability improvements

0.62.0

New Features

  • Unified Search — tessl search now returns both tiles and skills in a single view, with visual badges showing content types ([docs], [skills], [rules]) and skill provenance

  • Tile Evaluations — New tessl eval command group for evaluating tiles:

    • tessl eval run [path] — Run evaluations on local tiles

      • --force flag to re-run all evaluations including previously solved cases

    • tessl eval list — View recent eval runs with status

    • tessl eval view-results <id> — View detailed results with color-coded scores and assessment tables

      • --last flag to quickly view most recent eval results

    • Git metadata (branch, commit, dirty state) automatically attached to eval runs

  • Tile Info — New tessl tile info <name> command to view tile metadata, verification status, and moderation status

  • Skills in MCP Context — The query_library_docs MCP tool now includes installed skills when building knowledge context

Improvements

  • Redesigned Help for tessl -h — Commands are now grouped by category with improved formatting and readability

  • Publish Workspace Context — Publishing now shows the target workspace name before uploading

Bug Fixes

  • Fixed --skill flag being ignored when installing skills from registry tiles

  • Fixed re-installing tiles not updating the manifest with new skill selections

  • Fixed tile lint incorrectly flagging files as orphaned when linked via @path.md includes

0.61.4

Improvements

  • Install --yes Flag Behavior - The --yes flag now auto-selects all skills when installing from GitHub, even in interactive mode. Previously it only worked in non-interactive environments.

  • Non-Interactive tile new - The tessl tile new command can now run fully non-interactively when all required flags are provided, making it easier for scripts and agents to use.

Fixes

  • GitHub Skill Installation Bugfixes - Address various edge cases that prevented some skills being installed from GitHub

  • GitHub Skill Installation Respects Pinned Version - Fixed an issue that meant we always installed a skill from a repository's trunk rather than the commit sha in tessl.json when doing tessl install

0.61.3

Improvements

  • Faster git installs - Git dependencies are no longer re-downloaded on every install when already at the correct version

0.61.2

Improvements

  • Windows Platform Detection - The CLI now detects Windows and provides a clear error message directing users to use WSL instead

  • Lenient GitHub Skill Installation - Skills from GitHub with missing referenced files or minor schema issues now install with warnings instead of failing completely

  • Better Warning Display - Installation warnings are now grouped by tile name with count summaries (e.g., "3 content warnings in github:user/repo")

  • Verbose Install Output - Added --verbose (-v) flag to tessl install and tessl skill search commands to display detailed warning messages during installation

Bug Fixes

  • Fixed skill validation warnings showing absolute temp directory paths instead of relative paths

  • Fixed installation failures when GitHub skills have invalid optional frontmatter fields (e.g., allowed-tools as array instead of string)

0.61.1

New Features

  • Skill Commands - Added a complete set of dedicated skill management commands: tessl skill new, tessl skill import, tessl skill lint, tessl skill publish, tessl skill review, and tessl skill search. Skills are now first-class citizens with their own command group for easier discovery and management.

  • GitHub Installation Support - Install tiles and skills directly from GitHub repositories using tessl install github:user/repo or full URLs. Supports branch selection, subdirectories, and interactive skill selection. Git sources are pinned to commit SHAs for version stability.

  • Skill Search - Discover available skills across the Tessl ecosystem with the new interactive tessl skill search command. Search returns both external skills from GitHub and tiles containing skills, with interactive selection and installation.

  • Skill Review - Evaluate skill quality with tessl skill review, which validates SKILL.mdarrow-up-right files and provides LLM-based scoring across multiple dimensions with actionable suggestions for improvement. Supports both local paths and GitHub URLs.

  • Non-Interactive Mode - Commands now auto-detect TTY availability and work in CI/CD pipelines and with AI agents. When required flags are missing in non-interactive environments, commands provide clear error messages pointing to available options.

  • Selective Skill Installation - Choose specific skills when installing tiles using the new include.skills manifest field in tessl.json. Reduces clutter in agent directories by only activating the skills you need.

  • Codex Support - Full support for Codex as a core agent alongside Claude Code, Cursor, and Gemini. Includes project detection, MCP configuration, steering, and skills synchronization.

  • Gemini Production Ready - Gemini agent is no longer experimental and fully supported in production workflows.

Improvements

  • Simplified Skill Naming - Skill directories now use cleaner names (tessl:<skill> instead of tessl:<workspace>:<tile>:<skill>) and are symlinked rather than copied for better performance and consistency.

  • Automatic Eval Publishing - Evals are now published by default when running tessl tile publish or tessl skill publish. Use -skip-evals to opt out. Published evals automatically trigger evaluation runs.

  • Better Skill Discovery - Improved skill detection uses a three-step process (root check, priority directories, full scan) with optimizations that reduce scan time and exclude build/cache directories.

  • Streamlined Publishing - The tessl skill publish command no longer asks redundant "will you share this?" prompts since publishing inherently means sharing.

  • Improved Help Text - Updated tessl init --agent to list all supported agents (claude-code, codex, cursor, gemini) and clarified that tessl install accepts both registry tiles and GitHub URLs. Added tessl i as a shortcut alias.

  • Relative Paths in Manifest - When creating tiles with --install, the CLI now stores relative paths in tessl.json instead of absolute paths, making projects portable across machines and directories.

  • Smarter CLI Setup - The tessl/cli-setup tile is now only installed when your tiles have documentation, reducing overhead for steering-only projects.

  • Flexible Tile Content - Tiles can now contain any file type, not just markdown files, allowing for configuration files, code examples, and other documentation formats.

Bug Fixes

  • Fixed skill review score display showing /4 instead of the correct /3 scale

  • Fixed status command handling of non-semver versions for git-based and file-based tiles

  • Fixed orphaned file detection for tiles with root-level skills - README.md and other root files are no longer incorrectly flagged as orphaned

  • Fixed skill publish command to accept SKILL.mdarrow-up-right file paths directly instead of only directory paths

  • Fixed file source tiles being incorrectly deleted as orphaned on repeated installs when dependency key differed from tile name

  • Fixed skill frontmatter validation warnings during installation from external sources like GitHub

  • Fixed tessl skill new output messages to reference correct tile directory paths

  • Fixed skill selection in GitHub repos to require explicit choices, preventing accidental installation of all skills from large repositories

0.60.0

New Features

  • Project Mode (Managed vs Vendored) - Choose how tile content is managed in your project:

    • Managed mode - Tile contents are gitignored like node_modules (default for existing projects)

    • Vendored mode - Tile contents are committed to your repository (default for new projects)

    • Switch modes anytime by setting "mode": "managed" or "mode": "vendored" in tessl.json

Improvements

  • Simplified Local Tile Dependencies - Local tiles (using file: or link: sources) no longer require a version field in tessl.json. The CLI automatically reads versions from installed tile.json files. Existing manifests with both version and source are automatically migrated to the new format.

0.59.0

New Features

  • .tileignore Support - Exclude files from tile validation and packaging using gitignore-style patterns.

0.58.1

Improvements

  • Tile Commands Auto-Detect - tessl tile pack, tessl tile lint, and tessl tile publish can now be run directly from your tile directory without explicitly specifying the path

Bug Fixes

  • Squashed some bugs that were hiding in the codebase. They know what they did.

0.58.0

New Features

  • Context Cost Analysis (Experimental) - The tessl doctor and tessl tile lint commands now display estimated token costs for tile content loaded into agent context windows. This helps you understand which tiles contribute most to context usage and identify oversized content before publishing.

  • HTTP Proxy Support - The CLI now works in proxied network environments by automatically detecting and using HTTP/HTTPS proxy settings from environment variables (http_proxy, https_proxy, HTTP_PROXY, HTTPS_PROXY). The CLI respects no_proxy/NO_PROXY bypass rules.

Improvements

  • Enhanced Python Dependency Scanning - Improved Python dependency detection with support for extras notation (e.g., openai[aiohttp]>=1.52.2) across requirements.txt, pyproject.toml, and uv tree output. The scanner now also automatically falls back to pip3 when pip is not available, improving compatibility with macOS and Linux distributions.

Bug Fixes

  • Fixed Go package PURL validation to require the v prefix in version strings (e.g., v1.9.3 instead of 1.9.3), ensuring pkg.go.dev documentation links work correctly.

  • Fixed false "broken link" warnings during tessl tile lint when markdown files contain URI schemes like mailto:, tel:, ftp:, or data:.

0.57.0

New Features

  • Monorepo Subfolder Support - The tessl install --project-dependencies command now scans dependencies from your current working directory, enabling you to run it from monorepo subfolders in an initialized project (e.g., tessl init && cd backend && tessl install --project-dependencies)

Improvements

  • Smarter Documentation Tree - The context tool now only includes files that are transitively linked from a tile's documentation entrypoint, filtering out orphaned files and making documentation discovery more focused

Bug Fixes

  • Fixed markdown link validation to properly handle anchors (e.g., ./guide.md#section). The validator now validates both file existence and anchor validity, with clearer error messages for broken links

0.56.2

Improvements

  • Internal - Stability improvements

0.56.1

Improvements

  • Observability Enhancements - Improved telemetry infrastructure for better diagnostics and system monitoring

0.56.0

Breaking Changes

  • Node.js 18 No Longer Supported - The CLI now requires Node.js 20 or later. Node.js 18 reached end-of-life in April 2025 and is no longer supported. The CLI will now fail with a clear error message if you attempt to run it on Node.js 18.

Improvements

  • Only Auto-Init Outside Existing Projects - The install and search commands no longer automatically initialize a project when run in a subdirectory of a Tessl project directory. This prevents accidentally creating unwanted projects when running commands after changing directories. To initialize a project, explicitly run tessl init first.

Bug Fixes

  • Fixed an issue where the init command's failed to identify and install relevant tiles.

0.55.1

Improvements

  • Faster Auto-Updates - The CLI now checks for updates every 3 hours (down from 24 hours), ensuring you get critical fixes and improvements more quickly. You can still adjust the interval with TESSL_AUTO_UPDATE_INTERVAL_MINUTES or disable it by setting it to 0.

0.55.0

New Features

  • Updated Workspace Roles - Workspace member roles have been updated to: member, publisher, manager, and owner (the viewer role has been removed)

Bug Fixes

  • Fixed authentication issue where API token authentication (TESSL_TOKEN) would fail after token refresh attempts, causing authenticated API calls to fail

0.54.0

New Features

  • Tile Manifest Validation - The describes field in tile manifests is now validated to ensure it contains a valid PURL (Package URL) format. Invalid PURLs or unsupported package types will show helpful warnings during tessl tile lint, tessl tile pack, and tessl tile publish operations

Improvements

  • Project Directory Detection - Improved project directory discovery logic allows the CLI to better locate your tessl.json even when running commands from subdirectories within your project

Bug Fixes

  • Fixed missing newline after tessl list output for better terminal formatting

0.53.0

New Features

  • Go Modules Support - Dependency scanner now detects Go projects and extracts dependencies from go.mod files

  • Auto-Init on Search - When selecting a tile from search results, the CLI now automatically initializes the project if needed (creates tessl.json)

  • Dynamic Terminal Sizing - Interactive prompts now adapt to your terminal height for better readability

  • Escape Key Cancellation - Press Escape to cancel select/checkbox prompts

Improvements

  • Smarter Context Tool - When no documentation is found, the tool now suggests running a search to find relevant tiles

  • CI Environment Detection - Auto-update and version checks are now automatically disabled in CI environments

Bug Fixes

  • Fixed tile installation failures when system temp directory is on a different filesystem (handles cross-device moves)

0.52.2

No changes in this release

0.52.1

Improvements

  • Homebrew installation now available for stable releases

  • MCP server stability improvements

0.52.0

New Features

  • Added tessl tile lint command to validate tiles before publishing

Bug Fixes

  • Tile upgrades now properly clean up old files when installing new versions

  • Fixed markdown link validation to skip code blocks in tile documentation

0.51.0

  • MCP Tool Improvements

    • Renamed get_library_context tool to query_library_docs and updated descriptions for better clarity

    • Updated cli-setup steering tile version to reflect tool rename and improve adoption

  • Tile Management

    • Added tessl list command to display installed tiles

  • CLI UX

    • Improved CLI message spacing and copy for better readability

0.50.6

  • Added the ability to archive and unarchive workspaces

    • Archiving a workspace allows you to non-destructively remove workspaces you no longer wish to use or see. Archiving a workspace also archives all tiles in that workspace. This means that users can still install those tiles if defined in their manifest, but will not otherwise see them in search etc.

    • Unarchiving, as you’d expect, shows a workspace once again. However, it does not unarchive tiles within the workspace, to avoid potentially unarchiving content that was previously archived before the workspace was.

  • Fixed a bug when authenticating in multiple machines that would result in our MCP tool get_library_context only working on the last machine you authenticated.

0.50.5

We added a new tessl tile pack command which validates and builds a tarball for a tile. It can be useful to validate things before doing tessl tile publish.

Also fixed a bug where the CLI would fail to run when who signed up without a first or last name.

0.50.4

Fix tessl tile publish requiring an absolute path

0.50.3

This release marks a significant shift in focus. We've rebuilt the CLI from the ground up as an Agent Enablement Platform, pausing work on the Tessl Framework to concentrate on our registry functionality and agent integration.

We really appreciate all the feedback we have received so far. Please, keep it coming.

What's Changed

Getting Started is Now Simpler

When you run tessl init in your project, it now automatically detects your dependencies and pulls relevant tiles from the registry. For teams already using tessl, new developers only need to install the CLI and grant MCP server permissions—everything else happens automatically when the MCP starts up.

Smarter Agent Integration

Instead of agents searching through generated documentation, they now use our new get_library_context MCP tool to query tiles directly. This requires logging in to tessl, but makes context retrieval much more efficient. The MCP tools also include login (for in-session authentication) and status (for checking project state).

Note: KNOWLEDGE.md is no longer generated since agents now pull context on-demand.

Command Reorganization

We've streamlined the command structure. Changes to existing commands:

  • tessl registry install|searchtessl install|search

  • tessl registry synctessl install --project-dependencies

  • tessl registry publish|unpublish|archivetessl tile publish|unpublish|archive

  • tessl versiontessl --version

Release Channels & Auto-Updates

You can now choose between latest (default, stable) and beta (early access) channels. The CLI checks for updates hourly and auto-updates transparently (max once per 24 hours). Configure the interval with $TESSL_AUTO_UPDATE_INTERVAL_MINUTES or set it to 0 to disable.

New Commands

  • tessl doctor - diagnose authentication, manifest status, detected agents, and dependencies (add -json for full dependency details)

  • tessl uninstall - remove tiles from your project

What's Removed

The Framework functionality is no longer included. If you need the full framework features, v0.28.0 remains available (though development is paused).

Currently, automatic setup only supports Claude Code and Cursor. We'll add other agents based on requests—in the meantime, you can manually configure the MCP with any agent.


Note: This is a major rewrite (v0.30.0 → v0.50.2). Existing workflows will need adjustment.

(Updated Nov 27, 2025)


0.28.0

New Features

  • Invoking setup agent via npx will now configure mcp to use tessl via npx, ensuring smoother setup for users without a global install.

  • Added integration with Cursor IDE for automatic generation and application of steering rules from tiles.

  • Added tessl registry uninstall to easily uninstall tiles.

Improvements

  • Improved error messages for the add-member command to enhance clarity.

  • Improved tessl status output to better reflect post-generation changes.

  • Aligned arguments for tessl registry unpublish and tessl registry archive.

Bug Fixes

  • Fixed detection of direct dependencies in the pip detector.

  • Resolved issue where unsupported package managers showed unnecessary user-facing messages.

  • Extended display name support to include PyPI and Maven packages.

  • Removed outdated compatibility code for specs.json.

0.27.0

New Features

  • New tessl setup project-info Command: CLI-only users can use this command to add details that Tessl tools require to AGENTS.md.

  • Framework Initialization: you can choose “full-framework” (closed beta, login required) or “registry only” when running init.

  • Steering Rules: Tiles can now define agent behavior rules via a new steering section in their manifests. These rules are automatically aggregated into a RULES.md file.

  • Local Usage Spec Installation: Added support for installing tiles from local directories via a new source field in tessl.json.

Improvements

  • Simplified usage spec installation paths by removing version info from the directory structure.

Bug Fixes

  • Fixed config list to return empty results instead of throwing errors when no config file is present.

0.26.0

New Features

  • Selecting Cursor during tessl init or via tessl setup agent will now automatically install rule files into .cursor/rules/tessl/framework as part of project setup, improving Framework adherence.

0.25.0

New Features

  • Improved Tile Installation UX: Tiles suggested during install/update are now selected by default, making the default path simpler for users.

  • Improved Help for tessl init: The -help output for tessl init now lists available agents, making it easier to discover options.

  • Non-Interactive Shell Support: CLI installation no longer blocks in non-interactive shell environments.

Improvements

  • Better Logging Behavior: In non-interactive mode, JSON logs are now correctly sent to stderr, preserving standard piping behavior.

  • Help Text Visibility: Tile help text remains visible even when tiles are deselected, improving clarity during installation.

Bug Fixes

  • Maven Dependency Detection: Fixed issues with the Maven dependency detector to ensure accurate detection.

  • Logging Flushing Reliability: Addressed a flakiness issue by ensuring that stdio is flushed on close, not exit.

  • Ink Render Handling: Corrected usage of Ink’s rendering logic to prevent hanging or exit-related issues.

  • Security: Updated pino logger to remove a transitive vulnerability.

0.24.0

New Features

  • tessl registry sync to synchronize tiles from the registry.

  • tessl setup framework to switch between the full Tessl framework and “registry-only” mode.

  • tessl stamp to manually sync spec/code hashes after intentional edits so tessl status stops flagging them.

  • tessl registry search now matches by full tile name (workspace/name), making it easier to find your own tiles.

  • tessl registry list added to browse available tiles.

  • tessl document adds tests to spec by default.

Improvements

  • tessl status surfaces an explicit error if bootstrap hasn’t been run.

  • Tool calls will fail if agent bootstrap process has not been run, with guidance to fix.

  • Added --print-project-cache flag for getting the path to the project cache.

  • Removed interactive tool picker removed to simplify workflows.

  • AGENTS.md now includes clearer “bootstrap” hints and wording tweaks to reduce confusion about when/why bootstrap should run.

Bug Fixes

  • MCP commands now authenticate correctly in all call sites.

  • Reduced noisy output during tessl registry sync.

Compatibility

  • Minimum Node.js version is now >= 22.0.0.

0.23.0

New Features

  • Added support for GitHub Copilot.

  • tessl edit now supports code files that have an associated @describe spec. Changes are made via the spec.

Improvements

  • tessl whoami command now includes your user ID.

  • Reduced the chances of "token expired" errors, by proactively refreshing tokens when commands are run.

  • Test commands will now time out if no output is received for a set period, preventing hangs.

  • Registry commands now prompt for initialization if the workspace isn’t already set up.

  • Unused .tessl/usage-specs directories are now removed during sync if the corresponding entries are removed from tessl.json.

  • Test generation is now controlled by a unified generateTests param, which always skips locked tests.

  • Improved list command usability, to make it easier for agents to select the right parameters.

  • tessl registry publish skips uploading irrelevant .md and .gitignored files.

Bug Fixes

  • tessl status no longer shows duplicated test paths.

  • Resolved issue where interactively selected tools weren’t able to run.

  • Fixed Goose setup, so that correct .gooserules configuration is used.

Deprecations

  • Removed deprecated annotations like @describes, @generates, and @satisfied-by.

circle-exclamation

0.22.1

Bug Fixes

  • Fixed a project language detection issue that would occasionally cause errors across different commands.

0.22.0

circle-exclamation
circle-info

Camel case flag support has been removed

Camel case flag support has now been fully phased out, all command flags should be provided in kebab case.

New Features

  • init now offers the option to set up an agent and MCP integration when initializing a project for the first time.

Improvements

  • Support information is now listed in help for logged-out users.

  • Tool parameters are now displayed before model parameters in tool-level help.

  • Links are now supported in kitty terminal.

Bug Fixes

  • Fixed the rules file targeting in Gemini CLI agent setup.

  • feedback is now gated to authenticated users, unauthenticated users can request support via email ([email protected]envelope).

0.21.2

Bug Fixes

  • Fixed MCP server not allowing invocation of install or search tools when not logged in.

0.21.1

Improvements

  • Running tools with spec-registry-only context will now fail early and remind you to install the Tessl Framework before continuing.

  • Added ability to exit registry search with the Escape key.

  • Search results now link to the spec registry page instead of individual package registries.

Bug Fixes

  • Fixed Ctrl+C handling with the experimental observe command.

  • Fixed a deprecation warning on registry install.

0.21.0

circle-exclamation
circle-exclamation

Breaking Changes

  • Removed test generation from the build tool and introduced a new build-tests tool

  • The spec format has been updated to allow capabilities to contain requirements that don’t have [@test] links:

    • create and edit specs will only add [@test] links if explicitly asked to do so in the --prompt

New Features

  • Our spec format now supports distinguishing between three types of tests:

    • locked tests: capture functional requirements provided

      • Denoted by { .locked } next to the [@test] link or in a header containing [@test] links.

      • You can manually mark tests as locked or use tessl test to do it by passing --lock-tests.

    • impl tests: cover implementation details that are tested to identify changes in behaviour disconnected from a spec’s functional requirements.

      • Denoted by { .impl }.

      • They are generated by tessl document --include-impl-details .

    • draft tests: are untagged and could have been added manually or using edit or create

      • You can use tessl test --lock-tests to automatically lock all draft the tests from a spec when all tests pass.

  • Added flags to build-tests tool to select which kind of tests to generate --generate-draft-tests, --generate-locked-tests, and --generate-impl-tests.

New Commands & Tools

  • Added new registry install, registry search, and registry sync commands for working with Usage Specs.

  • Added a new test tool, to run all of the tests for a given spec.

  • Added generate-tests tool to add tests to a given spec.

  • Added experimental observe tool to observe MCP tool invocations.

Spec Registry

  • Unauthenticated users can now access a subset of Tessl’s features to add Usage Specs to their projects.

    • Running init while logged out will set up AGENTS.md and framework files relating to the Tessl Spec Registry.

Global Config

  • config commands now support the --global flag, for updating the global Tessl config.

  • The global config now supports a shareUsageData key to allow for analytics opt-out.

Improvements

  • Cleaner output for build and build-tests with a final summary listing successful and failed specs.

  • Spec discovery for build is smarter: only builds specs with @generate links that actually need code updates.

  • Diagnostics suggestions now correctly use positional parameters (e.g., tessl build <spec>), and status accepts <spec> as positional.

  • Registry-only flows link to the Knowledge Index; usage spec manifest split into tessl.json (structured) and KNOWLEDGE.md (narrative).

  • Tessl MCP tools can now log detailed output to a file to reduce their output and avoid saturating agent context when the agent is instructed to do so.

  • Added --code and --tests filters to list command for finer control.

  • Made test tools spec argument positional in CLI commands.

  • status now splits diagnosed issues into errors and warnings and includes errors regarding spec parsing.

  • config set now validates keys before setting.

  • Updated spec syntax information in our system prompts:

    • Added context about our content tags: untagged (draft), locked and impl.

    • Removed un-used .dependencies and .dependency tags.

  • Updated Tessl framework content with clearer guidance on tessl test, status, and fix behavior.

  • version output is now cleaner and includes a hint to update if a new version is available.

  • The --spec argument in build is now positional.

  • Exposed modelName parameter in MCP tools

Bug Fixes

  • Spec selection no longer appears to “infinite scroll.”

  • infer-spec no longer swallows errors.

  • Fix loop now receives test results properly.

  • Reporter failures print helpful context (e.g., missing file paths) to the terminal.

  • Prevent generation of tests when using edit on code files.

  • Test-runner name generation validates input and throws on invalid paths.

  • Tessl framework files are now filtered from context provided to tools to prevent context poisoning.

  • Fixed issue where login could not be cancelled while polling.

  • Fixed truncated console logs when running in non-interactive/piped mode.

  • Fixed edit tool so context files are properly passed.

  • Fixed dependency verification to use correct @use path resolution.

  • Prevented whitespace-only messages from being sent to models.

  • Pass test results through fix loop iterations correctly.

  • Fixed an incorrect path in .tessl/.gitignore for session data storage.

  • Fixed init missing from global help.

  • Reject invisible characters from LLM interactions.

0.19.0

circle-exclamation

New Features

  • Adopted AGENTS.mdarrow-up-right standard (replacing TESSL.md) for unified AI agent configuration across your development workflow.

  • Improved Dependency Handling

    • verify-deps now runs automatically after code generation in the build process.

    • New specifyMissingDependencies flag can auto-update your spec with missing dependencies in tessl build and tessl edit.

    • New never option added to generation mode to skip file generation entirely.

  • tessl status enhancements:

    • Highlights whether a spec includes @generate or @describe annotations.

    • Added dirtiness diagnostic to detect out-of-sync code/test files.

    • Added diagnostic for missing AGENTS.md entries in tessl status.

  • Improved Spec & Test Management

    • Rewritten document tool with more intuitive behavior and support for complex specs.

    • Re-initializing a project now regenerates framework files.

Improvements

  • Removes setup language command; tools that require test commands now have a --test-command flag.

  • Removed description upon tool invocation.

  • Increased latest version check timeout in update command to reduce false negatives.

Bug Fixes

  • Logging in from an agent now automatically updates the MCP server so you can continue without restarting.

  • Fixed tool summaries not showing in CLI output.

  • CLI session data no longer prevents process exit after command completion.

0.18.1

New Features

  • build tool now has a post-generation fix loop to automatically resolve issues - we will be tweaking how we decide which test command to run in the coming week

  • New status checks for orphaned tests, mixed implementation links & missing required files

  • Added support for agent-native planning: agents now create and maintain .plan.md files automatically during planning.

Improvements

  • Removed --recursive option from status command for consistency with other commands

  • Replaced --rebuild-tests with --generate-tests to build to generate only missing, outdated or always (default is now outdated rather than missing)

  • Added --generate-code to build which behaves like --generate-tests but for code files (default is outdated, but is likely to change)

  • Generated code now includes self-hashing for integrity checking and better status reporting on modified files

  • Removed timestamps from generated code tags

  • Improved logging and error messages across tools

  • Improved exception messages to include more debugging context

  • Better editor detection and logging in planning workflows

  • Clarified descriptions for several commands & tools

  • Tools invoked via MCP now return more information about their run, improving feedback visibility for agents

  • The build tool now returns a failure exit code when the fix loop fails, ensuring accurate signaling of build status.

Bug Fixes

  • Fixed update command in Linux when using npm

  • Fixed test generation messages saying “tests” instead of “test files”

Deprecations

  • Removed ability to edit plan files directly via the edit tool; users now receive a clear error if they attempt to do so.

  • Made the plan tool private to reduce confusion and encourage agent-driven planning workflows

0.17.1

Bug Fixes

  • Fixes creation of the Claude subagent instructions directory as part of setup agent

0.17.0

New Features

  • Enabled tessl status to list all specs by default, providing broader project insights.

  • Updated tessl status to include sync checks that detect whether a spec's code and tests are up to date.

Improvements

  • Updated build and document tool descriptions for clarity and accuracy.

  • Made the -spec parameter more explicit and consistently required in tessl status help output.

  • Renamed build tool's iterations parameter to maxIterations for clarity.

  • Renamed @build links to @generate to reflect intended behavior.

Bug Fixes

  • Fixed bash execution in the update command to work reliably across Mac and Linux.

  • Corrected error handling for expired keys.

  • Made terms and conditions check respect a global directory set via environment variable.

  • Fixed a crash in tessl status when a non-existent or empty spec file is provided.

  • Resolved incorrect logging of issue counts in single-spec status output.

  • Improved handling of file paths in the document tool to normalize inputs like ./path/to/file.

Last updated