DotLink is a lightweight, robust command-line interface (CLI) tool built with Node.js to streamline the management of dotfiles by creating symbolic links from a central directory.
This project was developed as a practical demonstration of modern software engineering principles, showcasing expertise in JavaScript development, Linux environment management, and open-source packaging.
-
Modern JavaScript (Node.js):
Built entirely with modern asynchronous JavaScript, showcasing strong programming fundamentals. -
Cross-Platform:
Fully functional on macOS, Windows (via WSL), and native Linux environments. -
Packaged for npm:
Published to the npm registry for global installation, demonstrating proficiency with Node.js ecosystem and package management. -
Debian Package for Ubuntu:
(Goes above and beyond standard development)
A.debpackage was built using Docker within an isolated Ubuntu environment — proving hands-on experience with Linux systems and Debian packaging (dpkg-deb). -
Clean, Focused Design:
Adheres to the Unix philosophy of doing one thing well — managing symbolic links efficiently and reliably. -
Open Source:
Hosted on GitHub with clear documentation and an MIT license, demonstrating commitment to open-source best practices.
There are three ways to install DotLink — each demonstrating a different software distribution method.
The easiest and most portable way to install DotLink.
npm install -g @avgpt/dotlink
2. On Debian/Ubuntu (using the .deb package)
To showcase Linux packaging expertise, a .deb file is available for Debian-based systems.
Download the dotlink-1.0_amd64.deb file from the Releases section of this repository.
Install it using dpkg:
sudo dpkg -i dotlink-1.0_amd64.deb
3. From Source (for Developers)
If you want to contribute or modify the tool, install it directly from source:
# Clone the repository
git clone https://github.com/aravguptaaa/dotlink.git
# Navigate into the project directory
cd dotlink
# Install dependencies
npm install
# Create a global link to make the command available system-wide
npm link
⚙️ Usage
Inside your project directory, create a folder named dotfiles.
Place all your configuration files (e.g., .bashrc, .vimrc, .gitconfig) inside this dotfiles directory.
Use DotLink to create symbolic links for each file you wish to manage.
# Example: Create a symbolic link for .bashrc
dotlink link .bashrc
# Example: Create a symbolic link for .vimrc
dotlink link .vimrc
DotLink will automatically create symbolic links from:
.../dotlink/dotfiles/.bashrc → ~/.bashrc
🧠 Technology Stack
Component Technology
Core Node.js
CLI Framework Commander.js
Build/Test Environment Docker, Ubuntu
Packaging npm, dpkg (Debian Package Tools)
📜 License
This project is licensed under the MIT License.
See the LICENSE file for details.
🏷️ Next Step: GitHub Release Setup
To make your project look even more professional:
Go to your dotlink repository on GitHub.
Click "Releases" on the right sidebar.
Click "Create a new release".
Tag version: v1.0.0
Release title: v1.0.0
Attach your .deb file (dotlink-1.0_amd64.deb).
Click "Publish release".