Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .claude/settings.local.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"permissions": {
"allow": [
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__new_page",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__take_snapshot",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__list_console_messages",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__take_screenshot",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__list_network_requests",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__evaluate_script",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__get_network_request",
"mcp__plugin_chrome-devtools-mcp_chrome-devtools__navigate_page",
"Bash(bun run dev)",
"WebFetch(domain:www.shadcn-vue.com)",
"WebFetch(domain:shadcn-vue.com)",
"Bash(gh label list:*)",
"Bash(gh repo view:*)"
],
"deny": [],
"ask": []
}
}
4 changes: 0 additions & 4 deletions .env.secrets
Original file line number Diff line number Diff line change
@@ -1,6 +1,2 @@
# Secrets (will be encrypted with dotenvx)
# Run: bun x dotenvx encrypt

# Cloudflare deployment credentials
CLOUDFLARE_API_TOKEN=rGeRpJxv4E3wU_DrDaxihWmAb1DHNFwdaHF72-kD
CLOUDFLARE_ACCOUNT_ID=20f4dac8c33060fc42fd560d8e90b630
8 changes: 8 additions & 0 deletions .gemini/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"context": {
"fileName": [
"CLAUDE.md",
"GEMINI.md"
]
}
}
4 changes: 3 additions & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,7 @@ packages/layer/
### Configuration Schema

Site configuration in `app.config.ts`:

- `docs.title` - Site title
- `docs.description` - Site description
- `docs.url` - Site URL
Expand All @@ -80,6 +81,7 @@ Site configuration in `app.config.ts`:
### Using the Layer

Apps extend the layer via `nuxt.config.ts`:

```ts
export default defineNuxtConfig({
extends: ['@pleaseai/docs'],
Expand All @@ -88,4 +90,4 @@ export default defineNuxtConfig({

## ESLint

Uses `@antfu/eslint-config` with Vue and formatters enabled.
Uses `@antfu/eslint-config` with Vue and formatters enabled.
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ A documentation system using **shadcn-vue** + **Nuxt Content**, inspired by Docu
A Nuxt layer for documentation sites. Replaces nuxt-ui with shadcn-vue components.

**Features:**

- shadcn-vue UI components (Button, Separator, etc.)
- Tailwind CSS v4 with CSS variables (oklch colors)
- Documentation layout with sidebar navigation
Expand Down
4 changes: 4 additions & 0 deletions apps/docs/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
/node_modules/
/.wrangler/
/.nuxt/
/.data/
5 changes: 3 additions & 2 deletions apps/docs/content/docs/1.getting-started/2.installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,10 +43,11 @@ export default defineNuxtConfig({
Create a `content` directory and add your first page:

```md
<!-- content/index.md -->
---
## <!-- content/index.md -->

title: Welcome
description: My documentation site

---

