diff --git a/.fragua/config.yaml b/.fragua/config.yaml new file mode 100644 index 00000000..db349583 --- /dev/null +++ b/.fragua/config.yaml @@ -0,0 +1,11 @@ +# fragua project config — project-specific knobs only. +# Generic preferences live in ~/.fragua/config.yaml. + +# Stable project identity. Committed so every clone shares it and runs +# stay attributable across machines — do not change it. +id: 01a03577-18d7-7f10-bcee-144a07a22c20 +name: flotilla +tier: fork + +# Uncomment if the project needs a per-worktree bootstrap command: +# bootstrap: "bun install --frozen-lockfile" diff --git a/.gitignore b/.gitignore index 98bab524..476087dd 100644 --- a/.gitignore +++ b/.gitignore @@ -81,3 +81,14 @@ CLAUDE.md .DS_Store Thumbs.db package-lock.json + +# fragua runtime — never commit these +.fragua/runs/ +.fragua/worktrees/ +.fragua/blobs/ +.fragua/fragua.db* +.fragua/daemon/ + +# fragua — always commit these (negative patterns for clarity) +!.fragua/config.yaml +!.fragua/workflows/ diff --git a/scripts/checks b/scripts/checks new file mode 100755 index 00000000..d136194f --- /dev/null +++ b/scripts/checks @@ -0,0 +1,38 @@ +#!/usr/bin/env bash +set -euo pipefail + +cd "$(dirname "$0")/.." + +lint () { + echo "::group::lint" + pnpm lint + echo "::endgroup::" +} + +check () { + echo "::group::typecheck" + pnpm check + echo "::endgroup::" +} + +build () { + echo "::group::build" + pnpm build + echo "::endgroup::" +} + +no_local_overrides () { + echo "::group::no-local-overrides" + # Make sure no "link:" overrides are committed — those break every other clone + if grep -q 'link:' package.json pnpm-workspace.yaml 2>/dev/null; then + echo "Some packages are linked to local files!" + exit 1 + fi + echo "::endgroup::" +} + +steps="${*:-lint check no_local_overrides build}" + +for step in $steps; do + "$step" +done