diff --git a/orchestra/cmds/clone.py b/orchestra/cmds/clone.py
index c8742e4f15a1906690e4262fdf49bd2b9637ebf7..c87bae70c090033722e1a2d42e90cb971f8fd2a7 100644
--- a/orchestra/cmds/clone.py
+++ b/orchestra/cmds/clone.py
@@ -3,7 +3,7 @@ from ..executor import Executor
 
 
 def install_subcommand(sub_argparser):
-    cmd_parser = sub_argparser.add_parser("clone", handler=handle_clone)
+    cmd_parser = sub_argparser.add_parser("clone", handler=handle_clone, help="Clone a component")
     cmd_parser.add_argument("component")
     cmd_parser.add_argument("--force", action="store_true", help="Force execution of the root action")
 
diff --git a/orchestra/cmds/components.py b/orchestra/cmds/components.py
index 1b19ad41a299d9c8f3d77c4beb7773e0fd0a197b..fcf1a4bcac36032399ecebdb711bdeab3dbc3a9b 100644
--- a/orchestra/cmds/components.py
+++ b/orchestra/cmds/components.py
@@ -3,7 +3,7 @@ from ..util import get_installed_build
 
 
 def install_subcommand(sub_argparser):
-    cmd_parser = sub_argparser.add_parser("components", handler=handle_components)
+    cmd_parser = sub_argparser.add_parser("components", handler=handle_components, help="List components")
     cmd_parser.add_argument("component", nargs="?")
     cmd_parser.add_argument("--installed", action="store_true", help="Only print installed components")
     cmd_parser.add_argument("--not-installed", action="store_true", help="Only print not installed components")
diff --git a/orchestra/cmds/configure.py b/orchestra/cmds/configure.py
index 3d43dc35c04651113bdcc6e2210518a23c5b049c..da7666e57cec3cdb3f072635787d874526f9c69d 100644
--- a/orchestra/cmds/configure.py
+++ b/orchestra/cmds/configure.py
@@ -3,7 +3,7 @@ from ..executor import Executor
 
 
 def install_subcommand(sub_argparser):
-    cmd_parser = sub_argparser.add_parser("configure", handler=handle_configure)
+    cmd_parser = sub_argparser.add_parser("configure", handler=handle_configure, help="Run configure script")
     cmd_parser.add_argument("component")
     cmd_parser.add_argument("--force", "-f", action="store_true", help="Force execution of the root action")
 
diff --git a/orchestra/cmds/environment.py b/orchestra/cmds/environment.py
index 6b4901b89e6274aadcc3fdf4b4f1b9b68336ae28..d086aa54081f0915a3245b31a739ad27851a46ec 100644
--- a/orchestra/cmds/environment.py
+++ b/orchestra/cmds/environment.py
@@ -2,7 +2,7 @@ from ..util import export_environment
 
 
 def install_subcommand(sub_argparser):
-    cmd_parser = sub_argparser.add_parser("environment", handler=handle_environment)
+    cmd_parser = sub_argparser.add_parser("environment", handler=handle_environment, help="Print environment variables")
     cmd_parser.add_argument("component", nargs="?")
 
 
diff --git a/orchestra/cmds/graph.py b/orchestra/cmds/graph.py
index 855f0a3f189efe76d4a4ef36a1706582f421ef10..e074e1340a165d26b0cae6700c31f11b212e3e3e 100644
--- a/orchestra/cmds/graph.py
+++ b/orchestra/cmds/graph.py
@@ -2,7 +2,7 @@ from ..model.configuration import Configuration
 
 
 def install_subcommand(sub_argparser):
-    cmd_parser = sub_argparser.add_parser("graph", handler=handle_graph)
+    cmd_parser = sub_argparser.add_parser("graph", handler=handle_graph, help="Print dependency graph (dot format)")
     cmd_parser.add_argument("component", nargs="?")
     cmd_parser.add_argument("--all-builds", action="store_true",
                             help="Include all builds instead of only the default one.")
diff --git a/orchestra/cmds/install.py b/orchestra/cmds/install.py
index 69f04144c7ac6ae050ff251a18a7fd5e413ee64f..e61cac8f291c1774fd4490af4e2736042ef17c51 100644
--- a/orchestra/cmds/install.py
+++ b/orchestra/cmds/install.py
@@ -3,7 +3,7 @@ from ..executor import Executor
 
 
 def install_subcommand(sub_argparser):
-    cmd_parser = sub_argparser.add_parser("install", handler=handle_install)
+    cmd_parser = sub_argparser.add_parser("install", handler=handle_install, help="Build and install a component")
     cmd_parser.add_argument("component")
     cmd_parser.add_argument("--force", "-f", action="store_true", help="Force execution of the root action")
     cmd_parser.add_argument("--no-merge", action="store_true", help="Do not merge files into Orchestra root")
diff --git a/orchestra/cmds/shell.py b/orchestra/cmds/shell.py
index f0dbd8abd0d77feac72e5d58945c35bcc6eaab97..b3c320bf4e1fcb843bf00639d3fd95eb0f753ac1 100644
--- a/orchestra/cmds/shell.py
+++ b/orchestra/cmds/shell.py
@@ -1,18 +1,19 @@
 import os
-import sys
+import pty
 import select
+import sys
 import termios
 import tty
-import pty
 from subprocess import Popen
 
+from ..actions.util import run_script
 from ..model.configuration import Configuration
 from ..util import export_environment
-from ..actions.util import run_script
 
 
 def install_subcommand(sub_argparser):
-    cmd_parser = sub_argparser.add_parser("shell", handler=handle_shell)
+    cmd_parser = sub_argparser.add_parser("shell", handler=handle_shell,
+                                          help="Open a shell with the given component environment (experimental)")
     cmd_parser.add_argument("component", nargs="?")
 
 
@@ -63,7 +64,7 @@ def handle_shell(args, config: Configuration):
                 buf += o
                 o = b""
                 if b"READY" in buf:
-                    o = buf[buf.rfind(b"READY")+5:]
+                    o = buf[buf.rfind(b"READY") + 5:]
                     prelude_passed = True
             if o:
                 os.write(sys.stdout.fileno(), o)
diff --git a/orchestra/cmds/uninstall.py b/orchestra/cmds/uninstall.py
index e34dcc8a86761a6fedb14f081f3af95eaecb55dd..a21634953a84f3730c891bf426ecb38f33884d82 100644
--- a/orchestra/cmds/uninstall.py
+++ b/orchestra/cmds/uninstall.py
@@ -6,7 +6,7 @@ from ..actions.install import uninstall
 
 
 def install_subcommand(sub_argparser):
-    cmd_parser = sub_argparser.add_parser("uninstall", handler=handle_uninstall)
+    cmd_parser = sub_argparser.add_parser("uninstall", handler=handle_uninstall, help="Uninstall a component")
     cmd_parser.add_argument("component")
 
 
diff --git a/orchestra/cmds/update.py b/orchestra/cmds/update.py
index 919faa6809aaf8968bc50ce6b8b612e587245ea8..b622cbf0125f3a28efa7e03a9e73b0d26700a661 100644
--- a/orchestra/cmds/update.py
+++ b/orchestra/cmds/update.py
@@ -8,7 +8,7 @@ from ..model.configuration import Configuration
 
 
 def install_subcommand(sub_argparser):
-    cmd_parser = sub_argparser.add_parser("update", handler=handle_update)
+    cmd_parser = sub_argparser.add_parser("update", handler=handle_update, help="Update components")
 
 
 def handle_update(args, config: Configuration):