You've already forked agentic-coding-workflow
33 lines
1.0 KiB
Bash
33 lines
1.0 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# Format staged Go files.
|
|
STAGED_GO=$(git diff --cached --name-only --diff-filter=ACM | grep '\.go$' || true)
|
|
if [ -n "$STAGED_GO" ]; then
|
|
echo "$STAGED_GO" | while IFS= read -r f; do
|
|
gofmt -w "$f"
|
|
git add "$f"
|
|
done
|
|
fi
|
|
|
|
# Lint and format staged web source files. Paths are repo-root relative; we
|
|
# strip the leading "web/" so tooling runs inside the web workspace.
|
|
cd web
|
|
|
|
STAGED_WEB_SRC=$(git diff --cached --name-only --diff-filter=ACM | grep -E '^web/src/.*\.(ts|tsx|vue|js|jsx|mjs)$' || true)
|
|
if [ -n "$STAGED_WEB_SRC" ]; then
|
|
echo "$STAGED_WEB_SRC" | sed 's|^web/||' | while IFS= read -r f; do
|
|
pnpm exec eslint --fix "$f"
|
|
pnpm exec prettier --write "$f"
|
|
git add "../web/$f"
|
|
done
|
|
fi
|
|
|
|
STAGED_WEB_FMT=$(git diff --cached --name-only --diff-filter=ACM | grep -E '^web/.*\.(css|scss|json|md|yaml|yml)$' || true)
|
|
if [ -n "$STAGED_WEB_FMT" ]; then
|
|
echo "$STAGED_WEB_FMT" | sed 's|^web/||' | while IFS= read -r f; do
|
|
pnpm exec prettier --write "$f"
|
|
git add "../web/$f"
|
|
done
|
|
fi
|