dependabot
Guides in configuring and managing GitHub Dependabot for dependency and security updates.
What it does
Dependabot is a GitHub tool that helps keep your project's code libraries (dependencies) up-to-date and secure. It can alert you about security issues and automatically create updates.
When to use it
- ✓When you want to be notified about dependencies with security flaws.
- ✓To automatically update old libraries to newer versions.
- ✓To organize how dependency updates are handled in your project.
Example of what to ask your AI
“How do I configure Dependabot to update my Node.js dependencies weekly?”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
You configure Dependabot in a file named `dependabot.yml` at the root of your project. In this file, you tell Dependabot which types of libraries (like npm, pip, Docker) it should monitor, where to find them, and how often it should check for updates.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add github/awesome-copilot --skill dependabotOr download just the file:
curl -L https://raw.githubusercontent.com/github/awesome-copilot/main/skills/dependabot/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Dependabot Configuration & Management
Overview
Dependabot is GitHub's built-in dependency management tool with three core capabilities:
- Dependabot Alerts — Notify when dependencies have known vulnerabilities (CVEs)
- Dependabot Security Updates — Auto-create PRs to fix vulnerable dependencies
- Dependabot Version Updates — Auto-create PRs to keep dependencies current
All configuration lives in a single file: .github/dependabot.yml on the default branch. GitHub does not support multiple dependabot.yml files per repository.
Configuration Workflow
Follow this process when creating or optimizing a dependabot.yml:
Step 1: Detect All Ecosystems
Scan the repository for dependency manifests. Look for:
| Ecosystem | YAML Value | Manifest Files |
|---|---|---|
| npm/pnpm/yarn | npm |
package.json, package-lock.json, pnpm-lock.yaml, yarn.lock |
| pip/pipenv/poetry | pip |
requirements.txt, Pipfile, pyproject.toml, setup.py |
| uv | uv |
pyproject.toml, uv.lock |
| Docker | docker |
Dockerfile |
| Docker Compose | docker-compose |
docker-compose.yml |
| GitHub Actions | github-actions |
.github/workflows/*.yml |
| Go modules | gomod |
go.mod |
| Bundler (Ruby) | bundler |
Gemfile |
| Cargo (Rust) | cargo |
Cargo.toml |
| Composer (PHP) | composer |
composer.json |
| NuGet (.NET) | nuget |
*.csproj, packages.config |
| .NET SDK | dotnet-sdk |
global.json |
| Maven (Java) | maven |
pom.xml |
| Gradle (Java) | gradle |
build.gradle |
| Terraform | terraform |
*.tf |
| OpenTofu | opentofu |
*.tf |
| Helm | helm |
Chart.yaml |
| Hex (Elixir) | mix |
mix.exs |
| Swift | swift |
Package.swift |
| Pub (Dart) | pub |
pubspec.yaml |
| Bun | bun |
bun.lockb |
| Dev Containers | devcontainers |
devcontainer.json |
| Git Submodules | gitsubmodule |
.gitmodules |
| Pre-commit | pre-commit |
.pre-commit-config.yaml |
Notes:
- pnpm and yarn both use the
npmecosystem value. - Prefer
uvecosystem value whenuv.lockis present; otherwise usepip.
Step 2: Map Directory Locations
For each ecosystem, identify where manifests live. Use directories (plural) with glob patterns for monorepos:
directories:
- "/" # root
- "/apps/*" # all app subdirs
- "/packages/*" # all package subdirs
- "/lib-*" # dirs starting with lib-
- "**/*" # recursive (all subdirs)
Important: directory (singular) does NOT support globs. Use directories (plural) for wildcards.
Step 3: Configure Each Ecosystem Entry
Every entry needs at minimum:
- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
Step 4: Optimize with Grouping, Labels, and Scheduling
See sections below for each optimization technique.
Monorepo Strategies
Glob Patterns for Workspace Coverage
For monorepos with many packages, use glob patterns to avoid listing each directory:
- package-ecosystem: "npm"
directories:
- "/"
- "/apps/*"
- "/packages/*"
- "/services/*"
schedule:
interval: "weekly"
Cross-Directory Grouping
Use group-by: dependency-name to create a single PR when the same dependency updates across multiple directories:
groups:
monorepo-deps:
group-by: dependency-name
This creates one PR per dependency across all specified directories, reducing CI costs and review burden.
Limitations:
- All directories must use the same package ecosystem
- Applies to version updates only
- Incompatible version constraints create separate PRs
Standalone Packages Outside Workspaces
If a directory has its own lockfile and is NOT part of the workspace (e.g., scripts in .github/), create a separate ecosystem entry for it.
Dependency Grouping
Reduce PR noise by grouping related dependencies into single PRs.
By Dependency Type
groups:
dev-dependencies:
dependency-type: "development"
update-types: ["minor", "patch"]
production-dependencies:
dependency-type: "production"
update-types: ["minor", "patch"]
By Name Pattern
groups:
angular:
patterns: ["@angular*"]
update-types: ["minor", "patch"]
testing:
patterns: ["jest*", "@testing-library*", "ts-jest"]
For Security Updates
groups:
security-patches:
applies-to: security-updates
patterns: ["*"]
…
FAQ
What are 'Dependabot Alerts'?
These are notifications Dependabot sends when it detects that a library you are using has a known security vulnerability.
What are 'Dependabot Security Updates'?
These are automatic updates Dependabot creates to fix detected security vulnerabilities in your libraries.
What are 'Dependabot Version Updates'?
These are automatic updates Dependabot creates to keep your libraries current with the latest versions, even if there are no security issues.
Details
Original description by the author
Comprehensive guide for configuring and managing GitHub Dependabot. Use this skill when users ask about creating or optimizing dependabot.yml files, managing Dependabot pull requests, configuring dependency update strategies, setting up grouped updates, monorepo patterns, multi-ecosystem groups, security update configuration, auto-triage rules, or any GitHub Advanced Security (GHAS) supply chain s
repo: github/awesome-copilot
Popularity
- GitHub stars
- 40k
- Ranking position
- #5113
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
acquire-codebase-knowledge
Helps your agent understand and document an existing code project. It's useful for onboarding new people or getting an overview of the architecture.
github/awesome-copilot
acreadiness-assess
Enables your agent to assess a project's readiness for AI and generate a report. It's useful for understanding how well a project is prepared to use AI tools.
github/awesome-copilot
acreadiness-generate-instructions
Helps your agent create instructions for AI tools based on an assessment. It's useful for improving how AI interacts with code and closing identified gaps.
github/awesome-copilot
acreadiness-policy
Enables your agent to help define or apply policies for AI project assessment. It's useful for standardizing how projects are evaluated and ensuring compliance.
github/awesome-copilot
Similar skills
bun-runtime
Has your agent use Bun to run, organize, and test code. It helps choose Bun over other tools and migrate existing projects.
affaan-m/ECC
database-migrations
Helps your agent make safe changes to databases. It ensures changes can be undone and minimizes downtime.
affaan-m/ECC
deployment-patterns
Sets up deployment and CI/CD workflows, containerization, and rollback strategies to ensure safe releases.
affaan-m/ECC