lurqrun 0.0.5 → 0.0.7

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 (35) hide show
  1. package/README.md +71 -13
  2. package/dist/bin/lurq.js +8762 -4825
  3. package/dist/bin/lurq.js.map +1 -1
  4. package/dist/index.d.ts +143 -4
  5. package/dist/index.js +8685 -4741
  6. package/dist/index.js.map +1 -1
  7. package/drizzle/0011_compat_provenance_closures.sql +11 -0
  8. package/drizzle/0012_api_surfaces.sql +9 -0
  9. package/drizzle/0013_nice_thanos.sql +1 -0
  10. package/drizzle/0014_luxuriant_malcolm_colcord.sql +10 -0
  11. package/drizzle/0015_past_fat_cobra.sql +11 -0
  12. package/drizzle/0016_futuristic_junta.sql +50 -0
  13. package/drizzle/0017_absent_grandmaster.sql +20 -0
  14. package/drizzle/0018_rainy_proemial_gods.sql +1 -0
  15. package/drizzle/0019_dashing_korvac.sql +11 -0
  16. package/drizzle/0020_normal_vulture.sql +3 -0
  17. package/drizzle/0021_dazzling_blue_shield.sql +17 -0
  18. package/drizzle/0022_massive_ghost_rider.sql +24 -0
  19. package/drizzle/0023_next_shatterstar.sql +1 -0
  20. package/drizzle/meta/0011_snapshot.json +1049 -0
  21. package/drizzle/meta/0012_snapshot.json +1115 -0
  22. package/drizzle/meta/0013_snapshot.json +1121 -0
  23. package/drizzle/meta/0014_snapshot.json +1190 -0
  24. package/drizzle/meta/0015_snapshot.json +1280 -0
  25. package/drizzle/meta/0016_snapshot.json +1683 -0
  26. package/drizzle/meta/0017_snapshot.json +1834 -0
  27. package/drizzle/meta/0018_snapshot.json +1834 -0
  28. package/drizzle/meta/0019_snapshot.json +1909 -0
  29. package/drizzle/meta/0020_snapshot.json +1921 -0
  30. package/drizzle/meta/0021_snapshot.json +2045 -0
  31. package/drizzle/meta/0022_snapshot.json +2246 -0
  32. package/drizzle/meta/0023_snapshot.json +2252 -0
  33. package/drizzle/meta/_journal.json +91 -0
  34. package/package.json +14 -5
  35. package/templates/skill-instructions.md +38 -16
package/README.md CHANGED
@@ -1,16 +1,21 @@
1
1
  # lurq
2
2
 
3
- > dynamic index of sdk's, frameworks, and libraries exposed as an mcp server. cli-based installable agent skill, compatible with agentic code assistants and ides, including vscode, cursor, windsurf, claude code, and codex. lurq focuses specifically on objective package recommendations from open-source dependencies.
3
+ > execution-verified answers for AI coding agents. a live index of npm scored from public signals, plus a sandbox that settles the questions metadata can't — exposed as an mcp server, a cli, an http api, and an installable agent skill, compatible with claude code, cursor, windsurf, vscode/copilot, codex, gemini cli, antigravity, and kiro.
4
4
 
5
- lurq is a **companion to your coding agent**: it recommends and explains packages, and your agent writes the code. prioritized for token cost, speed, and retrieval quality, and diagrams a stack you've chosen when prompted. notice: lurq contains a growing, comprehensive database of packages, allowing newer dependencies to be exposed to the agent outside of the training data of the underlying model.
5
+ your agent picks the dependencies now, and it picks them from training data frozen at its cutoff and ranked by how often a name appeared in text not by whether the package is healthy today. so agents install libraries that are abandoned, carry open advisories, or don't exist at all.
6
6
 
7
- **v1 scope:** the javaScript/typeScript web stack (npm) only.
7
+ lurq is what the agent checks first. most of what matters is readable — release cadence, advisories, deprecations, types/tests/docs, bundle cost and lurq ingests all of it daily. the rest isn't readable at all. whether a package installs cleanly, whether it imports without throwing, whether two versions can coexist in one tree: those are only knowable by running them, so lurq runs them in an isolated sandbox and keeps the result.
8
+
9
+ lurq recommends and explains packages; your agent writes the code. responses are compact and token-budgeted, built for an agent's context window rather than a human's screen.
10
+
11
+ **v1 scope:** the javascript/typescript web stack (npm) only.
8
12
 
9
13
  ---
10
14
 
11
15
  ## quick start: connect your agent
12
16
 
