tessl 0.82.0 → 0.83.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +78 -18
  2. package/bin/tessl.js +1 -1
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -1,33 +1,93 @@
1
- # Tessl
1
+ # M: The CLI that briefs your agents
2
2
 
3
- Tessl is an Agent Enablement Platform that gives your agents the context they're missing.
3
+ ![007-M](./m.png)
4
4
 
5
- - Install usage docs for your favorite open source library from the Tessl Spec Registry
6
- - Create your own internal docs and share with your team
5
+ ## Overview
7
6
 
8
- **Explore more in our [official documentation](https://docs.tessl.io)**.
7
+ `m` is a CLI that also serves as an MCP (Model Context Protocol) server for AI agents. It manages local context steering, agent steering, and CLI tools to manage plugins and workspaces.
9
8
 
10
- Visit the [Registry](https://tessl.io/registry) to see which open source libraries we provide documentation for.
9
+ The CLI acts as a bridge between your local development environment and the Tessl platform, providing agents with the context they need to be effective in your project.
11
10
 
12
- ## Get started
11
+ ## Key Features
13
12
 
14
- 1. Install Tessl:
13
+ - **MCP Server**: Exposes tools for AI agents to interact with your local plugins and get contextual recommendations
14
+ - **Project Setup**: search and install plugins relevant to your project.
15
+ - **Workspace Operations**: Create and manage workspaces, handle team members.
16
+ - **Plugin Management**: publish and archive plugins in the registry.
15
17
 
16
- ```sh
17
- curl -fsSL https://get.tessl.io | sh
18
+ ## Development
19
+
20
+ ### Environment Setup
21
+
22
+ This will install the dependencies for a dev environment:
23
+
24
+ ```bash
25
+ ./scripts/setup.sh
26
+ bun install
18
27
  ```
19
28
 
20
- 2. Now in your project directory run `tessl`
29
+ Functionally, the setup script installs brew, runs `brew bundle` and copies the .env if it is missing.
30
+
31
+ ### WorkOS setup for workspace and plugin publishing development
32
+
33
+ > [!WARNING]
34
+ > `m` runs against Tessl's API and WorkOS in production by default, which minimises setup and works well for read-only use cases.
21
35
 
22
- ## Reporting Bugs
36
+ If you're testing workspace-related or plugin publishing functionality, you probably want to run against the development API instead.
37
+ You can do this by following the setup instructions for running via Tilt in the [backend repo](https://github.com/tesslio/backend) and copying `TESSL_API_BASE_URL` and `WORKOS_CLIENT_ID` from [.env.example](./.env.example) to point the CLI at it.
23
38
 
24
- We love feedback. You can use the `tessl feedback` command to report issues or share feedback directly within Tessl, file a [GitHub issue](https://github.com/tesslio/cli/issues) or just email <support@tessl.io>.
39
+ ### Useful Commands
40
+
41
+ ```bash
42
+ bun dev # Run the CLI in dev mode
43
+ bun mcp # Run the MCP server in dev mode
44
+ bunx @modelcontextprotocol/inspector bun mcp # Inspect the MCP server
45
+
46
+ bun format # Format
47
+ bun lint # Lint source code (typecheck + oxlint + ast-grep)
48
+ bun test # Run the test suite
49
+ bun flat # Convenience: runs format, lint and test
50
+ ```
51
+
52
+ To run the dev CLI from outside the `m` directory, symlink `contrib/tessl-local.sh` to your PATH:
53
+
54
+ ```bash
55
+ ln -s /path/to/m/contrib/tessl-local.sh /usr/local/bin/tessl-local
56
+ tessl-local api /v1/workspaces # works from anywhere
57
+ ```
58
+
59
+ The script resolves its own location (even through symlinks), loads `.env` from the project root, and runs from source.
60
+
61
+ ### Visual Integration Tests
62
+
63
+ The CLI uses VHS (Video Home System) for visual integration testing. These tests record terminal sessions as code, validating CLI behavior and generating visual documentation.
64
+
65
+ ```bash
66
+ bun tape workspace list # Run specific test
67
+ bun tape --all # Run all visual tests
68
+ bun tape --all --format gif,mp4 # Generate video recordings
69
+ ```
70
+
71
+ ### Syncing API types
72
+
73
+ To update the types in [src/infrastructure/api/types.ts](./src/infrastructure/api/types.ts) to match the backend, run:
74
+
75
+ ```sh
76
+ bun update-client-types # Runs against dev, requires you to be running backend locally
77
+
78
+ ## Or to run against the production API
79
+ bun update-client-types:prod
80
+ ```
25
81
 
26
- ## Connect on Discord
82
+ ### Testing github actions locally
27
83
 
28
- You are welcome to join the [Tessl Discord](https://tessl.co/4eV736y) to connect with other developers using Tessl.
84
+ 1. `brew install act rancher-desktop`
85
+ 2. Add `NPM_TOKEN_TILEWORKS_READ=` (and other keys) to `.secrets`
86
+ - use your `~/.npmrc` for your npm token. 1password likely has the other keys
87
+ 3. `export DOCKER_HOST=$(docker context inspect --format '{{.Endpoints.docker.Host}}')`
88
+ 4. Run `act` to test a workflow.
89
+ - eg: `act workflow_dispatch --job release --input tag="cli-release-nightly-251103" --artifact-server-path ./build`
29
90
 
30
- ## Terms and Conditions
91
+ ## Contributing
31
92
 
32
- - [Terms of Service](https://tessl.io/policies/terms)
33
- - [Privacy Policy](https://tessl.io/policies/privacy-cookies)
93
+ For detailed development guidelines, see [AGENTS.md](./AGENTS.md).
package/bin/tessl.js CHANGED
@@ -327,7 +327,7 @@ function printUnsupportedPlatformMessage() {
327
327
  async function prepareBinary() {
328
328
  const tesslBinPath = getTesslBinPath();
329
329
  const existingBinary = await getExistingBinaryPath(tesslBinPath);
330
- const installerVersion = "0.82.0";
330
+ const installerVersion = "0.83.1";
331
331
  const isTestOrDevBuild = installerVersion.includes("test") || installerVersion.includes("dev");
332
332
  let versionMismatch = false;
333
333
  if (isTestOrDevBuild && existingBinary) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tessl",
3
- "version": "0.82.0",
3
+ "version": "0.83.1",
4
4
  "description": "Tessl CLI",
5
5
  "author": "Tessl",
6
6
  "license": "SEE LICENSE.md",