mirror of
https://github.com/luxfi/aml.git
synced 2026-09-24 00:25:20 +00:00
A Go AML engine: a configurable rules DSL over expr-lang with weight-of-evidence scoring, sanctions screening against OFAC/UN/EU/HMT, case management, and scored alerting. Single binary, embedded SQLite per org, embedded UI. Surface (all /v1, org-scoped): /v1/aml/transactions ingest and score /v1/aml/rules /rules/test the rules DSL and its dry-run /v1/aml/sanctions/search list screening /v1/aml/cases investigation workflow /v1/aml/health Build: make build produces one static binary with the UI embedded (embedui tag); bare Go tooling needs no Node. Third-party license and notice texts are generated from the module graph the linker actually walks and ship beside every artifact. Co-authored-by: Hanzo Dev <[email protected]>
37 lines
1.2 KiB
Makefile
37 lines
1.2 KiB
Makefile
.PHONY: build ui notice test vet run clean
|
|
|
|
VERSION := $(shell git describe --tags --always 2>/dev/null || echo dev)
|
|
LDFLAGS := -ldflags="-s -w -X main.version=$(VERSION)"
|
|
NOTICE := THIRD-PARTY-NOTICES
|
|
|
|
# The product binary embeds the admin dashboard, so it always builds the UI
|
|
# first. Bare `go build`/`go vet`/`go test`/`go install` need no UI: without
|
|
# the embedui tag ui/embed.go supplies a placeholder tree.
|
|
build: ui notice
|
|
CGO_ENABLED=0 go build -trimpath -tags embedui $(LDFLAGS) -o amld ./cmd/amld/
|
|
|
|
ui:
|
|
pnpm --dir ui install --frozen-lockfile
|
|
pnpm --dir ui build
|
|
|
|
# Third-party license and notice texts for the binary, derived from its module
|
|
# graph. Generated with the same tags and CGO setting the product ships with, so
|
|
# it describes the artifact that is distributed and not some other graph — which
|
|
# also means dist/ has to exist first for the embed directive to resolve. No
|
|
# -platforms: this target builds one binary, for this host.
|
|
notice: ui
|
|
CGO_ENABLED=0 go run ./internal/notice -tags embedui -pkg ./cmd/amld -name amld -o $(NOTICE)
|
|
|
|
test:
|
|
go test -race -count=1 ./...
|
|
|
|
vet:
|
|
go vet ./...
|
|
|
|
run: build
|
|
./amld serve --dev
|
|
|
|
clean:
|
|
rm -f amld $(NOTICE)
|
|
rm -rf data/ ui/dist/
|