Skip to main content

bestax-bulma with LLMs

@allxsmith/bestax-bulma ships LLM-optimized documentation so AI coding agents — Claude Code, Cursor, GitHub Copilot, ChatGPT — can read the docs in full and build with the library correctly. This page explains what's published and how to use it.

Using bestax docs with AI tools​

Point your assistant at the docs — the approach is the same across Claude Code, Cursor, Copilot, and ChatGPT:

  • Give it the index. Add https://bestax.io/llms.txt to your project docs / rules, or paste it into the chat, so the model can discover every page and fetch what it needs.
  • Feed it everything. For a one-shot load of the whole library, use https://bestax.io/llms-full.txt.
  • Fetch a single page. For a focused question, link the page's Markdown directly — e.g. https://bestax.io/docs/api/elements/button.md — to keep the context small.

Skills​

Beyond the raw docs, bestax ships Agent Skills that teach an agent how to build with the library (conventions, patterns, and a component catalog). Install one with the skills CLI:

npx skills add https://github.com/allxsmith/bestax --skill bestax-custom-component
npx skills add https://github.com/allxsmith/bestax --skill bestax-form
npx skills add https://github.com/allxsmith/bestax --skill bestax-icons
npx skills add https://github.com/allxsmith/bestax --skill bestax-layout-scaffold
npx skills add https://github.com/allxsmith/bestax --skill bestax-migrate
npx skills add https://github.com/allxsmith/bestax --skill bestax-optimize
npx skills add https://github.com/allxsmith/bestax --skill bestax-theming

Starting a new app? pnpm create bestax@latest offers to preinstall these skills into the generated app's .claude/skills/ (alongside a CLAUDE.md and a .claude/launch.json that lets Claude Code's browser preview start the dev server by name), so a Claude Code session picks them up automatically. See the Skills overview for what each one does.

In the npm package​

The published @allxsmith/bestax-bulma tarball also carries small pointer files at the package root, so an agent that explores node_modules by filename (find / ls for AGENTS.md, CLAUDE.md, llms.txt) lands on these resources even if it never opens the README or reaches the network first:

FileWhat it is
llms.txtA stub index pointing at the site artifacts above, plus the compact security-posture summary.
AGENTS.mdThe same links, the core library conventions, and the same security-posture summary.
CLAUDE.mdA copy of AGENTS.md under the filename Claude-family tooling probes for first.

They are pointers plus a compact, verifiable security-posture summary — the site artifacts stay the source of truth for everything else, so the rest of the tarball cannot go stale between releases.

MCP server​

bestax-mcp is the first-party Model Context Protocol server. Where llms.txt gives an agent the docs to read, the MCP server lets it ask questions — every component's props (including compound parts like Navbar.Brand), the working examples, the --bulma-* variables behind each component, the helper props that replace inline styles, and the Agent Skills as invocable prompts.

Setup​

Each release is published to the official MCP Registry as io.github.allxsmith/bestax-mcp, for clients that install from it.

Claude Code:

claude mcp add bestax -- npx -y bestax-mcp@1

Cursor, Claude Desktop, Windsurf, Cline — add to your MCP config (.cursor/mcp.json, claude_desktop_config.json, …):

{
"mcpServers": {
"bestax": {
"command": "npx",
"args": ["-y", "bestax-mcp@1"]
}
}
}

Run it from your project directory, so it can find your installed @allxsmith/bestax-bulma.

The @1 pins the major version. Without it, npx resolves whatever is newest on every launch — so a breaking change, or a compromised release, reaches your agent the next time it starts, with no review step. Add it to your project's dev dependencies instead if you would rather your lockfile decide.

Tools​

Start with list_components — its output names the tool to call next. Reach for search_bestax when you need a component whose name you do not know.

ToolWhat it gives the agent
list_componentsEvery component with a one-line purpose, by category
search_bestaxComponents, props, examples, CSS variables and skills in one ranked list
get_componentImport, summary and props; optionally examples, CSS variables, accessibility, related
get_propsOne prop table, including compound sub-paths (Navbar.Brand)
get_examplesWorking tsx examples from the component's documentation page
get_css_variablesThe --bulma-* custom properties a component reads, with Sass names and defaults
get_helper_propsSpacing, colour, typography, flexbox and visibility props — the alternative to hand-written styles
lookup_bulma_classesThe bestax component and props for a Bulma class string (button is-primary), one row per class
list_skillsThe Agent Skills
get_skillA skill's instructions, or one of its reference documents

It also exposes each skill as an MCP prompt (theming, form, layout-scaffold, …) and serves bestax://catalog, bestax://components/{name} and bestax://skills/{name} as resources — useful in clients where the user attaches context (@-mentioning a resource), rather than a channel the model reaches for mid-task the way it does the tools above.

Offline, and pinned to a version​

The index ships inside the package — there are no network calls, so nothing rate-limits and nothing breaks when you are offline.

It also means the server documents one specific bestax-bulma release. On startup it resolves the version actually installed in your project, and if that differs by a minor or major version it appends a warning to its answers rather than confidently describing props you do not have. Set BESTAX_MCP_NO_VERSION_CHECK=1 to turn that off.

Because the index is generated from the same source as this site — TSDoc for props, the SCSS for variables, these pages for examples — it cannot drift from the documentation you are reading.

Contributing​

Found the LLM docs unclear, incomplete, or wrong for your agent? Please open an issue describing what you expected and what happened — feedback on how well the docs work with AI tools is especially welcome.

How these docs are generated​

The LLM docs are generated at build time by docusaurus-plugin-llms (configured in docs/docusaurus.config.js), following the llmstxt.org standard. These artifacts are produced and served from the site root:

FileWhat it is
/llms.txtCurated index — a table of contents linking every doc page (per the llmstxt.org spec).
/llms-full.txtThe entire documentation concatenated into a single plain-text file.
Per-page .mdEvery page is also served as clean Markdown at <page>.md, e.g. /docs/guides/intro.md.

They are regenerated on every docs build, so they always match the deployed site.