Add Makefile and main.go in cli tools, base logger

This commit is contained in:
d3m0k1d
2026-01-04 18:42:41 +03:00
parent 0a5c9bc2d1
commit 2ac31f49af
3 changed files with 84 additions and 0 deletions

27
Makefile Normal file
View File

@@ -0,0 +1,27 @@
.PHONY: build build-daemon build-tui clean help
help:
@echo "BanForge build targets:"
@echo " make build - Build both daemon and TUI"
@echo " make build-daemon - Build only daemon"
@echo " make build-tui - Build only TUI"
@echo " make clean - Remove binaries"
@echo " make test - Run tests"
build: build-daemon build-tui
@echo "✅ Build complete!"
build-daemon:
@mkdir -p bin
go mod tidy
go build -o bin/banforge ./cmd/banforge
build-tui:
@mkdir -p bin
go build -o bin/banforge-tui ./cmd/banforge-tui
clean:
rm -rf bin/
test:
go test ./...

30
cmd/banforge/main.go Normal file
View File

@@ -0,0 +1,30 @@
package main
import (
"fmt"
"github.com/spf13/cobra"
"os"
)
var rootCmd = &cobra.Command{
Use: "banforge",
Short: "IPS log-based written on Golang",
Run: func(cmd *cobra.Command, args []string) {
},
}
func Init() {
}
func Execute() {
if err := rootCmd.Execute(); err != nil {
fmt.Println(err)
os.Exit(1)
}
}
func main() {
Execute()
}

27
local/logger/logger.go Normal file
View File

@@ -0,0 +1,27 @@
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.NewJSONHandler(os.Stdout, &slog.HandlerOptions{
Level: level,
})
return &Logger{
Logger: slog.New(handler),
}
}