# Writing a repo browser for Pijul

**URL:** <https://discourse.pijul.org/t/writing-a-repo-browser-for-pijul/955>\
**Category:** Question\
**Created:** [August 20, 2022, 1:52pm UTC](https://discourse.pijul.org/t/writing-a-repo-browser-for-pijul/955 "2022-08-20T13:52:01Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![notramo](https://avatars.discourse-cdn.com/v4/letter/n/5daacb/32.png) [@notramo](https://discourse.pijul.org/u/notramo)\
**Post date:** [August 20, 2022, 1:52pm UTC](https://discourse.pijul.org/t/writing-a-repo-browser-for-pijul/955/1 "2022-08-20T13:52:01Z")

</div>

I want to use libpijul in a project written in [Crystal](https://crystal-lang.org/). It supports using C bindings.

It would be a Pijul repo browser, similar to the Pijul Nest. (No discussions, CI, or anything, just a browser.) It would be able to render webpage with patch names, history, `pijul credit`-like output, patch dependency graph, and more.  
I think it would be the fastest if it could link to libpijul. Another solution could be to open an external `pijul` process and parse its output. This would make it more robust agaist crashes in libpijul, but would introduce risk of parsing errors.  
The best solution would be if Pijul supported JSON output (for which Crystal has an awesome serializer), but I guess it doesn’t exists currently. (It would be useful for a lot of other use cases too.)

What approach would you recommend? Bindings, or external process?
