81 lines
2.4 KiB
Plaintext
81 lines
2.4 KiB
Plaintext
set shell := ["powershell", "-NoProfile", "-Command"]
|
|
|
|
# Container runtime: uncomment the line for your preferred tool
|
|
# docker := "docker"
|
|
docker := "podman"
|
|
|
|
# KollectAI-ETL Task Runner
|
|
# Uses Commitizen (https://commitizen-tools.github.io/commitizen/) for
|
|
# Conventional Commits enforcement, automated versioning, and changelog generation.
|
|
# Configuration: .cz.json (SemVer, conventional_commits schema)
|
|
# Hook config: .pre-commit-config.yaml (commit-msg stage validation)
|
|
|
|
# Full bootstrap: install uv, just, commitizen, pre-commit, and configure git hooks.
|
|
# Run this once after cloning the repo. Safe to re-run (idempotent).
|
|
# Requires: PowerShell (pwsh). Installs uv and just if missing.
|
|
bootstrap:
|
|
pwsh -ExecutionPolicy Bypass -File ./setup.ps1
|
|
|
|
# Install commitizen and pre-commit, then configure git hooks.
|
|
# Requires: uv, just already installed. Use `just bootstrap` if not.
|
|
setup:
|
|
uv tool install commitizen; uv tool install pre-commit; pre-commit install
|
|
|
|
# Refresh pre-commit hook versions to latest.
|
|
# Run after pulling changes that update .pre-commit-config.yaml.
|
|
update:
|
|
pre-commit autoupdate
|
|
|
|
# Generate or update CHANGELOG.md from conventional commit history.
|
|
# Reads commits since the last tag and groups by type (feat, fix, etc.).
|
|
changelog:
|
|
cz changelog
|
|
|
|
# Bump the project version based on commit history since the last tag.
|
|
# Commitizen determines the SemVer increment automatically:
|
|
# feat commits → minor bump
|
|
# fix commits → patch bump
|
|
# BREAKING CHANGE → major bump
|
|
# Also updates CHANGELOG.md (update_changelog_on_bump is enabled in .cz.json).
|
|
bump:
|
|
cz bump
|
|
|
|
# Start infrastructure services (PostgreSQL, Ollama, MinIO)
|
|
infra:
|
|
{{docker}} compose up -d postgres ollama minio
|
|
|
|
# Run backend in dev mode
|
|
backend:
|
|
cd backend/etl; ./mvnw spring-boot:run "-Dspring-boot.run.profiles=dev"
|
|
|
|
# Run frontend dev server
|
|
frontend:
|
|
cd frontend/svelte; pnpm install; pnpm dev
|
|
|
|
# Start infra + backend + frontend for local development
|
|
dev:
|
|
just infra; just backend; just frontend
|
|
|
|
# Build all artifacts
|
|
build:
|
|
cd backend/etl; ./mvnw package -DskipTests
|
|
cd frontend/svelte; pnpm build
|
|
|
|
# Run all tests
|
|
test:
|
|
cd backend/etl; ./mvnw test
|
|
cd frontend/svelte; pnpm test
|
|
|
|
# Run linting
|
|
lint:
|
|
cd backend/etl; ./mvnw checkstyle:check
|
|
cd frontend/svelte; pnpm lint
|
|
|
|
# Start all services via Docker Compose
|
|
up:
|
|
{{docker}} compose up -d --build
|
|
|
|
# Stop all services
|
|
down:
|
|
{{docker}} compose down
|