Skip to content
UI Kit
Accent color

CLI

One command line for the whole site

aiw takes a site from an empty folder to the upload. Every command runs in your terminal and, with aiw_ in front, as an MCP tool in Claude, Cursor, Copilot, Codex or Gemini.

Installnpm i -g ai-websiteIn the terminalaiw add @ai-website/heroIn your AI assistantaiw_add

Try it

Pick a command. The terminal shows what it prints.

The installer of the kit. aiw add fetches the component from the kit registry, resolves its dependencies and writes the files.

northwind-site

$ aiw add @ai-website/pricing

Registry @ai-website

pricing and 7 dependencies resolved

+ components/ui/pricing.tsxcomponent

+ lib/kit.tsutils

+ styles/kit.csskit

+ components/ui/button.tsxbutton

+ components/ui/icon.tsxicon

+ components/ui/reveal.tsxreveal

+ components/ui/section.tsxsection

+ components/ui/motion.tsxmotion

8 files written, nothing overwritten

Step 1

Start

Check the machine, create the project, run the kit.

Check your machine

Reads only

Lists every program the CLI relies on, shows what is missing and how to install it.

$ aiw doctor

Options

No further options.

Example

$ aiw doctor

Every required program is there

✓ browser for checksrequired

✓ video encoderrequired

✓ node 24.15required

✓ git 2.54required

image metadata tool missing, install command shown

MCP tool aiw_doctor

Create a project

Writes files

Astro with React islands, Tailwind and the kit tokens, ready for components. Shows the plan first with --dry-run.

$ aiw new <name> [options]

Options

--dir
Parent folder
--stack
Framework of the projectDefault astro
--presets
Starter sets: kit, scroll, seo, search, qualityDefault kit,scroll
--no-git
Skip the git repository
--dry-run
Show the plan, write nothing

Example

$ aiw new northwind-site

Astro with React islands and Tailwind

Kit tokens in src/styles/kit.css

.mcp.json and CLAUDE.md for your AI assistant

git repository with a first commit

cd northwind-site && npm run dev

MCP tool aiw_new

Start the kit

Builds the registry and runs this site on your machine.

$ aiw kit [--built] [--port 4747]

Options

--built
Serve the built site instead of the dev server
--port
Port of the kitDefault 4747

Example

$ aiw kit

Registry built, 363 items

Kit running on your machine

http://127.0.0.1:4747

Step 2

Find components

The whole catalog in the terminal, every variant with its install line.

Find components

Reads only

Without a word it lists every category with its counts. With a category or a search word it shows each variant and its install line.

$ aiw components [category]

Options

No further options.

Example

$ aiw components

170 categories, 350 components, 1,630 variants

hero1 component17 variants

features1 component15 variants

logos1 component8 variants

stats1 component8 variants

pricing1 component11 variants

testimonials1 component11 variants

and 164 more categories

$ aiw components pricing

Pricing · 11 variants

cards<Pricing variant="cards" />

toggle<Pricing variant="toggle" />

comparison-table<Pricing variant="comparison-table" />

single-plan<Pricing variant="single-plan" />

two-plans<Pricing variant="two-plans" />

aiw add @ai-website/pricing

MCP tool aiw_components

Step 3

Add

The installer of the kit. aiw add fetches the component from the kit registry, resolves its dependencies and writes the files.

Install components

Writes files

Fetches the component from the kit registry, resolves its dependencies and writes the files into your project. The code is yours from then on.

$ aiw add <items> [options]

Options

--project
Project folder
--dry-run
Show the plan, write nothing
--overwrite
Replace files that exist
--path
Folder for the components

Example

$ aiw add @ai-website/pricing

Registry @ai-website

pricing and 7 dependencies resolved

+ components/ui/pricing.tsxcomponent

+ lib/kit.tsutils

+ styles/kit.csskit

+ components/ui/button.tsxbutton

+ components/ui/icon.tsxicon

+ components/ui/reveal.tsxreveal

+ components/ui/section.tsxsection

+ components/ui/motion.tsxmotion

8 files written, nothing overwritten

MCP tool aiw_add

Build the registry

Writes files

Turns every component into an installable item, the source aiw add reads from. Run it after changing a component.

$ aiw registry build [options]

Options

--source
Folder with registry.json, the kit by default
--out
Output folder for the item files

