Repository navigation
feat(docs): 0.2.0 docs rewrite, homepage and new logo (ENG-521, ENG-522) - #6
Merged
folathecoder merged 5 commits intoNov 3, 2026
Conversation
… homepage (ENG-521, ENG-522) Five Diataxis sections and 30 pages with every Python block run in CI, redirects for every old URL, a homepage at /, and a site-wide restyle on GitHub Primer tokens and Mona Sans.
…assets A lowercase a whose stroke runs on along the baseline and out of the loop. Replaces the three-bar mark in the header, favicon, app icons and OG card, and adds public/brand with lockups and social images.
…design comments The mark path lives once in src/lib/brand-mark.ts. The OG card uses the site's light tokens. Comments describe what the code does instead of naming a design system.
…eator page for 0.2.0
folathecoder
deleted the
folathecoder/eng-521-020-5-docs-site-rebrand-as-an-agent-engine-and-rewrite-the
branch
November 3, 2026 17:40
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.
Summary
Rewrites agentling.dev for Agentling 0.2.0 as the documentation of an agent engine, gives the site a homepage, and restyles the whole site. The docs move from four sections and 17 pages written for 0.1.1 to five sections and 30 pages:
CI now runs every Python block on the site, and every old URL redirects to its new page.
/is a homepage instead of a redirect to the docs, and every page has new colours, Mona Sans and a new homepage finish. The site also gets Agentling's new black and white logo, with its favicon, app icons and social images.Ticket
ENG-521. Closes ENG-521 once it deploys after 0.2.0 is on PyPI, and ENG-522 (the homepage). The two tickets ship as one PR so the site can be reviewed and tested as a whole.
Changes
Content (
content/)core-concepts/andguides/are deleted.ScriptedModelwith no key.MIGRATING.md, with every "after" snippet executed).check_model's eight), design decisions, and security and trust.changelog/0.2.0.mdis new.pages/contributing.mdis rewritten with the Python checks and the# not executedmarker. "Framework" is removed fromprivacy.mdand the 0.1.0 changelog. Theterms.mdlinks are pinned tov0.2.0.Site code
site.tshas the new tagline andVERSION = "0.2.0", andseo.tsthe newDEFAULT_TITLE.llms.txt, the layout keywords, the OG image titles and the creator page now say "agent engine". The OG image titles are a text change only.rehype-raw, already a dependency) so the inline SVG renders. Content is written in this repository, so it's trusted.tutorial/skillsandreference/skillsthe same slug, so doc pages are now looked up by section and slug.getDocPage, the doc page, its OG image,llms-full.txtand the search index. Search ids are nowdoc:<section>/<slug>.next.config.tshas permanent redirects for the 13 moved pages and the two old section indexes.Checks
scripts/validate-content.mjs: fails on "framework" (except the migration page's rename sentence), a list of filler words, title-case headings and links to the agentling repo atmain. It now reports file line numbers, not body line numbers.pyproject.toml,uv.lock,tests/:test_examples.pyruns everypythonblock in its own process from the repository root, with a 30 s limit. A block that starts with# not executed: <reason>is skipped, and the reason can't be empty.test_redirects.pychecks the redirect table against live pages.tests/fixtures/openai_chat.jsonlandollama_native.jsonl.examplesjob checks out Agentling forexamples.providers, then runs ruff, mypy and the examples. The existingchecksjob is unchanged.Homepage and design (ENG-522)
src/app/page.tsxrenders the homepage. All copy lives in oneCOPYconstant. Metadata:DEFAULT_TITLEas an absolute title,SITE_TAGLINE, canonical/.src/components/install-command.tsx(new, client):pip install agentlingin a code block with a copy button that shows a tick and "Copied" for 2 s, plus "or uv add agentling" beneath.src/components/icons/copy.tsx(new): the copy and tick icons, shared by the install command andcopy-code-buttons.tsx, which now imports them instead of holding its own markup.src/components/logo.tsxlinks to/.src/app/docs/page.tsxkeeps its redirect to the introduction.Site-wide restyle
Added at the owner's request during the build. Every page keeps its layout and gets a new look.
globals.css.THEME_COLORSinsrc/lib/theme.tsmatches them.next/font/localinsrc/assets/fonts/mona-sans/, with the OFL beside them: the variable face with its optical-size axis, and Mona Sans Mono for labels. The OG images still render with the bundled IBM Plex and JetBrains Mono files.buttonClasshas three medium variants:ghost,outlineand a solidprimary.h1andh2, a grey inline-code pill, bordered tables with striped rows, quotes, and five alert colours for callouts..brand-label);text-baseresolved to thebasecolour token instead of the 16 px size, so anything using it was painted in the background colour. The size token is nowtext-md.New logo
The old mark, three bars of decreasing length, read as an align-left icon next to the header controls. The new symbol is a lowercase a whose stroke runs on along the baseline and out of the loop. Its counter is round on three sides and square in the corner where the stroke leaves. It is black and white only: black on light grounds, white on dark.
src/components/icons/mark.tsxis one path incurrentColor, using the heavier small-size cut drawn for 24 px and below. Theaccentprop is gone;logo.tsxnever passed it.src/app/icon.svgis black in light mode and white in dark mode.scripts/generate-icons.mjsdraws the white mark on a black tile, because a raster can't follow the theme.favicon.ico,apple-icon.pngand the three PWA icons are regenerated from it.src/lib/og-image.tsxdraws the new mark and uses the site's light tokens: a white ground, ink text and a black section label instead of the old indigo.src/lib/brand-mark.ts, imported bymark.tsxand the OG card.public/brand/holds the outlined symbol and lockups in black and white, PNGs, and profile images and banners for LinkedIn, X and GitHub, with aREADME.mdsaying which file goes where. They're served from agentling.dev, so the Agentling README can link them.Review fixes
A
lunar-pr-reviewpass checked the code, and a separate reviewer read every page against the Agentling 0.2.0 source and re-ran each example against its shown output. The fixes:.chip,.eyebrow,.brand-label,.bg-graph) sit in@layer baseand@layer components, so utilities win. The version chip and the search shortcut now hide on phones as intended. Prose and code-block rules stay outside a layer so they still beat the typography plugin's defaults.v0.2.0instead ofmain.is_runningturns true, at its first step rather than atrun(). The pages now say so and give the safe UI pattern.record.pyis described as it actually works, with aRecordingTransportexample for your own adapter.main().trim-contextskips the loop's own notes.Usagefields,provider_dataon a delta, shared tool state, and the streaming render.How it was tested
npm run validatereports "Content OK: 30 doc pages in 5 sections, 3 releases, 3 site pages".npm run lint,npx tsc --noEmitandnpm run buildare clean.uv run pytest -qgives 93 passed and 5 skipped, againstagentling==0.2.0from PyPI and thev0.2.0tag for the reference adapters.uv run ruff check testsanduv run mypy testsare clean.blob/mainlink fails on all four, with the right line numbers.next startlocally:/docs/reference/openai-modeland/docs/core-concepts/skillsreturn 308 to their new pages./docsstill redirects to the introduction./docs/tutorial/skillsand/docs/reference/skillsboth return 200 with their own titles./llms.txtsays "agent engine" and doesn't contain "framework"./search-index.jsonlists all 30 pages and none of the old ones.aria-label.tutorial/connect-a-model.md:36: needs an OpenAI API key.how-to/write-a-model-adapter.md:102: needs an API key.how-to/run-a-local-model.md:30: needs a running Ollama server.how-to/tools-from-a-schema-or-mcp.md:102: needs the mcp package and an MCP server.concepts/the-model-contract.md:13: the shape of the protocol.The marker in
pages/contributing.mdis inside atextblock that explains it, so it isn't counted.Homepage and design
npm run validate,npm run lint,npx tsc --noEmitandnpm run build: clean.GET /is 200, no redirect. TC-02:GET /docsis 308 to the introduction. TC-03: the logo on a docs page hashref="/".scrollWidthequals the viewport.h1, text "Bring your model. Run the loop."grep -i framework src/app/page.tsxfinds nothing./opengraph-imageis 200; the sitemap lists/./).Logo
npm run validate,npm run lintandnpx tsc --noEmitare clean, and CI's build passes.node scripts/generate-icons.mjsregenerated every raster icon./icon.svgserves the new mark, and/brand/logo/agentling-horizontal-black.svgreturns 200.Notes for reviewers
agentling==0.2.0from PyPI, and the CI job checks out thev0.2.0tag for the reference adapters. Links toblob/v0.2.0in the agentling repo resolve.agentling-docsat tagv0.1.1, which doesn't exist yet. Create it on the pre-rewritemaincommit8267953before merging.changelog/0.2.0.mdhasreleaseDate: 2026-11-03, the day 0.2.0 was published.core/agent.pyonmain, and says it may still use the 0.1 API until ENG-508.skillspages.textblocks, because they're 0.1 code.addand a newsave_notetool rather than every earlier tool, so it only partly meets FR-5's "previous program is the starting point".README.md:318says the loop raisesModelOutputErrorfor unparseable tool calls; it actually raisesModelErrorafter two corrections.ModelBadRequestError's docstring lists only some of the 4xx codes the adapters map to it.AgentSession.step_callbacksisn't documented.Homepage and design
globals.cssis unchanged.Logo
https://agentling.dev/brand/logo/, in a separate PR on the agentling repo. Those images load once this site is deployed.