Show HN: Epiq – Distributed Git based issue tracker TUI

(ljtn.github.io)

18 points | by jolaflow 2 hours ago

4 comments

  • Izkata 1 hour ago
    There was a small surge in popularity in distributed git issue trackers a bit over a decade ago, and all of them had some sort of problem baked in to the design that made them not very good.

    Two weeks ago I had listed out the problems I could remember offhand: https://news.ycombinator.com/item?id=47956979

    It sounds like there's intentionally no attempt to handle the last one (that this is by devs for devs), and points 3 and 4 might be addressed somehow since it mentions syncing automatically. Does it store data separate from git to avoid the first two?

    • jolaflow 1 hour ago
      Thanks for input. Interesting list. A few notes on that:

      - Issue state is not tied to commits in the checked out repo. Events live in append-only user-scoped logs and are materialized independently of the checked out branch, so switching branches does not change issue state. This is solved with git worktrees.

      - Epiq keeps state in a dedicated state branch and does not put issue data into normal code history. The working branch stays clean.

      - Sync uses normal git push/pull semantics.

      - Multi-user conflicts are prevented because each user writes only to their own immutable event log file. You never co edit a file. Logs converge state in memory from the combined event stream. There’s no shared mutable issue document being edited.

      - The non-developer distribution can be addressed with exported state .md files (with the board as ascii). They are currently not generated automatically, but you can generate them at will. [edit - addition: Considerable effort has also been put into making the tool accessible to non-technical people, so there is auto completion, hints, a command palette with descriptions of each command, arrow key navigation and so on. It is my hope that anyone can pick it up rapidly. And a web interface could definitely be crafted for that usecase]

  • joeblubaugh 14 minutes ago
    It’s very slick, but I would be interested to know how separable the UI and the data layer are. I love vim but asking a collaborative group to all use a TUI is difficult. A local web server would be a nice alternative UI
  • samuell 2 hours ago
    I think this is a cool project. I see a lot of use cases for this, for cases where it is preferable to keep issues local to the repo, distributed via git only, and not the least for all kinds of personal task management. Avoiding the context switching to a web based tool is a nice plus.
  • kent-tokyo 22 minutes ago
    [flagged]