Compare commits
3 commits
c0f545350c
...
49df66a58a
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
49df66a58a | ||
|
|
bced45814b | ||
|
|
e3e2e2f57c |
4 changed files with 63 additions and 6 deletions
11
.fragua/config.yaml
Normal file
11
.fragua/config.yaml
Normal file
|
|
@ -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"
|
||||
11
.gitignore
vendored
11
.gitignore
vendored
|
|
@ -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/
|
||||
|
|
|
|||
38
scripts/checks
Executable file
38
scripts/checks
Executable file
|
|
@ -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
|
||||
|
|
@ -61,15 +61,12 @@
|
|||
await Mail.enable()
|
||||
} catch (e) {
|
||||
settings.email = false
|
||||
console.error(e)
|
||||
await sleep(300)
|
||||
return pushToast({
|
||||
theme: "error",
|
||||
message: `Failed to enable email notifications.`,
|
||||
action: {
|
||||
message: "Details",
|
||||
onclick: () =>
|
||||
emailNotificationState.set({...emailNotificationState.get(), error: undefined}),
|
||||
},
|
||||
action: {message: "Details", onclick: () => {}},
|
||||
})
|
||||
}
|
||||
} else if (!settings.email) {
|
||||
|
|
@ -198,7 +195,7 @@
|
|||
</FieldInline>
|
||||
{/if}
|
||||
{#if $emailNotificationState.error}
|
||||
<div class="text-sm text-red-500 bg-red-50 rounded-lg p-3">
|
||||
<div class="text-sm text-error p-3">
|
||||
{$emailNotificationState.error}
|
||||
</div>
|
||||
{/if}
|
||||
|
|
|
|||
Loading…
Reference in a new issue