A next-gen todo library.
- Repeating tasks are common in our lives and making them should be easy.
syzygyhas simple and expressive interfaces into making a wide variety of repeating behaviors from a task: ranging from one-time deadlines to repeating at arbitrary intervals until a given date.
- Tasks naturally have dependencies, and should have flexible ways of declaring them. A task isn’t only ever dependent on its parent - it can be dependent on another arbitrary task, a given date, or some external event on your computer like an e-mail.
syzygyhas a highly generic template for dependencies extendable by the user as well as powerful defaults to address this problem.
syzygyattempts to impose as little structure as possible by default: interfaces toRecurrules, dependencies, and tasks themselves have been designed to be as barebones as possible to allow for flexible usage on the user.syzygyencourages the user to layer on any complexity they need themselves via themetadataattribute of each task: a string-to-string hashmap suitable for any form of serialized data.
Recurrules and dependencies are easily creatable by a user, allowing for tremendous flexibility- Any extra information needed about a
Taskis storeable in themetadatahashmap, allowing for limitless client-side functionality.
syzygyhas understandable interfaces and is easy to extend, allowing the best of both worlds: power by default like in systems such asorg-modewithout any need to wade through half-implemented parsers and obscure documentation.