Major refactor

This commit is contained in:
2026-04-03 23:04:51 -04:00
parent e7f337c735
commit 35d07e8df1
124 changed files with 4929 additions and 2429 deletions

155
Taskfile.yml Normal file
View File

@@ -0,0 +1,155 @@
version: '3'
dotenv: [".env", ".env.example"]
vars:
VERSION: '{{.v | default "latest"}}'
RUST_LOG: "warn,siren=info"
tasks:
default:
desc: List available tasks
cmds:
- task --list
silent: true
setup:
desc: Copy .env.example to .env if .env does not exist
cmds:
- test -f .env || cp .env.example .env
silent: true
# -----------------------------------------------------------
# Cargo
# -----------------------------------------------------------
build:
desc: "Compile a debug build"
deps: [ setup ]
cmds:
- cargo build
silent: true
release:
desc: "Compile an optimised release build"
deps: [ setup ]
cmds:
- cargo build --release
silent: true
run:
desc: "Run the project"
deps: [ setup ]
env:
RUST_LOG: "warn,siren=trace"
cmds:
- cargo run
silent: true
format:
desc: "Format code"
cmds:
- cargo fmt
silent: true
clean:
desc: "Clean the project"
deps: [ setup ]
cmds:
- cargo clean
silent: true
lint:
desc: "Run Clippy linter"
deps: [ setup ]
cmds:
- cargo clippy -- -D warnings
silent: true
check:
desc: "Fast type-check without producing a binary"
deps: [ setup ]
cmds:
- cargo check
silent: true
# -----------------------------------------------------------
# Docker
# -----------------------------------------------------------
docker:build:
desc: "Build the Docker image (use v=x.x.x to set version, default is \"latest\")"
cmds:
- docker build -f Dockerfile -t siren:{{.VERSION}} .
silent: true
docker:up:
desc: "Start backend containers"
cmds:
- docker compose up -d
silent: true
docker:up:all:
desc: "Start all containers"
cmds:
- docker compose --profile app up -d
silent: true
docker:down:
desc: "Stop all containers"
cmds:
- docker compose --profile app down
silent: true
docker:clean:
desc: "Stop all containers and remove volumes"
prompt: "This will remove all docker containers, networks, volumes, and images. Are you sure?"
cmds:
- docker compose --profile app down -v
silent: true
docker:refresh:
desc: "Clean and restart containers"
cmds:
- task: docker:clean
- task: docker:up
silent: true
# -----------------------------------------------------------
# UI
# -----------------------------------------------------------
ui:install:
desc: "Install UI npm dependencies"
dir: ui
cmds:
- npm install
silent: true
ui:run:
desc: "Run Vite dev server"
dir: ui
cmds:
- npm run dev
silent: true
ui:build:
desc: "Build the React UI into ui/dist"
dir: ui
cmds:
- npm run build
silent: true
# -----------------------------------------------------------
# Utilities
# -----------------------------------------------------------
psql:
desc: Connect to the database
cmds:
- docker exec -it siren-postgres psql -U $DATABASE_USER -P pager=off
silent: true
ngrok:
desc: Start ngrok tunnel
vars:
UI_PORT: '{{.UI_PORT | default "8080"}}'
cmds:
- ngrok http {{.UI_PORT}}
silent: true