gitwtfhub

wtf is hexpm-cli?

rabbitmq/hexpm-cli — explained in plain English

Analysis updated 2026-08-08 · repo last pushed 2022-04-19

3ErlangAudience · developerComplexity · 2/5DormantSetup · moderate

TL;DR

A command-line tool that lets Erlang developers publish packages to the Hex.pm registry without needing to switch from Erlang.mk to Rebar3.

Mindmap

mindmap
  root((repo))
    What it does
      Publish to Hex pm
      Register Hex account
      Works with Erlang mk
    How it works
      Wraps Rebar3 Hex plugin
      Reads dot app metadata
      Ignores global config
    Tech stack
      Erlang
      Rebar3 Hex plugin
    Use cases
      Share Erlang libraries
      Publish from terminal
    Audience
      Erlang developers
      Erlang mk users

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Publish an Erlang.mk project to Hex.pm directly from the terminal.

REASON 2

Register a new Hex.pm user account without installing Rebar3.

REASON 3

Share a messaging or data-parsing library so other Erlang developers can download it.

What's in the stack?

ErlangErlang.mkRebar3 Hex plugin

How it stacks up

rabbitmq/hexpm-clid4l3k/cs418fsword/essh
Stars3
LanguageErlangErlangErlang
Last pushed2022-04-192017-04-272014-11-01
MaintenanceDormantDormantDormant
Setup difficultymoderateeasymoderate
Complexity2/51/53/5
Audiencedeveloperdeveloperops devops

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · moderate Time to first run · 30min

Requires an Erlang.mk project setup and a Hex.pm account, depends on having the Rebar3 Hex plugin available under the hood.

No license information was provided in the repository explanation.

Wtf does this do

Hex.pm is a package registry where developers publish and share code libraries, similar to how app stores work but for programming building blocks. hexpm-cli is a command-line tool that lets you publish a project to that registry directly from your terminal. Normally, publishing to Hex.pm is handled through a plugin designed for a specific build tool called Rebar3, but this tool exists for developers whose projects use a different build system called Erlang.mk, which that plugin doesn't natively support. At a high level, the tool wraps the existing Rebar3 Hex plugin and makes it work outside its usual environment. You run simple terminal commands like hexpm publish to push your package live, or hexpm user register to set up your account. Under the hood, it bundles together the core Rebar3 engine and the Hex plugin, then tweaks a few internal files so the plugin reads project metadata from the generated .app file rather than a .app.src file that may not exist in an Erlang.mk project. This is for Erlang developers who have built a project using Erlang.mk and want to share it on Hex.pm without switching their entire build setup to Rebar3. For example, if someone has written a useful messaging library or a data-parsing tool and wants other Erlang developers to discover and download it as a dependency, this tool gives them a straightforward path to do that. The project makes a practical tradeoff: instead of rewriting all the publishing logic from scratch, it reuses the existing, well-tested Hex plugin and patches the specific pieces that break compatibility with Erlang.mk projects. It also overrides some configuration handling so the tool doesn't accidentally pick up the developer's global Rebar3 settings, keeping each publish action isolated and predictable.

Yoink these prompts

Prompt 1
I have an Erlang project using Erlang.mk. How do I use hexpm-cli to publish my package to Hex.pm for the first time?
Prompt 2
Show me how to register a Hex.pm account and publish my Erlang.mk project using the hexpm command-line tool.
Prompt 3
Help me configure my Erlang.mk project's .app file so that hexpm publish works correctly without Rebar3.

Frequently asked questions

wtf is hexpm-cli?

A command-line tool that lets Erlang developers publish packages to the Hex.pm registry without needing to switch from Erlang.mk to Rebar3.

What language is hexpm-cli written in?

Mainly Erlang. The stack also includes Erlang, Erlang.mk, Rebar3 Hex plugin.

Is hexpm-cli actively maintained?

Dormant — no commits in 2+ years (last push 2022-04-19).

What license does hexpm-cli use?

No license information was provided in the repository explanation.

How hard is hexpm-cli to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is hexpm-cli for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.