It's using a mature data model from an existing framework (git), and it's essentially a simpler clone of other similar projects.
That's brownfield to me. Greenfield would develop a completely new system. This is a utility for an existing system, one whose design is clearly a copy of existing utilities. Both of those make this brownfield.
I'm building something from scratch, with no existing code base, and no requirement to integrate with or extend an existing implementation. The only constraint is Git's raw file format. Brownfield, to me, means constraints from existing software. It gets a little fuzzy, but no existing code base was used, no existing architectural constraints were imposed, and I was free to design the implementation from scratch; a greenfield implementation of a legacy protocol.
You can trace the back commits to the first to show that it was started from scratch:
https://repo.autonoma.ca/repo/treetrek/commits/c7742cb3c580d...