leadcode 0.2.2 → 1.1.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 +52 -47
- package/dist/analyzers/detection.d.ts.map +1 -1
- package/dist/analyzers/detection.js +30 -0
- package/dist/analyzers/detection.js.map +1 -1
- package/dist/context7/client.d.ts +17 -0
- package/dist/context7/client.d.ts.map +1 -0
- package/dist/context7/client.js +82 -0
- package/dist/context7/client.js.map +1 -0
- package/dist/context7/fetch-all.d.ts +13 -0
- package/dist/context7/fetch-all.d.ts.map +1 -0
- package/dist/context7/fetch-all.js +104 -0
- package/dist/context7/fetch-all.js.map +1 -0
- package/dist/context7/index.d.ts +7 -0
- package/dist/context7/index.d.ts.map +1 -0
- package/dist/context7/index.js +4 -0
- package/dist/context7/index.js.map +1 -0
- package/dist/context7/queries.d.ts +11 -0
- package/dist/context7/queries.d.ts.map +1 -0
- package/dist/context7/queries.js +229 -0
- package/dist/context7/queries.js.map +1 -0
- package/dist/i18n/en.d.ts.map +1 -1
- package/dist/i18n/en.js +1 -242
- package/dist/i18n/en.js.map +1 -1
- package/dist/i18n/fr.d.ts.map +1 -1
- package/dist/i18n/fr.js +19 -260
- package/dist/i18n/fr.js.map +1 -1
- package/dist/i18n/types.d.ts +0 -232
- package/dist/i18n/types.d.ts.map +1 -1
- package/dist/index.js +11 -19
- package/dist/index.js.map +1 -1
- package/dist/templates/claude-md.d.ts +3 -2
- package/dist/templates/claude-md.d.ts.map +1 -1
- package/dist/templates/claude-md.js +92 -67
- package/dist/templates/claude-md.js.map +1 -1
- package/dist/tools/fetch-docs.d.ts +3 -0
- package/dist/tools/fetch-docs.d.ts.map +1 -0
- package/dist/tools/fetch-docs.js +39 -0
- package/dist/tools/fetch-docs.js.map +1 -0
- package/dist/tools/generate-claude-md.d.ts.map +1 -1
- package/dist/tools/generate-claude-md.js +10 -11
- package/dist/tools/generate-claude-md.js.map +1 -1
- package/dist/tools/update-claude-md.d.ts.map +1 -1
- package/dist/tools/update-claude-md.js +9 -11
- package/dist/tools/update-claude-md.js.map +1 -1
- package/dist/tools/validate-claude-md.d.ts.map +1 -1
- package/dist/tools/validate-claude-md.js +10 -48
- package/dist/tools/validate-claude-md.js.map +1 -1
- package/dist/types.d.ts +0 -43
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/rules/auth.d.ts +0 -3
- package/dist/rules/auth.d.ts.map +0 -1
- package/dist/rules/auth.js +0 -48
- package/dist/rules/auth.js.map +0 -1
- package/dist/rules/cross-stack.d.ts +0 -3
- package/dist/rules/cross-stack.d.ts.map +0 -1
- package/dist/rules/cross-stack.js +0 -320
- package/dist/rules/cross-stack.js.map +0 -1
- package/dist/rules/drizzle.d.ts +0 -3
- package/dist/rules/drizzle.d.ts.map +0 -1
- package/dist/rules/drizzle.js +0 -43
- package/dist/rules/drizzle.js.map +0 -1
- package/dist/rules/index.d.ts +0 -7
- package/dist/rules/index.d.ts.map +0 -1
- package/dist/rules/index.js +0 -104
- package/dist/rules/index.js.map +0 -1
- package/dist/rules/nextjs.d.ts +0 -4
- package/dist/rules/nextjs.d.ts.map +0 -1
- package/dist/rules/nextjs.js +0 -86
- package/dist/rules/nextjs.js.map +0 -1
- package/dist/rules/node.d.ts +0 -3
- package/dist/rules/node.d.ts.map +0 -1
- package/dist/rules/node.js +0 -61
- package/dist/rules/node.js.map +0 -1
- package/dist/rules/prisma.d.ts +0 -3
- package/dist/rules/prisma.d.ts.map +0 -1
- package/dist/rules/prisma.js +0 -44
- package/dist/rules/prisma.js.map +0 -1
- package/dist/rules/react.d.ts +0 -3
- package/dist/rules/react.d.ts.map +0 -1
- package/dist/rules/react.js +0 -58
- package/dist/rules/react.js.map +0 -1
- package/dist/rules/state.d.ts +0 -3
- package/dist/rules/state.d.ts.map +0 -1
- package/dist/rules/state.js +0 -51
- package/dist/rules/state.js.map +0 -1
- package/dist/rules/tailwind.d.ts +0 -3
- package/dist/rules/tailwind.d.ts.map +0 -1
- package/dist/rules/tailwind.js +0 -41
- package/dist/rules/tailwind.js.map +0 -1
- package/dist/rules/trpc.d.ts +0 -3
- package/dist/rules/trpc.d.ts.map +0 -1
- package/dist/rules/trpc.js +0 -35
- package/dist/rules/trpc.js.map +0 -1
- package/dist/rules/typescript.d.ts +0 -3
- package/dist/rules/typescript.d.ts.map +0 -1
- package/dist/rules/typescript.js +0 -54
- package/dist/rules/typescript.js.map +0 -1
- package/dist/rules/validation.d.ts +0 -3
- package/dist/rules/validation.d.ts.map +0 -1
- package/dist/rules/validation.js +0 -38
- package/dist/rules/validation.js.map +0 -1
- package/dist/tools/detect-gaps.d.ts +0 -3
- package/dist/tools/detect-gaps.d.ts.map +0 -1
- package/dist/tools/detect-gaps.js +0 -34
- package/dist/tools/detect-gaps.js.map +0 -1
- package/dist/tools/suggest.d.ts +0 -3
- package/dist/tools/suggest.d.ts.map +0 -1
- package/dist/tools/suggest.js +0 -99
- package/dist/tools/suggest.js.map +0 -1
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# LeadCode
|
|
2
2
|
|
|
3
|
-
**Your virtual Lead Tech for Claude Code.** An MCP server that analyzes your codebase,
|
|
3
|
+
**Your virtual Lead Tech for Claude Code.** An MCP server that analyzes your codebase, fetches up-to-date documentation for each detected technology via [Context7](https://context7.com), and generates a tailored `CLAUDE.md` — so Claude Code understands your project like a senior engineer would.
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/leadcode)
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
@@ -17,34 +17,42 @@ Claude Code is powerful, but its output quality depends on context. Without clea
|
|
|
17
17
|
- Forget auth checks on new routes
|
|
18
18
|
- Use inline styles when your project uses Tailwind
|
|
19
19
|
|
|
20
|
-
**LeadCode fixes this.** It scans your project, detects what you're using,
|
|
20
|
+
**LeadCode fixes this.** It scans your project, detects what you're using, fetches the latest documentation for each technology, cross-references them, and generates a `CLAUDE.md` file that tells Claude Code exactly how to behave in your codebase.
|
|
21
21
|
|
|
22
22
|
## How It Works
|
|
23
23
|
|
|
24
24
|
```
|
|
25
|
-
Your Project ──→ LeadCode
|
|
25
|
+
Your Project ──→ LeadCode (detect stack) ──→ Context7 (fetch docs) ──→ CLAUDE.md
|
|
26
26
|
```
|
|
27
27
|
|
|
28
28
|
1. **Analyze** — Scans `package.json`, directory structure, and source code patterns
|
|
29
|
-
2. **Detect** — Identifies your stack across
|
|
30
|
-
3. **
|
|
31
|
-
4. **
|
|
32
|
-
5. **Generate** — Writes a structured `CLAUDE.md` with conventions, interdictions, and cross-stack rules
|
|
29
|
+
2. **Detect** — Identifies your stack across 25+ categories (framework, ORM, auth, CSS, testing, i18n, etc.)
|
|
30
|
+
3. **Fetch Docs** — Queries Context7 API for up-to-date documentation of each detected technology, including cross-technology best practices (e.g., "how to use Prisma with Next.js App Router")
|
|
31
|
+
4. **Generate** — Writes a structured `CLAUDE.md` with real, version-specific conventions from official docs
|
|
33
32
|
|
|
34
33
|
## Installation
|
|
35
34
|
|
|
36
|
-
LeadCode
|
|
35
|
+
LeadCode requires **two MCP servers**: LeadCode itself and Context7 (for documentation fetching).
|
|
37
36
|
|
|
38
|
-
**
|
|
37
|
+
**Two commands:**
|
|
39
38
|
|
|
40
39
|
```bash
|
|
41
40
|
claude mcp add --scope project leadcode -- npx -y leadcode@latest
|
|
41
|
+
claude mcp add --scope project context7 -- npx -y @upstash/context7-mcp@latest
|
|
42
42
|
```
|
|
43
43
|
|
|
44
|
-
|
|
44
|
+
Restart Claude Code and you're ready.
|
|
45
45
|
|
|
46
46
|
> Use `--scope user` instead of `--scope project` to install globally across all your projects.
|
|
47
47
|
|
|
48
|
+
**Optional:** Set a Context7 API key for higher rate limits (free tier works without it):
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
export CONTEXT7_API_KEY=your_key_here
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Get a key at [context7.com/dashboard](https://context7.com/dashboard).
|
|
55
|
+
|
|
48
56
|
## Usage
|
|
49
57
|
|
|
50
58
|
### Quick Start (Recommended)
|
|
@@ -55,7 +63,7 @@ Use the built-in prompt in Claude Code:
|
|
|
55
63
|
Use the setup-project prompt with /path/to/your/project
|
|
56
64
|
```
|
|
57
65
|
|
|
58
|
-
This walks through the full workflow: analyze →
|
|
66
|
+
This walks through the full workflow: analyze → fetch docs → generate `CLAUDE.md`.
|
|
59
67
|
|
|
60
68
|
### Manual Tool Usage
|
|
61
69
|
|
|
@@ -68,50 +76,47 @@ Scans a project and returns structured facts — framework, dependencies, direct
|
|
|
68
76
|
Call analyze-repo with projectPath: /path/to/project
|
|
69
77
|
```
|
|
70
78
|
|
|
71
|
-
#### `
|
|
72
|
-
Takes the analysis output and
|
|
73
|
-
|
|
74
|
-
#### `suggest-conventions`
|
|
75
|
-
Proposes options for each gap. Each suggestion includes:
|
|
76
|
-
- **Simple** — Minimal setup, quick wins
|
|
77
|
-
- **Clean** — Best practices, good DX
|
|
78
|
-
- **Scalable** — Full setup for large projects
|
|
79
|
+
#### `fetch-docs`
|
|
80
|
+
Takes the analysis output and fetches up-to-date documentation from Context7 for each detected technology. Also fetches cross-technology docs (e.g., Next.js + Prisma best practices).
|
|
79
81
|
|
|
80
82
|
#### `generate-claude-md`
|
|
81
|
-
Generates and writes `CLAUDE.md` to the project root based on the analysis and
|
|
83
|
+
Generates and writes `CLAUDE.md` to the project root based on the analysis and fetched documentation.
|
|
82
84
|
|
|
83
85
|
#### `validate-claude-md`
|
|
84
86
|
Checks if an existing `CLAUDE.md` is still in sync with the project. Detects drifts after adding dependencies or changing structure.
|
|
85
87
|
|
|
86
88
|
#### `update-claude-md`
|
|
87
|
-
Re-analyzes and regenerates `CLAUDE.md` while preserving your choices from the "Project Decisions" section.
|
|
89
|
+
Re-analyzes the project, re-fetches documentation, and regenerates `CLAUDE.md` while preserving your choices from the "Project Decisions" section.
|
|
88
90
|
|
|
89
91
|
## What Gets Detected
|
|
90
92
|
|
|
91
93
|
### Frameworks
|
|
92
|
-
Next.js (App/Pages Router), Nuxt, Remix, Astro, SvelteKit, SolidStart, Vite+React, Express, Fastify, Hono
|
|
94
|
+
Next.js (App/Pages Router), Nuxt, Remix, Astro, SvelteKit, SolidStart, Vite+React, React, Express, Fastify, Hono
|
|
93
95
|
|
|
94
|
-
### Stack (
|
|
96
|
+
### Stack (25+ categories)
|
|
95
97
|
|
|
96
98
|
| Category | Examples |
|
|
97
99
|
|----------|----------|
|
|
98
|
-
| ORM | Prisma, Drizzle, TypeORM, Mongoose, Kysely |
|
|
99
|
-
| Auth | NextAuth, Clerk, Lucia, Supabase Auth, Auth0, Kinde |
|
|
100
|
-
| Validation | Zod, Yup, Joi, Valibot |
|
|
101
|
-
| CSS | Tailwind, styled-components, Emotion,
|
|
102
|
-
| UI Components | shadcn (auto-detected), Radix,
|
|
100
|
+
| ORM | Prisma, Drizzle, TypeORM, MikroORM, Mongoose, Kysely, Sequelize |
|
|
101
|
+
| Auth | NextAuth, Clerk, Lucia, Supabase Auth, Auth0, Kinde, Better Auth |
|
|
102
|
+
| Validation | Zod, Yup, Joi, Valibot, ArkType |
|
|
103
|
+
| CSS | Tailwind, Chakra, MUI, styled-components, Emotion, Panda, Mantine, Ant Design |
|
|
104
|
+
| UI Components | shadcn (auto-detected), Radix, Headless UI, NextUI, Tremor |
|
|
103
105
|
| Testing | Vitest, Jest, Playwright, Cypress |
|
|
104
|
-
| State | Zustand, Redux, Jotai, Valtio, XState |
|
|
105
|
-
|
|
|
106
|
+
| State | Zustand, Redux, Jotai, Valtio, XState, Recoil, MobX |
|
|
107
|
+
| Data Fetching | TanStack Query, SWR |
|
|
108
|
+
| Forms | React Hook Form, Formik, TanStack Form |
|
|
109
|
+
| i18n | next-intl, i18next, Lingui, react-intl |
|
|
106
110
|
| Payments | Stripe, LemonSqueezy |
|
|
107
|
-
| CMS | Contentlayer, MDX, Sanity, Notion |
|
|
108
|
-
| Email | Resend, Nodemailer, SendGrid |
|
|
111
|
+
| CMS | Contentlayer, MDX, Sanity, Notion, Contentful, Strapi |
|
|
112
|
+
| Email | Resend, Nodemailer, SendGrid, Postmark, React Email |
|
|
109
113
|
| File Upload | UploadThing, Vercel Blob, Multer, S3 |
|
|
110
114
|
| Realtime | Socket.io, Pusher, Ably |
|
|
111
115
|
| Jobs | BullMQ, Inngest, Trigger.dev |
|
|
112
|
-
| Database | PostgreSQL, MySQL, SQLite, MongoDB, Supabase |
|
|
116
|
+
| Database | PostgreSQL, MySQL, SQLite, MongoDB, Supabase, PlanetScale, Redis |
|
|
117
|
+
| API Style | tRPC, GraphQL |
|
|
113
118
|
| Monorepo | Turborepo, Nx, Lerna |
|
|
114
|
-
| Deployment | Vercel
|
|
119
|
+
| Deployment | Vercel |
|
|
115
120
|
| Runtime | Node, Bun, Deno |
|
|
116
121
|
|
|
117
122
|
### Code Patterns
|
|
@@ -124,29 +129,29 @@ Next.js (App/Pages Router), Nuxt, Remix, Astro, SvelteKit, SolidStart, Vite+Reac
|
|
|
124
129
|
|
|
125
130
|
## What Gets Generated
|
|
126
131
|
|
|
127
|
-
The `CLAUDE.md` includes
|
|
132
|
+
The `CLAUDE.md` includes sections tailored to your stack:
|
|
128
133
|
|
|
129
134
|
1. **Architecture Overview** — Framework, data layer, auth, project size
|
|
130
|
-
2. **Stack** — All detected technologies
|
|
135
|
+
2. **Stack** — All detected technologies with versions
|
|
131
136
|
3. **Project Structure** — Directories, special files
|
|
132
137
|
4. **Available Scripts** — `npm run` commands
|
|
133
|
-
5. **
|
|
134
|
-
6. **
|
|
135
|
-
7. **Conventions** —
|
|
136
|
-
8. **
|
|
137
|
-
9. **
|
|
138
|
-
10. **
|
|
139
|
-
11. **Claude Code Instructions** — Dynamic instructions based on your stack
|
|
138
|
+
5. **Per-Technology Conventions** — Up-to-date best practices from official docs (via Context7)
|
|
139
|
+
6. **Cross-Stack Rules** — Best practices for technology combinations (e.g., Next.js + Prisma, Zod + react-hook-form)
|
|
140
|
+
7. **File & Naming Conventions** — kebab-case, PascalCase rules
|
|
141
|
+
8. **Import Ordering** — Node builtins → external → internal → relative → types
|
|
142
|
+
9. **Existing Code Patterns** — Patterns detected in your code to respect
|
|
143
|
+
10. **Claude Code Instructions** — Dynamic instructions based on your stack
|
|
140
144
|
|
|
141
|
-
### Cross-
|
|
145
|
+
### Cross-Technology Documentation
|
|
142
146
|
|
|
143
|
-
LeadCode
|
|
147
|
+
LeadCode fetches specific documentation for technology pairs detected in your project:
|
|
144
148
|
|
|
145
|
-
`next + prisma` · `next + drizzle` · `next + next-auth` · `next + clerk` · `next + supabase-auth` · `next +
|
|
149
|
+
`next + prisma` · `next + drizzle` · `next + next-auth` · `next + clerk` · `next + supabase-auth` · `next + zod` · `next + stripe` · `next + react-query` · `next + next-intl` · `next + tailwind` · `next + shadcn` · `zod + react-hook-form` · `trpc + zod` — and more.
|
|
146
150
|
|
|
147
151
|
## Requirements
|
|
148
152
|
|
|
149
153
|
- **Node.js** >= 18
|
|
154
|
+
- **Context7 MCP server** installed alongside LeadCode
|
|
150
155
|
- The target project must have a `package.json`
|
|
151
156
|
- Currently optimized for JavaScript/TypeScript projects
|
|
152
157
|
|
|
@@ -156,7 +161,7 @@ LeadCode generates specific rules for technology pairs:
|
|
|
156
161
|
- **Single package.json** — Monorepo support detects the tool but analyzes only the root
|
|
157
162
|
- **No lint config reading** — Detects ESLint/Biome but doesn't parse their rules
|
|
158
163
|
- **No CI/CD detection** — GitHub Actions, etc. are not analyzed
|
|
159
|
-
- **
|
|
164
|
+
- **Requires Context7** — Documentation quality depends on Context7's library coverage
|
|
160
165
|
|
|
161
166
|
## Contributing
|
|
162
167
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../src/analyzers/detection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/E,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAiBnC,wBAAgB,eAAe,CAC7B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,aAAa,GACvB,aAAa,GAAG,IAAI,CA+DtB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../src/analyzers/detection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAE/E,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAiBnC,wBAAgB,eAAe,CAC7B,IAAI,EAAE,IAAI,EACV,OAAO,EAAE,IAAI,EACb,SAAS,EAAE,aAAa,GACvB,aAAa,GAAG,IAAI,CA+DtB;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,GAAG,aAAa,CAmOpE"}
|
|
@@ -74,12 +74,16 @@ export function detectStack(deps, devDeps) {
|
|
|
74
74
|
orm = "drizzle";
|
|
75
75
|
else if ("typeorm" in all)
|
|
76
76
|
orm = "typeorm";
|
|
77
|
+
else if ("@mikro-orm/core" in all)
|
|
78
|
+
orm = "mikro-orm";
|
|
77
79
|
else if ("kysely" in all)
|
|
78
80
|
orm = "kysely";
|
|
79
81
|
else if ("mongoose" in all)
|
|
80
82
|
orm = "mongoose";
|
|
81
83
|
else if ("sequelize" in all)
|
|
82
84
|
orm = "sequelize";
|
|
85
|
+
else if ("objection" in all)
|
|
86
|
+
orm = "objection";
|
|
83
87
|
else if ("@neondatabase/serverless" in all)
|
|
84
88
|
orm = "neon";
|
|
85
89
|
else if ("libsql" in all || "@libsql/client" in all)
|
|
@@ -106,6 +110,12 @@ export function detectStack(deps, devDeps) {
|
|
|
106
110
|
auth = "auth0";
|
|
107
111
|
else if ("firebase-admin" in all)
|
|
108
112
|
auth = "firebase";
|
|
113
|
+
else if ("@workos-inc/node" in all)
|
|
114
|
+
auth = "workos";
|
|
115
|
+
else if ("@descope/nextjs-sdk" in all || "@descope/react-sdk" in all)
|
|
116
|
+
auth = "descope";
|
|
117
|
+
else if ("@stytch/nextjs" in all || "@stytch/react" in all)
|
|
118
|
+
auth = "stytch";
|
|
109
119
|
// Validation
|
|
110
120
|
let validation = null;
|
|
111
121
|
if ("zod" in all)
|
|
@@ -136,6 +146,10 @@ export function detectStack(deps, devDeps) {
|
|
|
136
146
|
css = "vanilla-extract";
|
|
137
147
|
else if ("unocss" in all)
|
|
138
148
|
css = "unocss";
|
|
149
|
+
else if ("@mantine/core" in all)
|
|
150
|
+
css = "mantine";
|
|
151
|
+
else if ("antd" in all)
|
|
152
|
+
css = "ant-design";
|
|
139
153
|
else if ("sass" in all)
|
|
140
154
|
css = "sass";
|
|
141
155
|
// Testing
|
|
@@ -248,6 +262,12 @@ export function detectStack(deps, devDeps) {
|
|
|
248
262
|
database = "mongodb";
|
|
249
263
|
else if ("@supabase/supabase-js" in all)
|
|
250
264
|
database = "supabase";
|
|
265
|
+
else if ("@planetscale/database" in all)
|
|
266
|
+
database = "planetscale";
|
|
267
|
+
else if ("ioredis" in all || "@upstash/redis" in all)
|
|
268
|
+
database = "redis";
|
|
269
|
+
else if ("@vercel/postgres" in all)
|
|
270
|
+
database = "vercel-postgres";
|
|
251
271
|
// Email
|
|
252
272
|
let email = null;
|
|
253
273
|
if ("resend" in all)
|
|
@@ -324,6 +344,16 @@ export function detectStack(deps, devDeps) {
|
|
|
324
344
|
uiComponents = "headless-ui";
|
|
325
345
|
else if ("@ark-ui/react" in all)
|
|
326
346
|
uiComponents = "ark-ui";
|
|
347
|
+
else if ("@nextui-org/react" in all)
|
|
348
|
+
uiComponents = "nextui";
|
|
349
|
+
else if ("@tremor/react" in all)
|
|
350
|
+
uiComponents = "tremor";
|
|
351
|
+
else if ("primereact" in all)
|
|
352
|
+
uiComponents = "primereact";
|
|
353
|
+
else if ("react-bootstrap" in all)
|
|
354
|
+
uiComponents = "react-bootstrap";
|
|
355
|
+
else if ("flowbite-react" in all)
|
|
356
|
+
uiComponents = "flowbite";
|
|
327
357
|
return {
|
|
328
358
|
orm,
|
|
329
359
|
auth,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detection.js","sourceRoot":"","sources":["../../src/analyzers/detection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"detection.js","sourceRoot":"","sources":["../../src/analyzers/detection.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export interface LibrarySearchResult {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
totalSnippets: number;
|
|
6
|
+
trustScore?: string;
|
|
7
|
+
versions?: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface DocSnippet {
|
|
10
|
+
title: string;
|
|
11
|
+
content: string;
|
|
12
|
+
source: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function searchLibrary(libraryName: string, query: string): Promise<LibrarySearchResult[]>;
|
|
15
|
+
export declare function fetchDocs(libraryId: string, query: string): Promise<string>;
|
|
16
|
+
export declare function resolveAndFetch(libraryName: string, query: string): Promise<string>;
|
|
17
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/context7/client.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAiDD,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAYhC;AAED,wBAAsB,SAAS,CAC7B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAWjB;AAED,wBAAsB,eAAe,CACnC,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,CAAC,CAOjB"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
const BASE_URL = "https://context7.com/api/v2";
|
|
2
|
+
const REQUEST_TIMEOUT = 15_000;
|
|
3
|
+
const MAX_RETRIES = 2;
|
|
4
|
+
function getHeaders() {
|
|
5
|
+
const headers = {
|
|
6
|
+
"Accept": "application/json",
|
|
7
|
+
};
|
|
8
|
+
const apiKey = process.env.CONTEXT7_API_KEY;
|
|
9
|
+
if (apiKey) {
|
|
10
|
+
headers["Authorization"] = `Bearer ${apiKey}`;
|
|
11
|
+
}
|
|
12
|
+
return headers;
|
|
13
|
+
}
|
|
14
|
+
async function fetchWithRetry(url, retries = MAX_RETRIES) {
|
|
15
|
+
for (let attempt = 0; attempt <= retries; attempt++) {
|
|
16
|
+
const controller = new AbortController();
|
|
17
|
+
const timeout = setTimeout(() => controller.abort(), REQUEST_TIMEOUT);
|
|
18
|
+
try {
|
|
19
|
+
const res = await fetch(url, {
|
|
20
|
+
headers: getHeaders(),
|
|
21
|
+
signal: controller.signal,
|
|
22
|
+
});
|
|
23
|
+
if (res.status === 429) {
|
|
24
|
+
const retryAfter = Number(res.headers.get("Retry-After") ?? "2");
|
|
25
|
+
if (attempt < retries) {
|
|
26
|
+
await new Promise((r) => setTimeout(r, retryAfter * 1000));
|
|
27
|
+
continue;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
if (res.status === 202 && attempt < retries) {
|
|
31
|
+
await new Promise((r) => setTimeout(r, 2000));
|
|
32
|
+
continue;
|
|
33
|
+
}
|
|
34
|
+
return res;
|
|
35
|
+
}
|
|
36
|
+
catch (err) {
|
|
37
|
+
if (attempt === retries)
|
|
38
|
+
throw err;
|
|
39
|
+
await new Promise((r) => setTimeout(r, 1000));
|
|
40
|
+
}
|
|
41
|
+
finally {
|
|
42
|
+
clearTimeout(timeout);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
throw new Error("Max retries exceeded");
|
|
46
|
+
}
|
|
47
|
+
export async function searchLibrary(libraryName, query) {
|
|
48
|
+
const params = new URLSearchParams({ libraryName, query });
|
|
49
|
+
const url = `${BASE_URL}/libs/search?${params}`;
|
|
50
|
+
try {
|
|
51
|
+
const res = await fetchWithRetry(url);
|
|
52
|
+
if (!res.ok)
|
|
53
|
+
return [];
|
|
54
|
+
const data = await res.json();
|
|
55
|
+
return Array.isArray(data) ? data : (data.results ?? []);
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
return [];
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
export async function fetchDocs(libraryId, query) {
|
|
62
|
+
const params = new URLSearchParams({ libraryId, query, type: "txt" });
|
|
63
|
+
const url = `${BASE_URL}/context?${params}`;
|
|
64
|
+
try {
|
|
65
|
+
const res = await fetchWithRetry(url);
|
|
66
|
+
if (!res.ok)
|
|
67
|
+
return "";
|
|
68
|
+
return await res.text();
|
|
69
|
+
}
|
|
70
|
+
catch {
|
|
71
|
+
return "";
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
export async function resolveAndFetch(libraryName, query) {
|
|
75
|
+
const results = await searchLibrary(libraryName, query);
|
|
76
|
+
if (results.length === 0)
|
|
77
|
+
return "";
|
|
78
|
+
// Pick best match: highest snippet count with good trust
|
|
79
|
+
const best = results.sort((a, b) => b.totalSnippets - a.totalSnippets)[0];
|
|
80
|
+
return fetchDocs(best.id, query);
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/context7/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { RepoAnalysis } from "../types.js";
|
|
2
|
+
export interface FetchedDocs {
|
|
3
|
+
techDocs: Record<string, string>;
|
|
4
|
+
crossDocs: Record<string, string>;
|
|
5
|
+
metadata: {
|
|
6
|
+
techCount: number;
|
|
7
|
+
snippetCount: number;
|
|
8
|
+
failedTechs: string[];
|
|
9
|
+
warning?: string;
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
export declare function fetchAllDocs(analysis: RepoAnalysis): Promise<FetchedDocs>;
|
|
13
|
+
//# sourceMappingURL=fetch-all.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-all.d.ts","sourceRoot":"","sources":["../../src/context7/fetch-all.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAiDD,wBAAsB,YAAY,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,WAAW,CAAC,CA+E/E"}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { resolveAndFetch } from "./client.js";
|
|
2
|
+
import { TECH_QUERIES } from "./queries.js";
|
|
3
|
+
/** Collect all detected tech identifiers from analysis */
|
|
4
|
+
function collectTechs(analysis) {
|
|
5
|
+
const techs = [];
|
|
6
|
+
if (analysis.framework) {
|
|
7
|
+
techs.push(analysis.framework.name);
|
|
8
|
+
}
|
|
9
|
+
const d = analysis.detected;
|
|
10
|
+
const fields = [
|
|
11
|
+
"orm", "auth", "validation", "css", "testing",
|
|
12
|
+
"stateManagement", "dataFetching", "formLibrary", "apiStyle",
|
|
13
|
+
"i18n", "payments", "realtime", "email", "cms", "jobs",
|
|
14
|
+
"uiComponents",
|
|
15
|
+
];
|
|
16
|
+
for (const field of fields) {
|
|
17
|
+
const value = d[field];
|
|
18
|
+
if (typeof value === "string") {
|
|
19
|
+
techs.push(value);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
return [...new Set(techs)];
|
|
23
|
+
}
|
|
24
|
+
/** Run promises with concurrency limit */
|
|
25
|
+
async function pMap(items, fn, concurrency) {
|
|
26
|
+
const results = [];
|
|
27
|
+
let index = 0;
|
|
28
|
+
async function next() {
|
|
29
|
+
while (index < items.length) {
|
|
30
|
+
const i = index++;
|
|
31
|
+
results[i] = await fn(items[i]);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
const workers = Array.from({ length: Math.min(concurrency, items.length) }, () => next());
|
|
35
|
+
await Promise.all(workers);
|
|
36
|
+
return results;
|
|
37
|
+
}
|
|
38
|
+
export async function fetchAllDocs(analysis) {
|
|
39
|
+
const techs = collectTechs(analysis);
|
|
40
|
+
const techDocs = {};
|
|
41
|
+
const crossDocs = {};
|
|
42
|
+
const failedTechs = [];
|
|
43
|
+
let snippetCount = 0;
|
|
44
|
+
// Fetch per-tech docs
|
|
45
|
+
const techTasks = techs
|
|
46
|
+
.filter((t) => t in TECH_QUERIES)
|
|
47
|
+
.map((tech) => ({
|
|
48
|
+
tech,
|
|
49
|
+
query: TECH_QUERIES[tech],
|
|
50
|
+
}));
|
|
51
|
+
await pMap(techTasks, async ({ tech, query }) => {
|
|
52
|
+
const allQueries = query.queries.join(". ");
|
|
53
|
+
const docs = await resolveAndFetch(query.libraryName, allQueries);
|
|
54
|
+
if (docs) {
|
|
55
|
+
techDocs[tech] = docs;
|
|
56
|
+
snippetCount++;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
failedTechs.push(tech);
|
|
60
|
+
}
|
|
61
|
+
}, 5);
|
|
62
|
+
// Fetch cross-tech docs
|
|
63
|
+
const crossTasks = [];
|
|
64
|
+
for (const tech of techs) {
|
|
65
|
+
const mapping = TECH_QUERIES[tech];
|
|
66
|
+
if (!mapping?.crossQueries)
|
|
67
|
+
continue;
|
|
68
|
+
for (const [otherTech, crossQuery] of Object.entries(mapping.crossQueries)) {
|
|
69
|
+
if (techs.includes(otherTech)) {
|
|
70
|
+
const key = `${tech}+${otherTech}`;
|
|
71
|
+
const reverseKey = `${otherTech}+${tech}`;
|
|
72
|
+
if (!(reverseKey in crossDocs) && !crossTasks.some((t) => t.key === reverseKey)) {
|
|
73
|
+
crossTasks.push({ key, libraryName: mapping.libraryName, query: crossQuery });
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
await pMap(crossTasks, async ({ key, libraryName, query }) => {
|
|
79
|
+
const docs = await resolveAndFetch(libraryName, query);
|
|
80
|
+
if (docs) {
|
|
81
|
+
crossDocs[key] = docs;
|
|
82
|
+
snippetCount++;
|
|
83
|
+
}
|
|
84
|
+
}, 5);
|
|
85
|
+
// Track techs with no mapping at all
|
|
86
|
+
for (const tech of techs) {
|
|
87
|
+
if (!(tech in TECH_QUERIES) && !failedTechs.includes(tech)) {
|
|
88
|
+
failedTechs.push(tech);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return {
|
|
92
|
+
techDocs,
|
|
93
|
+
crossDocs,
|
|
94
|
+
metadata: {
|
|
95
|
+
techCount: Object.keys(techDocs).length,
|
|
96
|
+
snippetCount,
|
|
97
|
+
failedTechs,
|
|
98
|
+
...(failedTechs.length > 0 && {
|
|
99
|
+
warning: `No documentation found for: ${failedTechs.join(", ")}`,
|
|
100
|
+
}),
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=fetch-all.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch-all.js","sourceRoot":"","sources":["../../src/context7/fetch-all.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAa5C,0DAA0D;AAC1D,SAAS,YAAY,CAAC,QAAsB;IAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC;IAC5B,MAAM,MAAM,GAAuB;QACjC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,SAAS;QAC7C,iBAAiB,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU;QAC5D,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM;QACtD,cAAc;KACf,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED,0CAA0C;AAC1C,KAAK,UAAU,IAAI,CACjB,KAAU,EACV,EAA2B,EAC3B,WAAmB;IAEnB,MAAM,OAAO,GAAQ,EAAE,CAAC;IACxB,IAAI,KAAK,GAAG,CAAC,CAAC;IAEd,KAAK,UAAU,IAAI;QACjB,OAAO,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,KAAK,EAAE,CAAC;YAClB,OAAO,CAAC,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1F,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC3B,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,QAAsB;IACvD,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;IACrC,MAAM,QAAQ,GAA2B,EAAE,CAAC;IAC5C,MAAM,SAAS,GAA2B,EAAE,CAAC;IAC7C,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,sBAAsB;IACtB,MAAM,SAAS,GAAG,KAAK;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,YAAY,CAAC;SAChC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACd,IAAI;QACJ,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC;KAC1B,CAAC,CAAC,CAAC;IAEN,MAAM,IAAI,CACR,SAAS,EACT,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE;QACxB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QAClE,IAAI,IAAI,EAAE,CAAC;YACT,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACtB,YAAY,EAAE,CAAC;QACjB,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EACD,CAAC,CACF,CAAC;IAEF,wBAAwB;IACxB,MAAM,UAAU,GAA0D,EAAE,CAAC;IAE7E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,OAAO,EAAE,YAAY;YAAE,SAAS;QAErC,KAAK,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3E,IAAI,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC9B,MAAM,GAAG,GAAG,GAAG,IAAI,IAAI,SAAS,EAAE,CAAC;gBACnC,MAAM,UAAU,GAAG,GAAG,SAAS,IAAI,IAAI,EAAE,CAAC;gBAC1C,IAAI,CAAC,CAAC,UAAU,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,EAAE,CAAC;oBAChF,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;gBAChF,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,CACR,UAAU,EACV,KAAK,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE;QACpC,MAAM,IAAI,GAAG,MAAM,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QACvD,IAAI,IAAI,EAAE,CAAC;YACT,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACtB,YAAY,EAAE,CAAC;QACjB,CAAC;IACH,CAAC,EACD,CAAC,CACF,CAAC;IAEF,qCAAqC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,CAAC,IAAI,IAAI,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;QACR,SAAS;QACT,QAAQ,EAAE;YACR,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM;YACvC,YAAY;YACZ,WAAW;YACX,GAAG,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI;gBAC5B,OAAO,EAAE,+BAA+B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;aACjE,CAAC;SACH;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export { searchLibrary, fetchDocs, resolveAndFetch } from "./client.js";
|
|
2
|
+
export { TECH_QUERIES } from "./queries.js";
|
|
3
|
+
export { fetchAllDocs } from "./fetch-all.js";
|
|
4
|
+
export type { LibrarySearchResult, DocSnippet } from "./client.js";
|
|
5
|
+
export type { TechQuery } from "./queries.js";
|
|
6
|
+
export type { FetchedDocs } from "./fetch-all.js";
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/context7/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EAAE,mBAAmB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACnE,YAAY,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/context7/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface TechQuery {
|
|
2
|
+
libraryName: string;
|
|
3
|
+
queries: string[];
|
|
4
|
+
crossQueries?: Record<string, string>;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Maps detected tech identifiers to Context7 library names and relevant queries.
|
|
8
|
+
* This is NOT hardcoded rules — just "what to ask" for each technology.
|
|
9
|
+
*/
|
|
10
|
+
export declare const TECH_QUERIES: Record<string, TechQuery>;
|
|
11
|
+
//# sourceMappingURL=queries.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queries.d.ts","sourceRoot":"","sources":["../../src/context7/queries.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACvC;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CA8OlD,CAAC"}
|