HACKER Q&A
📣 Igin

How do you manage and version control small structured data?


So I work in a heavily regulated field and often come across the need to document all kinds of semi-structured data like requirements, risks, test-cases, etc. Usually these objects need to have a unique ID and relate to each other. They also need to be somehow version controlled.

There are some people using https://github.com/doorstop-dev/doorstop to record this kind of data in a plaintext (YAML) format and store it in git. I think that is really neat for this kind of small scale handcrafted data. But I would like to have a more user friendly frontend for that kind of data manipulation.

It feels like every company has this kind of data somehwere. And for most situations the data is small enough to not warrant a full blown database.

So my question: Do you have any neat workflows and tools for managing small scale semistructured data in a version controlled way?


  👤 rlupi Accepted Answer ✓
The other option is Google docs, or similar, which has both cross-links and version history; but you can't link to a specific version of a document, as far as I know. You can however have multiple "document tabs", and that can work as multiple versions too.

👤 rlupi
the first idea that came to my mind is to use obsidian.md (or another markdown editor) with the git plugin. Markdown supports frontmatter, that allows you to add metadata to docs. It also supports cross-links between documents.

You could even go full zettlekasten (generate IDs that include timestamps), if you want to version documents more explicitly.