CLI
Astro-first wrapper around shadcn for init/add, project info, docs lookup, and docs generation.
The bejamas CLI is a thin Astro-first wrapper over shadcn. Use it for:
init: scaffold Astro (single app or monorepo).add: install from registries with short names.apply: switch an existing app to a different preset.preset: decode, share, open, or resolve Bejamas preset codes.info: show the current project and config summary from shadcn.docs: fetch docs, examples, and API links for components.docs:build: generate MDX docs from.astrocomments.docs:check: validate documentation completeness for components.
For advanced registry browsing, use the shadcn CLI (view, search, list, build).
Install
Section titled “Install”Use directly via npx:
npx bejamas@latest --helpCommands
Section titled “Commands”Create an Astro app or monorepo, wire Tailwind v4, tokens, base styles, and components.json.
You can also switch an existing app to a different preset by rerunning init --preset, but new projects should use apply. Installed UI components are reconfigured to the new preset automatically when applying the full preset.
Starter templates are English-only by default. Use --rtl --lang <ar|fa|he> when you want the CLI to add the template i18n/RTL wiring.
npx bejamas init [--mode astro|monorepo|monorepo+docs] [--dir .] [--pm pnpm|npm|yarn] [-y]npx bejamas init --preset <encoded-preset> --yesSets up Astro project(s) + optional docs workspace (monorepo+docs)
Tailwind v4 + globals
Base tokens & CSS variables
components.json (Bejamas schema)
Compatibility note: Bejamas runs exact shadcn v4.6.0 for managed CLI commands. Bejamas still preserves its custom init behavior, including preset switching, style support, and init --base-color.
apply
Section titled “apply ”Apply a Bejamas preset to an existing project.
npx bejamas apply --preset <encoded-preset>npx bejamas apply <encoded-preset>npx bejamas apply <encoded-preset> --only themenpx bejamas apply <encoded-preset> --only fontnpx bejamas apply <encoded-preset> --only theme,fontFull apply updates the design system and re-installs detected UI components. Partial apply keeps installed component files in place and updates only the selected theme and/or font wiring.
Install a component/block from configured registries (see components.json → registries). Writes files under your aliases.
npx bejamas add <name>npx bejamas add @bejamas/pricing-tablenpx bejamas add @shadcn/buttonNotes
Namespaced form @namespace/name targets a specific registry.
—dry-run shows what would be written.
preset
Section titled “preset”Manage Bejamas preset codes.
npx bejamas preset decode <encoded-preset>npx bejamas preset decode <encoded-preset> --jsonnpx bejamas preset url <encoded-preset>npx bejamas preset open <encoded-preset>npx bejamas preset resolvenpx bejamas preset resolve --jsonpreset resolve reads the current components.json, design-system CSS, and Astro managed font wiring to produce the nearest Bejamas preset code. In a monorepo, run it with -c <workspace>.
Proxy to shadcn info so you can inspect the current project, installed components, and config.
npx bejamas infonpx bejamas info --jsonProxy to shadcn docs for component docs, examples, and API links.
npx bejamas docs comboboxnpx bejamas docs combobox --jsondocs:build
Section titled “docs:build”Generate MDX docs from comments in .astro files (props/slots/usage).
Use docs:build explicitly for generation. The plain docs command is reserved for the shadcn docs lookup wrapper.
Usage
npx bejamas docs:build [--in "src/components/**/*.{astro,ts}"] [--out docs/components] [--overwrite] [--dry-run]Example (in a .astro file)
---/** * Pricing Table * @prop plans Plan[] list of plan objects * @prop highlight string tier to emphasize * @a11y All interactive controls are keyboard reachable * @usage Keep headings 1–2 lines; prices use <sup> for currency */---docs:check
Section titled “docs:check”Validate documentation completeness for all components. Reports missing required fields, incomplete docs, and provides a summary.
npx bejamas docs:check [--cwd <path>] [--json]Options
Section titled “Options”--cwd <path>- Path to UI working directory--json- Output results as JSON for CI integration
Documentation Fields
Section titled “Documentation Fields”Required:
@component- Component name@title- Display title@description- Short description
Recommended:
@preview- Primary visual example@usage- Code usage examples@figmaUrl- Figma design URL
Optional:
@examples- Additional examples