diff --git a/cmd/main.go b/cmd/main.go index e69de29..0cb0ec6 100644 --- a/cmd/main.go +++ b/cmd/main.go @@ -0,0 +1,22 @@ +package main + +import ( + "github.com/spf13/cobra" + "os" +) + +var rootCmd = &cobra.Command{ + Use: "ciweave", + Short: "automatic pipeline generator", + Long: "ciweave is a automatic pipeline generator for ci/cd written in golang", +} + +func Execute() { + if err := rootCmd.Execute(); err != nil { + os.Exit(1) + } +} + +func main() { + Execute() +} diff --git a/internal/logger/logger.go b/internal/logger/logger.go index e69de29..3dcf7cd 100644 --- a/internal/logger/logger.go +++ b/internal/logger/logger.go @@ -0,0 +1,26 @@ +package logger + +import ( + "log/slog" + "os" +) + +type Logger struct { + *slog.Logger +} + +func New(debug bool) *Logger { + var level slog.Level + if debug { + level = slog.LevelDebug + } else { + level = slog.LevelInfo + } + handler := slog.NewTextHandler(os.Stdout, &slog.HandlerOptions{ + Level: level, + }) + + return &Logger{ + Logger: slog.New(handler), + } +}