Files
task-master/Makefile
T
skrueckenandCursor 472a2fa72e Add global web nav with project groups and tree sidebar.
Restructure the UI into top-level tabs and a scrollable project tree, and persist optional project groups so demos and settings can organize many projects.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-27 22:43:03 +01:00

70 lines
2.3 KiB
Makefile

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)
PREFIX ?= $(GOPATH)
INSTALL_BIN := $(PREFIX)/bin
DEV_HOME := $(CURDIR)/.dev-home
.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).
# 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 50 demo projects (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)
@echo "installed $(INSTALL_BIN)/$(BINARY)"
uninstall:
rm -f $(INSTALL_BIN)/$(BINARY)
@echo "removed $(INSTALL_BIN)/$(BINARY)"
test:
go test ./...
version: build
./bin/$(BINARY) version
# Record a full feature walkthrough (requires vhs: https://github.com/charmbracelet/vhs)
demo:
vhs demo.tape