MkDocs-based website for the Pony programming language.
This is a Pony project. The ponylang org maintains a set of LLM coding skills. Get set up with them before contributing:
-
Not set up yet? Install them once:
git clone https://github.com/ponylang/llm-skills.git cd llm-skills python install.py -
Already set up? Make sure you're on the latest. If you installed with the script above,
git pullin the directory where you clonedllm-skillsand the symlinked skills update automatically — if you set them up another way, refresh them however that setup expects.
See the llm-skills README for details and other harnesses.
When you start working on this project, load the pony-skills skill — it tells your assistant which Pony skill to use for each task.
Read CONTRIBUTING.md.
If you are running on an Anthropic model, use claude-opus-4-6 for writing comments, documentation, and other prose. Prose quality from Anthropic models dropped starting with Opus 4.7 and has gotten worse with each subsequent release.
The llmstxt MkDocs plugin (configured in mkdocs.yml) auto-generates llms.txt and llms-full.txt during build. When making changes to docs content or nav structure, verify that the llms.txt output is updated accordingly.
The Contribute, Community, and Blog sections are intentionally excluded from llmstxt. They're operational and community content that would drown out the language-focused material (Learn, Use, FAQ, Discover) that LLMs actually need.
All external, non-Pony PDFs linked from the site must be stored locally in
docs/media/other-papers/ with a meaningful name (e.g.,
champ-steindorfer-vinju-2015.pdf, not oopsla15.pdf). Link to the local
copy instead of the external URL to avoid broken links.
When linking to other pages within this site, use relative markdown paths with
.md extensions (e.g., ../use/debugging/pony-lldb-cheat-sheet.md), not
URL-style paths (e.g., /use/debugging/pony-lldb-cheat-sheet/).
The tone is informal and Hemingway-esque. Short sentences. Minimal adjectives and adverbs except where they serve a conversational tone. The result should not sound clipped or like a series of notes — it should read like a person talking to you.
Study recent posts in docs/blog/posts/ for voice calibration before writing.
- "Office Hours" is the title of a meeting and is singular. "Office Hours was attended by..." not "Office Hours were attended by..."
- The Pony Development Sync is sometimes called just "the sync" in casual context.
- Refer to repositories as
owner/repo(e.g.,ponylang/msgpack, notmsgpack) — no one owns a name. This applies everywhere: section headings, inline prose, not just the releases list. Link to the repo on first mention. - Em dashes (—) are fine but use them sparingly. Heavy use reads as
AI-generated. Prefer a period, comma, colon, or parentheses when one works
just as well. Never replace an em dash with double hyphens (
--). - Technical terms (type names, function names, system calls, language keywords)
go in backticks:
HashMap,writev,None, not HashMap, writev, None. - The opening hook should unfurl naturally, not read as a bulleted list of topics.
Filename: docs/blog/posts/last-week-in-pony-MMDDYY.md
Front matter:
---
draft: false
authors:
- seantallen
categories:
- "Last Week in Pony"
title: "Last Week in Pony - Month Day, Year"
date: YYYY-MM-DDTHH:MM:SS-04:00
---Structure (in order):
- Opening hook — 1-2 sentences, conversational, teasing what's in the post
<!-- more -->marker##sections for highlighted items only (see the lwip skill for what qualifies — most items do not)## Items of Notewith###subsections — the default home for most content (community items, routine releases, Office Hours, Pony Development Sync, etc.)## Releases— bullet list of all releases with links, format:- [org/repo version](release-url)---separator- Footer boilerplate (always the same):
_Last Week In Pony_ is a weekly blog post to catch you up on the latest news for the Pony programming language. To learn more about Pony, check out [our website](https://ponylang.io) or our [Zulip community](https://ponylang.zulipchat.com).
Got something you think should be featured? There's a GitHub issue for that! Add a comment to the [open "Last Week in Pony" issue](https://github.com/ponylang/ponylang-website/issues?q=is%3Aissue+is%3Aopen+label%3Alast-week-in-pony).
Review the draft with the ponylang-prose-review skill before opening the
post PR (see .claude/README.md). It runs an ensemble of lens reviewers —
house voice, agency, narrative, reader-orientation, tightness, content-honesty, plus a
conditional accuracy lens — against these editorial guidelines and the craft
rules, and returns findings to apply or raise. It replaces the single
copy-editing pass this section used to describe.