Changelog

Latest version = 0.28.0

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.

0.22.1

Bug Fixes

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

0.22.0

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]).

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


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


New Features

  • Adopted AGENTS.md 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