Commit Graph

672 Commits

Author SHA1 Message Date
github-actions[bot] 2be9193ed4 chore(release): version packages (#1774)
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
ctx7@0.2.4
2026-02-10 13:13:40 +03:00
Fahreddin Özcan 4663c15552 feat(cli): adopt .agents/skills as universal install target (#1730)
* feat(cli): adopt .agents/skills as universal install target

Install to .agents/skills/ by default as the shared standard directory.
Universal agents (Amp, Codex, OpenCode, Gemini CLI, GitHub Copilot) all
read from this path natively. Vendor-specific agents (Claude Code, Cursor,
Antigravity) get symlinks pointing back to .agents/skills/.

- Add "universal" as a first-class IDE type across all path maps
- Auto-detect .agents/ and vendor dirs: detected → confirm, nothing
  detected → checkbox picker with Universal pre-checked
- Update list/remove commands to check universal + vendor-specific dirs
- Update DEFAULT_CONFIG.defaultIde from "claude" to "universal"
- Show labeled install summary (Universal, Claude Code, etc.) with paths

* feat(cli): consolidate agent flags into single --universal option

Replace --codex, --opencode, and --amp flags with a single --universal flag that points to .agents/skills/. This simplifies the CLI interface since these agents all share the same installation path.

* refactor(cli): simplify IDE types and remove UNIVERSAL_AGENTS Set

- Simplify IDE type from 7 types to 4 (remove codex, opencode, amp)
- Remove UNIVERSAL_AGENTS Set and replace with direct equality checks
- Update documentation to add --universal flag examples throughout
- Consolidate Supported Clients table to show single Universal row

All universal agents (Amp, Codex, Gemini CLI, GitHub Copilot, OpenCode, etc.)
are now represented by the single "universal" type since they're functionally
identical and use the same .agents/skills/ directory.

* docs(skills): update CLI flags to use --universal

- Replace --codex, --opencode, --amp flags with single --universal flag
- Update all command examples (install, list, remove, suggest, generate)
- Consolidate Supported Clients table with Universal at top
- Reorder tables to prioritize Universal agents
2026-02-10 13:12:40 +03:00
enesgules 83c91b6885 docs: reorder add-mcp installation instructions in README 2026-02-10 09:26:56 +03:00
Andre Landgraf 1aa29f7bc5 docs: add add-mcp install snippet (#1707) 2026-02-09 15:09:27 +03:00
Fahreddin Özcan 6a35275309 fix(cursor-plugin): update logo to green icon SVG (#1744) 2026-02-07 23:06:12 +03:00
Fahreddin Özcan e49e41819f docs: add telemetry opt-out documentation (#1705)
Document how to disable CLI telemetry using the CTX7_TELEMETRY_DISABLED
environment variable in both the CLI README and skills documentation.
2026-02-05 22:50:40 +03:00
Fahreddin Özcan 56c3b94eda docs: expand skills documentation with CLI commands and features (#1670)
* docs: expand skills documentation with CLI commands and features

Add comprehensive documentation for the Context7 skills feature including:
- What skills are and why to use them
- Trust score system explanation (0-10 scale)
- Security features (prompt injection detection)
- Complete CLI command reference (install, search, list, info, remove)
- Skill generation workflow and authentication
- Supported clients table with directories
- SKILL.md file format specification
- Command shortcuts reference
- Troubleshooting section

* docs: add skills suggest command documentation

Document the new `ctx7 skills suggest` command that automatically
discovers relevant skills based on project dependencies (package.json,
requirements.txt, pyproject.toml). Also adds `ssg` shortcut alias.

* docs: improve skills examples and add npx prefix to commands

- Update popular skills table with better descriptions of what each skill does
- Add quick start commands after registry section
- Add npx prefix to all CLI examples for easier copy-paste
- Remove generation limits section

* fix: remove incorrect content
2026-02-04 11:17:29 +03:00
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