@effect-x/ultimate-search 0.1.0 → 0.1.2
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 +26 -127
- package/SKILL.md +8 -20
- package/dist/cli.js +1291 -265
- package/dist/cli.js.map +1 -329
- package/package.json +36 -26
package/README.md
CHANGED
|
@@ -1,49 +1,33 @@
|
|
|
1
1
|
# @effect-x/ultimate-search
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Node-first web search CLI and read-only MCP server for agents and automation.
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
## Highlights
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
7
|
+
- exposes `search`, `fetch`, and `map` commands for common agent research workflows
|
|
8
|
+
- supports Grok, Tavily, and Firecrawl-backed retrieval flows behind one CLI surface
|
|
9
|
+
- runs as a read-only MCP stdio server for tool-aware agent environments
|
|
10
|
+
- bundles the CLI with `tsdown` while keeping Bun for dependency management and local development
|
|
11
|
+
- publishes through a single-package Changesets workflow with npm provenance enabled
|
|
9
12
|
|
|
10
|
-
|
|
13
|
+
## Install
|
|
11
14
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
- `search grok` for synthesis-oriented web search
|
|
15
|
-
- `search tavily` for structured search with ranking and recency controls
|
|
16
|
-
- `search dual` for cross-checking results across Grok and Tavily
|
|
17
|
-
- `fetch` for page retrieval with Tavily Extract first and FireCrawl fallback
|
|
18
|
-
- `map` for site URL discovery and documentation tree exploration
|
|
19
|
-
- `mcp stdio` for exposing the same read-only surface to MCP clients
|
|
20
|
-
|
|
21
|
-
## Installation
|
|
22
|
-
|
|
23
|
-
Run without installing:
|
|
15
|
+
Run it without installing:
|
|
24
16
|
|
|
25
17
|
```bash
|
|
26
18
|
npx @effect-x/ultimate-search --help
|
|
27
19
|
```
|
|
28
20
|
|
|
29
|
-
|
|
21
|
+
Or install it globally:
|
|
30
22
|
|
|
31
23
|
```bash
|
|
32
24
|
npm install --global @effect-x/ultimate-search
|
|
33
25
|
ultimate-search --help
|
|
34
26
|
```
|
|
35
27
|
|
|
36
|
-
##
|
|
37
|
-
|
|
38
|
-
### 1. Configure environment variables
|
|
39
|
-
|
|
40
|
-
Copy the example file:
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
cp .env.example .env
|
|
44
|
-
```
|
|
28
|
+
## Usage
|
|
45
29
|
|
|
46
|
-
|
|
30
|
+
Set the provider credentials you need in your shell or `.env` file:
|
|
47
31
|
|
|
48
32
|
- `GROK_API_URL`
|
|
49
33
|
- `GROK_API_KEY`
|
|
@@ -51,120 +35,35 @@ At minimum, configure:
|
|
|
51
35
|
- `TAVILY_API_KEY`
|
|
52
36
|
- `FIRECRAWL_API_KEY` for the `fetch` fallback path
|
|
53
37
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
npx @effect-x/ultimate-search search grok --query "latest bun release"
|
|
58
|
-
npx @effect-x/ultimate-search search tavily --query "effect cli docs" --depth advanced --max-results 5
|
|
59
|
-
npx @effect-x/ultimate-search search dual --query "FastAPI latest release" --include-answer --output llm
|
|
60
|
-
npx @effect-x/ultimate-search fetch --url "https://effect.website" --output llm
|
|
61
|
-
npx @effect-x/ultimate-search map --url "https://docs.tavily.com" --depth 2 --limit 100 --output llm
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### 3. Start the MCP server
|
|
38
|
+
Run a few common commands:
|
|
65
39
|
|
|
66
40
|
```bash
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
- `search_grok`
|
|
73
|
-
- `search_tavily`
|
|
74
|
-
- `search_dual`
|
|
75
|
-
- `fetch`
|
|
76
|
-
- `map`
|
|
77
|
-
|
|
78
|
-
## Usage
|
|
79
|
-
|
|
80
|
-
### Output modes
|
|
81
|
-
|
|
82
|
-
- default output is human-readable text
|
|
83
|
-
- `--output llm` emits structured JSON for agents and automation
|
|
84
|
-
- if `AGENT=1` is set and `--output` is omitted, commands may default to `llm`
|
|
85
|
-
|
|
86
|
-
### Installed binary usage
|
|
87
|
-
|
|
88
|
-
```bash
|
|
89
|
-
ultimate-search --help
|
|
90
|
-
ultimate-search search dual --query "Node.js latest release" --output llm
|
|
41
|
+
ultimate-search search grok --query "latest bun release"
|
|
42
|
+
ultimate-search search tavily --query "effect cli docs" --depth advanced --max-results 5
|
|
43
|
+
ultimate-search search dual --query "FastAPI latest release" --include-answer --output llm
|
|
44
|
+
ultimate-search fetch --url "https://effect.website" --output llm
|
|
45
|
+
ultimate-search map --url "https://docs.tavily.com" --depth 2 --limit 100 --output llm
|
|
91
46
|
ultimate-search mcp stdio
|
|
92
47
|
```
|
|
93
48
|
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
- `ultimate-search search grok --query "..."`
|
|
97
|
-
- `ultimate-search search tavily --query "..."`
|
|
98
|
-
- `ultimate-search search dual --query "..."`
|
|
99
|
-
- `ultimate-search fetch --url "..."`
|
|
100
|
-
- `ultimate-search map --url "..."`
|
|
101
|
-
- `ultimate-search mcp stdio`
|
|
49
|
+
## Development
|
|
102
50
|
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
### Required runtime variables
|
|
106
|
-
|
|
107
|
-
- `GROK_API_URL`
|
|
108
|
-
- `GROK_API_KEY`
|
|
109
|
-
- `TAVILY_API_URL`
|
|
110
|
-
- `TAVILY_API_KEY`
|
|
111
|
-
|
|
112
|
-
### Optional runtime variables
|
|
113
|
-
|
|
114
|
-
- `GROK_MODEL`
|
|
115
|
-
- `FIRECRAWL_API_URL`
|
|
116
|
-
- `FIRECRAWL_API_KEY`
|
|
117
|
-
- `AGENT`
|
|
118
|
-
|
|
119
|
-
## Local Development
|
|
120
|
-
|
|
121
|
-
Repository maintenance uses Bun. Published artifacts target Node.js 20+.
|
|
51
|
+
The repository uses Bun for dependency management and local commands. The published CLI targets Node.js 24+.
|
|
122
52
|
|
|
123
53
|
```bash
|
|
124
54
|
bun install
|
|
125
|
-
bun run build
|
|
126
|
-
node ./dist/cli.js --help
|
|
127
|
-
node ./dist/cli.js search grok --query "query"
|
|
128
|
-
node ./dist/cli.js mcp stdio
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
You can also run the source entry directly during development:
|
|
132
|
-
|
|
133
|
-
```bash
|
|
134
|
-
bun run ./src/cli.ts search grok --query "query"
|
|
135
|
-
bun run ./src/cli.ts mcp stdio
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
## Quality Checks
|
|
139
|
-
|
|
140
|
-
```bash
|
|
141
55
|
bun run check
|
|
142
|
-
|
|
143
|
-
bun run pack:check
|
|
144
|
-
bun run release:check
|
|
56
|
+
node ./dist/cli.js --help
|
|
145
57
|
```
|
|
146
58
|
|
|
147
|
-
## Release
|
|
148
|
-
|
|
149
|
-
This repository uses Changesets and GitHub Actions for versioning and publishing.
|
|
150
|
-
|
|
151
|
-
- release docs: `docs/publishing.md`
|
|
152
|
-
- contribution guide: `CONTRIBUTING.md`
|
|
153
|
-
- package skill instructions: `SKILL.md`
|
|
154
|
-
|
|
155
|
-
Before the first publish, make sure the target GitHub repository provides:
|
|
156
|
-
|
|
157
|
-
- an `NPM_TOKEN` secret
|
|
158
|
-
- npm publish access for the `@effect-x` scope
|
|
159
|
-
- trusted publishing / provenance setup if you want npm provenance enabled
|
|
160
|
-
|
|
161
|
-
## Skill Integration
|
|
59
|
+
## Release
|
|
162
60
|
|
|
163
|
-
|
|
61
|
+
This package uses Changesets plus the shared GitHub Actions release workflow.
|
|
164
62
|
|
|
165
63
|
```bash
|
|
166
|
-
|
|
167
|
-
|
|
64
|
+
bun run changeset
|
|
65
|
+
bun run version-packages
|
|
66
|
+
bun run release
|
|
168
67
|
```
|
|
169
68
|
|
|
170
69
|
## License
|
package/SKILL.md
CHANGED
|
@@ -9,26 +9,14 @@ Use `@effect-x/ultimate-search` as the default web search tool for agent workflo
|
|
|
9
9
|
|
|
10
10
|
## Primary Commands
|
|
11
11
|
|
|
12
|
-
| Use case
|
|
13
|
-
|
|
|
14
|
-
| Grok search
|
|
15
|
-
| Tavily search
|
|
16
|
-
| Dual-provider verification | `npx @effect-x/ultimate-search search dual --query "..."`
|
|
17
|
-
| Fetch a page
|
|
18
|
-
| Map a site
|
|
19
|
-
| Start MCP stdio
|
|
20
|
-
|
|
21
|
-
If the package is installed globally, you can use the `ultimate-search` binary directly.
|
|
22
|
-
|
|
23
|
-
## Environment
|
|
24
|
-
|
|
25
|
-
Make sure these environment variables are available before invoking the CLI:
|
|
26
|
-
|
|
27
|
-
- `GROK_API_URL`
|
|
28
|
-
- `GROK_API_KEY`
|
|
29
|
-
- `TAVILY_API_URL`
|
|
30
|
-
- `TAVILY_API_KEY`
|
|
31
|
-
- `FIRECRAWL_API_KEY` for the `fetch` fallback path
|
|
12
|
+
| Use case | Command |
|
|
13
|
+
| -------------------------- | ----------------------------------------------------------- |
|
|
14
|
+
| Grok search | `npx @effect-x/ultimate-search search grok --query "..."` |
|
|
15
|
+
| Tavily search | `npx @effect-x/ultimate-search search tavily --query "..."` |
|
|
16
|
+
| Dual-provider verification | `npx @effect-x/ultimate-search search dual --query "..."` |
|
|
17
|
+
| Fetch a page | `npx @effect-x/ultimate-search fetch --url "..."` |
|
|
18
|
+
| Map a site | `npx @effect-x/ultimate-search map --url "..."` |
|
|
19
|
+
| Start MCP stdio | `npx @effect-x/ultimate-search mcp stdio` |
|
|
32
20
|
|
|
33
21
|
## Tool Selection
|
|
34
22
|
|