@lexq/cli 0.3.1 → 1.0.0
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.
- package/README.md +58 -2
- package/dist/index.js +174 -5
- package/dist/mcp/register.js +96 -1
- package/package.json +4 -2
- package/skills/lexq-recipes/SKILL.md +5 -1
- package/skills/lexq-shared/SKILL.md +1 -0
- package/skills/lexq-simulation/SKILL.md +12 -6
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
> your deploy pipeline, prove every change with Impact Simulation, and ship without
|
|
6
6
|
> a git push.
|
|
7
7
|
|
|
8
|
-
**[Website](https://lexq.io)** · **[Docs](https://docs.lexq.io)** · **[Console](https://console.lexq.io)**
|
|
8
|
+
**[Website](https://lexq.io)** · **[Docs](https://docs.lexq.io)** · **[Console](https://console.lexq.io)** · **[MCP Registry](https://registry.modelcontextprotocol.io)**
|
|
9
9
|
|
|
10
10
|
[](https://www.npmjs.com/package/@lexq/cli)
|
|
11
11
|
[](LICENSE)
|
|
@@ -146,7 +146,27 @@ Add to `claude_desktop_config.json`:
|
|
|
146
146
|
```
|
|
147
147
|
|
|
148
148
|
> **Prerequisite:** `lexq auth login` must have been run once to store an
|
|
149
|
-
> API key in `~/.lexq/config.json
|
|
149
|
+
> API key in `~/.lexq/config.json`, or `LEXQ_API_KEY` must be set in the client's
|
|
150
|
+
> environment block.
|
|
151
|
+
|
|
152
|
+
### Registry
|
|
153
|
+
|
|
154
|
+
The server is listed on the official MCP Registry as **`io.lexq/lexq`**. Clients that
|
|
155
|
+
browse the registry find both the npm package and the hosted endpoint in that one entry.
|
|
156
|
+
|
|
157
|
+
## Protocol Support
|
|
158
|
+
|
|
159
|
+
The local stdio server and the hosted Streamable HTTP endpoint both serve two MCP
|
|
160
|
+
revisions from one set of tool definitions, so a client sees the same tools either way.
|
|
161
|
+
|
|
162
|
+
| Revision | How a client reaches it |
|
|
163
|
+
|----------|-------------------------|
|
|
164
|
+
| `2026-07-28` | A per-request `_meta` envelope. No handshake. |
|
|
165
|
+
| `2025-11-25` | The `initialize` handshake. |
|
|
166
|
+
|
|
167
|
+
There is nothing to configure. The server answers in whichever revision the opening message
|
|
168
|
+
used, so a client can move to 2026-07-28 on its own schedule and one that has not moved
|
|
169
|
+
keeps working.
|
|
150
170
|
|
|
151
171
|
## AI Agent Skills
|
|
152
172
|
|
|
@@ -222,6 +242,21 @@ Config is stored at `~/.lexq/config.json`:
|
|
|
222
242
|
}
|
|
223
243
|
```
|
|
224
244
|
|
|
245
|
+
The file holds an API key in plain text, so it is written `0600` inside a `0700` directory —
|
|
246
|
+
readable by its owner and nobody else on the machine. An install created by an older version
|
|
247
|
+
is repaired on the next save.
|
|
248
|
+
|
|
249
|
+
### Environment variables
|
|
250
|
+
|
|
251
|
+
These are read by the MCP server (`lexq serve --mcp`) and take precedence over the stored
|
|
252
|
+
config. They let an editor or CI target an environment through the client's own config block,
|
|
253
|
+
without writing to `~/.lexq/config.json`. CLI commands use `--api-key` and `--base-url` instead.
|
|
254
|
+
|
|
255
|
+
| Variable | Overrides |
|
|
256
|
+
|----------|-----------|
|
|
257
|
+
| `LEXQ_API_KEY` | `apiKey` |
|
|
258
|
+
| `PARTNER_BASE_URL` | `baseUrl` |
|
|
259
|
+
|
|
225
260
|
## Development
|
|
226
261
|
|
|
227
262
|
```bash
|
|
@@ -235,10 +270,31 @@ pnpm start -- groups list
|
|
|
235
270
|
```bash
|
|
236
271
|
pnpm typecheck # Type check
|
|
237
272
|
pnpm lint # ESLint
|
|
273
|
+
pnpm build # Bundle to dist/
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
Checks that guard a stated fact against the thing that owns it. All of them run in CI.
|
|
277
|
+
|
|
278
|
+
```bash
|
|
279
|
+
pnpm enums:check # Generated enums match the engine contract
|
|
280
|
+
pnpm prose:check # Numbers and code tables in prose match the contract
|
|
281
|
+
pnpm ab-key:check # Tool descriptions still name the A/B traffic key
|
|
282
|
+
pnpm surface:check # Nothing internal reached a public file
|
|
283
|
+
pnpm registry:check # server.json agrees with package.json
|
|
284
|
+
pnpm schemas:check # tools/list matches the recorded snapshot (needs a build)
|
|
238
285
|
pnpm test:fact-key # Fact key grammar
|
|
239
286
|
pnpm test:decimals # Metric precision display
|
|
287
|
+
pnpm test:export-format # Export byte fidelity
|
|
288
|
+
pnpm protocol:check # README matches the revisions the server serves
|
|
240
289
|
```
|
|
241
290
|
|
|
291
|
+
## Security
|
|
292
|
+
|
|
293
|
+
Report a vulnerability through
|
|
294
|
+
[GitHub's private reporting form](https://github.com/lexq-io/lexq-cli/security/advisories/new).
|
|
295
|
+
The policy, including what is in scope, is in
|
|
296
|
+
[SECURITY.md](https://github.com/lexq-io/lexq-cli/blob/main/SECURITY.md).
|
|
297
|
+
|
|
242
298
|
## License
|
|
243
299
|
|
|
244
300
|
[Apache-2.0](LICENSE)
|