package bundle import ( "fmt" "os" "strings" "cliprepo/internal/config" "github.com/atotto/clipboard" ) const maxFileSize = 1 * 1024 * 1024 // 1MB func Build(key string) (string, error) { cfg, err := config.Load() if err != nil { return "", err } files, ok := cfg.Bundles[key] if !ok { return "", fmt.Errorf("bundle not found: %s", key) } var builder strings.Builder for _, file := range files { info, err := os.Stat(file) if err != nil { continue } if info.Size() > maxFileSize { continue } data, err := os.ReadFile(file) if err != nil { continue } builder.WriteString(fmt.Sprintf("===== %s =====\n", file)) builder.Write(data) builder.WriteString("\n\n") } return builder.String(), nil } func Copy(content string) error { return clipboard.WriteAll(content) }