Repository navigation
feat: the Uptide landing page, published on GitHub Pages - #1
Merged
Merged
Conversation
A static page in site/: tagline, list/check/fix/pr, real output (list on supabase/supabase at 9d1661d with uptide 0.4.0, check and fix on the storefront fixture as in the README), verification, safety, keys and privacy (the CLI's privacy text verbatim), what is supported today, and how to contribute a pack. Same design tokens as the HTML report, light and dark, self-hosted OFL fonts, no external requests. Also a 1280x640 social preview (og.png) and its source. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Jfs6nzMrWv3mgXR2tdoiRb Signed-off-by: Lucas Braum <lucasbraum@gmail.com>
…n npm; Gemini experimental - .github/workflows/pages.yml publishes site/ as it is on a push to main that changes it (upload-pages-artifact, deploy-pages; contents read, pages write, id-token write). The canonical URL, og:url, og:image and twitter:image come from its one SITE_URL (https://uptide-dev.github.io/uptide/), written into %SITE_URL% at deploy time. - list on supabase/supabase at 9d1661d, rerun with npx uptide@latest (0.4.0): 20s, 12 urgent (a new @modelcontextprotocol/sdk advisory leads), ai 7.0.130, @ai-sdk/openai 4.0.86; the terminal blocks, the urgent tile, the hero note and the footnote together. Counts (273/116/100/57/15/53) and check on storefront are unchanged. - The providers row says Gemini is experimental, as the CLI now does. - A test keeps every font next to its OFL license, the URL placeholder, and no request to another origin. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Lucas Braum <lucasbraum@gmail.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Lucas Braum <lucasbraum@gmail.com>
list and check with --html --open, fix with --pr --yes; the fix row says what --pr --yes does, and the pr row is for a branch fix left local. The terminal blocks keep the commands as they were run. On a phone the hero's copy button is an icon, so the command fits one line. Screenshots retaken. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Lucas Braum <lucasbraum@gmail.com>
…PI key The fix row in How it works shows the two passes: the pack's rules (no LLM, no key, the same on every run), then the agent for what rules can't do, which needs ANTHROPIC_API_KEY, OPENAI_API_KEY or GEMINI_API_KEY (experimental); without a key the rules still run and the rest is listed, and a dependency with no pack needs the key. list and check say they need no LLM and no key. On a phone every copy button is an icon and a command never wraps inside a flag. Screenshots retaken. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Lucas Braum <lucasbraum@gmail.com>
…tide SITE_URL is https://uptide-dev.github.io/ now that the page has its own repository, and the references to uptide's source and fixture are links. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Lucas Braum <lucasbraum@gmail.com>
…the page's tests pages.yml deploys site/ as it is (SITE_URL https://uptide-dev.github.io/). dco.yml and the scripts it and the private-material check use are copies from uptide-dev/uptide. The page's tests run with node --test, with no dependencies. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Signed-off-by: Lucas Braum <lucasbraum@gmail.com>
lucasbraum
added a commit
to uptide-dev/uptide
that referenced
this pull request
Oct 7, 2026
Labels the Gemini provider **experimental** in the CLI and the docs. - `fix --help`: `--provider` reads "anthropic, openai or gemini (experimental)". - The provider line `fix` prints: `LLM: gemini (experimental) / gemini-3.8-flash · budget $1.00`. - README and docs/cli.md: "Assisted fixes support Anthropic, OpenAI and Gemini (experimental)". - The test that selects each provider from its key checks the label. There's a patch changeset. Why: Gemini's evaluation runs on the storefront fixture failed on service errors (HTTP 503/429; docs/provider-evaluation.md), so its migration quality isn't established yet. **The landing page that this PR first carried moved to its own repository**, so it publishes at the root, https://uptide-dev.github.io: [uptide-dev/uptide-dev.github.io#1](uptide-dev/uptide-dev.github.io#1), with its history. The last commit here removes `site/`, the Pages workflow, its test and its screenshots. The earlier commits are left as they were, not rewritten. Net diff against main: 5 files, Gemini only. Checks: cli tests 51 passed in `cli.test.ts`; biome clean; changeset check ok; every commit signed off. 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Signed-off-by: Lucas Braum <lucasbraum@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The Uptide landing page, moved here from uptide-dev/uptide#37 so it publishes at the root, https://uptide-dev.github.io.
What's in it
site/, with its history from #37. The five commits that touched the page were replayed with their original authors, messages and sign-offs, keeping onlysite/and the screenshots. The result is byte-identical to #37'ssite/.--html --open/--pr --yesin the examples, andfixdescribed as deterministic rules first, then AI with your API key.8e84d88:SITE_URLis nowhttps://uptide-dev.github.io/, andsite/README.mdlinks back to uptide's source and fixture instead of repo-relative paths.37a8790, CI:pages.ymldeployssite/as it is (upload-pages-artifact + deploy-pages; contents read, pages write, id-token write) on a push tomainthat changes it.dco.ymlplusscripts/are copied unchanged from uptide-dev/uptide, where they are tested.ci.ymlruns the private-material check with the denylist and the page's tests (node --test, no dependencies).Checks (local)
node --test 'test/*.test.mjs': 4 pass. Every font sits next to its OFL license, the four URLs come from%SITE_URL%, nothing loads from another origin, and the deploy has the right trigger and permissions.Before it can deploy
UPTIDE_PRIVATE_DENYLIST(same value as in uptide-dev/uptide). Until it's set, CI's private-material check fails on pushes and on PRs from this repository, this one included.Screenshots
🤖 Generated with Claude Code