Changelog
Latest version = 0.28.0
0.28.0
New Features
Invoking
setup agentvianpxwill now configure mcp to use tessl vianpx, 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 uninstallto easily uninstall tiles.
Improvements
Improved error messages for the
add-membercommand to enhance clarity.Improved
tessl statusoutput to better reflect post-generation changes.Aligned arguments for
tessl registry unpublishandtessl 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-infoCommand: CLI-only users can use this command to add details that Tessl tools require toAGENTS.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
steeringsection in their manifests. These rules are automatically aggregated into aRULES.mdfile.Local Usage Spec Installation: Added support for installing tiles from local directories via a new
sourcefield intessl.json.
Improvements
Simplified usage spec installation paths by removing version info from the directory structure.
Bug Fixes
Fixed
config listto return empty results instead of throwing errors when no config file is present.
0.26.0
New Features
Selecting Cursor during
tessl initor viatessl setup agentwill now automatically install rule files into.cursor/rules/tessl/frameworkas 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-helpoutput fortessl initnow 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
pinologger to remove a transitive vulnerability.
0.24.0
New Features
tessl registry syncto synchronize tiles from the registry.tessl setup frameworkto switch between the full Tessl framework and “registry-only” mode.tessl stampto manually sync spec/code hashes after intentional edits so tessl status stops flagging them.tessl registry searchnow matches by full tile name (workspace/name), making it easier to find your own tiles.tessl registry listadded to browse available tiles.tessl documentadds tests to spec by default.
Improvements
tessl statussurfaces 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 editnow supports code files that have an associated@describespec. Changes are made via the spec.
Improvements
tessl whoamicommand 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-specsdirectories are now removed during sync if the corresponding entries are removed fromtessl.json.Test generation is now controlled by a unified
generateTestsparam, which always skips locked tests.Improved
listcommand usability, to make it easier for agents to select the right parameters.tessl registry publishskips uploading irrelevant.mdand.gitignored files.
Bug Fixes
tessl statusno longer shows duplicated test paths.Resolved issue where interactively selected tools weren’t able to run.
Fixed Goose setup, so that correct
.gooserulesconfiguration is used.
Deprecations
Removed deprecated annotations like
@describes,@generates, and@satisfied-by.
⚠️ Be sure to check out the changes in 0.22.0 if you're coming from an older version
0.22.1
Bug Fixes
Fixed a project language detection issue that would occasionally cause errors across different commands.
0.22.0
⚠️ Upgrading for users who installed via npm
If you have already installed tessl via npm, you'll need to:
Run
npm uninstall -g tessl-alpha(if you have a version earlier thanv0.21.0)Run
npm i -g @tessl/clito update to the latest version.
The update command will work as expected from v0.22.0 onwards.
New Features
initnow 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.
feedbackis now gated to authenticated users, unauthenticated users can request support via email ([email protected]).
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 searchwith 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
observecommand.Fixed a deprecation warning on
registry install.
0.21.0
⚠️ Upgrading for users who installed via npm
We have now published to public npm! This means that if you installed Tessl using npm, auto update with tessl update will not work for you for this version. To update, you’ll need to run:
npm uninstall -g tessl-alpha
npm install -g @tessl/cli⚠️ Re-initializing your projects
With this release, you’ll need to re-initialize any previously-created Tessl projects by running tessl init inside those directories.
Breaking Changes
Removed test generation from the
buildtool and introduced a newbuild-teststoolThe spec format has been updated to allow capabilities to contain requirements that don’t have
[@test]links:createandeditspecs 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:
lockedtests: capture functional requirements providedDenoted by
{ .locked }next to the[@test]link or in a header containing[@test]links.You can manually mark tests as locked or use
tessl testto do it by passing--lock-tests.
impltests: 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.
drafttests: are untagged and could have been added manually or usingeditorcreateYou can use
tessl test --lock-teststo automatically lock all draft the tests from a spec when all tests pass.
Added flags to
build-teststool 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, andregistry synccommands for working with Usage Specs.Added a new
testtool, to run all of the tests for a given spec.Added
generate-teststool to add tests to a given spec.Added experimental
observetool 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
initwhile logged out will set up AGENTS.md and framework files relating to the Tessl Spec Registry.
Global Config
configcommands now support the--globalflag, for updating the global Tessl config.The global config now supports a
shareUsageDatakey to allow for analytics opt-out.
Improvements
Cleaner output for
buildandbuild-testswith a final summary listing successful and failed specs.Spec discovery for
buildis smarter: only builds specs with @generate links that actually need code updates.Diagnostics suggestions now correctly use positional parameters (e.g.,
tessl build <spec>), andstatusaccepts <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
--codeand--testsfilters tolistcommand for finer control.Made
testtoolsspecargument positional in CLI commands.statusnow splits diagnosed issues into errors and warnings and includes errors regarding spec parsing.config setnow validates keys before setting.Updated spec syntax information in our system prompts:
Added context about our content tags: untagged (draft),
lockedandimpl.Removed un-used
.dependenciesand.dependencytags.
Updated Tessl framework content with clearer guidance on
tessl test,status, andfixbehavior.versionoutput is now cleaner and includes a hint to update if a new version is available.The
--specargument inbuildis now positional.Exposed
modelNameparameter in MCP tools
Bug Fixes
Spec selection no longer appears to “infinite scroll.”
infer-specno 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
edittool so context files are properly passed.Fixed dependency verification to use correct
@usepath resolution.Prevented whitespace-only messages from being sent to models.
Pass test results through fix loop iterations correctly.
Fixed an incorrect path in
.tessl/.gitignorefor session data storage.Fixed
initmissing from global help.Reject invisible characters from LLM interactions.
0.19.0
This release includes breaking changes that require migration for existing projects.**
To migrate your existing projects using TESSL.md, run the following steps:
Remove old system prompt directory:
rm -rf .tessl/system-promptRun
tessl initto initialize the new framework.Migrate any custom content from
TESSL.mdtoAGENTS.mdRemove the old file:
rm TESSL.mdRe-configure any existing agent integrations:
tessl setup agent
New Features
Adopted
AGENTS.mdstandard (replacingTESSL.md) for unified AI agent configuration across your development workflow.Improved Dependency Handling
verify-depsnow runs automatically after code generation in the build process.New
specifyMissingDependenciesflag can auto-update your spec with missing dependencies intessl buildandtessl edit.New
neveroption added to generation mode to skip file generation entirely.
tessl statusenhancements:Highlights whether a spec includes
@generateor@describeannotations.Added dirtiness diagnostic to detect out-of-sync code/test files.
Added diagnostic for missing
AGENTS.mdentries intessl status.
Improved Spec & Test Management
Rewritten
documenttool with more intuitive behavior and support for complex specs.Re-initializing a project now regenerates framework files.
Improvements
Removes
setup languagecommand; tools that require test commands now have a--test-commandflag.Removed description upon tool invocation.
Increased latest version check timeout in
updatecommand 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
buildtool 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 weekNew
statuschecks for orphaned tests, mixed implementation links & missing required filesAdded support for agent-native planning: agents now create and maintain
.plan.mdfiles automatically during planning.
Improvements
Removed
--recursiveoption from status command for consistency with other commandsReplaced
--rebuild-testswith--generate-teststobuildto generate only missing, outdated or always (default is nowoutdatedrather thanmissing)Added
--generate-codetobuildwhich behaves like--generate-testsbut for code files (default isoutdated, 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
buildtool 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
edittool; users now receive a clear error if they attempt to do so.Made the
plantool 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

