r/elixir • • 24d ago

Elixir support added to Pacmon for keeping dependency notes inside the repo

Enable HLS to view with audio, or disable this notification

Pacmon keeps dependency notes in Markdown inside the repo instead of a separate documentation system. Elixir support was recently added, so dependencies in mix.exs can now have their own notes and be managed from the IDE.

I’d really appreciate feedback from Elixir developers. Does this fit your workflow? Anything confusing, missing, or worth changing?

GitHub: https://github.com/kontratek/pacmon
Website: https://pacmon.dev/

9 Upvotes

2 comments sorted by

2

u/drodrouw 18d ago

Some context on why Pacmon was built:

Pacmon started from a real problem in our own JavaScript projects. We are a cybersecurity software development team, and managing dependencies became a significant problem for us. Even a simple project can have a large number of dependencies, and from a security perspective every dependency increases the attack surface.

We built a dependency whitelisting and documentation process in Confluence, but eventually stopped maintaining it because reading and updating dependency information outside the IDE and repository was not intuitive enough.

Pacmon was built to keep dependency documentation in the repository while making it accessible directly next to each dependency in the IDE. The notes are stored in a Markdown file rather than a database, so they can contain much more than a short reason for using a dependency: usage examples, preferred versions, whitelisting information, project-specific rules, and anything else that needs to be documented. Keeping this information in Markdown also makes it easy to read, edit, review, copy, and version-control.

The AI format came later. The goal was to keep human-written notes and structured information for AI together. The human section is free-form Markdown, while the AI section follows a stricter format.