https://github.com/prathamesh-shanbhag/add-dependabot
A CLI tool to add Dependabot configuration once dependencies are present.
https://github.com/prathamesh-shanbhag/add-dependabot
Last synced: 2 months ago
JSON representation
A CLI tool to add Dependabot configuration once dependencies are present.
- Host: GitHub
- URL: https://github.com/prathamesh-shanbhag/add-dependabot
- Owner: Prathamesh-Shanbhag
- License: mit
- Created: 2024-10-15T21:59:34.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-10-16T00:13:08.000Z (7 months ago)
- Last Synced: 2025-01-18T10:16:59.605Z (4 months ago)
- Language: JavaScript
- Size: 2.07 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.MD
- License: LICENSE
Awesome Lists containing this project
README
# add-dependabot
`add-dependabot` is an npm package that automatically adds a `dependabot.yml` configuration file to your repository if dependencies are detected in `package.json`. This allows Dependabot to keep your npm dependencies up-to-date with minimal effort.
## Features
- Automatically detects dependencies in `package.json` and creates a `.github/dependabot.yml` file.
- Sets up a customizable update schedule for npm dependencies.
- Skips configuration if no dependencies are found in the project.
- Offers user-friendly prompts to configure Dependabot using checkboxes.
- Supports command-line flags for specifying update intervals and modes.## Usage (To use in repo without adding to package.json)
Once installed, run the following command in the root directory of your project:
```bash
npx add-dependabot
```This will:
1. Check if your `package.json` contains any dependencies.
2. If dependencies are found, it creates a `.github/dependabot.yml` file based on user input.
3. If the file already exists, it skips creating a new one and logs a message.### Command-Line Flags
You can also use command-line flags to specify the update interval and mode:
- **Mode Options**:
- `--local`: Creates a direct `dependabot.yml` file in the `.github` directory.
- `--action`: Sets up a GitHub Actions workflow for Dependabot updates.- **Interval Options**:
- `--daily`: Sets Dependabot to check for updates daily.
- `--weekly`: Sets Dependabot to check for updates weekly (default).
- `--monthly`: Sets Dependabot to check for updates monthly.Example command with flags:
```bash
npx add-dependabot --mode local --interval weekly
```## Installation
To install `add-dependabot` **globally**, use the following command:
```bash
npm install -g add-dependabot
```Or add it to your **project** as a dev dependency:
```bash
npm install --save-dev add-dependabot
```## File Structure
- `.github/`
- `dependabot.yml` (if applicable)
- `workflows/`
- `dependabot-action.yml` (created by the script)## Example
A typical run might look like:
```bash
$ npx add-dependabot
Checking for dependencies...
Dependencies detected. Adding Dependabot configuration...
Dependabot configuration file created at .github/dependabot.yml
```If you use command-line flags:
```bash
$ npx add-dependabot --mode action --interval daily
Creating GitHub Actions workflow for checking Dependabot...
GitHub Actions workflow created at .github/workflows/dependabot.yml
```## Configuration
The generated `.github/dependabot.yml` file will look like this:
```yaml
version: 2
updates:
- package-ecosystem: 'npm'
directory: '/'
schedule:
interval: 'weekly' # Adjusts based on user input
```You can manually adjust the update schedule or other settings in the generated file.
## Troubleshooting
- **Dependabot configuration already exists:** If the `.github/dependabot.yml` file already exists, the package will not overwrite it. You can manually edit the file if you need to change the schedule or other settings.
- **No dependencies found:** If the script detects no dependencies in `package.json`, it will skip creating the configuration file.## Contributing
Contributions are welcome! Please feel free to contact me here - [GitHub](https://github.com/Prathamesh-Shanbhag) to submit a pull request or open an issue if you find a bug or have a feature request.
## License
This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.
## Author
Developed by [Prathamesh Shanbhag](https://www.prathamesh-shanbhag.com/).
### Key Additions
1. **Command-Line Flags Section**: Explained the options for the mode (`local` or `action`) and the intervals (`daily`, `weekly`, `monthly`).
2. **Example with Flags**: Provided an example of how to use the command with flags to clarify usage.## Codebase
1. [NPM](https://www.npmjs.com/package/add-dependabot).
2. [Github](https://github.com/Prathamesh-Shanbhag/add-dependabot).