Skip to content

Easier install: pipx, PyPI publishing, AUR package - #17

Merged
Sym-jay merged 1 commit into
mainfrom
easy-install
Oct 5, 2026
Merged

Sym-jay merged 1 commit into
mainfrom
easy-install

Conversation

@Sym-jay

@Sym-jay Sym-jay commented Oct 5, 2026

Copy link
Copy Markdown
Owner

Lets people install Clishe without piping a script from the internet into bash.

pipx / uv (works as soon as this is merged)

pipx install git+https://github.com/Sym-jay/clishe
  • The repo stays a flat folder. In the installed package, clishe.sh, clishe_brain.py, the .json data and providers/ sit side by side, the same as in a clone, so nothing else had to change.
  • A small launch.py is the clishe command, and runs the bundled clishe.sh with bash.
  • The package name is now clishe. It's free on PyPI.
  • The wheel contains only the app: no tests, no install.sh.
  • Tested locally with uv tool install into a throwaway folder and run from another directory: --version, phrase lookup, explain, a session, practice and --init bash (which points at the installed files) all work.
  • CI now installs the package and runs it on every PR, so packaging can't silently break.

PyPI (pipx install clishe), needs one setup step

publish.yml builds and uploads to PyPI whenever a GitHub release is published. It first checks that the tag matches the version, and uses trusted publishing, so no API token is stored anywhere.

One-time setup:

  1. On pypi.org, go to Account → Publishing → "Add a new pending publisher".
  2. Enter project clishe, owner Sym-jay, repo clishe, workflow publish.yml, environment pypi.

Until then the workflow fails on release, and nothing else is affected.

AUR (Arch), ready to submit

packaging/aur/PKGBUILD and .SRCINFO for v0.5.0. They install to /usr/share/clishe with /usr/bin/clishe linked to it, and the checksum matches the real v0.5.0 tarball. I ran the package() steps against that tarball and the result runs. makepkg itself is untested, since there was no Arch machine here.

README

The install section now leads with pipx and lists the distro packages for it. The curl | bash script stays as the second option, and there's a pipx uninstall line.

🤖 Generated with Claude Code

- pyproject: the repo folder installs as the "clishe" package with its
  shell scripts and data side by side; launch.py is the console script
  and runs the bundled clishe.sh with bash. Package renamed to "clishe".
- CI installs the package and runs it from another folder.
- publish.yml builds and uploads to PyPI on each release via trusted
  publishing, after checking the tag matches the version.
- packaging/aur: PKGBUILD and .SRCINFO for v0.5.0.
- README: pipx first, curl-into-bash second.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@Sym-jay
Sym-jay merged commit b03ad73 into main Oct 5, 2026
3 checks passed
@Sym-jay
Sym-jay deleted the easy-install branch October 5, 2026 06:18
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.

2 participants