Skip to content

Commit f61c0ce

Browse files
mnriemCopilot
andcommitted
fix: address review - python setup, docs alignment, publish flag
- Use actions/setup-python (pinned v6, Python 3.13) instead of uv python install for deterministic builds - Use python instead of python3 for setup-python compatibility - Remove unsupported --trusted-publishing always flag from uv publish (OIDC is auto-detected with id-token: write) - Update README install to lead with PyPI, source as fallback - Update installation guide: replace PyPI disclaimer with official package note, add PyPI as primary install method - Release notes: pin to exact version, clarify PyPI timing Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 121d434 commit f61c0ce

4 files changed

Lines changed: 24 additions & 14 deletions

File tree

.github/workflows/publish-pypi.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,13 +35,15 @@ jobs:
3535
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
3636

3737
- name: Set up Python
38-
run: uv python install 3.13
38+
uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6
39+
with:
40+
python-version: "3.13"
3941

4042
- name: Verify tag matches package version
4143
run: |
4244
TAG_VERSION="${{ inputs.tag }}"
4345
TAG_VERSION="${TAG_VERSION#v}"
44-
PROJECT_VERSION="$(python3 -c 'import tomllib; print(tomllib.load(open("pyproject.toml","rb"))["project"]["version"])')"
46+
PROJECT_VERSION="$(python -c 'import tomllib; print(tomllib.load(open("pyproject.toml","rb"))["project"]["version"])')"
4547
if [[ "$TAG_VERSION" != "$PROJECT_VERSION" ]]; then
4648
echo "Error: Tag version ($TAG_VERSION) does not match pyproject.toml version ($PROJECT_VERSION)"
4749
exit 1
@@ -74,4 +76,4 @@ jobs:
7476
uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0
7577

7678
- name: Publish to PyPI
77-
run: uv publish --trusted-publishing always
79+
run: uv publish

.github/workflows/release.yml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,11 @@ jobs:
6565
cat > release_notes.md << NOTES_EOF
6666
## Install
6767
68-
\`\`\`bash
69-
uv tool install specify-cli
70-
specify init my-project
71-
\`\`\`
72-
73-
Or pin to this exact release:
68+
From [PyPI](https://pypi.org/project/specify-cli/):
7469
7570
\`\`\`bash
7671
uv tool install specify-cli==${VERSION_NO_V}
72+
specify init my-project
7773
\`\`\`
7874
7975
Or install from source:
@@ -82,7 +78,7 @@ jobs:
8278
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@${VERSION}
8379
\`\`\`
8480
85-
> **Note:** PyPI publishing is triggered manually after this release. If the PyPI version is not yet available, use the source install command above.
81+
> **Note:** The PyPI package is published after this GitHub release. If the version is not yet available on PyPI, use the source install above.
8682
8783
NOTES_EOF
8884

README.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,13 @@ Spec-Driven Development **flips the script** on traditional software development
4444

4545
### 1. Install Specify CLI
4646

47-
Requires **[uv](https://docs.astral.sh/uv/)** ([install uv](https://github.com/github/spec-kit/blob/main/docs/install/uv.md)). Replace `vX.Y.Z` with the latest tag from [Releases](https://github.com/github/spec-kit/releases):
47+
Requires **[uv](https://docs.astral.sh/uv/)** ([install uv](https://github.com/github/spec-kit/blob/main/docs/install/uv.md)):
48+
49+
```bash
50+
uv tool install specify-cli
51+
```
52+
53+
Or install from source using a specific [release](https://github.com/github/spec-kit/releases) tag:
4854

4955
```bash
5056
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z

docs/installation.md

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,22 @@
1010

1111
## Installation
1212

13-
> [!IMPORTANT]
14-
> The only official, maintained packages for Spec Kit come from the [github/spec-kit](https://github.com/github/spec-kit) GitHub repository. Any packages with the same name available on PyPI (e.g. `specify-cli` on pypi.org) are **not** affiliated with this project and are not maintained by the Spec Kit maintainers. For normal installs, use the GitHub-based commands shown below. For offline or air-gapped environments, locally built wheels created from this repository are also valid.
13+
> [!NOTE]
14+
> The official `specify-cli` package is published to [PyPI](https://pypi.org/project/specify-cli/) by the [github/spec-kit](https://github.com/github/spec-kit) maintainers. Source installs from the GitHub repository are also supported.
1515
1616
### Persistent Installation (Recommended)
1717

18-
Install once and use everywhere. Replace `vX.Y.Z` with a tag from [Releases](https://github.com/github/spec-kit/releases):
18+
Install once and use everywhere:
1919

2020
> [!NOTE]
2121
> The command below requires **[uv](https://docs.astral.sh/uv/)**. If you see `command not found: uv`, [install uv first](./install/uv.md).
2222
23+
```bash
24+
uv tool install specify-cli
25+
```
26+
27+
Or install from source using a specific [release](https://github.com/github/spec-kit/releases) tag:
28+
2329
```bash
2430
uv tool install specify-cli --from git+https://github.com/github/spec-kit.git@vX.Y.Z
2531
```

0 commit comments

Comments
 (0)