@optiqcode/cli 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 +99 -0
- package/dist/mcp-server.js +2 -2
- package/dist/mcp-server.js.map +1 -1
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
# @optiqcode/cli
|
|
2
|
+
|
|
3
|
+
The CLI and MCP server for [Optiq](https://optiqcode.com) — a context engine for your codebase.
|
|
4
|
+
|
|
5
|
+
## Install
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install -g @optiqcode/cli
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Getting started
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
optiq login
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
You'll get a one-time code via email. Paste it in, and you're good.
|
|
18
|
+
|
|
19
|
+
## Commands
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
optiq login Sign in with email OTP
|
|
23
|
+
optiq logout Sign out
|
|
24
|
+
optiq whoami Check which account you're using
|
|
25
|
+
|
|
26
|
+
optiq index [path] Index a directory for search
|
|
27
|
+
optiq search <query> Search your indexed code
|
|
28
|
+
optiq repos List your indexed repositories
|
|
29
|
+
optiq status <job_id> Check on an indexing job
|
|
30
|
+
|
|
31
|
+
optiq mcp Start the MCP server (stdio)
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Indexing
|
|
35
|
+
|
|
36
|
+
```bash
|
|
37
|
+
# Index the current directory
|
|
38
|
+
optiq index
|
|
39
|
+
|
|
40
|
+
# Index a specific path
|
|
41
|
+
optiq index ~/projects/my-app
|
|
42
|
+
|
|
43
|
+
# Force a clean re-index
|
|
44
|
+
optiq index --fresh
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
After the first index, the backend watches your files and keeps the index up to date automatically. You don't need to re-run `optiq index`.
|
|
48
|
+
|
|
49
|
+
### Search
|
|
50
|
+
|
|
51
|
+
Search uses natural language. Just describe what you're looking for.
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
optiq search "how does the auth middleware validate tokens"
|
|
55
|
+
optiq search "where are database connections configured" --repo-id my-app
|
|
56
|
+
optiq search "what handles file uploads and validation" --limit 20
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
You can also use structured filters:
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
optiq search "symbol:handleAuth"
|
|
63
|
+
optiq search "file:middleware type:function"
|
|
64
|
+
optiq search "def:createUser"
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## MCP server
|
|
68
|
+
|
|
69
|
+
The CLI doubles as an MCP server for AI agents (Claude Code, Cursor, etc). It exposes four tools:
|
|
70
|
+
|
|
71
|
+
- `optiq_index` — index a directory
|
|
72
|
+
- `optiq_search` — search indexed code with natural language queries
|
|
73
|
+
- `optiq_status` — check indexing job status
|
|
74
|
+
- `optiq_repos` — list indexed repositories
|
|
75
|
+
|
|
76
|
+
The search tool accepts natural language — agents should describe what they're looking for in plain English rather than using keyword-style queries.
|
|
77
|
+
|
|
78
|
+
### Claude Code
|
|
79
|
+
|
|
80
|
+
Add this to `.claude/settings.json`:
|
|
81
|
+
|
|
82
|
+
```json
|
|
83
|
+
{
|
|
84
|
+
"mcpServers": {
|
|
85
|
+
"optiq": {
|
|
86
|
+
"command": "optiq",
|
|
87
|
+
"args": ["mcp"]
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Other MCP clients
|
|
94
|
+
|
|
95
|
+
Any client that supports stdio transport works. Point it at `optiq mcp`.
|
|
96
|
+
|
|
97
|
+
## License
|
|
98
|
+
|
|
99
|
+
MIT
|
package/dist/mcp-server.js
CHANGED
|
@@ -19,8 +19,8 @@ export async function startMcpServer() {
|
|
|
19
19
|
const result = await api.index(resolve(path), repoId, true, incremental ?? true, fresh ?? false);
|
|
20
20
|
return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] };
|
|
21
21
|
});
|
|
22
|
-
server.tool("optiq_search", "Search indexed code", {
|
|
23
|
-
query: z.string().describe("
|
|
22
|
+
server.tool("optiq_search", "Search indexed code using natural language. Describe what you're looking for in plain English — e.g. 'how does the auth middleware validate tokens' or 'where are database connections configured'. Supports semantic search, symbol filters (symbol:, file:, type:, def:, uses:), and intent hints.", {
|
|
23
|
+
query: z.string().describe("Natural language search query — describe what you're looking for in plain English"),
|
|
24
24
|
repo_id: z.string().optional().describe("Filter by repository"),
|
|
25
25
|
limit: z.number().optional().describe("Max results"),
|
|
26
26
|
intent: z.string().optional().describe("Search intent hint"),
|
package/dist/mcp-server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CACT,aAAa,EACb,mCAAmC,EACnC;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACpD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAChE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC/D,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KACrE,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAC5B,OAAO,CAAC,IAAI,CAAC,EACb,MAAM,EACN,IAAI,EACJ,WAAW,IAAI,IAAI,EACnB,KAAK,IAAI,KAAK,CACf,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,GAAG,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,MAAM,CAAC,IAAI,CACT,aAAa,EACb,mCAAmC,EACnC;QACE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACpD,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAChE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC/D,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;KACrE,EACD,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE;QAC9C,MAAM,MAAM,GAAG,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAC5B,OAAO,CAAC,IAAI,CAAC,EACb,MAAM,EACN,IAAI,EACJ,WAAW,IAAI,IAAI,EACnB,KAAK,IAAI,KAAK,CACf,CAAC;QACF,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,sSAAsS,EACtS;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mFAAmF,CAAC;QAC/G,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAC/D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC;QACpD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;KAC7D,EACD,KAAK,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;QAC1C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;QACrE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd,2BAA2B,EAC3B;QACE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;KAC5D,EACD,KAAK,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;QACnB,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,aAAa,EACb,+BAA+B,EAC/B,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;QACjC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAChF,CAAC,CACF,CAAC;IAEF,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAClC,CAAC"}
|