diff --git a/service/command.go b/service/command.go
index <HASH>..<HASH> 100644
--- a/service/command.go
+++ b/service/command.go
@@ -33,6 +33,12 @@ func (c *Config) AddCommand(cmd *Command) {
 	c.service.registerCommand(cmd)
 }
 
+// SetDefaultCommand sets the given command to be the default when
+// the app is started without a command.
+func (c *Config) SetDefaultCommand(keyword string) {
+	c.service.defaultCommand = keyword
+}
+
 // CommandContext is passed to the command when it is run,
 // containing an array of parsed arguments.
 type CommandContext struct {
diff --git a/service/service.go b/service/service.go
index <HASH>..<HASH> 100644
--- a/service/service.go
+++ b/service/service.go
@@ -30,6 +30,8 @@ type Service struct {
 	configs  map[string]*Config
 	commands map[string]*Command
 
+	defaultCommand string
+
 	started sync.WaitGroup
 	running sync.WaitGroup
 }
@@ -116,7 +118,10 @@ func (s *Service) Run() {
 	flag.Usage = s.Usage
 	flag.Parse()
 	args := flag.Args()
-	if len(args) < 1 {
+	if len(args) == 0 && s.defaultCommand != "" {
+		args = append([]string{s.defaultCommand}, args...)
+	}
+	if len(args) == 0 {
 		s.Usage()
 		BootPrintln()
 		return
service: Add SetDefaultCommand.