# Welcome to My Docs
Expand Down
10 changes: 5 additions & 5 deletions apps/docs/content/docs/1.getting-started/3.configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,11 +67,11 @@ docs: {

The layer automatically detects environment variables:

| Variable | Description |
|----------|-------------|
| `NUXT_SITE_URL` | Site URL |
| `VERCEL_GIT_REPO_OWNER` | GitHub owner (Vercel) |
| `GITHUB_REPOSITORY` | GitHub repository (GitHub Actions) |
| Variable | Description |
| ----------------------- | ---------------------------------- |
| `NUXT_SITE_URL` | Site URL |
| `VERCEL_GIT_REPO_OWNER` | GitHub owner (Vercel) |
| `GITHUB_REPOSITORY` | GitHub repository (GitHub Actions) |

## Next Steps

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ Prefix folders and files with numbers to control the order:
- `1.introduction.md` appears before `2.installation.md`

The numbers are stripped from the URL:

- `content/docs/1.getting-started/1.introduction.md` → `/docs/getting-started/introduction`

## Frontmatter
Expand All @@ -51,7 +52,9 @@ description: A brief description for SEO

```md
# H1 - Page Title

## H2 - Section

### H3 - Subsection
```

Expand Down Expand Up @@ -85,7 +88,7 @@ const hello = 'world'

```md
| Column 1 | Column 2 |
|----------|----------|
| -------- | -------- |
| Cell 1 | Cell 2 |
```

Expand Down
18 changes: 15 additions & 3 deletions apps/docs/content/docs/2.components/1.overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ The site header with navigation and dark mode toggle.
```

Features:

- Site title/logo
- Navigation links
- Dark/light mode toggle
Expand All @@ -40,6 +41,7 @@ Navigation sidebar for documentation pages.
```

Features:

- Hierarchical navigation
- Active state highlighting
- Collapsible sections
Expand All @@ -53,6 +55,7 @@ Table of contents for the current page.
```

Features:

- Auto-generated from headings
- Scroll-aware active state
- Depth-based indentation
Expand Down Expand Up @@ -103,15 +106,24 @@ The layer includes shadcn-vue components:
### Button

```vue
<Button variant="default">Click me</Button>
<Button variant="outline">Outline</Button>
<Button variant="ghost">Ghost</Button>
<Button variant="default">
Click me
</Button>

<Button variant="outline">
Outline
</Button>

<Button variant="ghost">
Ghost
</Button>
```

### Separator

```vue
<Separator />

<Separator orientation="vertical" />
```

Expand Down
48 changes: 33 additions & 15 deletions apps/docs/content/docs/2.components/2.button.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,57 +24,75 @@ import { Button } from '~/components/ui/button'
### Default

```vue
<Button variant="default">Default</Button>
<Button variant="default">
Default
</Button>
```

### Destructive

```vue
<Button variant="destructive">Destructive</Button>
<Button variant="destructive">
Destructive
</Button>
```

### Outline

```vue
<Button variant="outline">Outline</Button>
<Button variant="outline">
Outline
</Button>
```

### Secondary

```vue
<Button variant="secondary">Secondary</Button>
<Button variant="secondary">
Secondary
</Button>
```

### Ghost

```vue
<Button variant="ghost">Ghost</Button>
<Button variant="ghost">
Ghost
</Button>
```

### Link

```vue
<Button variant="link">Link</Button>
<Button variant="link">
Link
</Button>
```

## Sizes

### Default

```vue
<Button size="default">Default</Button>
<Button size="default">
Default
</Button>
```

### Small

```vue
<Button size="sm">Small</Button>
<Button size="sm">
Small
</Button>
```

### Large

```vue
<Button size="lg">Large</Button>
<Button size="lg">
Large
</Button>
```

### Icon
Expand All @@ -87,12 +105,12 @@ import { Button } from '~/components/ui/button'

## Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `variant` | `string` | `'default'` | Button variant |
| `size` | `string` | `'default'` | Button size |
| `as` | `string` | `'button'` | Element to render |
| `asChild` | `boolean` | `false` | Merge props onto child |
| Prop | Type | Default | Description |
| --------- | --------- | ----------- | ---------------------- |
| `variant` | `string` | `'default'` | Button variant |
| `size` | `string` | `'default'` | Button size |
| `as` | `string` | `'button'` | Element to render |
| `asChild` | `boolean` | `false` | Merge props onto child |

## With Icons

Expand Down
8 changes: 4 additions & 4 deletions apps/docs/content/docs/2.components/3.separator.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,10 +47,10 @@ Use `orientation="vertical"` for vertical separators:

## Props

| Prop | Type | Default | Description |
|------|------|---------|-------------|
| `orientation` | `'horizontal' \| 'vertical'` | `'horizontal'` | Orientation of the separator |
| `decorative` | `boolean` | `true` | Whether the separator is decorative |
| Prop | Type | Default | Description |
| ------------- | ---------------------------- | -------------- | ----------------------------------- |
| `orientation` | `'horizontal' \| 'vertical'` | `'horizontal'` | Orientation of the separator |
| `decorative` | `boolean` | `true` | Whether the separator is decorative |

## Styling

Expand Down
12 changes: 12 additions & 0 deletions apps/docs/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
// @ts-check
import antfu from '@antfu/eslint-config'
import withNuxt from './.nuxt/eslint.config.mjs'

export default withNuxt(
antfu({
formatters: false,
vue: true,
markdown: false,
type: 'app',
})
)
15 changes: 10 additions & 5 deletions apps/docs/nuxt.config.ts
Original file line number Diff line number Diff line change
@@ -1,18 +1,23 @@
import tailwindcss from '@tailwindcss/vite'
import { defineNuxtConfig } from 'nuxt/config'

export default defineNuxtConfig({
extends: ['@pleaseai/docs'],

site: {
name: 'PleaseAI Docs',
name: 'DOCS PLEASE Docs',
url: 'https://docs.please.ai',
},

compatibilityDate: '2025-01-01',

nitro: {
preset: "cloudflare_module",
cloudflare: {
deployConfig: true,
nodeCompat: true
}
},
})
eslint: {
config: {
standalone: false
}
},
})
10 changes: 8 additions & 2 deletions apps/docs/package.json
Original file line number Diff line number Diff line change
@@ -1,19 +1,25 @@
{
"name": "@pleaseai/docs-site",
"type": "module",
"version": "0.1.0",
"private": true,
"type": "module",
"scripts": {
"dev": "nuxt dev",
"build": "nuxt build",
"generate": "nuxt generate",
"preview": "nuxt preview",
"postinstall": "nuxt prepare"
"postinstall": "nuxt prepare",
"lint": "eslint .",
"lint:fix": "eslint . --fix"
},
"dependencies": {
"@pleaseai/docs": "workspace:*"
},
"devDependencies": {
"@antfu/eslint-config": "^6.2.0",
"@tailwindcss/vite": "^4.1.17",
"eslint": "^9.38.0",
"eslint-plugin-format": "^1.0.2",
"nuxt": "^4.2.1"
}
}
Loading
Loading