@@ -75,15 +75,42 @@ Workflow file:
7575.github/workflows/release.yml
7676```
7777
78+ ## PyPI Publishing Flow
79+
80+ PyPI publishing is separated from GitHub release creation.
81+
82+ Workflow file:
83+
84+ ``` text
85+ .github/workflows/pypi-publish.yml
86+ ```
87+
88+ Flow:
89+
90+ 1 . a GitHub release is published
91+ 2 . the PyPI workflow downloads the release assets
92+ 3 . the workflow publishes them to PyPI via trusted publishing
93+
94+ Before enabling real publication, configure:
95+
96+ 1 . the final package name on PyPI
97+ 2 . a trusted publisher for ` markoblogo/ID `
98+ 3 . the ` pypi ` GitHub environment, ideally with approval protection
99+
100+ This separation is intentional:
101+ - GitHub release remains the canonical first publication step
102+ - PyPI publication stays auditable and can be approval-gated
103+
78104## Current Release Posture
79105
80106- installable from source via ` pip install . ` or built artifacts in ` dist/ `
81107- lightweight wrapper CLI via ` idctl `
82108- tagged GitHub release flow for ` sdist ` /` wheel `
83- - no PyPI, Homebrew, or npm publication yet
109+ - PyPI publish workflow present, pending final package-name/trusted-publisher setup
110+ - no Homebrew or npm publication yet
84111
85112## Recommended Next Release Steps
86113
87- 1 . Publish artifacts to PyPI once the package name and maintenance policy are stable .
114+ 1 . Finalize the PyPI package name and configure trusted publishing .
881152 . Decide whether Homebrew or ` pipx ` should be a first-class install path.
891163 . Decide whether ` idctl ` stays thin or grows a richer UX.
0 commit comments