| Crates.io | adof |
| lib.rs | adof |
| version | 1.0.0 |
| created_at | 2024-11-09 11:58:46.857144+00 |
| updated_at | 2024-11-14 09:17:37.263211+00 |
| description | ADOF - An Automatic Dot-files Organizer Friend |
| homepage | https://github.com/fnabinash/adof |
| repository | https://github.com/fnabinash/adof |
| max_upload_size | |
| id | 1442001 |
| size | 159,363 |
Adof helps you seamlessly keep your system configurations in sync, making your setup truly portable and shareable. With git integration, customizable tracking, and a deployed feature, Adof is your ultimate companion for maintaining and sharing configurations with ease.
For demo checkout this repo -> https://github.com/fnabinash/test-adof.git
![]() |
![]() |
![]() |
![]() |

We build fast, reliable and easy-to-use tools for developers.
If you love Adof, you are most likely going to love my future projects (obviously going to be free and open source for everyone), but those are going to be more focused on enterprise or professional use cases. Already, planned out 7 projects that will help you in your different stages of development. So, I need your help to build those projects. Of course, your help never going to be free, you will get your exclusive benefits after the Org is launched.
As everything going to be free and open-source, I am planning to sustain this org on sponsorships. So, the plan is simple after the org launch it going to have different tiers but as an individual, you will get two tiers one is tech enthusiast and the other is tech influencer.
If you have some suggestions or need more info please share them with me on Twitter (https://x.com/fnabinash) or email me at fnabiansh@gmail.com.
Install Adof using Cargo from crates.io:
cargo install adof
To build adof manually, clone the repository and compile it with Cargo:
git clone https://github.com/fnabinash/adof.git
cargo install --path adof/
adof whatis <command-name> - If you do not know which command what does then you use the whatis command to get detailed info about any command.adof whatis init give you detailed info about init command.initadof init quickly, open the fzf window and list the files that match a specific pattern(you can improve the pattern by checking out pattern.rs and make a PR), then use the tab to select multiple files and when ready hit enter..adof/ dir.add command.addadof add you can add any files you want to keep track of and back of.fzf window, and you can use tab to select multiple files.removeadof remove command.fzf window and you can use tab to select file that you want to remove.link <repo-url>unlinkadof unlink does what it said, it unlinks the remote repo with your local repo.push.adof dir and run git push to push the changes to GitHub, you can run adof push where ever you are in your terminal.updateadof update it will fetch the changes in the files you are keeping track of and make the changes, stage those and commit it.adof update --check or adof update -c, sometimes you just want to check the files that have changes to make, then run any of these commands it will list all the files that have changes but not backed up but it does not update the changes. To update, you have to run adof update.auto-update command which periodically checks for changes if there are any changes it automatically backs up the changes.deploy <repo-url>adof deploy giithu-rul -c commit-id - it will copy all the files from that GitHub repo from that commit id and place it where it is meant to be.adof deploy github-url - it does the same thing but from the latest commit.adof deploy -c commit-id - it looks for the commit in your local repo and copies the file from that instance to the actual file location. For example, if you made some changes to your config and then realise you do not like it then you can run adof log to list all the commits and copy the commit id then run the adof deploy -c ccommit-id then your file is set to that instance.adof deploy - it deploys the latest commit instance from your local repo.uninstalllog--remote or -r and the parameter is number less than 100.log command is used to list the git commit or logs in your .adof folder history.adof log - It list all the commits that you have not pushed to remote means the changes that are present in your local repo but not in the remote repo. If your local and remote are up to date then it lists the last 5 comits.adof log [number] - It lists the last [number] commits present in your local repo.adof log -r or adof log --remote - It lists the last 5 commits from your remote repo, If you have not configured your remote repo with local then it will list the last 5 commits from your local repo.adof log -r [number] or adof log --remote [number] - It lists the last [number] commits from your remote repo, if not configured then it lists from the local repo.listIn addition to core commands, Adof offers these valuable features:
Enhanced Commit Messages: Automatically generated commit messages with detailed information on the day, date, time, and number of files and lines changed, including specific filenames and line numbers. This helps you easily track what has changed.
Automated README Generation: For users who wish to share their dotfiles on GitHub, adof can automatically generate a README.md file containing essential information about the repository contents and usage instructions. The README can be customized to add more personal notes, but by default, it includes everything a user needs to get started.
Error Handling: Provides detailed error messages and logging to help identify and resolve issues quickly, enhancing stability and ease of use.
Thank you for choosing adof for your configuration management needs! We look forward to your feedback and contributions as we continue to make adof even better.