diff --git a/cmd/tk/check.go b/cmd/tk/check.go
index a5826ce256f3639e47e94e936237f7f2bb9c59f8..5e3a04c2321398b2f02188fdf926012ae708f331 100644
--- a/cmd/tk/check.go
+++ b/cmd/tk/check.go
@@ -69,6 +69,7 @@ func runCheckCmd(cmd *cobra.Command, args []string) error {
 		return nil
 	}
 
+	logAction("checking controllers")
 	if !componentsCheck() {
 		checkFailed = true
 	}
diff --git a/cmd/tk/create_kustomization.go b/cmd/tk/create_kustomization.go
index 54e6c5b2d0d57b90b6183dd191e4a6bbfd920c21..b20c74878bc8166e4aa389fdff614c201f2be359 100644
--- a/cmd/tk/create_kustomization.go
+++ b/cmd/tk/create_kustomization.go
@@ -95,7 +95,7 @@ func createKsCmdRun(cmd *cobra.Command, args []string) error {
 		return err
 	}
 
-	logAction("generating %s kustomization", name)
+	logGenerate("generating kustomization")
 
 	emptyAPIGroup := ""
 	kustomization := kustomizev1.Kustomization{
@@ -154,6 +154,7 @@ func createKsCmdRun(cmd *cobra.Command, args []string) error {
 		}
 	}
 
+	logAction("applying kustomization")
 	if err := upsertKustomization(ctx, kubeClient, kustomization); err != nil {
 		return err
 	}
diff --git a/cmd/tk/create_source_git.go b/cmd/tk/create_source_git.go
index 245c4d993ba939a026c67bc970bd1aa0e4faf437..6c0a409b48bd248a4ae92c8f0ae79de58f2d5597 100644
--- a/cmd/tk/create_source_git.go
+++ b/cmd/tk/create_source_git.go
@@ -113,7 +113,11 @@ func createSourceGitCmdRun(cmd *cobra.Command, args []string) error {
 		withAuth = true
 	}
 
-	logAction("generating git source %s in %s namespace", name, namespace)
+	if withAuth {
+		logSuccess("authentication configured")
+	}
+
+	logGenerate("generating source")
 
 	gitRepository := sourcev1.GitRepository{
 		ObjectMeta: metav1.ObjectMeta{
@@ -148,6 +152,7 @@ func createSourceGitCmdRun(cmd *cobra.Command, args []string) error {
 		return err
 	}
 
+	logAction("applying source")
 	if err := upsertGitRepository(ctx, kubeClient, gitRepository); err != nil {
 		return err
 	}
@@ -191,14 +196,14 @@ func generateBasicAuth(ctx context.Context, name string) error {
 }
 
 func generateSSH(ctx context.Context, name, host, tmpDir string) error {
-	logAction("generating host key for %s", host)
+	logGenerate("generating host key for %s", host)
 
 	command := fmt.Sprintf("ssh-keyscan %s > %s/known_hosts", host, tmpDir)
 	if _, err := utils.execCommand(ctx, ModeStderrOS, command); err != nil {
 		return fmt.Errorf("ssh-keyscan failed")
 	}
 
-	logAction("generating deploy key")
+	logGenerate("generating deploy key")
 
 	command = fmt.Sprintf("ssh-keygen -b 2048 -t rsa -f %s/identity -q -N \"\"", tmpDir)
 	if _, err := utils.execCommand(ctx, ModeStderrOS, command); err != nil {
@@ -220,7 +225,7 @@ func generateSSH(ctx context.Context, name, host, tmpDir string) error {
 		return fmt.Errorf("aborting")
 	}
 
-	logAction("saving deploy key")
+	logAction("saving keys")
 	files := fmt.Sprintf("--from-file=%s/identity --from-file=%s/identity.pub --from-file=%s/known_hosts",
 		tmpDir, tmpDir, tmpDir)
 	secret := fmt.Sprintf("kubectl -n %s create secret generic %s %s --dry-run=client -oyaml | kubectl apply -f-",
diff --git a/cmd/tk/install.go b/cmd/tk/install.go
index 04a093b223692896ca512b219200258df1c91e16..021ef03a497fe2f2c52197a0dead7dbec6e97e99 100644
--- a/cmd/tk/install.go
+++ b/cmd/tk/install.go
@@ -63,7 +63,7 @@ func installCmdRun(cmd *cobra.Command, args []string) error {
 	}
 	defer os.RemoveAll(tmpDir)
 
-	logAction("generating install manifests")
+	logGenerate("generating manifests")
 	if kustomizePath == "" {
 		err = genInstallManifests(installVersion, namespace, components, tmpDir)
 		if err != nil {
@@ -86,9 +86,9 @@ func installCmdRun(cmd *cobra.Command, args []string) error {
 			fmt.Print(yaml)
 		}
 	}
-	logSuccess("build completed")
+	logSuccess("manifests build completed")
 
-	logWaiting("installing components in %s namespace", namespace)
+	logAction("installing components in %s namespace", namespace)
 	applyOutput := ModeStderrOS
 	if verbose {
 		applyOutput = ModeOS
diff --git a/cmd/tk/log.go b/cmd/tk/log.go
index c06f3b59856bf40c7970e6a8c6f1a450a75a8808..b2be7feb5417a08247f9e6e60d335904eeb07a29 100644
--- a/cmd/tk/log.go
+++ b/cmd/tk/log.go
@@ -3,6 +3,10 @@ package main
 import "fmt"
 
 func logAction(format string, a ...interface{}) {
+	fmt.Println(`►`, fmt.Sprintf(format, a...))
+}
+
+func logGenerate(format string, a ...interface{}) {
 	fmt.Println(`✚`, fmt.Sprintf(format, a...))
 }
 
diff --git a/cmd/tk/uninstall.go b/cmd/tk/uninstall.go
index 12f0411df5632d57eaf586257211ea140a46739e..85adaee63be1db6002ae1e7dd6d300fd7ff870af 100644
--- a/cmd/tk/uninstall.go
+++ b/cmd/tk/uninstall.go
@@ -17,7 +17,7 @@ cluster role bindings and CRDs.`,
 	Example: `  # Dry-run uninstall of all components
    uninstall --dry-run --namespace=gitops-system
 
-  # Uninstall all components and custom resource definitions
+  # Uninstall all components and delete custom resource definitions
   uninstall --crds --namespace=gitops-system
 `,
 	RunE: uninstallCmdRun,