# helm-me

> helm-me is a Python CLI and DSL for defining, deploying, and operating Kubernetes applications with YAML or Python specs, built-in day-2 commands, and optional Helm chart export.

Use helm-me when you want a faster developer workflow for prototypes, internal tools, demos, and small to medium services on Kubernetes. The core mental model is: define an app spec, lint/render/deploy it, then use grouped `app` and `ops` commands for day-2 work. helm-me is not a generic Helm wrapper; it is an opinionated application workflow with a path to export a Helm chart later.

Important notes:

- `lint`, `render`, and `deploy` operate on a local spec file.
- `app` commands manage saved app registrations and imported apps.
- `ops` commands operate on deployed apps, including imported external workloads.
- Specs can be written in YAML/TOML for declarative setups or Python for typed, parameterized configs.

## Getting Started

- [Installation](https://teserak.github.io/helm-me/getting-started/installation/): install with `uvx`, `uv tool install`, or `uv add`.
- [Your First App](https://teserak.github.io/helm-me/getting-started/first-app/): create, validate, render, deploy, and inspect a minimal app.
- [Python vs YAML](https://teserak.github.io/helm-me/getting-started/python-vs-yaml/): choose the right spec format for your project.
- [Concepts](https://teserak.github.io/helm-me/getting-started/concepts/): understand apps, components, ingress, secrets, and the registry.

## Tutorials

- [Web Components](https://teserak.github.io/helm-me/tutorial/web-components/): define HTTP-serving services.
- [Workers](https://teserak.github.io/helm-me/tutorial/workers/): define background workers without an HTTP service.
- [Secrets & Environment](https://teserak.github.io/helm-me/tutorial/secrets/): inline secrets, secret references, and service environment injection.
- [Configuration Files](https://teserak.github.io/helm-me/tutorial/configfiles/): mount inline files and spec-relative file content.
- [Ingress & Routing](https://teserak.github.io/helm-me/tutorial/ingress/): host routing, public paths, and TLS secrets.
- [Jobs & CronJobs](https://teserak.github.io/helm-me/tutorial/jobs/): define one-shot and scheduled workloads.
- [Import Existing](https://teserak.github.io/helm-me/tutorial/import/): register and operate on workloads not deployed by helm-me.
- [Helm Chart Export](https://teserak.github.io/helm-me/tutorial/chart-export/): export a snapshot Helm chart.

## Reference

- [DSL & YAML Fields](https://teserak.github.io/helm-me/reference/api/): field-level reference for the Python DSL and YAML schema.
- [CLI Reference](https://teserak.github.io/helm-me/reference/cli/): command groups, flags, and usage patterns.
- [Examples](https://teserak.github.io/helm-me/reference/examples/): example specs and common patterns.

## Optional

- [GitHub repository](https://github.com/teserak/helm-me): source code, issue tracker, demos, and release artifacts.
- [CHANGELOG](https://github.com/teserak/helm-me/blob/main/CHANGELOG.md): release history.
