44 lines
1.3 KiB
Go
44 lines
1.3 KiB
Go
// Command ratatoskr — оркестратор конвейера Ratatoskr (единственный бинарь).
|
||
//
|
||
// Стартовый каркас: точка входа + заглушки пакетов. Полная логика
|
||
// (диалог, аналитик, research, feedback, webhook) наполняется по мере
|
||
// переезда с Python.
|
||
package main
|
||
|
||
import (
|
||
"flag"
|
||
"fmt"
|
||
"log"
|
||
"os"
|
||
|
||
"github.com/kamelion/ratatoskr-go/internal/app"
|
||
)
|
||
|
||
func main() {
|
||
cfg := flag.String("config", "", "путь к config файлу (по умолчанию — env)")
|
||
version := flag.Bool("version", false, "показать версию и выйти")
|
||
flag.Parse()
|
||
|
||
if *version {
|
||
fmt.Println("ratatoskr-go dev (переезд с Ratatoskr Python)")
|
||
return
|
||
}
|
||
|
||
// Composition root: читает конфиг (env/config), настраивает DI.
|
||
a, err := app.New(*cfg)
|
||
if err != nil {
|
||
log.Fatalf("app init: %v", err)
|
||
}
|
||
|
||
// Пока: заглушка. Здесь будет:
|
||
// - запуск Telegram-gateway (диалог)
|
||
// - http-сервер webhook (+ /feedback, /status)
|
||
// - воркер: обработка issues → opencode-субагенты → PR
|
||
_ = a
|
||
os.Exit(run())
|
||
}
|
||
|
||
func run() int {
|
||
fmt.Fprintln(os.Stderr, "ratatoskr-go: каркас готов, конвейер не подключён")
|
||
return 0
|
||
} |