feat(task): use default area filter from config

Amolith created

Assisted-by: Claude Opus 4.5 via Crush

Change summary

cmd/task/list.go | 21 +++++++++++++++++----
1 file changed, 17 insertions(+), 4 deletions(-)

Detailed changes

cmd/task/list.go 🔗

@@ -106,19 +106,32 @@ func mustGetBoolFlag(cmd *cobra.Command, name string) bool {
 
 func resolveAreaFilter(cmd *cobra.Command) (string, error) {
 	areaKey := mustGetStringFlag(cmd, "area")
-	if areaKey == "" {
-		return "", nil
-	}
 
 	cfg, err := config.Load()
 	if err != nil {
+		// Config not required if no area flag and we just skip default
 		if errors.Is(err, config.ErrNotFound) {
-			fmt.Fprintln(cmd.ErrOrStderr(), ui.Error.Render("Config not found; run 'lune init' to configure areas"))
+			if areaKey != "" {
+				fmt.Fprintln(cmd.ErrOrStderr(), ui.Error.Render("Config not found; run 'lune init' to configure areas"))
+
+				return "", err
+			}
+
+			return "", nil
 		}
 
 		return "", err
 	}
 
+	// Use default area if no explicit flag
+	if areaKey == "" {
+		areaKey = cfg.Defaults.Area
+	}
+
+	if areaKey == "" {
+		return "", nil
+	}
+
 	area := cfg.AreaByKey(areaKey)
 	if area == nil {
 		fmt.Fprintln(cmd.ErrOrStderr(), ui.Error.Render("Unknown area: "+areaKey))