Contains source Markdown files for Zoo's documentation. Handwritten pages live alongside directories mirrored from other repositories.
Did you find a typo? Please make a pull request!
Edit generated documentation in its authoritative repository. Changes made to the downstream mirrors in this repository will be overwritten.
| Path in this repository | Authoritative source |
|---|---|
content/pages/docs/kcl-lang/** |
KittyCAD/modeling-app docs/kcl-lang/** |
content/pages/docs/kcl-std/** |
modeling-app/rust/kcl-lib/std/** doc comments, rendered into modeling-app/docs/kcl-std/** |
content/kcl-test-outputs/** |
modeling-app/rust/kcl-lib/tests/outputs/** |
content/pages/docs/cli/manual/zoo*.md |
KittyCAD/cli, generated with make gen-md |
The remaining file in the CLI manual, index.md, is handwritten here. The
API reference is generated separately and is not
stored in this repository.
See AGENTS.md for generator commands and the exact ownership
rules used by coding agents.
For blog, research, and press posts, use frontmatter tags for content categories.
Do not add New manually. The website frontend uses the frontmatter date to
automatically show a New badge for posts published within the last two calendar
months. It checks recency when the page loads, including on preview cards, article
headings, and the New tag results page. Refreshing or revisiting the page updates
the badge; no content edits or site rebuilds are needed for it to expire.
Blog posts show the author's portrait, name, and publication date below the title. The author block appears once, above the post content. Research and press posts have layouts with the author block below the post content.
Image frames use the website's page accent by default. To choose a different
accent for an image, set theme="green" (or another supported theme) on
FramedImage, or frameColor="var(--green)" on ZoomableImage. The frame,
corner markers, and zoom control use the same accent.
By default, ZoomableImage preserves the source image's proportions and draws a
frame around its preview. Use unframed when the surrounding component already
provides a frame. Custom thumbnails, including FramedImage, keep their own frames.
Provide image width and height for a stable layout while loading; galleries
use the first image's dimensions to size their previews.
When adding a FramedImage, set aspect to the source image's width and height
(or an equivalent ratio such as 1 / 1 for a square image). Run
npm run check:images to compare these values with the image files. The pull
request build runs the same check and rejects differences above 5%.
Use frameAspect when a different frame shape is intentional; the image will
remain undistorted inside that frame.
If you have access to our website repository and you'd like to live preview your content in the website as your write/edit it, head over to that repo's README to get instructions on how to set it up.