Tasks at the top have generally a higher priority than task at the button. This does not mean, that tasks are processed according to the priority order. The priority of a task is just a guideline.

### Services

1. Update project documentation. As much as possible, the project documentation should be moved into the commands documentation.
2. Document commands.
3. Improve tests.
4. Improve echo output and make it nice, for a certain setting.

1. Use sh instead of bash via the shebang "#!/usr/bin/env sh" in order to avoid GPL dependencies.
2. Document reasoning for command line based dependency injection, in light of the fact, that there are stability issues with that. Also, document how to avoid stability issues.
3. Move command documentation into the commands itself.
4. Generate admin script instead of just executing such, in order to make the software more stable.

### Todos

1. Implement interface to shell via speech to text and the other way around for output.
2. Do not use recursion via shell in repo commands. Use recursion via Python functions.
3. Clean up python implementations of repo commands.
4. Create integration into user home portability projects.
5. Create ssh deployment machanism via other frameworks like ansible.
6. Create display brightness control commands.
7. Create sound control command.
8. Create shell for blind usage.
1. Things need to be considered:
1. Way to speak currently entered command without executing it.
9. Improve testing on local machine.
1. https://spin.atomicobject.com/2016/01/11/command-line-interface-testing-tools/
2. https://github.com/debarshiray/toolbox
3. https://github.com/debarshiray/libpod
10. Filesystem/harddrive checking. See fsck.
11. Support alternative repo managers.
12. Support script mode by default, where a script is generated, instead of executing commands directly.
13. Integrate project commands into repo commands: Project repo commands may be relevant to repo commands. At the very least one should inform one about the existence of related repo commands during execution, because it may be important for the user. Note that one cannot execute the corresponding repo command automatically, because this may not always be possible (i.e. repo.push without an internet connection may not be possible).