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 help
Contributions 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.
@nijogeorgep – Core Developer
@nijogeorgep – Core Developer