@yaakapp/cli 0.4.0-beta.7 β†’ 0.4.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.
Files changed (3) hide show
  1. package/README.md +48 -54
  2. package/package.json +7 -7
  3. package/prepublish.js +2 -2
package/README.md CHANGED
@@ -1,72 +1,66 @@
1
- <p align="center">
2
- <a href="https://github.com/JamesIves/github-sponsors-readme-action">
3
- <img width="200px" src="https://github.com/mountain-loop/yaak/raw/main/crates-tauri/yaak-app/icons/icon.png">
4
- </a>
5
- </p>
1
+ # Yaak CLI
6
2
 
7
- <h1 align="center">
8
- πŸ’« Yaak ➟ Desktop API Client πŸ’«
9
- </h1>
3
+ The `yaak` CLI for publishing plugins and creating/updating/sending requests.
10
4
 
11
- <p align="center">
12
- A fast, privacy-first API client for REST, GraphQL, SSE, WebSocket, and gRPC – built with Tauri, Rust, and React.
13
- </p>
14
- <p align="center">
15
- Development is funded by community-purchased <a href="https://yaak.app/pricing">licenses</a>. You can also <a href="https://github.com/sponsors/gschier">become a sponsor</a> to have your logo appear below. πŸ’–
16
- </p>
17
- <br>
5
+ ## Installation
18
6
 
7
+ ```sh
8
+ npm install @yaakapp/cli
9
+ ```
19
10
 
11
+ ## Agentic Workflows
20
12
 
21
- <p align="center">
22
- <!-- sponsors-premium --><a href="https://github.com/MVST-Solutions"><img src="https:&#x2F;&#x2F;github.com&#x2F;MVST-Solutions.png" width="80px" alt="User avatar: MVST-Solutions" /></a>&nbsp;&nbsp;<a href="https://github.com/dharsanb"><img src="https:&#x2F;&#x2F;github.com&#x2F;dharsanb.png" width="80px" alt="User avatar: dharsanb" /></a>&nbsp;&nbsp;<a href="https://github.com/railwayapp"><img src="https:&#x2F;&#x2F;github.com&#x2F;railwayapp.png" width="80px" alt="User avatar: railwayapp" /></a>&nbsp;&nbsp;<a href="https://github.com/caseyamcl"><img src="https:&#x2F;&#x2F;github.com&#x2F;caseyamcl.png" width="80px" alt="User avatar: caseyamcl" /></a>&nbsp;&nbsp;<a href="https://github.com/bytebase"><img src="https:&#x2F;&#x2F;github.com&#x2F;bytebase.png" width="80px" alt="User avatar: bytebase" /></a>&nbsp;&nbsp;<a href="https://github.com/"><img src="https:&#x2F;&#x2F;raw.githubusercontent.com&#x2F;JamesIves&#x2F;github-sponsors-readme-action&#x2F;dev&#x2F;.github&#x2F;assets&#x2F;placeholder.png" width="80px" alt="User avatar: " /></a>&nbsp;&nbsp;<!-- sponsors-premium -->
23
- </p>
24
- <p align="center">
25
- <!-- sponsors-base --><a href="https://github.com/seanwash"><img src="https:&#x2F;&#x2F;github.com&#x2F;seanwash.png" width="50px" alt="User avatar: seanwash" /></a>&nbsp;&nbsp;<a href="https://github.com/jerath"><img src="https:&#x2F;&#x2F;github.com&#x2F;jerath.png" width="50px" alt="User avatar: jerath" /></a>&nbsp;&nbsp;<a href="https://github.com/itsa-sh"><img src="https:&#x2F;&#x2F;github.com&#x2F;itsa-sh.png" width="50px" alt="User avatar: itsa-sh" /></a>&nbsp;&nbsp;<a href="https://github.com/dmmulroy"><img src="https:&#x2F;&#x2F;github.com&#x2F;dmmulroy.png" width="50px" alt="User avatar: dmmulroy" /></a>&nbsp;&nbsp;<a href="https://github.com/timcole"><img src="https:&#x2F;&#x2F;github.com&#x2F;timcole.png" width="50px" alt="User avatar: timcole" /></a>&nbsp;&nbsp;<a href="https://github.com/VLZH"><img src="https:&#x2F;&#x2F;github.com&#x2F;VLZH.png" width="50px" alt="User avatar: VLZH" /></a>&nbsp;&nbsp;<a href="https://github.com/terasaka2k"><img src="https:&#x2F;&#x2F;github.com&#x2F;terasaka2k.png" width="50px" alt="User avatar: terasaka2k" /></a>&nbsp;&nbsp;<a href="https://github.com/andriyor"><img src="https:&#x2F;&#x2F;github.com&#x2F;andriyor.png" width="50px" alt="User avatar: andriyor" /></a>&nbsp;&nbsp;<a href="https://github.com/majudhu"><img src="https:&#x2F;&#x2F;github.com&#x2F;majudhu.png" width="50px" alt="User avatar: majudhu" /></a>&nbsp;&nbsp;<a href="https://github.com/axelrindle"><img src="https:&#x2F;&#x2F;github.com&#x2F;axelrindle.png" width="50px" alt="User avatar: axelrindle" /></a>&nbsp;&nbsp;<a href="https://github.com/jirizverina"><img src="https:&#x2F;&#x2F;github.com&#x2F;jirizverina.png" width="50px" alt="User avatar: jirizverina" /></a>&nbsp;&nbsp;<a href="https://github.com/chip-well"><img src="https:&#x2F;&#x2F;github.com&#x2F;chip-well.png" width="50px" alt="User avatar: chip-well" /></a>&nbsp;&nbsp;<a href="https://github.com/GRAYAH"><img src="https:&#x2F;&#x2F;github.com&#x2F;GRAYAH.png" width="50px" alt="User avatar: GRAYAH" /></a>&nbsp;&nbsp;<a href="https://github.com/flashblaze"><img src="https:&#x2F;&#x2F;github.com&#x2F;flashblaze.png" width="50px" alt="User avatar: flashblaze" /></a>&nbsp;&nbsp;<!-- sponsors-base -->
26
- </p>
13
+ The `yaak` CLI is primarily meant to be used by AI agents, and has the following features:
27
14
 
