Skip to Content
WikiWikiWelcome, NerdsHow Maya works?

How Maya works?

There are two essential things about Maya’s construction:

  • The first is that it uses TaskWarrior as its database.
  • The second is the way we separate its components.

TaskWarrior

Before Maya became what it is now, it was a bunch of bash scripts to automate the use of TaskWarrior. However, it has become something bigger. Now, its code contains only Rust and uses TaskWarrior only as a task database. We intend to migrate completely to our own implementation in the future, but the focus is on what really matters at the moment: productivity. That said, know that almost everything TaskWarrior offers, Maya will implement for you.

Separations

Maya is separated into several parts delivered as options to you. These parts are: api, frontend, cli, desktop and lib.

  • api — The heart of Maya, you only pay for the use of it. All others are implementations of the api and will not cost you any additional money.
  • lib — An abstraction of the type definitions we have in the code. It is a dependency of the api, the frontend and the cli. You can use it in your code if you are using Rust, we will make it available as an open source crate in our repository as soon as the api is properly documented. This will be very useful if you want to automate things.
  • cli — Made for terminal lovers and those who have a high wpm. It also comes with some bash configurations to make your life easier, such as an alias-based syntax. For example, an operation like maya ta-start <ID>would become tastart <ID>.
  • frontend and desktop — If you only want to use the frontend, without an application itself, you can choose just that one, without having to put things you don’t use in your system. Now, if you don’t want too much hassle (it’s a pain to keep saving the process port), you can simply use the desktop and have everything automatically integrated.

Remember that the api and the lib (internally) are the only really mandatory parts — so if you want to make your own client or write each request manually, feel free ks… —. This allows for cases where you only want the cli instead of the frontend and vice-versa. Now, if you choose the desktop, the frontend will come with it by default (after all, it’s kind of useless without an interface, isn’t it?).

🚫
Important

The above mentioned divisions will not be delivered separately yet (although they are naturally separate) due to the early stages of Maya. For now, the goal is to make the package available on desktop. We will let you know on our Discord server when a proper interface for you to choose the desired parts is ready :)

Last updated on