diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 0000000..d5ad759 --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,64 @@ +# Roadmap + +This document describes currently planned features and events related to the +dehub project. It's intention is to help prioritize work. There are no dates +set, only a sequence of milestones and the requirements to hit them. + +## Milestone: Be able to add other developers to the project + +* Thread commits (comments, signatures) +* Coalesce command +* Fast-forward perms on branches +* README with a "Getting Started" section + +## Milestone: Versions + +* Tag commits +* Add dehub version to the SPEC, make binary aware of it +* Figure out a release system? + +## Milestone: Enough polish to show off the project + +* Possibly rename "trunk", it's kind of weird as being a kind of branch, + especially when its corallary type is "thread" which has nothing to do with + trees. + +* Polish commands + - New flag system, some kind of interactivity support (e.g. user doesn't + specify required argument, give them a prompt on the CLI to input it + rather than an error. This can be built into the flag system. + + - Review flags, probably make some of them into positional arguments, + document everything better. + + - Possibly save state locally in order to speed things along, such as + "account id" which probably isn't going to change often for a user. + +* HTTP docs + - Some kind of addition to the docker server to auto-serve md files. + - Reorganize all the md files under a `docs` directory, except the README. + - Make sure linking between documents works. + +* More/better tests? + +## Milestone: IPFS support + +* Big ol' question mark on this one. + +## Milestone: Minimal plugin support + +* SPEC and implement. Things which should be pluggable, initially: + - Conditions + - Signifiers + +## Milestone: Minimal notifications support + +* Some way to store notification settings locally, and run a command which shows + a sequence of events since the last time you ran it. + - The command should keep a history of all of its outputs, and allow the + user to see that history (in case they run the command, then clear the + output by accident). + - The user should be able to specifically get notifications on threads + they're a part of, threads by branch name pattern, files by path + pattern, and keywords in commit messages. +