28
- ![Yaak API Client](https://yaak.app/static/screenshot.png)
15
+ - `schema` subcommands to get the JSON Schema for any model (eg. `yaak request schema http`)
16
+ - `--json '{...}'` input format to create and update data
17
+ - `--verbose` mode for extracting debug info while sending requests
18
+ - The ability to send entire workspaces and folders (Supports `--parallel` and `--fail-fast`)
29
19
 
20
+ ### Example Prompts
30
21
 
31
- ## Features
22
+ Use the `yaak` CLI with agents like Claude or Codex to do useful things for you.
32
23
 
33
- Yaak is an offline-first API client designed to stay out of your way while giving you everything you need when you need it.
34
- Built with [Tauri](https://tauri.app), Rust, and React, it’s fast, lightweight, and private. No telemetry, no VC funding, and no cloud lock-in.
24
+ Here are some example prompts:
35
25
 
26
+ ```text
27
+ Scan my API routes and create a workspace (using yaak cli) with
28
+ all the requests needed for me to do manual testing?
29
+ ```
36
30
 
37
- ### 🌐 Work with any API
31
+ ```text
32
+ Send all the GraphQL requests in my workspace
33
+ ```
38
34
 
39
- - Import collections from Postman, Insomnia, OpenAPI, Swagger, or Curl.
40
- - Send requests via REST, GraphQL, gRPC, WebSocket, or Server-Sent Events.
41
- - Filter and inspect responses with JSONPath or XPath.
35
+ ## Description
42
36
 
43
- ### πŸ” Stay secure
44
- - Use OAuth 2.0, JWT, Basic Auth, or custom plugins for authentication.
45
- - Secure sensitive values with encrypted secrets.
46
- - Store secrets in your OS keychain.
37
+ Here's the current print of `yaak --help`
47
38
 
48
- ### ☁️ Organize & collaborate
49
- - Group requests into workspaces and nested folders.
50
- - Use environment variables to switch between dev, staging, and prod.
51
- - Mirror workspaces to your filesystem for versioning in Git or syncing with Dropbox.
39
+ ```text
40
+ Yaak CLI - API client from the command line
52
41
 
53
- ### 🧩 Extend & customize
54
- - Insert dynamic values like UUIDs or timestamps with template tags.
55
- - Pick from built-in themes or build your own.
56
- - Create plugins to extend authentication, template tags, or the UI.
42
+ Usage: yaak [OPTIONS] <COMMAND>
57
43
 
44
+ Commands:
45
+ auth Authentication commands
46
+ plugin Plugin development and publishing commands
47
+ send Send a request, folder, or workspace by ID
48
+ workspace Workspace commands
49
+ request Request commands
50
+ folder Folder commands
51
+ environment Environment commands
58
52
 
59
- ## Contribution Policy
53
+ Options:
54
+ --data-dir <DATA_DIR> Use a custom data directory
55
+ -e, --environment <ENVIRONMENT> Environment ID to use for variable substitution
56
+ -v, --verbose Enable verbose send output (events and streamed response body)
57
+ --log [<LEVEL>] Enable CLI logging; optionally set level (error|warn|info|debug|trace) [possible values: error, warn, info, debug, trace]
58
+ -h, --help Print help
59
+ -V, --version Print version
60
60
 
61
- > [!IMPORTANT]
62
- > Community PRs are currently limited to bug fixes and small-scope improvements.
63
- > If your PR is out of scope, link an approved feedback item from [yaak.app/feedback](https://yaak.app/feedback).
64
- > See [`CONTRIBUTING.md`](CONTRIBUTING.md) for policy details and [`DEVELOPMENT.md`](DEVELOPMENT.md) for local setup.
65
-
66
- ## Useful Resources
67
-
68
- - [Feedback and Bug Reports](https://feedback.yaak.app)
69
- - [Documentation](https://yaak.app/docs)
70
- - [Yaak vs Postman](https://yaak.app/alternatives/postman)
71
- - [Yaak vs Bruno](https://yaak.app/alternatives/bruno)
72
- - [Yaak vs Insomnia](https://yaak.app/alternatives/insomnia)
61
+ Agent Hints:
62
+ - Template variable syntax is ${[ my_var ]}, not {{ ... }}
63
+ - Template function syntax is ${[ namespace.my_func(a='aaa',b='bbb') ]}
64
+ - View JSONSchema for models before creating or updating (eg. `yaak request schema http`)
65
+ - Deletion requires confirmation (--yes for non-interactive environments)
66
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yaakapp/cli",
3
- "version": "0.4.0-beta.7",
3
+ "version": "0.4.0",
4
4
  "main": "./index.js",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,11 +15,11 @@
15
15
  "yaakcli": "bin/cli.js"
16
16
  },
17
17
  "optionalDependencies": {
18
- "@yaakapp/cli-darwin-x64": "0.4.0-beta.7",
19
- "@yaakapp/cli-darwin-arm64": "0.4.0-beta.7",
20
- "@yaakapp/cli-linux-arm64": "0.4.0-beta.7",
21
- "@yaakapp/cli-linux-x64": "0.4.0-beta.7",
22
- "@yaakapp/cli-win32-x64": "0.4.0-beta.7",
23
- "@yaakapp/cli-win32-arm64": "0.4.0-beta.7"
18
+ "@yaakapp/cli-darwin-x64": "0.4.0",
19
+ "@yaakapp/cli-darwin-arm64": "0.4.0",
20
+ "@yaakapp/cli-linux-arm64": "0.4.0",
21
+ "@yaakapp/cli-linux-x64": "0.4.0",
22
+ "@yaakapp/cli-win32-x64": "0.4.0",
23
+ "@yaakapp/cli-win32-arm64": "0.4.0"
24
24
  }
25
25
  }
package/prepublish.js CHANGED
@@ -1,5 +1,5 @@
1
1
  const fs = require("node:fs");
2
2
  const path = require("node:path");
3
3
 
4
- const readme = path.join(__dirname, "..", "..", "README.md");
5
- fs.copyFileSync(readme, path.join(__dirname, "README.md"));
4
+ const cliReadme = path.join(__dirname, "..", "..", "crates-cli", "yaak-cli", "README.md");
5
+ fs.copyFileSync(cliReadme, path.join(__dirname, "README.md"));