feat(website): Appduct docs site on Astro Starlight - #77
Merged
Merged
Conversation
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.
Adds a docs and landing site for Appduct in a new
websiteworkspace package. It's built with Astro 7 and Starlight 0.42, styled after the Callstack slide theme, and deployed to GitHub Pages at https://callstackincubator.github.io/appduct/.What's in it
Landing page (
website/src/pages/index.astro): built on Starlight's page component, so the header, search and theme toggle match the docs. Its sections follow the keynote decks: large light headlines with an accent second line, uppercase mono labels, hairline dividers, square corners and a full-width purple band.Docs: 15 pages in four sidebar groups:
They're written in the user-facing docs style from the existing READMEs and
docs/, and CLI flags and APIs were checked against the source. They reflect refactor(mcp)!: make elicitation the only "prompt" consent channel #73, feat: tool groups — optional group on the descriptor and --group/--groups on tools.list #74 and feat(mcp)!: reach app tools through list/describe/call built-ins #75: elicitation consent, tool groups, and the list/describe/call built-ins.Theme: dark by default, with the toggle kept. Code blocks use the theme's token colours. Fonts are self-hosted: Switzer (Fontshare) and Geist Mono (
@fontsource/geist-mono). Alliance No. 2 is left out on purpose because it's a commercial font and this repo is public.For LLMs:
llms.txtis a curated index linking every page's raw Markdown.llms-full.txtandllms-small.txtcome fromstarlight-llms-txt.<page>.md.<link rel="alternate" type="text/markdown">tag.Links validation:
starlight-links-validatorchecks internal docs links and anchors at build time.scripts/check-md-links.mjsnow skipswebsite/src/content, because it can't resolve Starlight's URL-style links.Deploy (
.github/workflows/website.yaml): PRs build and typecheck the site; pushes tomaindeploy it. The pnpm and Node setup matcheslint.yaml, and the actions are pinned by SHA.Screenshots
Notes for reviewers
pnpm installalso bumped two existing resolutions: the MCP SDK'szodpeer from 4.4.3 to 4.6.5, and vitest's@types/nodefrom 22 to 24.pnpm --filter appduct testpasses (739 passed, 1 skipped).robots.txtis served under/appduct/, so crawlers won't read it. It's harmless.--schemehelp text leaves out native project files as a source.TOOLS.mddocuments adefaultToolTimeoutMsoption that no longer exists.SECURITY.mdandBUILD-VARIANTS.mddisagree about the Android release swap.pr-assets/websitebranch. Delete it after merge.