groundstation is a decentralised task/project management suite.
It's uses are wide and varied, but some key examples are:
* Locale driven marketplaces.
* Fully decentralised bulletin boards.
* Networks that keep working long after the internet has failed.
The core of its implementation is an object store of linked immutable objects
that are synced via a gossip protocol.
The current version uses libgit2 as a storage backend, but doesn't use many git
primitives, beyond git's objects as a storage medium. Git is deliberately
pulled out into a storage driver, however while groundstation doesn't assume
that you're using git it does assume you're using something that looks *a lot
groundstation uses pygit2 under the hood for its git interactions, and some
features that it depends on have not landed in a stable release yet.
For this reason, you'll need to build and install the latest [libgit2] from
groundstation hinges on the notion of protocols internally- groundstation core
provides you with content addressable storage, but it's up to you to work out
what to actually do with that data.
That said, groundstation does ship with some protocol adaptors. Adaptors take
the form `name@domain:adaptor-version`, and until such time as a release is
already, everything that ships with groundstation will be released with
`email@example.com` as the email, ie `firstname.lastname@example.org:github-0.0.0`.
groundstation uses [babashka] for managing its dependencies. If you have it installed, you should be able to do something like:
`babashka groundstation_dev` and wind up with a working environment. Maybe.
1. install libgit2 v0.18.0
2. `pip install -r requirements.txt`
You probably want to install those requirements in a virtualenv.
You'll almost certainly want to have a read of the [hacking document](HACKING.md),
and checkout the other [misc hacking docs](HACKING/).
TODO: Brief introduction on what you do with files - including link to relevant help section.