Skip to content

[Bug]: --script py is broken — core scripts/python/*.py missing from the packaged wheel (core_pack) #3665

Description

@mcpanth

Summary

specify init --script py produces command/skill files that instruct the agent to run python3 .specify/scripts/python/<name>.py, but the core Python scripts are not bundled in the released package. init lays down the bash scripts instead, so the referenced .specify/scripts/python/*.py files don't exist and every command fails at its first "Setup" step.

Environment

  • specify 0.13.4 (also reproduced on 0.13.2 and 0.13.3)
  • Reproduced with the Homebrew build and confirmed directly against the PyPI wheel specify_cli-0.13.4-py3-none-any.whl
  • macOS; observed with both --integration claude and --integration codex

Repro

$ specify init demo --integration claude --script py --ignore-agent-tools --force
$ find demo/.specify/scripts -type f        # only bash/*.sh present — no python/
demo/.specify/scripts/bash/check-prerequisites.sh
demo/.specify/scripts/bash/common.sh
demo/.specify/scripts/bash/create-new-feature.sh
demo/.specify/scripts/bash/setup-plan.sh
demo/.specify/scripts/bash/setup-tasks.sh
$ grep -rho 'python3 .specify/scripts/python/[^ ]*' demo/.claude/skills | sort -u
python3 .specify/scripts/python/check_prerequisites.py
python3 .specify/scripts/python/setup_plan.py
python3 .specify/scripts/python/setup_tasks.py
$ ls demo/.specify/scripts/python
ls: demo/.specify/scripts/python: No such file or directory

So the generated skills reference files that init never installs → the /speckit-* flow dies at the first setup step.

Root cause

The source repo has the core scripts at scripts/python/ (check_prerequisites.py, common.py, create_new_feature.py, setup_plan.py, setup_tasks.py), but the packaged core_pack/scripts/ ships only bash/ and powershell/:

$ unzip -Z1 specify_cli-0.13.4-py3-none-any.whl | grep 'core_pack/scripts/' | sed -E 's#(core_pack/scripts/[a-z]+/).*#\1#' | sort -u
specify_cli/core_pack/scripts/bash/
specify_cli/core_pack/scripts/powershell/
# no core_pack/scripts/python/

Notably the extension python scripts are bundled (core_pack/extensions/{git,agent-context}/scripts/python/) — only the top-level core_pack/scripts/python/ is missing. It looks like whatever assembles core_pack for the wheel globs extensions/**/python but misses the top-level scripts/python.

Impact

--script py is non-functional on every install channel (pip/uv and Homebrew both derive from this wheel), while --script sh/ps work.

Suggested fix

Include scripts/python/*.py in core_pack/scripts/python/ when building the wheel (mirror how the extension python scripts are already bundled).

Workaround

After init, copy the five scripts/python/*.py files from the source repo into .specify/scripts/python/.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions