feat: init
This commit is contained in:
33
README.md
Normal file
33
README.md
Normal file
@ -0,0 +1,33 @@
|
||||
# almanac
|
||||
|
||||
## Context
|
||||
|
||||
### Problem
|
||||
|
||||
* The recipe catalogue is big and getting bigger. Cloning it locally when
|
||||
running the first commands with `abra` is now becoming *super* slow. Parsing
|
||||
versions and doing on-the-fly catalogue operations in `abra` is getting
|
||||
slower, and slower.
|
||||
* It would be better if `abra` didn't even have catalogue management
|
||||
functionality and simply was a "catalogue client" and not also producer. This
|
||||
reduces the scope of `abra` further which has benefits.
|
||||
* We need less manual work and more automation to support us so that our
|
||||
project remains sustainable as it scales out horizontally (more collectives,
|
||||
more recipes, more activity).
|
||||
* It would be simpler to have automation which doesn't rely on a [relatively
|
||||
complex CI/CD setup](https://git.coopcloud.tech/toolshed/organising/issues/604#issuecomment-20279)
|
||||
|
||||
### Proposal
|
||||
|
||||
* Use a web API instead of a monolithic Git repository. ([`#604`](https://git.coopcloud.tech/toolshed/organising/issues/604))
|
||||
* Make `abra` faster again by making the API fast.
|
||||
* Make it fully configurable via the `abra.yml` so everyone can run their own.
|
||||
* Re-use the `abra catalogue sync` command to maintain `--offline` support.
|
||||
|
||||
## Design goals
|
||||
|
||||
* Single binary GUI-less web API
|
||||
* Minimal configuration: point it at a Gitea organsation and you're done
|
||||
* Webhook API for on-demand catalogue generation
|
||||
* Background scheduler for periodic catalogue generation
|
||||
* Optimized recipe API for `abra` queries (auto-completion, recipe versions, etc.)
|
||||
Reference in New Issue
Block a user