Skip to content

cowork-bot: automated improvements (cowork/improve-devforge-cli)#14

Merged
Coding-Dev-Tools merged 17 commits into
mainfrom
cowork/improve-devforge-cli
Jul 22, 2026
Merged

cowork-bot: automated improvements (cowork/improve-devforge-cli)#14
Coding-Dev-Tools merged 17 commits into
mainfrom
cowork/improve-devforge-cli

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Automated improvement PR from the Cowork repo-improver rotation (one coherent senior-dev improvement per run; see individual commit messages). Subsequent runs push additional commits to this PR rather than opening new ones.

DevForge Engineer and others added 16 commits June 13, 2026 08:04
…builtins alias

- dispatch: add _is_tool_installed() pre-flight check (importlib.util.find_spec)
  so 'devforge guard ...' on an uninstalled tool shows a clear
  'not installed — run pip install devforge[guard]' message instead of
  silently exiting 1 with a raw Python ModuleNotFoundError trace.
  The previous except FileNotFoundError was dead code: the error occurs
  inside the subprocess, not at Popen launch time.
- install all: use canonical devforge[all] extra instead of joining all
  tool keys into a comma-separated extras string (fragile; diverges if
  TOOLS and pyproject.toml [all] ever drift).
- Remove 'import builtins as _builtins' workaround; no builtin shadowing
  exists, so list() is fine throughout.
- Remove unused ctx: typer.Context parameter from dispatch inner function.
- Tests: 17/17 green; new TestIsToolInstalled + dispatch install-hint +
  install-all-extra assertion tests cover the fixed paths.
…ve cli.py merge conflicts keeping the install-all + dispatch improvements
…ith verified-working git+ form

devforge-tools is NOT on public PyPI (verified 404 on pypi.org), so the
previous bare 'pip install devforge-tools[all/guard/...]' commands failed for
every user. README + AGENTS now lead with the git+ GitHub-source form and an
honest 'not on public PyPI' note; the 'devforge install <tool>' command and the
not-installed dispatch hint now build git+ URLs from each tool's repo URL; false
PyPI badges removed from README. Tests updated to assert the corrected hint.

Marketing-growth-agent run — conversion-surface repair (highest-ROI rung).
NOT pushed (W's call per OPS_CONTRACT).
…ilure trap)

The per-tool subcommands (guard, sql, deploy, ...) used a typer Argument
for args, which made typer reject any token beginning with `-` as an
unknown option BEFORE the underlying tool ever ran. So `devforge guard
--config x.yaml` failed with "No such option" and the tool silently never
executed — the hub's known silent-failure/observability trap.

Register each dispatch command with ignore_unknown_options +
allow_extra_args and forward ctx.args to the underlying `python -m
<pkg>` invocation. Positional args and flags now reach the tool. Added a
regression test (test_dispatch_forwards_tool_flags) and the
cowork-auto-pr workflow so the improvement is delivered as a PR.
…dening)

Mutable tag/branch refs (@v6, @release/v1) in workflows with id-token:write
(OIDC trusted publishing) are a supply-chain risk: a compromised or moved ref
could intercept the OIDC token and publish malicious packages to PyPI.

Pinned:
- actions/checkout@v6 -> d23441a (v6)
- actions/setup-python@v6 -> ece7cb0 (v6)
- pypa/gh-action-pypi-publish@release/v1 -> ba38be9 (v1.14.1)
- actions/checkout@v4 -> 11d5960 (v4)

Aligns with engraphis build-compiled-wheels.yml which already pins SHAs.
All YAML validated, ruff clean, 19/19 tests pass.
@Coding-Dev-Tools
Coding-Dev-Tools merged commit 7b1512a into main Jul 22, 2026
7 checks passed
@Coding-Dev-Tools
Coding-Dev-Tools deleted the cowork/improve-devforge-cli branch July 22, 2026 00:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant