Codewise is a DevOps-oriented command-line utility for scaffolding, packaging, and deploying containerized applications using a consistent workflow. It enables developers and platform engineers to move from source code to running workloads using Docker, Kubernetes, and Helm without switching tools or remembering boilerplate syntax.
Codewise provides automation for:
- Dockerfile scaffolding and image builds
- Kubernetes manifest generation and deployment
- Helm chart scaffolding
- Namespace, context, and dry-run support for Kubernetes operations
- Configuration bootstrapping for defaults (image, namespace, repo)
- File encoding utilities (Base64, YAML ⇄ JSON, ENV parsing)
- Templating & project bootstrap helpers
Clone the repository:
git clone https://github.com/aryansharma9917/codewise-cli.git
cd codewise-cliBuild from source:
go build -o codewise main.go(Optional) install globally:
sudo mv codewise /usr/local/bin/General syntax:
codewise <command> [subcommand] [flags]Initialize a personal configuration:
codewise config initThis creates:
~/.codewise/config.yaml
example:
defaults:
app_name: myapp
image: codewise:latest
namespace: default
context: ""Configuration values can be overridden with CLI flags.
Initialize a Dockerfile:
codewise docker initValidate Dockerfile structure:
codewise docker validateBuild container image:
codewise docker buildInitialize manifests:
codewise k8s initApply manifests to a cluster:
codewise k8s apply --namespace dev --context minikubeDry-run mode (no cluster required):
codewise k8s apply --dry-runDelete deployment:
codewise k8s delete --namespace devScaffold a Helm chart:
codewise helm initThis creates:
helm/chart/
├── Chart.yaml
├── values.yaml
└── templates/
├── deployment.yaml
└── service.yaml
Usage:
codewise encode --input file --output out --type <mode>Supported modes:
| mode | description |
|---|---|
JTY |
JSON → YAML |
YTJ |
YAML → JSON |
KVTJ |
.env → JSON |
B64E |
Base64 encode |
B64D |
Base64 decode |
codewise config init
codewise docker init
codewise docker build
codewise k8s init
codewise k8s apply --namespace dev --context minikube
codewise helm init.
├── cmd/ # CLI commands
├── pkg/ # Core logic (docker, k8s, helm, config, encode)
├── helm/ # Generated Helm charts
├── k8s/ # Generated Kubernetes manifests
├── config/ # Configuration helpers
├── Dockerfile
├── go.mod
└── main.go
Planned enhancements include:
- Helm install/upgrade operations
- Helm push to OCI registries
- GitOps integration (ArgoCD / Flux)
- CI/CD pipeline generation (GitHub Actions)
- Image scanning (Trivy/Syft plugins)
- Terraform infrastructure modules
- Local cluster provisioning (kind/k3d/minikube)
- Plugin system for custom extensions
- Global binary installation via Homebrew/Scoop
Contributions are welcome. The project follows a logical commit layering:
- Logic changes under
pkg/ - CLI wiring under
cmd/ - Scaffold output under
k8s/andhelm/
Fork, branch, commit, and open a PR.
