Commit Graph

665 Commits

Author SHA1 Message Date
github-actions[bot] 61e7fcdc76 chore(release): version packages (#1671)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
ctx7@0.2.3
2026-02-03 17:36:58 +03:00
Fahreddin Özcan 098165649f feat(cli): use backend suggest endpoint (#1667)
* discover

* feat(cli): use backend suggest endpoint for skill suggestions

Replace client-side NOTABLE_SET filtering with a single POST request to
/api/v2/skills/suggest. The backend now handles SKIP_SET filtering,
vector search, install count enrichment, and ranking.

- Remove NOTABLE_SET/SKIP_SET from deps.ts
- Add suggestSkills API function
- Add SuggestGroup and SuggestResponse types
- Simplify suggestCommand to use backend response

* feat(cli): send auth token with suggest request

Pass the user's OAuth token (if logged in) when calling the suggest
endpoint so the request counts against their quota.

* chore: add changeset

* refactor: simplify suggest API usage

- Remove ecosystem field from deps detection
- Use flat skills array from backend instead of groups
- Simplify display logic

* fix: use white color for Relevant value in metadata panel

* refactor: rename DiscoverOptions to SuggestOptions
2026-02-03 17:28:29 +03:00
Fahreddin Özcan ee5b457de0 feat: add Context7 plugin for Cursor marketplace (#1659)
* feat: add Context7 plugin for Cursor marketplace

Adds a Cursor plugin with MCP server (OAuth), rules, skills, and agent
for up-to-date library documentation lookup via Context7.

* chore: update Cursor plugin author to Context7
2026-02-02 05:52:43 -08:00
github-actions[bot] d27c85982b chore(release): version packages (#1657)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
ctx7@0.2.2
2026-02-02 15:49:48 +03:00
Fahreddin Özcan 6328ed154e feat(cli): improve skill search display and revamp generate UX (#1618)
* feat(cli): add trust score column and improve skill search display

Add trust score and installs columns with aligned headers to skill search results.
Trust scores use yellow/red color coding (0-10 scale).

* chore: add changeset for trust score column

* feat(cli): auto-login when generate requires authentication

Extract login flow into reusable `performLogin()` function.
Generate command now triggers OAuth login automatically instead of
showing an error asking the user to run 'ctx7 login' manually.

* feat(cli): show recommended option first in generate questions

Reorder options so the recommended answer is always displayed at
position 1 with cursor starting on it, regardless of original index.

* feat(cli): open generated skill in default editor instead of inline view

Replace inline terminal "View full skill" with "View skill" that opens
the content in the system default editor ($EDITOR or 'open' fallback)
via a temp file.

* feat(cli): revamp generate UX with improved copy and examples

Update skill generation flow:
- Show do/don't examples (✕/✓) for skill descriptions
- Rename "libraries" to "sources" in user-facing text
- Add explanation of what sources are used for
- Update spinner text for questions and generation steps
- Remove unused libraryNames variable

* chore: update changeset to include generate UX changes

* fix(cli): show dash placeholder for missing installs and trust scores

* feat(cli): add external link icon to terminal hyperlinks and show dash for empty fields

* feat(cli): improve view/edit skill with persistent edits and preview cleanup

Save preview files to ~/.context7/previews/ instead of OS temp dir, read
edits back before install, and clean up preview files on exit.

* feat(cli): improve generate UX copy and flow polish

Update skill generation flow with clearer descriptions, better spinner
messages, and improved finalize menu options.

* fix(cli): fix stale editor preview, install count side effect, and editor spawn

- Reset previewFileWritten between regeneration cycles so editor shows fresh content
- Add placeholder param to formatInstallCount to avoid showing "-" in list command
- Replace execFile with spawn for proper $EDITOR support (terminal editors, args)
- Move trustScore to Skill base type and remove redundant installCount from SkillSearchResult
2026-02-02 15:46:34 +03:00
github-actions[bot] 0d64230663 chore(release): version packages (#1609)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
ctx7@0.2.1
2026-01-29 20:31:39 +03:00
Fahreddin Özcan 85b905ec70 feat(cli): add telemetry tracking for CLI usage metrics (#1608)
* feat(cli): add telemetry tracking for commands, searches, and generation events

* chore: add changeset for CLI telemetry
2026-01-29 20:29:56 +03:00
Fahreddin Özcan 2f7cc42ce3 feat(cli): show exact install counts and sort by installs in install command (#1603)
Display exact install count numbers instead of rounded values (e.g. 41 instead of 40+), sort skills by install count descending in the install command, and show "installs" column header inline with the prompt.
2026-01-29 20:24:24 +03:00
github-actions[bot] c21081c71a chore(release): version packages (#1402)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
ctx7@0.2.0 @upstash/context7-tools-ai-sdk@0.2.2 @upstash/context7-mcp@2.1.1
2026-01-29 11:49:03 +03:00
Fahreddin Özcan 8ba484cdc8 feat(cli): add interactive skill generation wizard (#1572)
* generate skills

* feat: add generate questions methods

* feat(cli): improve skill generation UX with streaming feedback

- Add real-time query results display during generation
- Collapse answered questions to show summary
- Separate query phase spinner from generation spinner
- Add skill preview with expand option
- Remove legacy generateSkill function
- Clean up redundant comments

* feat(cli): improve skill generation UX with streaming feedback

- Add real-time query results display during generation
- Collapse answered questions to show summary
- Separate query phase spinner from generation spinner
- Add skill preview with expand option
- Remove legacy generateSkill function
- Clean up redundant comments

* feat(cli): optimize feedback regeneration and clean up UI

- Add previousContent to StructuredGenerateInput for efficient feedback
- Remove redundant "Selected X libraries" log message
- Consolidate menu options (remove "Regenerate completely")
- Update feedback prompt with skip hint

* feat(cli): add skill generation with quota and improved display

- Add skill quota checking before generation
- Fix tool result display timing issue
- Show library project IDs in selection to avoid confusion
- Improve generation spinner with query log display

* docs(cli): add 0.2.0 changelog entry

* fix(cli): switch userinfo endpoint from dev to production

* docs(cli): add skill generation and auth sections to README

* fix(sdk): increase timeout for sequential search test

* chore(cli): replace manual changelog with changeset for skill generation
2026-01-29 11:46:45 +03:00
Fahreddin Özcan aacfd3165a feat(cli): add OAuth 2.0 support with login, whoami and logout commands (#1573)
* feat: add oauth 2.0 support with login,whoami and logout commands

* ci: lockfile

* fix: address security and port issues in OAuth flow

- Fix XSS vulnerability by escaping HTML in error page messages
- Change callback port from 9876 to 52417 (high ephemeral range, less likely to conflict)

* refactor: clean up auth code and remove unnecessary comments

- Remove obvious comments that duplicate function names
- Extract duplicate expiration display logic into printTokenExpiration helper
- Simplify logoutCommand (remove async, inline condition)
- Remove unused saved_at field from token storage

* fix: address auth bugs and remove unused code

Bug fixes:
- whoami now shows "Session expired" instead of misleading "Logged in" when token is invalid
- expires_at calculation preserves existing value instead of overwriting
- Login check now allows re-login when tokens are expired with no refresh token

Simplifications:
- Remove unused getAccessToken and refreshAccessToken functions
- Simplify printTokenExpiration (remove unused showExpired parameter)

* refactor: improve whoami output formatting

- Align labels using padEnd for consistent output
- Remove expiration time display from whoami
- Show login status first, then fetch user details

* chore: add changeset for OAuth feature
2026-01-28 14:36:39 +03:00
mamaruo 7d7e042795 docs: updated the Chinese README and Qwen Code installation guide (#1553)
Co-authored-by: mamaruo <37480168+mamaruo@users.noreply.github.com>
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-01-28 14:33:37 +03:00
Fahreddin Özcan 7ca9720ccf Revert "fix: use stateless pattern for HTTP transport to prevent connection leaks (#1471)" (#1495)
This reverts commit 8a2ad1aba4.
2026-01-28 14:32:41 +03:00
Fahreddin Özcan a0bb5a5705 feat: improve skill selection UX with metadata panel and install counts (#1563)
* feat: enumerate search results

* feat: select hovered item on Enter in checkbox prompts

* refactor: improve types in prompts.ts

* feat: improve skill list UI with metadata panel and install counts

* chore: update version and changelog

* feat: add consistent green highlighting to IDE/scope prompts

Apply green highlight theme to all selection prompts in ide.ts
for visual consistency with skill selection prompts.
2026-01-27 15:57:04 +03:00
Fahreddin Özcan 572c3ca98b feat(cli): simplify skills list to show all detected IDEs without prompts (#1551) 2026-01-27 12:53:58 +03:00
Fahreddin Özcan fd27e29340 CTX7-1141: don't loop paginated results (#1538)
* feat: dont loop paginated results

* chore: add changelog.md

* chore: bump version to sync

* chore: add changeset
2026-01-27 12:32:59 +03:00
Fahreddin Özcan 88242f5b47 docs: library verification docs with imgs (#1548) 2026-01-26 09:27:44 -08:00
luo jiyin e412350939 fix: typo in retry count comment (#1540) 2026-01-26 11:50:14 +03:00
Will 50fd7d28fd Fix i18n README files for proper markdown rendering (#1527) 2026-01-25 13:39:50 +03:00
Fahreddin Özcan ddf9cdbbc7 feat: prompt injection error (#1536)
* feat: prompt injection error

* revert logs
2026-01-24 14:26:42 -08:00
Fahreddin Özcan 89b8bf5285 feat: ide confirmation (#1525) 2026-01-22 12:54:57 -08:00
Fahreddin Özcan 7b41f39fb7 fix: use get single skill endpoint (#1522)
* fix: use get single skill endpoint

* remove unnecessary type
2026-01-22 23:14:31 +03:00
enesakar 33bfbcdb9b cli and skills docs 2026-01-22 09:56:09 -08:00
Fahreddin Özcan 04b7b395db feat: add installation count metric collection (#1523) 2026-01-22 16:54:23 +03:00
Fahreddin Özcan 1fbd3d906c feat: add skills registry CLI for managing AI coding agent skills (#1505)
* feat: add skills cli

* chore: cleanup comments

* feat: update commands with new apis

* chore: remove unnecessary deps

* chore: update aliases and package name

* feat: remove /owner/repo/skill convention

* fix: cleanup, path and param handling

* feat(cli): multi-keyword search and Claude symlink priority

- Support multi-keyword search: `ctx7 skills search react hooks`
- Prioritize Claude to receive original files when installing to multiple IDEs

* refactor(cli): rename project to repository, reorder options

- Rename "project" argument to "repository" in help text
- Reorder options: --all and --global first, then IDE options
- Simplify IDE option descriptions to show client name and path
- Update internal variable names (project → repo)

* refactor(cli): flatten search results display

- Remove grouping by repository in search results
- Remove "Select all from repo" option
- Show each skill on single line with repo name in parentheses
- Simplify selection handling

* docs(cli): improve main help output with detailed examples

- Add section headers for commands and examples
- Include npx prefix in all example commands
- Group examples by use case (search, install, manage)
- Add comments explaining each example group
- Add link to context7.com

* refactor(cli): simplify banner, add examples to --help

Move detailed examples to --help output using addHelpText().
Simplify the no-argument banner to show only quick start examples.

* chore: remove unnecessary package
2026-01-21 12:25:04 -08:00
enesakar 27a3338587 update docs 2026-01-17 12:17:31 -08:00
Enes Gules 8a2ad1aba4 fix: use stateless pattern for HTTP transport to prevent connection leaks (#1471)
* fix: use stateless pattern for HTTP transport to prevent connection leaks

* remove comments

* increase timeout

* changeset

---------

Co-authored-by: Fahreddin Özcan <ozcanfahrettinn@gmail.com>
2026-01-16 20:25:03 +03:00
Fahreddin Özcan e3146aa3e5 docs(CTX7-1058): improve oauth docs steps (#1448) 2026-01-15 16:48:01 +03:00
enesakar 3299ad311a docs menu update 2026-01-12 14:45:23 -08:00
Fahreddin Özcan b5942ddade docs: fix claude installation guides with correct args location (#1438) 2026-01-13 01:01:05 +03:00
Fahreddin Özcan 51996f2489 docs(CTX7-1040): add OpenCode to clients list (#1432)
* docs(CTX7-1040): add OpenCode to clients list

* remove api key warnign
2026-01-12 18:12:19 +03:00
Fahreddin Özcan 35611d5075 docs(CTX7-1039): fix broken links (#1423) 2026-01-11 23:22:51 +03:00
Fahreddin Özcan 3553cb2023 fix: claude code plugin name and details image (#1417)
* fix: claude code plugin name and details image

* fix: claude code plugin name and details image

* update skill prompt

* fix: update plugin.json name and improve agent/skill instructions

* fix: update plugin README with correct install commands

* fix: remove max 3 calls warning
2026-01-10 22:24:20 +03:00
Fahreddin Özcan b41e7c8482 docs: add dedicated Cursor and Claude Code client guides with plugin marketplace (#1385)
* feat(plugins): add Context7 plugin for Claude Code

Add the context7 plugin with:
- MCP server configuration (.mcp.json)
- Plugin metadata (.claude-plugin/plugin.json)
- docs-researcher agent for focused documentation lookups
- /context7:docs command for manual queries
- documentation-lookup skill for auto-triggering

* docs(clients): add dedicated Cursor and Claude Code guides

Add comprehensive client-specific documentation:

Cursor:
- One-click and manual installation (remote/local)
- Rules setup via settings and .cursorrules
- Library IDs, version pinning, example prompts
- Tips for Composer integration

Claude Code:
- CLI installation commands
- Plugin installation (skills, agents, commands)
- docs-researcher agent usage
- /context7:docs command reference
- CLAUDE.md rules setup

Uses Mintlify components: Tabs, Steps, Cards, Accordions

* docs: add Clients navigation and cross-references

- Add "Clients" group to docs.json navigation
- Add note in all-clients.mdx linking to dedicated guides

* update warnings

* docs: redesign claude client docs

* docs: update cursor docs with images

* docs: update cursor installation ui

* feat: add claude marketplace docs

* update marketplace

* update mp-plugin name

* finalize cc plugin installation

* update using context7 section

* feat: make claude code oauth default
2026-01-10 10:47:09 -08:00
Enes Gules 84c546208c Reorder clients list (#1411) 2026-01-10 20:13:41 +03:00
Fahreddin Özcan 8edda6b070 docs: remove invalid oauth warning (#1407) 2026-01-09 12:23:03 -08:00
Fahreddin Özcan f0e42a9099 fix(docs): reoder claude installation guide (#1405)
* fix(docs): reoder claude installation guide

* fix(docs): reoder claude installation guide
2026-01-09 09:54:50 -08:00
dependabot[bot] 02148ff13c chore(deps): bump zod from 3.25.76 to 4.3.4 (#1349)
* chore(deps): bump zod from 3.25.76 to 4.3.4

Bumps [zod](https://github.com/colinhacks/zod) from 3.25.76 to 4.3.4.
- [Release notes](https://github.com/colinhacks/zod/releases)
- [Commits](https://github.com/colinhacks/zod/compare/v3.25.76...v4.3.4)

---
updated-dependencies:
- dependency-name: zod
  dependency-version: 4.3.4
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>

* chore: bump zod for mcp and tools-ai-sdk

* ci: update test .env source

* chore: match zod versions

* chore: add changeset

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Fahreddin Özcan <ozcanfahrettinn@gmail.com>
2026-01-09 12:46:43 +03:00
Fahreddin Özcan f0ee85d0c7 CTX7-879: Context7 Vercel AI SDK Docs (#1155)
* feat: context7 vercel ai sdk tools package

* ci: remove master target condition on test action

* ci: manual actions trigger for test

* ci: always run all tests

* update tests and imports

* ci: typecheck command

* fix: tests

* docs: add readme

* update folder structure and tool descriptions

* docs: context7-ai-sdk

* tests: fix test env vars

* ci: bump pnpm version

* update ai sdk step count api

* Add stopWhen to docstring examples

* update tests

* update prompt name

* update context7 agent name

* update tool description var to description

* make context7agent config optional

* ci: add changeset

* make context7-sdk peer deps

* update pnpm-lock.yaml

* update package name to @upstash/context7-tools-ai-sdk

* remove check workflow

* update pnpm lock

* make the agent a class instead of function

* replace all name instances

* add agent generate test

* update docs with latest changes and updated veai sdk examples

* finalize docs

* docs: remove duplicate H1 headers from AI SDK documentation pages

* simplify agent config

* fix refs

* remove changeset

* feat: update diagram with query param

* fix: address reviews

---------

Co-authored-by: enesgules <abdullah.enes.gules@gmail.com>
2026-01-08 21:15:35 +03:00
github-actions[bot] e5ccf1998d chore(release): version packages (#1383)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@upstash/context7-tools-ai-sdk@0.2.1 @upstash/context7-mcp@2.1.0
2026-01-08 20:32:06 +03:00
Fahreddin Özcan 1633a79f5b chore: update oauth readme (#1398) 2026-01-08 20:29:10 +03:00
Fahreddin Özcan ef82f3057c CTX7-884: OAuth Support for MCP (#1176)
Co-authored-by: enesgules <abdullah.enes.gules@gmail.com>
2026-01-08 20:17:19 +03:00
Fahreddin Özcan 07a53dc940 chore(deps): upgrade ai to v6 and @ai-sdk/amazon-bedrock to v4 (#1376) 2026-01-07 14:26:40 +03:00
Fahreddin Özcan 3b4c18e929 chore(release): version packages (#1381) @upstash/context7-tools-ai-sdk@0.2.0 @upstash/context7-sdk@0.3.0 2026-01-07 13:53:44 +03:00
Fahreddin Özcan 9412e62487 feat(sdk): update default format (#1377)
* feat(sdk): update default format

* chore: add changeset

* chore(release): revert version
2026-01-07 13:37:31 +03:00
dependabot[bot] d1252b75df chore(deps-dev): bump @types/node from 22.19.1 to 25.0.3 (#1347)
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.19.1 to 25.0.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 25.0.3
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Fahreddin Özcan <ozcanfahrettinn@gmail.com>
2026-01-07 11:31:57 +03:00
이동현 4789e1eb26 docs(i18n): synchronize README.ko.md with README.md (#1374) 2026-01-07 10:37:26 +03:00
github-actions[bot] 01fa67e926 chore(release): version packages (#1365)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
@upstash/context7-tools-ai-sdk@1.0.0 @upstash/context7-sdk@0.2.0
2026-01-07 10:36:37 +03:00
Fahreddin Özcan b3cd38a32c CTX7-982: Update Context7 SDK with API v3 (#1335)
* feat: update sdk with API v3

* feat: simplify sdk types

* feat: simplify return types and fields

* fmt

* chore: seperate type and utils locations

* chore: update sdk readme

* docs: update sdk docs with new updates

* fix: update vitest config

* chores

* update tools-ai-sdk package

* update tests with proper types

* feat: update tools-ai-sdk package tools

* chore: update tools-ai-sdk changeset

* update changesets
2026-01-05 17:34:51 +03:00
enesgules d0357fb3e3 fix: update mcpb identifier URL encoding in server.json 2026-01-05 17:21:37 +03:00