From b9ca4dc2ea66eb74969bab3017625aa41584752e Mon Sep 17 00:00:00 2001 From: webbrain-one <295484252+webbrain-one@users.noreply.github.com> Date: Sat, 1 Aug 2026 09:50:59 +0300 Subject: [PATCH] clone: support cloning repos by group prefix Allow cloning all repositories within a group using a path prefix (e.g., `lab clone core/`) instead of specifying each repo individually. Closes #27 --- cmd/clone.go | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/cmd/clone.go b/cmd/clone.go index 8b76ac1..85ea626 100644 --- a/cmd/clone.go +++ b/cmd/clone.go @@ -32,13 +32,27 @@ var cloneCmd = &cobra.Command{ Run: cloneRepo, } -func cloneRepo(cmd *cobra.Command, _ []string) { +func cloneRepo(cmd *cobra.Command, args []string) { internal.Setup() projects := internal.FuzzyLines(internal.ProjectPath) if len(projects) == 0 { return } + if len(args) > 0 { + prefix := args[0] + var filtered []string + for _, p := range projects { + if strings.HasPrefix(p, prefix) { + filtered = append(filtered, p) + } + } + if len(filtered) == 0 { + return + } + projects = filtered + } + isHTTPS, _ := cmd.Flags().GetBool("https") isCurrent, _ := cmd.Flags().GetBool("current") for _, project := range projects {