diff --git a/TODO.md b/TODO.md new file mode 120000 index 00000000..dc83a8ab --- /dev/null +++ b/TODO.md @@ -0,0 +1 @@ +doc/src/09000-todos.md \ No newline at end of file diff --git a/doc/src/09000-todos.md b/doc/src/09000-todos.md new file mode 100644 index 00000000..7a82f075 --- /dev/null +++ b/doc/src/09000-todos.md @@ -0,0 +1,99 @@ +# Todo + +This section contains long-term todos. Some kind of roadmap, of one wants to put +it that way. + +## Modules + +Modules imag should offer which are not yet started or in progress, including a +short note what each module should do. + +First the modules which have been implemented in some way (not necessarily +perfect or feature-complete): + +- [x] imag-bookmark - A bookmark manager for web browsing. +- [x] imag-diary - A diary, or multiple. +- [x] imag-counter - Counting things. +- [x] imag-link - Linking imag entries to eachother +- [x] imag-notes - Note taking +- [x] imag-ref - Refering to files outside the imag store. +- [x] imag-tag - Tagging imag entries +- [x] imag-view - Viewing imag entries + +Now the modules that are not yet started: + +- [ ] imag-bibliography - For handling bibliographic references when writing + scientific papers. Like Citavi, for example. +- [ ] imag-borrow - If you lend something to someone. +- [ ] imag-calendar - Calendar tooling based on icalendar files. No sync + functionality. +- [ ] imag-category - For categorizing imag entries. Categories must exist + before an entry can have a category. +- [ ] imag-contact - Contact tooling based on vcard files. No sync + functionality. +- [ ] imag-cuecards - Cuecards for learning things, for example vocabulary. +- [ ] imag-filter - command to read the store from stdin, filter out entries + based on a predicate specified via the CLI and write the store back to stdout. +- [ ] imag-git - wrapper to call git commands on the imag store no matter + whether the current working directory is the store or not +- [ ] imag-gps - Adding GPS coordinates to entries +- [ ] imag-habit - Tracking ones habits (create habits and make sure you do what + you've planned) +- [ ] imag-image - Image referencing, categorizing, etc. +- [ ] imag-item - Creating entries for Items in the store +- [ ] imag-ledger - Ledger functionality like beancountcand others +- [ ] imag-list - Managing lists +- [ ] imag-mail - Mail handling tool, a CLI-mutt like tool. +- [ ] imag-movie - Movie database handling, categorization and such things +- [ ] imag-music - Music database handling, categorization and such things. + Possibly a scrobble server. +- [ ] imag-news - A RSS Reader +- [ ] imag-project - A project planner, integrated with imag-timetrack and + imag-todo +- [ ] imag-rate - Attaching a rating to an entry +- [ ] imag-read - Command to load the store and pipe it to stdout (usefull for + piping/ chaining commands) +- [ ] imag-receipt - Creating, categorizing, managing receipts +- [ ] imag-shoppinglists - Managing shopping lists +- [ ] imag-store - Low Level CLI Store interface +- [ ] imag-summary - Meta-command to call a set of imag commands (configurable + which) and displaying their outputs +- [ ] imag-timetrack - Tracking time like with timewarrior +- [ ] imag-todo - Tracking tasks like with taskwarrior +- [ ] imag-url - Extracting URLs from enties, saving URLs to the imag store +- [ ] imag-weather - Weather tooling for getting forecast and recording a + history of weather +- [ ] imag-weight - Weight tracker +- [ ] imag-wiki - A wiki for personal use +- [ ] imag-workout - Tools for tracking workouts. One sub-module will be + step-counter tracking +- [ ] imag-write - Command to read the store from stdin and write it to the + filesystem store (usefull for piping/chaining commands) + +## Libraries + +- [ ] Ensure all libraries are implemented as extension traits rather than + wrapping store types +- [ ] Rewrite logger to allow config/env-var based module white/blacklisting and + writing log to file + +## User Interface + +- [ ] Ensure store ids are always passed as positional arguments + +## Project structure and development + +- [ ] Move away from github + - [ ] Have own issue tracking (possibly git-dit) + - [ ] Find a solution to having no travis-ci via github anymore + + - [ ] Setup a viewer for the mailinglist archive +- [ ] Add maintainer scripts to repository + - [ ] To check patches for Signed-off-by lines + - [ ] To automatically craft a reply to a contributor about a missing + signed-off-by line + - [ ] To automatically craft a reply to a contributor about a patchset that + cannot be applied + - [ ] To check pull requests for GPG signatures + - [ ] To apply a patchset in a new branch +