Skip to content

Commit 4892901

Browse files
committed
chore: initial commit
refine docs experience and refresh site branding add mobile docs menu hierarchy
0 parents  commit 4892901

202 files changed

Lines changed: 21950 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/ci.yml

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
name: ci
2+
on: push
3+
jobs:
4+
ci:
5+
runs-on: ${{ matrix.os }}
6+
strategy:
7+
matrix:
8+
os: [ubuntu-latest]
9+
node: [24]
10+
steps:
11+
- name: Checkout
12+
uses: actions/checkout@v6
13+
- name: Install pnpm
14+
uses: pnpm/action-setup@v4
15+
- name: Install node
16+
uses: actions/setup-node@v6
17+
with:
18+
node-version: ${{ matrix.node }}
19+
cache: pnpm
20+
- name: Install dependencies
21+
run: pnpm install
22+
- name: Lint
23+
run: pnpm run lint
24+
- name: Typecheck
25+
run: pnpm run typecheck

.gitignore

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Nuxt dev/build outputs
2+
.output
3+
.data
4+
.nuxt
5+
.nitro
6+
.cache
7+
dist
8+
9+
# Node dependencies
10+
node_modules
11+
12+
# Logs
13+
logs
14+
*.log
15+
16+
# Misc
17+
.DS_Store
18+
.fleet
19+
.idea
20+
21+
# Local env files
22+
.env
23+
.env.*
24+
!.env.example
25+
26+
.dmux/worktrees/task-response/.data
27+
.dmux/worktrees/task-request/.data
28+
.dmux/worktrees/task-15-3/.data
29+
.dmux/worktrees/task-15-5/.data

AGENTS.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# AGENTS.md
2+
3+
## Project overview
4+
5+
Nuxt 4 documentation site with a built-in shadcn-vue component registry for distributing custom blocks.
6+
7+
## Commands
8+
9+
- `pnpm dev` — dev server
10+
- `pnpm lint` — ESLint (`@nuxt/eslint`-based, stylistic enabled: double quotes, semi)
11+
- `pnpm lint:fix` — auto-fix
12+
- `pnpm typecheck``nuxt typecheck`
13+
- `pnpm registry:build` — generate registry JSON files into `public/r/`
14+
15+
CI order: **lint → typecheck** (no tests)
16+
17+
## Architecture
18+
19+
- **Nuxt 4 compat mode** (`future.compatibilityVersion: 4`) — app code lives under `app/`
20+
- `app/components/ui/` — shadcn-vue UI primitives (`shadcn-nuxt` module, no prefix)
21+
- `app/components/content/` — global MDC components (`pathPrefix: false`)
22+
- `app/components/_internal/`, `app/components/examples/` — excluded from Nuxt auto-imports
23+
- `app/registry/blocks/` — distributable components; each block = directory with `index.ts` + `.vue`
24+
- `content/docs/` — Markdown docs (`@nuxt/content` v3, D1 database)
25+
- `public/r/` — generated output from `registry:build` (should be gitignored)
26+
27+
## Registry build
28+
29+
`pnpm registry:build` runs `scripts/registry-build.ts`:
30+
1. `shadcn-vue-registry` generates registry.json from `app/registry/`
31+
2. `shadcn-vue build` outputs per-item JSON to `public/r/*.json`
32+
3. Intermediate file `app/registry/registry.json` is auto-deleted
33+
34+
Config: `registry.config.ts` and `components.json` `registries` field.
35+
36+
## Style conventions
37+
38+
- ESLint stylistic: **double quotes**, **semicolons**
39+
- Tailwind v4 via `@tailwindcss/vite` plugin — no `tailwind.config` file
40+
- shadcn-vue style: `new-york`, baseColor: `neutral`, CSS variables enabled
41+
- Icons: `lucide-vue-next`
42+
43+
## Content
44+
45+
- `content.config.ts` defines the docs collection with `category` field: `element | chat | overview`
46+
- `@nuxt/content` v3 with D1 database (`content.database.type: "d1"`)
47+
- Markdown highlight disabled; `nuxt-shiki` module handles syntax highlighting instead
48+
49+
## Infrastructure
50+
51+
- **NuxtHub** (`@nuxthub/core`) — Cloudflare D1/SQLite bindings
52+
- `hub.db: "sqlite"` — uses SQLite for local development

README.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
# shadcn-nuxt-ui/docs
2+
3+
Open-source templates and reusable components for Nuxt, built for the shadcn-vue community.
4+
5+
This project aims to make shadcn-vue easier to use in Nuxt by providing:
6+
7+
- practical templates you can start from,
8+
- reusable components you can install independently,
9+
- documentation that connects both paths clearly.
10+
11+
It is intended as an additional option for Nuxt developers, not a replacement for other UI ecosystems.
12+
13+
## What this repository includes
14+
15+
- **Docs site** (Nuxt 4 + Nuxt Content)
16+
- **shadcn-vue registry output** under `public/r/*.json`
17+
- **Template and component documentation** under `content/docs`
18+
19+
## Use the registry
20+
21+
Install an item with the shadcn-vue CLI:
22+
23+
```bash
24+
npx shadcn-vue@latest add "https://shadcn-nuxt-ui.stackhacker.io/r/lucide-icon.json"
25+
```
26+
27+
## Local development
28+
29+
Install dependencies:
30+
31+
```bash
32+
pnpm install
33+
```
34+
35+
Start the docs site:
36+
37+
```bash
38+
pnpm dev
39+
```
40+
41+
## Quality checks
42+
43+
```bash
44+
pnpm lint
45+
pnpm typecheck
46+
```
47+
48+
## Build registry files
49+
50+
```bash
51+
pnpm registry:build
52+
```
53+
54+
This command generates distributable registry JSON files in `public/r/`.
55+
56+
## Related repository
57+
58+
- Chat template: `https://github.com/shadcn-nuxt-ui/chat`

app/app.vue

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<script lang="ts" setup>
2+
import { ConfigProvider, TooltipProvider } from "reka-ui";
3+
</script>
4+
5+
<template>
6+
<SiteBody>
7+
<ConfigProvider>
8+
<TooltipProvider>
9+
<NuxtLayout>
10+
<NuxtPage />
11+
</NuxtLayout>
12+
</TooltipProvider>
13+
</ConfigProvider>
14+
</SiteBody>
15+
</template>

0 commit comments

Comments
 (0)