# cbx-web

Nuxt 3 + Tailwind CSS base project.

Look at the [Nuxt documentation](https://nuxt.com/docs/getting-started/introduction) to learn more.

## Setup

Make sure to install dependencies:

```bash
# npm
npm install

# pnpm
pnpm install

# yarn
yarn install

# bun
bun install
```

## Development Server

Start the development server on `http://localhost:3000`:

```bash
# npm
npm run dev

# pnpm
pnpm dev

# yarn
yarn dev

# bun
bun run dev
```

## Production

Build the application for production:

```bash
# npm
npm run build

# pnpm
pnpm build

# yarn
yarn build

# bun
bun run build
```

Locally preview production build:

```bash
# npm
npm run preview

# pnpm
pnpm preview

# yarn
yarn preview

# bun
bun run preview
```

Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information.

## Quality Checks

```bash
# Lint
npm run lint
npm run lint:fix

# Format (Prettier)
npm run format
npm run format:check

# Type check
npm run typecheck

# Unit tests
npm run test
npm run test:watch
npm run test:coverage
```

A pre-commit hook (via Husky + lint-staged) automatically lints and formats staged files before each commit. CI runs format check, lint, typecheck, tests, and build on every push and pull request to `main` (see [.github/workflows/ci.yml](.github/workflows/ci.yml)).

## SEO

The project ships with `@nuxtjs/sitemap`, `@nuxtjs/robots`, `nuxt-schema-org`, and `nuxt-seo-utils`, which together generate `sitemap.xml`, `robots.txt`, canonical URLs, Open Graph/Twitter meta, and JSON-LD structured data automatically.

**Before deploying**, update the placeholder domain in [nuxt.config.ts](nuxt.config.ts) (`site.url`, `schemaOrg.identity.url`) with the real production URL — it drives every one of the above.

Per-page title/description/OG tags are set via [`useSeoMeta`](https://nuxt.com/docs/api/composables/use-seo-meta) (see [app/app.vue](app/app.vue)).
