# Bendis
[](https://crates.io/crates/bendis)
[](https://crates.io/crates/bendis)
[](https://github.com/albertc9/Bendis)
[](https://code.ihep.ac.cn/heris/bendis)
A patch tool for Bender to work better in the HERIS project.
> Author: Albert L. Cheung, IHEP
> Email: albert.cheung@cern.ch
---
### Links
- **Crates.io:** https://crates.io/crates/bendis
- **GitHub:** https://github.com/albertc9/Bendis
- **GitLab (IHEP internal):** https://code.ihep.ac.cn/heris/bendis
---
### Features
- **URL Conversion**: Automatically converts GitHub URLs to IHEP internal Git URLs
- **Seamless Integration**: Works as a drop-in replacement for Bender
- **Fast**: Written in Rust for optimal performance
---
### Installation
```bash
cargo install bendis
```
---
### Usage
#### Initialize a project
```bash
bendis init
```
Creates a `.bendis/` directory with blank `Bender.yml` and `.bender.yml`.
#### Update dependencies
When using Bendis, **only edit the configuration files inside `.bendis/`**.
The copies in the project root will be overwritten.
Update dependencies with:
```bash
bendis update
```
#### Other commands
All other commands are passed through to Bender transparently.
---
### File Structure
```
project/
├── .bendis/ # Bendis working directory
│ ├── Bender.yml # Original config (GitHub URLs)
│ ├── .bender.yml # Original overrides
│ └── Bender.lock # Generated by bender
├── Bender.yml # Converted config (copied from .bendis/)
├── .bender.yml # Converted overrides (IHEP URLs)
├── Bender.lock # Final lock file
└── .bender/ # Dependencies directory
```