tl;dr
The Carto packages moved into the hammer repo under new, Anvil2-style names, and their docs now live on this site. Carto itself lives on as a theme inside the Anvil2 token system, not a separate design system.
Terminology
A few terms come up a lot below. From here on, we’ll mostly call Carto “the theme.”Where we started
Carto started as its own library (carto-react-kit, carto-rn-kit, and the rest), built in partnership with the Atlas design team. At the same time, Koi was working separately on a new visual language for FMA and for the Atlas-within-FMA experience. Two tracks, two visual languages, two places to look.
Why we originally built Carto on its own
Carto started as the design system behind the new Atlas chat experience. We built it apart from Anvil2 for three reasons:- Speed. Atlas had an accelerated timeline tied to Pantheon deliverables. A dedicated system let the team move fast without waiting on broader Anvil2 processes.
- Scope. Carto was scoped tightly to AI chat components and patterns, not general product UI.
- Visual language. Carto used a visual style that was meaningfully different from Anvil2 at the time.
Why we are pivoting now
The visuals converged
Over the course of the Q2 Pantheon push, the theme’s look and feel drifted closer to Anvil2:- Primary buttons went from Titan Blue, to black, and back to Titan Blue.
- Border radius went from noticeably rounder to only a little rounder than Anvil2.
- Headings moved from Satoshi back to Sofia Pro, matching Anvil2.
The scope grew
At the same time, the theme’s audience grew well past Atlas chat. Workspace and the Atlas Mobile App adopted it, and so did FMA as it adds Atlas features and goes through a redesign. What started as a small, purpose-built system for one experience became a second general-purpose design system running alongside Anvil2. That growth turned out to prove a point: the token system was robust enough to support each app’s own visual differentiators without splintering into a separate system per app. The Koi design studio, which is helping shape FMA’s Atlas experience and visual direction, is building that work on the theme too.Consumer feedback that teams didn’t want another system
Product teams told us that supporting yet another design system alongside Anvil2, A1, and Knockout was a real pain. That feedback, plus the theme’s visuals already trending toward Anvil2, is why we’re consolidating now.What changed
The theme’s packages moved out of their own repo and intohammer, following Anvil2’s naming and package conventions.
@servicetitan/carto-tokens kept its name and its own pipeline for now.
Consolidating it into the Anvil2 token system was too risky to take on right
before Pantheon, so it stays a separate build for the moment. You’ll still
wrap agentic surfaces in CartoTheme exactly like before. See Getting
Started for the current setup.A single path forward for charts
Charts are converging too. The new chart kits that came over with the theme cover both agentic surfaces and standard product charts, soanvil2-ext-charts, our amCharts 5 theme library, is now deprecated. Use the packages below for any new chart work, on web or React Native.
What’s next
Converging on one visual language
We’ve started bringing the two systems’ visual languages together instead of letting them drift further apart. How we consolidate, including the strategy for color, typography, and shape, is still being aligned with leadership. The direction is to send those decisions through Anvil2’s token system first, with the theme built as a variant on top rather than a parallel set of choices. The goal is a single, cohesive visual identity that holds up across web and mobile. Teams building agentic surfaces and teams building standard product UI will draw from the same design language, whether they’re shipping a web app or a native mobile experience.Next steps
We’re deliberately holding off on deeper changes until after Pantheon, so we don’t disrupt the product ahead of our biggest event of the year. Once that’s behind us, four workstreams kick off:1
Consolidate the token pipelines
Merge
carto-tokens and hammer-token into a single anvil2-tokens pipeline so every Anvil2 library builds from one source of truth.2
Consolidate the visual language
We’re aligning with leadership on the strategy and goals for this work,
post-Pantheon, since it affects many areas of the product. The hope is that we
align fonts, icons, border radii, and colors across all Anvil2 libraries.
Those specifics are not settled yet, and we’ll share the plan once it lands.
3
Consolidate duplicate components
Button, Text, Card, and others exist in both anvil2 and
anvil2-ai-kit today, mostly because of visual differences that no longer
exist. We’ll merge these down to one implementation.4
Support migrations
We’ll help every affected team upgrade with as little disruption as possible, backed by clear migration guides and direct support.
Explore the docs
AI Kit overview
Design guidance and building blocks for agentic experiences.
Getting started
Install
anvil2-ai-kit, add CartoTheme, and build your first component.Terminology
Shared vocabulary for building with AI Kit and the Carto theme.
Charts - React
Build ECharts-powered charts with the new
anvil2-charts-kit.Charts - React Native
The same chart kit for React Native, via
anvil2-rn-charts-kit.Roadmap
See what’s planned for the rest of the convergence.
Connect with us
Get help on Slack
You can reach the Anvil team in the #ask-designsystem Slack channel.
Schedule office hours
Join the Anvil team for office hours on Mondays or Wednesdays to get hands-on help.
Report an issue
Ran into a bug in the code or design? We use Jira to track outstanding
issues with Anvil.
Suggest an idea
Have an idea for a component, pattern, or documentation? Fill out the Feature Request Form in Slack.
View roadmap
View what is coming up this year for the design system.
Contribute to Anvil2
Interested in contributing to Anvil? Read our contribution guide to learn
more!