Add tm_server with SQLite, Svelte UI, and task-master TUI sync.
Introduces the web backend (auth, RBAC, project tokens, revisions), YouTrack-or-taskmaster backend choice in the TUI, and a first-pass embedded Svelte UI. The frontend is functional but needs a major rework. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
BINARY := tm
|
||||
CMD := ./cmd/task-master
|
||||
VERSION_PKG := task/internal/version
|
||||
GIT_HASH := $(shell git rev-parse --short HEAD 2>/dev/null || echo unknown)
|
||||
LDFLAGS := -X $(VERSION_PKG).BuildVersion=$(GIT_HASH)
|
||||
BINARY := tm
|
||||
BINARY_SERVER := tm_server
|
||||
CMD := ./cmd/task-master
|
||||
CMD_SERVER := ./cmd/tm-server
|
||||
VERSION_PKG := task/internal/version
|
||||
GIT_HASH := $(shell git rev-parse --short HEAD 2>/dev/null || echo unknown)
|
||||
LDFLAGS := -X $(VERSION_PKG).BuildVersion=$(GIT_HASH)
|
||||
|
||||
# Default: Go workspace bin (e.g. ~/go/bin). Override with: make install PREFIX=...
|
||||
GOPATH ?= $(shell go env GOPATH)
|
||||
@@ -10,18 +12,43 @@ PREFIX ?= $(GOPATH)
|
||||
INSTALL_BIN := $(PREFIX)/bin
|
||||
DEV_HOME := $(CURDIR)/.dev-home
|
||||
|
||||
.PHONY: build run run-dev install uninstall test version demo
|
||||
.PHONY: build build-server build-all web run run-dev run-server-dev install uninstall test version demo
|
||||
|
||||
build:
|
||||
go build -ldflags "$(LDFLAGS)" -o bin/$(BINARY) $(CMD)
|
||||
|
||||
web:
|
||||
cd web && npm ci && npm run build
|
||||
|
||||
build-server: web
|
||||
go build -ldflags "$(LDFLAGS)" -o bin/$(BINARY_SERVER) $(CMD_SERVER)
|
||||
|
||||
# Build server binary without rebuilding frontend (uses committed/placeholder dist).
|
||||
build-server-go:
|
||||
go build -ldflags "$(LDFLAGS)" -o bin/$(BINARY_SERVER) $(CMD_SERVER)
|
||||
|
||||
build-all: build build-server
|
||||
|
||||
run: build
|
||||
./bin/$(BINARY)
|
||||
|
||||
# Sandbox: isolated config/data under ./.dev-home (does not touch ~/.config)
|
||||
# Sandbox: isolated config/data under ./.dev-home (does not touch ~/.config).
|
||||
# YouTrack is not part of the local test environment — use tm_server instead.
|
||||
run-dev: build
|
||||
@rm -rf $(DEV_HOME)/.local/share/task-master/projects/youtrack
|
||||
TASK_MASTER_HOME=$(DEV_HOME) ./bin/$(BINARY)
|
||||
|
||||
# Web test environment: SQLite demo against tm_server only (no YouTrack).
|
||||
# Seeds project "Test" + samples; login admin/admin (alice/alice as member).
|
||||
run-server-dev: build-server-go
|
||||
@rm -f $(DEV_HOME)/.local/share/task-master/task-master.db \
|
||||
$(DEV_HOME)/.local/share/task-master/task-master.db-wal \
|
||||
$(DEV_HOME)/.local/share/task-master/task-master.db-shm
|
||||
@rm -rf $(DEV_HOME)/.local/share/task-master/projects/youtrack
|
||||
TASK_MASTER_HOME=$(DEV_HOME) TM_ADMIN_USER=admin TM_ADMIN_PASSWORD=admin \
|
||||
TM_SEED_DEMO=1 TASK_MASTER_SECRET=dev-secret \
|
||||
./bin/$(BINARY_SERVER) -listen :8080
|
||||
|
||||
install: build
|
||||
install -d $(INSTALL_BIN)
|
||||
install -m 755 bin/$(BINARY) $(INSTALL_BIN)/$(BINARY)
|
||||
|
||||
Reference in New Issue
Block a user