FOR CODING ASSISTANTS
Your assistant writes Pantrix, not Material.
Pantrix writes its own documents for coding assistants from its sources at every build: an MCP server, a skill, llms.txt and the whole library as JSON. An assistant asks for what it needs and gets today's API, not a guess from Material.
12
tools on the MCP server
3
prompts: a component, a screen, a test
7
rules the skill keeps
An assistant with the Pantrix server, step by step
Add a comment box under each order, 280 characters at most.
pantrix-ui · search_components
search_components("comment, several lines")
PantrixTextArea · PantrixFilledTextArea · PantrixTextField
pantrix-ui · get_component
get_component("PantrixTextArea")
Its page: the examples with their imports, its parameters, the tags it writes
pantrix-ui · get_rules
get_rules()
No Material · text through Pantrix · values from the theme · a tagKey on every control
import com.pantrixui.components.inputs.textarea.PantrixTextArea
val comment = rememberTextFieldState()
PantrixTextArea(
state = comment,
label = stringResource(Res.string.order_comment),
maxLength = 280,
tagKey = "orderComment"
)
✓ No Material import
✓ A tagKey, the same in every language
✓ The label from the strings
✓ Imports from the documents
Four ways in, one source
All four are written by the same build from the library's KDoc, its components' annotations, the demo's pages and the guides. They cannot drift from the code: the build stops when they would.
MCP
The MCP server
At this site's address, or in one jar that runs by itself. The assistant chooses what to ask and takes only what it needs.
pantrixui.com/mcp
SK
The skill
How to work with Pantrix: its rules, the steps of writing and reviewing a screen, Material's names in Pantrix.
pantrix-ui@pantrix-ui
txt
llms.txt
The index an assistant reads first, about 8,500 tokens. llms-full.txt holds everything in one file.
pantrixui.com/llms.txt
{ }
pantrix-ui.json
The library as data, with its JSON Schema: for tools, code generators and this site.
pantrix-ui.schema.json
What to give, and when
Writing a screen or a feature
llms.txt: the assistant reads the page or the module it needs
The work is with one component
That component's page, pages/data-table.md: its examples with their imports, every parameter
Everything at once
llms-full.txt, about 1.3 million tokens: for a wide context or a document index
A tool reads Pantrix
pantrix-ui.json and its schema
Set it up in a minute
The server answers at pantrixui.com/mcp, so an assistant needs nothing but the address. Its jar runs it on your own machine instead, on JDK 17 or newer.
1.
Give your assistant the address, pantrixui.com/mcp.
2.
Or take the jar from a release, mcp-0.1.0-alpha03-all.jar.
3.
Write the skill into the project, so the team gets it through git.
4.
Ask for a screen: the assistant loads the skill and calls the tools.
Fewer tools, fewer wrong turns. --tools search_components,get_component opens the jar's server with those two alone.
# The server, by its address
claude mcp add -t http pantrix-ui https://pantrixui.com/mcp
# The skill, with Pantrix UI's plugin
claude plugin marketplace add develappsancho/pantrix-ui-cmp-package
claude plugin install pantrix-ui@pantrix-ui
Then /mcp lists pantrix-ui as connected, and /skills lists the plugin's skill.
What the server answers
Tools for asking, resources for reading whole, prompts that carry the rules in themselves.
search_components
The components found by what they are for: "toast", "bottom sheet".
get_component
A component’s page: its features, its examples with their imports, its API.
get_component_metadata
A component as data: its import, artifact, keywords, tags and every form.
search_api · get_api
A declaration found by its name or what it does, and the whole of it.
search_icons
The icons of PantrixIcons.
search_documentation
Every page, guide and reference of the skill.
get_documentation_page
One of them whole: guide/adaptive-usage, skill/forms.
list_examples · get_example
A page’s examples, and the whole code of one.
get_changelog
The changelog, or one version’s part of it.
get_rules
The skill itself, for an assistant that has not installed it.
Resources
pantrix://components
pantrix://api
pantrix://examples
pantrix://documentation
pantrix://icons
pantrix://llms.txt
pantrix://llms-full.txt
pantrix://schema
pantrix://skill
Prompts
find_component_for_use_case the component for a need, and how it is used
implement_screen a screen, with its rules
write_ui_test a component's test, with its tags
The rules it keeps
The skill's core rules are the library's own. llms.txt, get_rules and the prompts say the same, from one place.
1
No Material
Pantrix’s components and PantrixTheme, never Material’s.
2
Text through Pantrix
PantrixText and Pantrix’s fields, never BasicText or BasicTextField.
3
Values from the theme
Colours, type, gaps and corners from PantrixTheme, not written into a screen.
4
Every control a tagKey
The same in every language: Button_save. Never from visible text.
5
An image says what it shows
A contentDescription, or null for decoration; never empty.
6
Start and end, not left and right
So a screen turns round in a language read from right to left.
7
Imports from the documents
Every component lives in a package of its own; take the import given.
Why it does not drift
The documents are built with the library, and the build stops on any of these:
✗
A component no page of the demo documents
✗
An example that calls a parameter no form has
✗
The skill naming what the library does not have, or a version it is not published in
✗
A block of Kotlin that uses a name it does not import
✗
A component without keywords, or a text of the demo without its English
✗
A guide whose English has parted from its Turkish
Every page of this site has "Copy page". It copies the page as Markdown, the same text the server gives, for a chat with any assistant.
Apache License 2.0
English
·