Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .github/workflows/ui-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,14 @@ jobs:
- name: Validate frontend
env:
VITE_LOOPOVER_API_ORIGIN: https://api.loopover.ai
# PostHog web analytics (#8293). Inline rather than a repo secret, for the same reason
# VITE_LOOPOVER_API_ORIGIN above is: this is a write-only ingest token that is embedded in
# the client bundle and therefore public by design -- a secret would add ceremony while
# protecting nothing.
#
# It MUST be set here, at build time: Vite substitutes `import.meta.env.VITE_*` when the
# bundle is compiled, so setting this as a runtime Worker var/secret instead would leave
# the shipped bundle with no token and turn every capture into a silent no-op with zero
# errors anywhere.
VITE_POSTHOG_PROJECT_TOKEN: phc_DmhFq8vjWoXGzd27EFp3sCFL4ugqXftaXhdy4E9noUZU
run: npm run ui:openapi:check && npm run ui:lint && npm run ui:typecheck && npm --workspace @loopover/ui run build
65 changes: 65 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Root prettier ignore -- DEFAULT DENY.
#
# Prettier governs only three workspaces in this repo (apps/loopover-ui,
# apps/loopover-miner-ui, packages/loopover-ui-kit). Each has its own .prettierrc
# and its own `format:check`, and `npm run ui:lint` -- which `test:ci` runs -- is
# what enforces them. Everything else (src/**, test/**, scripts/**, the non-UI
# packages, control-plane/**, review-enrichment/**) is hand-formatted at a much
# wider effective line length and is NOT prettier input.
#
# Why this file exists: prettier resolves config by walking UP from each file, so
# before this, a `prettier --write .` or a `prettier --write <backend file>` run
# from the repo root found NO config, silently fell back to prettier's own
# defaults (printWidth 80), and rewrapped thousands of lines of backend source
# that nothing in CI had ever asked to be formatted. That produced enormous,
# unreviewable diffs in otherwise small PRs -- repeatedly. Editors with
# "format on save" hit the same trap.
#
# Default-deny rather than an explicit list of the excluded trees: a list goes
# stale the moment a new top-level directory or package is added, and it fails
# OPEN (the new tree gets mangled). This fails CLOSED -- a new directory is
# ignored until someone deliberately un-ignores it below.
/*

# The three prettier-governed workspaces, re-admitted explicitly. Un-ignoring a
# path requires un-ignoring each parent directory first, hence the paired lines.
!/apps/
/apps/*
!/apps/loopover-ui/
!/apps/loopover-miner-ui/

!/packages/
/packages/*
!/packages/loopover-ui-kit/

# Never formatter input, even inside a governed workspace.
#
# These MUST be repeated here rather than inherited: prettier reads only ONE
# ignore file per run -- the one for the directory it was invoked from -- so the
# workspaces' own .prettierignore files do not apply to a root-level run. Without
# these, `prettier --write .` from the root reformats exactly the files each
# workspace deliberately exempts. Keep in sync with:
# apps/loopover-ui/.prettierignore
# apps/loopover-miner-ui/.prettierignore
# packages/loopover-ui-kit/.prettierignore
**/node_modules/
**/dist/
**/coverage/
**/CHANGELOG.md
**/.output/
**/.vinxi/
**/package-lock.json
**/bun.lock
**/pnpm-lock.yaml

# Generated -- reformatting these makes their own drift checks fail against a
# file nobody edited (`ui:openapi:check`, `mcp:tool-reference:check`).
**/routeTree.gen.ts
apps/loopover-ui/.source/
apps/loopover-ui/public/openapi.json
apps/loopover-ui/src/lib/mcp-tool-reference.ts

# Deliberately formatter-free: prettier's mdx pass rewrites the template-literal
# code inside <CodeBlock code={`...`}> attributes and destroys the embedded
# YAML/compose indentation (#8182 fallout, repaired once already).
apps/loopover-ui/content/docs/
1 change: 1 addition & 0 deletions apps/loopover-ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
"input-otp": "^1.4.2",
"lucide-react": "^0.577.0",
"motion": "^12.42.2",
"posthog-js": "^1.409.3",
"react": "^19.2.8",
"react-day-picker": "^9.14.0",
"react-dom": "^19.2.8",
Expand Down
Loading
Loading