docs(guides): first-user walkthrough from wallet to trade #10
Labels
No labels
agent:implement
agent:research
docs
feature
ready
research
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
code/cl8y-docs#10
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
https://docs.cl8y.com/guides/open-the-dexis a first-party CTA stub: it tells the reader to open the DEX and explicitly is not a trading tutorial. A newcomer who has no wallet, no Terra Classic gas, and no assets on the right chain still cannot go from that page to a completed first use of CL8Y.Ship one prerendered first-user walkthrough on a new allowlisted path so a reader with nothing set up can follow a single manuscript through:
uluna).uluna→ Terra Classic CL8Y CW20).Bundle (do not split into wallet / gas / bridge / trade / withdraw tickets). Keep
/guides/open-the-dexas the CTA-only child. Do not put this manuscript on/(that is the Start Here ecosystem map,code/cl8y-docs#9).v0 platform work (#3) already shipped crawl files, unique titles, and stub routes. Full guide manuscripts were out of scope there. This issue is the first approved how-to.
Parent / siblings (do not re-implement):
code/cl8y-docs#3 — v0 host + stubs;/guides/open-the-dexpurpose remains “follow the first-party CTA. Not a trading tutorial.”code/cl8y-docs#9 — Start Here on/(product map + diagram + token purposes). Explicitly not a trading tutorial and not wallet UI. Cite and link; do not expand that ticket.docs/ARCHITECTURE.md§4 / §12 — closed route allowlist; no unverified stats; no unpublished marketingcontent/guides/.code/cl8y-bridge-monorepo— source of currently published supported chains/assets and bridge fee presentation. Read, do not vendor unpublished internals.code/cl8y-dex-terraclassic— swap UI the walkthrough points at; do not copy the SPA into this host.code/CL8Y-web#1 — CL8Y utility-token wording. Different deployable.Current codebase
How-to surface is a CTA stub, not a first-use guide:
src/pages/OpenDexPage.tsx— heading “Open the DEX”; copy: “This is not a trading tutorial, and it does not ask for a wallet connection on this host.”dexHrefcampaignguides-open-the-dex.src/pages/GuidesPage.tsx— index lists only that one child. Copy forbids dumping unpublished marketing manuscripts.src/seo.ts— closedDocsPathunion of seven v0 paths. No first-use route.src/lib/dexHref.ts—CAMPAIGNSclosed vocabulary; noguides-first-use.src/App.tsx— sevenRouteentries; unknown paths 404 via nginxtry_files … =404.src/content/invariants.ts—BANNED_CURRENT_COPY/FORBIDDEN_CLAIM_PATTERNS(no TVL / “best DEX” / CoinGecko / CMC / DeFiLlama; no “Buy CL8Y” CTA).e2e/crawl.spec.ts+src/verify-dist.test.ts— unique titles/canonicals for the seven v0 paths; sitemap loc count followsROUTES./guides/open-the-dexpurpose is “follow the first-party CTA. Not a trading tutorial.”A complete first-use manuscript therefore must add one allowlisted path in the same PR (seo union, campaign id, App route, prerender, sitemap, crawl tests, ARCHITECTURE §4). Do not overload
/guides/open-the-dex(would contradict #3 copy and the CTA-only skill). Do not add/guides/start-here(reserved conceptually for #9 on/).Duplicates / already implemented
/content/guides/If
/guides/first-usealready exists as a complete prerendered walkthrough (wallet → gas → inbound → first swap → outbound, sourced routes/fee kinds, common mistakes) and AC1–AC12 pass, close as implemented — do not duplicate.Why the new implementation is needed
The public docs origin is the URL operators hand newcomers. Today the only guide child opens the DEX and stops. Without a first-use walkthrough:
/guides.This is documentation copy + one new prerendered route + optional same-origin screenshots. No wallet SDK, no swap execution on this host, no Coolify SKU pick.
Constraints / guardrails
/guides/first-use. Title seedFirst use · Guides · CL8Y docs(wordsmith OK; must stay unique vs the other seven after #9’s home title change). Canonicalhttps://docs.cl8y.com/guides/first-use(no trailing slash). Amend ARCHITECTURE §4 in the same PR. Do not add further children (no/guides/wallet,/guides/bridge,/guides/withdraw).docs.cl8y.com.uluna), distinct from CW20cLUNCwrap legs. Do not invent a CEX list or “Buy CL8Y” as the gas path. If a first-party Bridge route can deliver LUNC, say so and link the Bridge; otherwise: gas is native LUNC, this host does not sell it, see Bridge / DEX for live options. Never present a third-party venue as the primary CTA.https://bridge.cl8y.combuilt withURL(not string concat, notwindow.location, not visitor query).rel="noopener noreferrer"iftarget="_blank". Supported chains/assets = the set already published on the Bridge UI orcode/cl8y-bridge-monorepopublic docs. If a route is not published first-party, omit it (“see Bridge”) — do not reconstruct from chat or memory.dexHref({ from: DEFAULT_FROM, to: DEFAULT_TO, campaign: "guides-first-use" }). Execute ids only (uluna+ checksummed Terra Classic CL8Y CW20 already insrc/data/contracts.ts). Copy must say: pick the pair, review quote on the DEX, confirm in the wallet on the DEX origin. This host does not broadcast. Do not deep-linkslippage/expertMode/recipient/ gems. Do not claim the DEX keepsutm_*after canonicalize (ARCHITECTURE §10).code/CL8Y-web#1: point at the DEX for the live schedule).public/guides/first-use/or equivalent). First-party Bridge and DEX chrome, cropped, no seed phrases, no live balances presented as current, no third-party CEX UI. Alt text that remains true if images fail. No remote image CDN, no mermaid runtime. If screenshots would go stale faster than copy, ship the prose first and omit images rather than invent UI.BANNED_CURRENT_COPYandFORBIDDEN_CLAIM_PATTERNS. No GameFi lore. “Buy CL8Y” is not a CTA. Do not dump unpublished marketing manuscripts. USTR/UST1: not required on this page; do not add them here (that exception is #9’s CMM section on/only).dexHref+ new campaignguides-first-use(extendCAMPAIGNS). Bridge via tested helper/constant. Do not concatenate visitor query. Nojavascript:/data:/ protocol-relative /?url=redirectors. Tickers must never appear as execute ids./guideslists First use beside Open the DEX. One-line each; do not duplicate the manuscript on the index./once #9’s Start Here exists; not required to block this PR. Do not redefine/in this issue.try_filesunchanged. Unknown paths still 404. Do not change Dockerfile, Woodpecker shape, or DEXSitemap:pointer.src/data/contracts.ts.Relevant files
src/pages/FirstUsePage.tsx(new)src/content/firstUse.ts(new, preferred)src/pages/GuidesPage.tsx/guides/first-usesrc/App.tsxsrc/seo.tsDocsPath, title, description, campaignsrc/lib/dexHref.ts+dexHref.test.tsguides-first-usetoCAMPAIGNSsrc/lib/(Bridge helper if not already added by #9)new URL("/", "https://bridge.cl8y.com")+ unit testssrc/data/contracts.tssrc/content/invariants.tse2e/crawl.spec.tssrc/verify-dist.test.tsROUTES; sitemap loc includes the new path only on this origindocs/ARCHITECTURE.md§4 / §10 / §12docs/INVARIANTS.mdskills/docs-static-host/SKILL.md/docs-dex-ctapublic/guides/first-use/code/cl8y-bridge-monorepocode/cl8y-docs#9Recommended direction
src/content/firstUse.ts(step titles + body strings + “fee kinds” sentences with no numeric literals unless sourced). Unit-test: banned hype, nojavascript:, no ticker execute ids, no unverified%/ TVL.FirstUsePage: H1 First use; ordered sections; DEX CTA throughdexHref; Bridge CTA through URL helper; common-mistakes list (wrong chain, missing gas, confusing LUNC vs cLUNC, sending Terra bech32 to an EVM field, treating docs as a wallet).DocsPath/CAMPAIGNS/App/ prerender. Sitemap is generated fromseo.ts— do not hand-edit a second allowlist that can drift.GuidesPage: second stub line “First use — wallet, gas, inbound, first swap, outbound.”Acceptance criteria
GET /guides/first-useprerendered HTML (no JS) contains a First use heading and the five phases: wallet, gas (uluna/ LUNC), inbound Bridge, first DEX swap, outbound Bridge.dexHrefwithfrom=uluna,to=the Terra Classic CL8Y CW20 incontracts.ts,utm_campaign=guides-first-use. No tickers as execute ids.https://bridge.cl8y.com(path/or a documented first-party path only).relsafe if new tab. No visitor-query concat.First use · Guides · CL8Y docsor equivalent); canonicalhttps://docs.cl8y.com/guides/first-use. Other v0 routes keep their titles (home may change only via #9)./guideslinks to/guides/first-use./guides/open-the-dexstill exists and still is not rewritten into this manuscript.https://docs.cl8y.comonly. Unknown paths 404. robots/sitemap MIME unchanged.npm test,npm run typecheck, productionnpm run buildwith requiredVITE_*,npm run test:dist, Playwright 5 workers stay green./guides/first-use.CAMPAIGNSincludesguides-first-use.Given a newcomer opens the prerendered
/guides/first-usepageWhen they read the walkthrough without executing JavaScript
Then they can follow wallet setup, obtain native LUNC gas, bring funds in via the first-party Bridge, open the default DEX pair through
dexHref, and move funds out via the Bridge, with sourced routes and fee kinds and without invented statistics or a wallet UI on this hostTest plan (functional paths)
dist/guides/first-use/index.html%fee table unless sourced constantdexHrefdefault pair +utm_campaign=guides-first-usehttps://bridge.cl8y.com;relsafe if new tab/guidesHTML/guides/first-use/guides/open-the-dexGET /guides/wallet(unlisted)firstUse.ts%Test plan (copy safety)
Not a DeFi attack suite. Keep host crawl/CTA tests from #3 green.
javascript:/data:/ protocol-relative Bridge/DEX hrefcontracts.tsLUNC/CL8Yasfrom/toexecute idsdexHrefthrow / test fail/into this how-toVerification criteria
npm test&&npm run typecheck&& productionnpm run buildwith requiredVITE_*.npm run test:dist(unique titles/canonicals including the eighth path)./guides/first-useand confirm a newcomer can answer “what do I do first / where does gas come from / how do I get funds in / where do I swap / how do I get funds out?” from the page alone, without connecting a wallet on this host.scripts/check-origins.mjsstill fail-closed without HTTPS origins.Out of scope
/(that is #9)./guides/open-the-dexor adding more than one new path.code/CL8Y-web,code/cl8y-dex-terraclassic, orcode/cl8y-bridge-monorepoexcept as read-only sources.Sitemap:pointer.First-pass model recommendation
Recommendation: grok-high
Rationale: This is a newcomer how-to that spans wallet setup, Terra Classic gas, Bridge inbound/outbound, and a first DEX swap, plus a closed-allowlist expansion (
DocsPath,CAMPAIGNS, prerender, sitemap, ARCHITECTURE §4). Composer’s docs/test-only path does not apply: wallet is a founder-required topic, product claims (routes, fee kinds) must be sourced from Bridge/DEX without inventing numbers, and the change is more than three local production files in one helper (FirstUsePage,firstUsecopy module, seo/campaigns, App, guides index, architecture/invariants, crawl tests). Uncertain published-route/fee presentation on the Bridge fails the “known local edit” bar. Comparable control-plane calibration: a single RCA Markdown would be Composer; this is closer to a cross-module content-policy change than a test-helper tweak.