docs/adding-libraries.mdx
Context7 allows you to add your favorite libraries and frameworks so developers always receive current, trustworthy documentation inside their coding environment.
If you're the library owner, you can claim your library on Context7 to unlock a web-based admin panel for managing configuration. This allows you to:
Learn more about claiming libraries →
context7.json and manage settings through the admin panel, or add configuration directly to your repositoryThe fastest way to add a library is through our web interface:
context7.jsonFor more control over how Context7 parses and presents your library, you can add a context7.json file to the root of your repository. This file works similarly to robots.txt and tells Context7 how to handle your project.
Here's an example context7.json file with all available options:
{
"$schema": "https://context7.com/schema/context7.json",
"projectTitle": "Upstash Ratelimit",
"description": "Ratelimiting library based on Upstash Redis",
"folders": [],
"excludeFolders": ["src"],
"excludeFiles": [],
"rules": ["Use Upstash Redis as a database", "Use single region set up"],
"previousVersions": [
{
"tag": "v1.2.1"
}
]
}
projectTitle (string): Suggested display name for your project in Context7. Only used when the LLM cannot generate a name with high confidence.
description (string): Suggested description for your project in Context7. Only used when the LLM cannot generate a description with high confidence.
branch (string): The name of the git branch to parse. If not provided, the default branch will be used.
folders (array): Specific folder paths to include when parsing. If empty, Context7 scans the entire repository. Root-level markdown files are always included.
excludeFolders (array): Patterns to exclude from documentation parsing. Supports simple names, paths, and glob patterns (see Exclusion Patterns below).
excludeFiles (array): Specific file names to exclude. Use only the filename, not the full path. Examples: CHANGELOG.md, license files, or non-documentation content.
rules (array): Best practices or important guidelines that coding agents should follow when using your library. These appear as recommendations in the documentation context provided to coding agents.
previousVersions (array): Information about previous versions of your library that should also be available in Context7.
tag: The Git tag or version identifierbranchVersions (array): Information about previous versions (branch-based) of your library that should also
be available in Context7.
branch: The Git branchThe excludeFolders parameter supports various pattern types for flexible exclusion:
"node_modules" - Excludes any folder named "node_modules" anywhere in the tree"./xyz" - Excludes the folder only at repository root (e.g., excludes /xyz but not /dist/xyz)"app-sdk/v2.3" - Excludes specific paths and everything under them"*.test", "temp*" - Excludes folders matching the pattern"**/dist", "docs/**/internal" - Advanced path matching"src/**/*.test.js" - Exclude test files in the src directoryExamples:
"node_modules" - Excludes all node_modules folders anywhere"./build" - Excludes the build folder only at root (not src/build)"app-sdk/v2.3" - Excludes the app-sdk/v2.3 path and all its contents"*.test" - Excludes folders ending with .test"docs/**/internal" - Excludes any "internal" folder under docs"**/temp" - Excludes any folder named "temp" anywhereIf you don't specify excludeFiles or excludeFolders in your context7.json file, Context7 uses these default patterns:
CHANGELOG.md, changelog.md, CHANGELOG.mdx, changelog.mdx
LICENSE.md, license.md
CODE_OF_CONDUCT.md, code_of_conduct.md
*archive*, *archived*, old, docs/old, *deprecated*, *legacy*
*previous*, *outdated*, *superseded*
i18n/zh*, i18n/es*, i18n/fr*, i18n/de*, i18n/ja*, i18n/ko*
i18n/ru*, i18n/pt*, i18n/it*, i18n/ar*, i18n/hi*, i18n/tr*
i18n/nl*, i18n/pl*, i18n/sv*, i18n/vi*, i18n/th*
zh-cn, zh-tw, zh-hk, zh-mo, zh-sg
These defaults help coding agents avoid irrelevant, outdated, and non-technical content.
If you encounter issues or need assistance adding your project, please open an issue or reach out to our community.