| name | hackage-upload |
| description | Upload Haskell packages to Hackage. Use when the user asks to publish, release, or upload to Hackage. |
Hackage Upload
Instructions
When the user asks to publish or upload to Hackage:
-
Identify the package cabal file and current version (in this repo it is claude.cabal):
grep "^version:" *.cabal
-
Create the source distribution:
cabal sdist
-
Upload to Hackage (replace X.Y.Z with actual version):
cabal upload --publish dist-newstyle/sdist/claude-X.Y.Z.tar.gz
Pre-release checklist
Before uploading, these are required release gates. Do not upload until both are true:
- Version in the package cabal file has been bumped
CHANGELOG.md has an entry for that exact version
Then verify the usual quality checks:
- All tests pass (
cabal test)
- Code compiles without warnings (
cabal build)
Notes
- The
--publish flag publishes immediately. Without it, the package is uploaded as a candidate.
- You must have Hackage credentials configured (typically in
~/.cabal/config).
- First-time uploads of a package require manual approval on Hackage.