# 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_repo/
├── .bendis/ # Bendis working directory
│ ├── .bender/ # Bender initial cache folder (optional on Bendis config)
│ ├── Bender.yml # (*)The config you need to edit
│ ├── .bender.yml # (*)The overrides config you may need to edit
│ └── Bender.lock # Generated by bendis automatically
├── Bender.yml # Converted config, don't edit here
├── .bender.yml # Converted overrides (IHEP URLs), don't edit here
├── Bender.lock # Final lock file generated automatically
└── .bender/ # Dependencies directory generated automatically
```