Example

$ aiw registry build

363 items written

public/r/*.json

Index updated

MCP tool aiw_registry_build

Step 4

Design

Colors, fonts, images and video, prepared the way the web needs them.

Color system from brand colors

Writes files

Eleven OKLCH steps per color, each with its contrast against white and black, written as Tailwind variables and tokens.

$ aiw theme [options]

Options

--colors
Colors as name=value, hex or OKLCH
--brand
JSON file with brand colors
--project
Project folder
--css
CSS file to writeDefault src/styles/theme.css
--tokens
Token file to writeDefault tokens/colors.tokens.json
--no-neutral
Skip the neutral scale
--dry-run
Show the plan, write nothing

Example

$ aiw theme --colors primary=#1f6feb

2 scales with 11 steps each, neutral added

primary-300oklch(0.78 0.10 258)1.9 : 1 white

primary-500oklch(0.58 0.19 258)4.9 : 1 white

primary-700oklch(0.42 0.15 258)8.6 : 1 white

src/styles/theme.css

tokens/colors.tokens.json

MCP tool aiw_theme

Self-hosted fonts

Writes files

Installs fonts locally and writes a matched fallback, so the text does not jump while loading.

$ aiw fonts add <families> [options]

Options

--project
Project folder
--css
CSS file to writeDefault src/styles/fonts.css
--no-variable
Static files instead of the variable font
--dry-run
Show the plan, write nothing

Example

$ aiw fonts add Inter

Inter, variable, 2 files

Fallback with matched metrics, no jump while loading

src/styles/fonts.css

MCP tool aiw_fonts_add

Trim fonts

Writes files

Keeps only the characters your pages use and preloads them. Run it after every build.

$ aiw fonts subset [dist]

Options

No further options.

Example

$ aiw fonts subset

214 characters in use on 38 pages

inter.woff248 KB → 19 KB

Preload added to 38 pages

MCP tool aiw_fonts_subset

Study a reference page

Reads only

Screenshots at three widths, the main text, the color palette in OKLCH and the type sizes, as material for your own design.

$ aiw research <url> [options]

Options

--out
Output folder
--widths
Widths in pixelsDefault 390,768,1440
--colors
Most colors in the paletteDefault 12

Example

$ aiw research https://example.com

Screenshots at 390, 768 and 1440

Main text, 1,240 words

Palette with 12 colors in OKLCH

Type scale with 9 steps

.ai-website/research/example.com

MCP tool aiw_research

Images for the web

Writes files

AVIF and WebP in several widths, never larger than the original, plus a manifest with sizes and placeholders.

$ aiw media optimize <dir> [options]

Options

--out
Output folder
--widths
Widths in pixelsDefault 480,960,1440,1920
--formats
Output formatsDefault avif,webp
--avif-quality
AVIF qualityDefault 55
--webp-quality
WebP qualityDefault 78

Example

$ aiw media optimize src/assets

14 images, 112 files in AVIF and WebP

total18.4 MB → 2.1 MB

manifest.json with sizes and placeholders

MCP tool aiw_media_optimize

Share images

Writes files

One 1200 by 630 image from a title, or one per built page from its title and description.

$ aiw media og [options]

Options

--title
Title for a single image
--subtitle
Second line
--dist
Built folder, one image per page
--out
Output folderDefault public/og
--brand
Name or domain at the top
--background
Background colorDefault #0b0b0c
--text
Text colorDefault #f5f5f4
--accent
Color of the accent barDefault #f5f5f4
--font
Font file, TTF, OTF or WOFF
--max
Most pages to renderDefault 300

Example

$ aiw media og --dist dist

38 share images at 1200 × 630

public/og

MCP tool aiw_media_og

Hero video

Writes files

MP4 and WebM without sound at a sensible width, with a poster image in two formats.

$ aiw media video <file> [options]

Options

--out
Output folder
--max-width
Largest width in pixelsDefault 1920
--audio
Keep the sound
--crf-mp4
MP4 quality, lower is betterDefault 23
--crf-webm
WebM quality, lower is betterDefault 34

Example

$ aiw media video hero.mov

hero.mp41920 px · 4.2 MB

hero.webm1920 px · 3.1 MB

Poster in AVIF and WebP, sound removed

MCP tool aiw_media_video

Step 5

Check

Code, pages, accessibility, links, speed and SEO. Measured, not guessed.

Check the code

Reads only

Runs the code checkers installed in the project in one go and reports each one.

$ aiw lint [project] [options]

Options

--only
Run only these checkers

Example

$ aiw lint

✓ format and rules0 problems

✓ types0 errors

✓ unused filesnone

✓ file namesconsistent

MCP tool aiw_lint

Check the website

Reads only

HTML, console, sideways overflow, accessibility, links and speed for every page at three widths, with screenshots.

$ aiw check <target> [options]

Options

--pages
Most pages in the browser runDefault 5
--paths
These paths instead of an automatic pick
--widths
Widths in pixelsDefault 390,768,1440
--no-external-links
Skip links to other sites
--out
Output folder

Example

$ aiw check dist

5 pages at 390, 768 and 1440

HTML valid, console clean

No sideways overflow

Accessibility, 0 violations

1 broken link on /team/

Speed 98 on mobile

.ai-website/check/report.html

MCP tool aiw_check

SEO check

Reads only

Titles, descriptions, canonical, headings, share images, structured data, alt texts, hreflang, sitemap and robots.

$ aiw seo audit [dist] [options]

Options

--title-min
Shortest title in charactersDefault 25
--title-max
Longest title in charactersDefault 60
--description-min
Shortest descriptionDefault 70
--description-max
Longest descriptionDefault 160
--errors-only
Errors only, no warnings

Example

$ aiw seo audit

38 pages, titles between 25 and 60 characters

2 descriptions shorter than 70 characters

canonical, hreflang, sitemap and robots in place

MCP tool aiw_seo_audit

Step 6

Publish

Search index, preview and upload. Always a dry run first.

Site search

Writes files

Builds a static full text index over the built site. No server needed.

$ aiw search build [dist]

Options

No further options.

Example

$ aiw search build

38 pages indexed, 6,410 words

dist/_search84 KB

MCP tool aiw_search_build

Preview online

Goes online

Puts the build online at a throwaway address. Without --yes it only shows the plan.

$ aiw preview [options]

Options

--name
Project name, part of the address
--dist
Built folderDefault dist
--yes
Really do it, without it a dry run

Example

$ aiw preview --name northwind

Dry run, nothing goes online yet

dist38 files

Add --yes to publish

MCP tool aiw_preview

Upload to your host

Goes online

Uploads only what changed and never deletes by default. Without --yes it runs as a dry run.

$ aiw deploy <target> [options]

Options

--project
Project folder
--yes
Really do it, without it a dry run

Example

$ aiw deploy live

Dry run against the target live

changed12 files

deletednone

Add --yes to upload

MCP tool aiw_deploy

Step 7

AI assistants

One command connects a project. From then on every command is a tool for your assistant.

Connect your AI assistant

Writes files

Writes the .mcp.json of a project and adds the kit rules to CLAUDE.md. Your own entries stay.

$ aiw mcp init [project] [options]

Options

--remote
Use your own HTTP server instead
--no-rules
Leave CLAUDE.md as it is

Example

$ aiw mcp init

.mcp.json with the kit server

Kit rules added to CLAUDE.md, your entries stay

Your assistant now has 21 tools

MCP tool aiw_mcp_init

Server for AI assistants

Runs the CLI as an MCP server for Claude, Cursor, Copilot, Codex, Gemini and others on the same machine. Every command becomes a tool.

$ aiw mcp

Options

No further options.

Example

$ aiw mcp

Server on stdio, 21 tools ready

Server over HTTP

The same tools for your own server, protected by a token. Publishing commands stay off unless you allow them.

$ aiw serve [--port 8787] [--host 127.0.0.1]

Options

--port
Port of the serverDefault 8787
--host
Address the server listens onDefault 127.0.0.1

Example

$ aiw serve --port 8787

http://127.0.0.1:8787/mcp

Token required for every call

Publishing stays off until you allow it

Step 8

More

Further commands of the CLI.

Show newer component versions

Reads only
$ aiw outdated [options]

Options

--project
Project folder

MCP tool aiw_outdated

Update components

Writes files
$ aiw update [components] [options]

Options

--project
Project folder
--dry-run
Show the plan, write nothing

MCP tool aiw_update

Often searched

Jump to

Copied to the clipboard