13
- > **not public yet.** lurq unlocks at launch. [join the waitlist](https://lurq.run); the steps below are how it'll work once it's live.
17
+ > **lurq is live.** [create a free account](https://lurq.run/sign-up) to generate
18
+ > your API key, then connect your coding agent with the guided installer below.
14
19
 
15
20
  lurq is a **hosted service**: you don't run a database or a sync. get an API key,
16
21
  then run the guided installer:
@@ -20,26 +25,79 @@ npx lurqrun install
20
25
  ```
21
26
 
22
27
  it prompts for your key, validates it, detects your installed assistants
23
- (Claude Code, Cursor, Windsurf, VS Code/Copilot, Codex), and writes a keyed
24
- remote MCP entry:
28
+ (claude code, cursor, windsurf, vscode/copilot, codex, gemini cli, antigravity,
29
+ kiro), and writes a keyed
30
+ remote mcp entry:
25
31
  `{ "type": "http", "url": "https://api.lurq.run/mcp", "headers": { "Authorization": "Bearer …" } }`.
26
32
  **no database credentials ever touch your machine.** restart your agent afterward.
27
33
 
28
34
  ## what your agent gets (mcp tools)
29
35
 
30
- once installed, the agent can call these tools over MCP. every response is
31
- compact and carries a `dataAsOf` timestamp.
36
+ once installed, the agent can call these over mcp. every response is compact and
37
+ carries a `dataAsOf` timestamp.
32
38
 
33
39
  - **`recommend`**: best current packages for a described need (≤5, scored, with confidence)
34
40
  - **`evaluate`**: full evidence read for one package (scores, advisories, usage guide)
35
- - **`compare`**: 2 to 5 packages ranked by health
41
+ - **`compare`**: 2 to 5 packages ranked head-to-head
36
42
  - **`verify`**: is a package real, healthy, and not risky? (anti-hallucination guard)
37
- - **`diagram`**: a reference-architecture mermaid diagram for a stack (optional)
43
+ - **`compat`**: will these packages actually install together? (peer/engine constraints)
44
+ - **`plan`**: source every slot in a stack at once, checked for cross-slot coherence
45
+ - **`diagram`**: a reference-architecture mermaid diagram for a stack
46
+ - **`usage`**: a package version's *real* public api — exported symbols and signatures extracted from its shipped `.d.ts`, exact to the version and absent from any model's training data. pass the version your model knows and get the precise delta: what was added, removed, renamed, or changed.
47
+ - **`report_outcome`**: what happened after a pick shipped — installed clean, broke the build, resolved the task. the signal only exists for whatever sits inside the decision, so it feeds back into scoring.
48
+
49
+ ## cli
50
+
51
+ the same index, scriptable. every capability is a subcommand:
52
+
53
+ ```bash
54
+ lurq recommend "a form library for react"
55
+ lurq verify jsonwebtoken
56
+ lurq compare date-fns dayjs moment
57
+ lurq compat next react react-dom # do these install together?
58
+ lurq usage zod --known 3.22.4 # what changed in the api since? (--target pins a version)
59
+ lurq plan ./project.md # a description in, a scored stack out
60
+ lurq serve-http # run it as a rate-limited service of your own
61
+ lurq weights # the exact ranking weights, printed
62
+ ```
63
+
64
+ ## where the evidence comes from
65
+
66
+ two sources, and the distinction is the whole point.
67
+
68
+ **readable** — npm, github, deps.dev, and osv, re-synced daily. downloads, release
69
+ cadence, maintenance, advisories, deprecations, license, bundle cost. this is what
70
+ scoring runs on.
71
+
72
+ **executed** — an isolated sandbox (e2b, with a local driver for trusted work) that
73
+ installs a package version, imports it, and records what happened. co-installing a
74
+ set is how compatibility is established: a successful co-install is positive proof
75
+ two versions coexist, a failure is proof they conflict, and the error is kept as
76
+ evidence. `compat` and `plan` read those edges, which is why lurq can tell you a
77
+ *stack* holds together rather than only that each package looks fine alone.
78
+
79
+ facts of the second kind appear in no changelog and no model's training data, and
80
+ they go stale unless someone keeps re-running the experiment.
81
+
82
+ ## how the ranking works
83
+
84
+ deterministic, and public. no model sits in the ranking path — `recommend` is hybrid
85
+ vector + full-text search over precomputed scores, which is why it's fast, cheap, and
86
+ reproducible.
87
+
88
+ - **health** = maintenance `0.35` · adoption `0.30` · reliability `0.25` · efficiency `0.10`
89
+ - **quality** is a separate, adoption-independent axis — types, tests, docs, changelog,
90
+ dependency count, license, provenance — so a well-built new package isn't buried by an
91
+ old popular one
92
+ - the two blend at a single tunable λ for the default sort
93
+
94
+ every weight lives in [`src/scoring/weights.ts`](src/scoring/weights.ts) and is printable with
95
+ `lurq weights`. an answer an agent acts on is worth nothing if it can't be audited.
38
96
 
39
- ## outreach
97
+ ## outreach
40
98
 
41
- for any inquiries, partnerships, or proposals, contact jaden ryu at jadenryu@gmail.com.
99
+ for any inquiries, partnerships, or proposals, contact jaden ryu at jadenryu@gmail.com.
42
100
 
43
101
  ## license
44
102
 
45
- Apache License 2.0
103
+ Apache License 2.0