devctl is a Go-based CLI utility designed to streamline developer and SRE workflows by automating common tasks across Git, Kubernetes, networking, and beyond. It supports a plugin-based architecture, enabling seamless extensibility for custom use cases.
- Plugin Support β Easily extend functionality through modular CLI plugins.
- Network Tools β Diagnose connectivity issues with fast net-check utilities.
- Git Helpers β Automate Git workflows like branch cleanup, squash commits, and more.
- Kubernetes Utilities β Rapid K8s context switching, resource summaries, and debugging helpers.
- Extensible Architecture β Build your own tools into the CLI using the plugin interface.
The project is organized into several directories, each serving a specific purpose. Below is a high-level overview of the structure:
devctl/
βββ cmd/
β βββ devctl/ # Main CLI application entry point
β βββ main.go
βββ internal/ # Internal packages (not intended for external use)
β βββ netcheck/ # Network utility checks
β βββ githelper/ # Git-related utilities
β βββ kubehelper/ # Kubernetes-related utilities
β βββ ... # Additional internal packages
βββ plugins/ # Directory for CLI plugins
β βββ hello-world/ # Sample plugin
β βββ ... # Additional plugins
βββ pkg/ # Shared packages (can be imported by other projects)
β βββ ... # Shared utility packages
βββ configs/ # Configuration files (e.g., YAML, JSON)
βββ scripts/ # Helper scripts (e.g., build, deploy)
βββ Makefile # Build automation
βββ go.mod # Go module definition
βββ README.md # Project documentation
- Go 1.21+
make(for build automation)
git clone https://github.com/nijogeorgep/devctl.git
cd devctl
make build
./bin/devctl helpContributions are welcome! To add new plugins or core features:
-
Fork the repo
-
Create a new branch
-
Submit a pull request
Please follow the existing coding style and structure.
This project is licensed under the MIT License. See LICENSE for more details.
@ngpayyappilly β Core Developer
@ngpayyappilly β Core Developer