diff --git a/README.md b/README.md index b3cb2fa..dd26d04 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,17 @@ # compose2pod +[![PyPI version](https://img.shields.io/pypi/v/compose2pod.svg)](https://pypi.org/project/compose2pod/) +[![Supported Python versions](https://img.shields.io/pypi/pyversions/compose2pod.svg)](https://pypi.org/project/compose2pod/) +[![Downloads](https://static.pepy.tech/badge/compose2pod/month)](https://pepy.tech/projects/compose2pod) +[![Coverage](https://img.shields.io/badge/coverage-100%25-brightgreen.svg)](https://github.com/modern-python/compose2pod/actions/workflows/ci.yml) +[![CI](https://github.com/modern-python/compose2pod/actions/workflows/ci.yml/badge.svg)](https://github.com/modern-python/compose2pod/actions/workflows/ci.yml) +[![License](https://img.shields.io/github/license/modern-python/compose2pod.svg)](https://github.com/modern-python/compose2pod/blob/main/LICENSE) +[![GitHub stars](https://img.shields.io/github/stars/modern-python/compose2pod)](https://github.com/modern-python/compose2pod/stargazers) +[![Context7](https://img.shields.io/badge/Context7-docs-blue)](https://context7.com/modern-python/compose2pod) +[![uv](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/uv/main/assets/badge/v0.json)](https://github.com/astral-sh/uv) +[![Ruff](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json)](https://github.com/astral-sh/ruff) +[![ty](https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ty/main/assets/badge/v0.json)](https://github.com/astral-sh/ty) + Convert a Docker Compose file into a POSIX `sh` script that runs its services as a **single Podman pod**. Built for CI and test environments where you can't use `docker compose` or `podman kube play`: diff --git a/planning/deferred.md b/planning/deferred.md index b1d8bf0..7e96277 100644 --- a/planning/deferred.md +++ b/planning/deferred.md @@ -2,6 +2,23 @@ Real-but-unscheduled items, each with a revisit trigger. +## Add the compose2pod brand lockup to the README header + +Sibling org repos (`db-retry`, `eof-fixer`, `semvertag`, …) open their README +with a centered brand lockup (`` → `modern-python/.github` +`brand/projects//lockup-{dark,light}.svg` + `lockup.png`) above the badge +row. compose2pod's README carries the badges but no lockup: the `.github` +repo's `brand/build/projects.py` `MANIFEST` has no `compose2pod` entry, so no +glyph or lockup asset is generated for it. Adding one requires designing a +distinctive gold inner symbol (a `sym.compose2pod(...)` in the brand build), +regenerating assets, and shipping that in a `.github` PR — brand design that +needs the org owner's sign-off. + +**Revisit trigger:** the org owner approves a compose2pod brand glyph, or a +`.github` PR adds `compose2pod` to the brand `MANIFEST` and regenerates the +lockup assets. Then wire the `` block above the badges (dropping the +`# compose2pod` H1) to match siblings. + ## Harden the pod-cleanup trap's nested `shlex.quote` for the `emit_script` library path `emit.py`'s `EXIT` trap quotes the pod name with a nested `shlex.quote` inside