Skip to content

refactor(www): SDK-first website refresh#627

Merged
MaanavD merged 5 commits into
mainfrom
website-sdk-refresh
May 21, 2026
Merged

refactor(www): SDK-first website refresh#627
MaanavD merged 5 commits into
mainfrom
website-sdk-refresh

Conversation

@MaanavD
Copy link
Copy Markdown
Collaborator

@MaanavD MaanavD commented Apr 10, 2026

Summary

Foundry Local is now delivered as a native SDK (~20 MB) that ships inside your app. The website still led with CLI install commands (winget install + foundry model run), which framed it as a CLI tool. This PR updates the website to reflect the SDK-first positioning.

Changes

Hero / Install Command (install-command.svelte)

  • Replaced the 2-step CLI flow (winget installfoundry model run) with tabbed SDK install commands (Python / JS / C# / Rust)
  • Each tab shows the correct pip install / npm install / dotnet add package / cargo add command
  • Copying the install command reveals a per-language hello-world code snippet showing the full lifecycle: init → catalog → download → load → chat

Features Section (features.svelte)

  • Fixed the "Ship to Production" code example: was showing manager.getCatalog().getModel('gpt-oss-20b') (wrong API, fake model). Now shows correct SDK pattern: catalog.getModel('qwen2.5-0.5b') with download()load()createChatClient()completeChat()
  • Updated feature descriptions to mention EP management, ~20 MB runtime, native SDK + optional REST server

Download Dropdown (download-dropdown.svelte)

  • Fixed Rust package name: cargo add foundry-localcargo add foundry-local-sdk
  • Added WinML variants section for Windows with all 4 languages (-winml packages)

Docs Links (all files)

  • Fixed broken links: azure/ai-foundry/foundry-local/azure/foundry-local/ across hero, nav, footer, and config

Messaging Updates (config.ts, footer.svelte)

  • Updated site description and footer tagline to reflect SDK-first positioning
  • Updated feature card descriptions

Verification

  • svelte-check: 18 errors before, 18 errors after (all pre-existing in UI library types, zero introduced)

Not included (separate repo: MicrosoftDocs/azure-ai-docs)

A docs discrepancy audit found 14 issues in the Learn docs. Key items:

  • Python samples wrap synchronous SDK in asyncio.run() (4 pages)
  • Streaming code uses chunk.choices[0].message.content instead of delta.content (2 pages)
  • "Foundry Local CLI" framing on pages that also apply to the SDK (3 pages)
  • Landing page meta description is generic Azure AI boilerplate

Full audit available on request.

Copilot AI review requested due to automatic review settings April 10, 2026 17:43
@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 10, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
foundry-local Ready Ready Preview, Comment May 21, 2026 6:25pm

Request Review

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refreshes the Foundry Local website messaging and examples to position Foundry Local as an SDK-first product (vs. a CLI-first flow), and updates installation/docs links accordingly.

Changes:

  • Replaced the hero “two-step CLI” install flow with tabbed per-language SDK install commands and copy-to-reveal hello-world snippets.
  • Updated homepage feature copy + the “Ship to Production” example to match current SDK patterns and a real model alias.
  • Updated the download dropdown with correct Rust crate name and added WinML-specific install options; fixed Learn docs URLs across the site.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
www/src/lib/config.ts Updates site description, feature card copy, and Learn docs URLs to SDK-first messaging.
www/src/lib/components/install-command.svelte Introduces tabbed SDK install commands + per-language hello-world snippet reveal/copy.
www/src/lib/components/home/hero.svelte Fixes primary Learn docs link to new /azure/foundry-local/ path.
www/src/lib/components/home/footer.svelte Updates footer tagline and Learn docs link to SDK-first messaging + new docs path.
www/src/lib/components/home/features.svelte Updates feature descriptions and replaces example code with current SDK usage + real model alias.
www/src/lib/components/download-dropdown.svelte Fixes Rust crate name, adds WinML install variants for all languages, and refines labels.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread www/src/lib/components/install-command.svelte Outdated
Comment thread www/src/lib/components/install-command.svelte Outdated
Comment thread www/src/lib/components/install-command.svelte Outdated
MaanavD and others added 3 commits April 11, 2026 18:22
- Hero: Replace CLI install (winget/brew + foundry model run) with
  tabbed SDK install commands (pip/npm/dotnet/cargo) and per-language
  hello-world code snippets that show the full lifecycle
- Features: Fix code example from wrong API (getCatalog().getModel('gpt-oss-20b'))
  to correct SDK pattern (catalog.getModel('qwen2.5-0.5b') + download/load/chat)
- Download dropdown: Fix Rust package (foundry-local -> foundry-local-sdk),
  add WinML variants for all languages (pip/npm/dotnet/cargo)
- Fix all docs links from azure/ai-foundry/foundry-local/ to azure/foundry-local/
- Update footer tagline to SDK-era messaging
- Update config description and feature descriptions to reflect
  SDK-first positioning, ~20 MB runtime, EP management

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
- C#: add required NullLogger.Instance param to CreateAsync
- Rust: add type hint None::<fn(f64)> for download() generic

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
## What changed

Redesigned the Foundry Local homepage to make the SDK the primary path
for new users, with the first viewport focused on app integration rather
than CLI tooling.

- Updated hero copy and CTAs for an SDK-first story.
- Reworked the install widget into three stacked steps: install package,
load a model, and run chat inference.
- Added Python, JS, C#, and Rust tabs with compact syntax-highlighted
snippets.
- Added progressive 1 -> 2 -> 3 reveal: steps unlock on copy or click,
with a reduced-motion-aware animation.
- Kept the inference step honest to the existing samples by showing the
chat path instead of adding unsupported chat/speech/vision sub-tabs.
- Fixed copy toast theming to use semantic site tokens.
- Updated the install dropdown, features, and footer to keep SDKs
primary and CLI tooling secondary.

## Testing

- `npx prettier --check src/lib/config.ts
src/lib/components/install-command.svelte`
- `npm run build`

---------

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
baijumeswani
baijumeswani previously approved these changes May 20, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 8 out of 8 changed files in this pull request and generated 2 comments.

Comment thread www/src/lib/components/install-command.svelte Outdated
Comment thread www/src/lib/components/download-dropdown.svelte Outdated
- Download dropdown: SDK installs (with stacked Cross-platform/Windows
  badges) now appear above CLI tools; labels updated to 'Start with an
  SDK' and 'Optional CLI tools'
- Download dropdown: fix copiedItem -> copiedItemId, extract typed
  CliInstallOption / SdkInstallOption arrays, drop unused Button import
- install-command.svelte: C# snippet now includes missing using
  statement, null-check on GetModelAsync, and proper ChatMessage usage
- models page: replace large CLI Card with a compact single-row strip
  (Windows install | macOS install | Run command) that copy to clipboard
  on click; strip ordered install-first then run

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@MaanavD MaanavD disabled auto-merge May 21, 2026 18:41
@MaanavD MaanavD enabled auto-merge (squash) May 21, 2026 18:41
@MaanavD MaanavD merged commit 2624773 into main May 21, 2026
10 checks passed
@MaanavD MaanavD deleted the website-sdk-refresh branch May 21, 2026 18:46
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.

3 participants