Skip to content

docs(web): reframe the site around the staged loop, not attach-first#417

Merged
Zach Dunn (zachdunn) merged 8 commits into
mainfrom
docs/staged-loop-story
Jul 22, 2026
Merged

docs(web): reframe the site around the staged loop, not attach-first#417
Zach Dunn (zachdunn) merged 8 commits into
mainfrom
docs/staged-loop-story

Conversation

@zachdunn

Copy link
Copy Markdown
Member

Stacked on #416 (docs/staging-correctness) — merge that one first. This
branch is based on it, so the diff here is scoped to the story reframe.

Summary

The site told an attach-first story ("have a PR, run attach"). Since 0.24.0
(#403 bare put stages by default on a branch; #405 uploads staged), the
actual differentiator is the inverted loop: upload while you work → it's
already staged for the branch → the PR opens already furnished, with zero
upload commands at PR time. This reframes the site around that loop, matching
the story already told in docs/deletion.md,
skills/github-screenshots/SKILL.md, and skills/uploads-cli/SKILL.md.

  • Homepage (index.astro): hero terminal now walks uploads put (staged,
    no PR yet) → gh pr create → "your PR opens already furnished" → the same
    wireframe comment. Lede, <meta> description, og/twitter descriptions
    updated to lead with the loop while still naming uploads attach as the
    explicit form. The features grid swaps "update-in-place comments" for a
    "stage as you go" card (uploads staged, binding, copy-and-keep); the
    update-in-place fact moved into the lede. agentPrompt (the copyable agent
    setup prompt) now teaches the staged loop end to end.
  • Docs hub (docs.astro): new "Start before the PR exists" beat right
    after the two-command overview.
  • Attach & share (attach-pull-request-images.astro): staging promoted
    from a "No PR yet?" aside to a first-class section (own TOC entry) —
    attach --branch as the explicit multi-file form, uploads staged
    (--branch, --format json), the binding states (self/none/other/unknown,
    linked to the GitHub App page), and the durability sentence (copy-and-keep).
  • Agents guide (agents.astro): stage-as-you-go section and the
    AGENTS.md snippet drop the now-unnecessary --branch flag from a bare
    put; the find gh.branch=… shell backstop is replaced with
    uploads staged --format json (always a valid document, even at zero
    files).
  • Reference (reference.astro): added uploads staged to the command
    list.
  • llms.txt's "Docs: attach & share" line now mentions staging.

No new solid CTAs; existing width tokens and &#32; whitespace pattern kept
as-is.

Screenshots

Homepage hero, before vs. after, attached below via uploads attach (see the
managed 📎 Attachments comment). Captured locally: a static server over the
built dist/client for "after", the shared dev server (still on main's
copy at the time) for "before", both via
uploads screenshot --no-upload --out + uploads attach. This environment's
shared preview infrastructure serves from the main checkout rather than this
worktree, so the dev-server route to the "after" state wasn't usable — the
static-server workaround above stood in for it.

Test plan

  • pnpm --filter @uploads/web build — succeeds, verified rendered output
    in dist/client/index.html for the new copy
  • pnpm test — 204 files / 2568 tests pass
  • pnpm typecheck — 0 errors
  • pnpm run format:check — clean
  • Visual check via local screenshots (above)

Staging has no time-based cleanup — promotion is copy-and-keep, so an
already-embedded URL keeps serving. The only real time bound is
promotion's 30-day freshness window (files staged past that are
skipped, not deleted). Fix the false "~7/~30 day cleanup" claim in
github-app.astro and the CLI README, and update the put example to
show the branch-staged default (issue #403) instead of the classic
dated layout.
0.24.0 inverted the story: a bare `put` on a branch stages
automatically (#403), so agents can capture at every visual milestone
while they work and the PR opens already furnished — no upload
command needed at PR time. `uploads staged` (#405) shows what's
queued and whether it'll auto-attach.

- Homepage hero terminal walks the new loop (put while working → gh
  pr create → already furnished); lede, meta descriptions, and the
  features grid follow; agentPrompt teaches the staged loop end to end.
- Docs hub gets a "start before the PR exists" beat.
- Attach & share promotes staging from an aside to a first-class
  section with its own TOC entry, covering `uploads staged` and
  binding states.
- Agents guide's stage-as-you-go section drops the `--branch` flag
  from its recipes and swaps the `find gh.branch=` shell backstop for
  `uploads staged --format json`.
- Reference lists `uploads staged`.
- llms.txt's attach & share blurb mentions staging.
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Jul 22, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
uploads-web 470133c Commit Preview URL

Branch Preview URL
Jul 22 2026, 07:55 PM

@coderabbitai

coderabbitai Bot commented Jul 22, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are limited based on label configuration.

🏷️ Required labels (at least one) (2)
  • coderabbit:review
  • review
🚫 Excluded labels (none allowed) (1)
  • wip

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 2a30cb51-9c01-46ba-a8a2-f31ea9ae66d8

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/staged-loop-story

Comment @coderabbitai help to get the list of available commands.

@uploads-sh

uploads-sh Bot commented Jul 22, 2026

Copy link
Copy Markdown

📎 Attachments

hero-after.webp
after

hero-before.webp
before

Maintained by uploads.sh — re-uploading a file with the same name updates it everywhere it is embedded.
Add media: uploads put <file> --pr <N> --comment (or --issue <N>) · docs

The example invented a "(staged for branch X)" suffix on put's
uploading line — that shape is only ever printed by attach --branch
(runAttachBranch). Bare put's uploading line has no such suffix; the
staging signal is the trailing note line and the branch-keyed URL.

Also dropped the content-hash suffix from the staged key — staged
keys are stable per filename (ghBranchAttachmentKey, no hash), unlike
the dated layout's hashed keys. Added a sentence calling out that
difference since it's otherwise easy to miss between the two examples.
…amples

Same class of bug as the docs/staging-correctness fix, now merged
forward: several examples invented a "(staged for branch X)" suffix on
put's uploading line (only attach --branch prints that), and one
example left an unsanitized "/" in a branch-staged key
(ghBranchAttachmentKey sanitizes the branch to one segment, feat/nav
-> feat-nav). Fixed in the homepage hero terminal, the docs hub's
"start before the PR exists" example, and the staging section's
`uploads staged` example output. The hero's note line now truncates
the real note text with a real ellipsis instead of paraphrasing it.
Put the plain-sentence version of staging up front and move the
opt-out flag list / no-hash detail to a Details note at the bottom of
the section, after both examples. Compress the promotion-retention
paragraph on the GitHub App page to the one-sentence contract first,
then the freshness caveat last and brief.
Homepage lede drops all code spans and the trailing "point uploads
attach" detail sentence — the terminal right below already shows the
real commands. Meta/og/twitter descriptions follow the same plain-
language rule. The "stage as you go" and "device frames" feature cards
trim to at most one code literal each, phrasing the rest plainly. The
docs hub's "start before the PR exists" beat trims to one lead-in
sentence, the example, and one payoff sentence. One light-touch fix on
the attach & share page where a code span was pure restatement.
@zachdunn
Zach Dunn (zachdunn) merged commit 89ae62a into main Jul 22, 2026
4 checks passed
@zachdunn
Zach Dunn (zachdunn) deleted the docs/staged-loop-story branch July 22, 2026 19:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant