A collection of lightweight CLI utilities designed to simplify everyday DevOps and developer workflows, boosting productivity and ensuring consistency across your team.
Features β’ Installation β’ Usage β’ Documentation β’ Contributing
Clean, intuitive commands that just work |
Pure bash implementation with zero overhead |
Built for modern CI/CD pipelines |
Configure Git and SSH keys in seconds, not minutes
# One command to rule them all
setup-ssh --email dev@company.com --user "John Doe" --key-file ~/.ssh/id_rsaWhat it does:
- β Configures Git user credentials globally
- β Sets up SSH keys for GitHub/GitHub Enterprise
- β Automatically rewrites HTTPS URLs to SSH
- β Adds hosts to known_hosts securely
- β Supports custom Git hosting platforms
Send beautiful, color-coded messages to multiple channels instantly
# Notify your team with style
slack-send --token xoxb-your-token \
--channel "#deployments,#alerts" \
--message "π Production deployment successful!" \
--color goodCapabilities:
- π’ Multi-channel broadcasting
- π¨ Color-coded messages (good/warning/danger/custom hex)
- π Message sections with
~delimiter - π User lookup by email
- β‘ Async delivery with error handling
Find Slack user IDs from email addresses effortlessly
get-slack-id --email user@company.com --token xoxb-your-tokenThe installation script automatically detects your Linux distribution and installs the appropriate package:
curl -fsSL https://raw.githubusercontent.com/Raufk/rk-cli-utils/main/install/install.sh | bashSupported Platforms:
- β
Ubuntu / Debian (
.debpackage) - β
RHEL / CentOS / Rocky / AlmaLinux (
.rpmpackage)
π₯ Ubuntu/Debian - Download DEB Package
# Download the latest release
curl -LO https://github.com/Raufk/rk-cli-utils/releases/download/v1.0/rk-cli-utils.deb
# Install
sudo dpkg -i rk-cli-utils.deb
# Verify installation
rk --versionπ₯ RHEL/CentOS - Download RPM Package
# Download and install directly
sudo yum install https://github.com/Raufk/rk-cli-utils/releases/download/v1.0/rk-cli-utils-1.0-1.el9.noarch.rpm
# Or download first, then install
wget https://github.com/Raufk/rk-cli-utils/releases/download/v1.0/rk-cli-utils-1.0-1.el9.noarch.rpm
sudo yum localinstall rk-cli-utils-1.0-1.el9.noarch.rpm
# Verify installation
rk --versionπ¨ Build from Source (Using Makefile)
# Clone the repository
git clone https://github.com/Raufk/rk-cli-utils.git
cd rk-cli-utils
# Build both packages (recommended)
make all
# Packages will be created in:
# - RPM: ~/rpmbuild/RPMS/noarch/rk-cli-utils-*.rpm
# - DEB: build/deb/rk-cli-utils-*.deb# Build RPM package
./build_package.sh
# or
make rpm
# Install
sudo yum localinstall ~/rpmbuild/RPMS/noarch/rk-cli-utils-*.rpm
# Verify
rk --version# Build DEB package
make deb
# Install
sudo dpkg -i build/deb/rk-cli-utils-*.deb
# Verify
rk --version# Remove all build files
make clean| Target | Description |
|---|---|
make all |
Build both RPM and DEB packages (default) |
make rpm |
Build RPM package only |
make deb |
Build DEB package only |
make clean |
Remove all build artifacts |
make prepare |
Prepare build environment (version injection) |
| Command | Description | Example |
|---|---|---|
setup-ssh |
Configure SSH & Git | setup-ssh --email dev@co.com --user "Dev" --key-file ~/.ssh/id_rsa |
slack-send |
Send Slack messages | slack-send --token TOKEN --channel "#ops" --message "Hello!" |
get-slack-id |
Get Slack user ID | get-slack-id --email user@co.com --token TOKEN |
π SSH Setup Examples
setup-ssh \
--email developer@company.com \
--user "Jane Developer" \
--key-file ~/.ssh/id_rsasetup-ssh \
--email dev@company.com \
--user "Dev Team" \
--key-file ~/.ssh/ghe_key \
--host github.enterprise.comsetup-ssh \
--email dev@company.com \
--user "CI Bot" \
--key-file "$(cat /secure/path/to/key)"π¬ Slack Messaging Examples
slack-send \
--token xoxb-your-slack-token \
--channel "#deployments" \
--message "β
Production deployment completed successfully!" \
--color goodslack-send \
--token xoxb-your-slack-token \
--channel "#alerts" \
--message "β οΈ High memory usage detected on server-01" \
--color warningslack-send \
--token xoxb-your-slack-token \
--channel "#incidents,#on-call" \
--message "π¨ Database connection failed~Check logs immediately" \
--color dangerslack-send \
--token xoxb-your-slack-token \
--channel "#general" \
--message "π Weekly report is ready" \
--color "#36a64f"π User Lookup Example
# Get Slack user ID
SLACK_ID=$(get-slack-id \
--email john.doe@company.com \
--token xoxb-your-slack-token)
echo "User ID: $SLACK_ID"rk-cli-utils/
βββ π bin/
β βββ rk # Main CLI dispatcher
βββ π lib/
β βββ ssh.sh # SSH setup logic
β βββ slack.sh # Slack API integration
βββ π wrappers/
β βββ setup-ssh # Direct command wrapper
β βββ slack-send # Direct command wrapper
β βββ get-slack-id # Direct command wrapper
βββ π packaging/
β βββ rk-cli-utils.spec # RPM package specification
βββ π install/
β βββ install.sh # Installation script
βββ build_package.sh # Build automation
| Dependency | Purpose | Installation |
|---|---|---|
bash |
Shell interpreter | Pre-installed |
git |
Version control | yum install git |
curl |
HTTP client | yum install curl |
jq |
JSON processor | yum install jq |
openssh-clients |
SSH tools | yum install openssh-clients |
# Optional: Set default Slack token
export SLACK_TOKEN="xoxb-your-token"
# Optional: Set default Git host
export GIT_HOST="github.enterprise.com"| Code | Meaning |
|---|---|
0 |
Success |
1 |
General error |
2 |
Missing required parameter |
3 |
Network/API error |
We love contributions! π
- π΄ Fork the repository
- πΏ Create your feature branch (
git checkout -b feature/AmazingFeature) - βοΈ Commit your changes (
git commit -m 'Add some AmazingFeature') - π€ Push to the branch (
git push origin feature/AmazingFeature) - π Open a Pull Request
This project is licensed.
If this project helped you, please consider giving it a βοΈ!


