Skip to content

Repository files navigation

πŸ—οΈ devctl

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.


πŸ”§ Features

  • 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.

πŸ—‚ Project Structure

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

πŸš€ Getting Started

Prerequisites

Build & Run

git clone https://github.com/nijogeorgep/devctl.git
cd devctl
make build
./bin/devctl help

πŸ“¦ Contributing

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.

πŸ›‘ License

This project is licensed under the MIT License. See LICENSE for more details.

πŸ‘₯ Maintainers

@ngpayyappilly – Core Developer

πŸ‘₯ Contributors

@ngpayyappilly – Core Developer

About

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.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages