Сохраняем онбоардинг-память проекта (core, tech_stack, conventions, suggested_commands, task_completion) в .serena и коммитим служебную директорию, чтобы она была доступна на сервере. Директория НЕ исключена в .gitignore (локально исключаются только cache и project.local.yml).
1.9 KiB
1.9 KiB
tech_stack
Язык / рантайм
- Go 1.25.0 (go.mod
go 1.25.0). Модульgithub.com/kamelion/ratatoskr-go. - Сборка: статический бинарь,
CGO_ENABLED=0. Локальный Go-тулчейн на хосте:export PATH=/opt/data/.local/go/bin:$PATH(go1.25.0 linux/amd64).
Основные зависимости (go.mod)
gopkg.in/yaml.v3 v3.0.1— парсинг config.yaml.modernc.org/sqlite v1.56.0— SQLite без CGO (чистый Go).- (indirect) google/uuid, go-humanize, mattn/go-isatty, x/sys, modernc.org/libc/mathutil/memory.
Внешние процессы
- opencode (opencode.ai) — внешний процесс для субагентов (analyst/dev/reviewer). Управляется через internal/opencode (Runner, LiveRegistry). Настраивается в конфиге (opencode.bin / config / config_dir / hard_timeout / idle_timeout / poll_ms).
Сборка / Makefile
make build— go build -ldflags="-s -w -X main.version=commit- -X main.updateToken=..." -o ratatoskr ./cmd/ratatoskr/.make test— go test ./... -v -count=1 -timeout 120s.make vet— go vet ./...make fmt— go fmt ./...make run— build + ./ratatoskr -config config.yaml.make cross— кросс-сборка linux/amd64 + windows/amd64 (ratatoskr-windows-amd64.exe — Windows-машина Камиля).- GIT_SHA вшивается в main.version; UPDATE_TOKEN — в main.updateToken (секрет только у CI).
CI (.gitea/workflows/ci.yaml)
- Job
test: go test ./... + go vet ./.... - Job
build-and-package(matrix linux/amd64+windows/amd64): собирает и публикует в Gitea Packages наmainв версиюcommit-<sha7>/+ companion-файлы.version/.sha256. - Секреты: TC_GITEA_TOKEN (write:packages), TC_UPDATE_TOKEN (read:package), GIT_MAIN_URL.