@iamdangavin/claude-skill-vitepress-docs 3.0.1 → 3.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/commands/vitedocs/brand.md +158 -0
- package/commands/vitedocs/generate.md +626 -0
- package/commands/vitedocs/init.md +3 -1323
- package/commands/vitedocs/screenshot.md +126 -0
- package/commands/vitedocs/setup.md +277 -0
- package/commands/vitedocs/sync.md +97 -0
- package/commands/vitedocs/update.md +142 -0
- package/package.json +1 -1
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: vitedocs:brand
|
|
3
|
+
description: Configure colors, fonts, logo, and favicon for VitePress docs.
|
|
4
|
+
allowed-tools:
|
|
5
|
+
- Read
|
|
6
|
+
- Write
|
|
7
|
+
- Edit
|
|
8
|
+
- Bash
|
|
9
|
+
- Glob
|
|
10
|
+
- Grep
|
|
11
|
+
- AskUserQuestion
|
|
12
|
+
---
|
|
13
|
+
|
|
14
|
+
## Mode: brand
|
|
15
|
+
|
|
16
|
+
### Step 1 — Locate docs paths
|
|
17
|
+
|
|
18
|
+
Check the manifest(s) to find all configured docs folders. If no manifest exists, scan for `.vitepress/config.mjs` files across the known focus paths. Present what was found so the user can confirm before proceeding.
|
|
19
|
+
|
|
20
|
+
### Step 2 — Shared or per-path branding
|
|
21
|
+
|
|
22
|
+
If more than one docs path is found, ask:
|
|
23
|
+
|
|
24
|
+
- header: "Branding scope"
|
|
25
|
+
- question: "How should branding be applied across your docs?"
|
|
26
|
+
- options:
|
|
27
|
+
- "Same brand across all docs"
|
|
28
|
+
- "Different brand per path — I'll configure each one separately"
|
|
29
|
+
|
|
30
|
+
If per-path: complete all brand questions for path 1 before moving to path 2 — never ask about two paths simultaneously.
|
|
31
|
+
|
|
32
|
+
### Step 3 — Brand questions
|
|
33
|
+
|
|
34
|
+
Ask these once (shared) or once per path (per-path). Always label the header with the path name when in per-path mode so the user knows which repo they're configuring.
|
|
35
|
+
|
|
36
|
+
**B-Q1 — Primary brand color** (plain text): Ask — "What is the primary brand color? (hex, e.g. `#E63946`). This becomes the link, button, and accent color throughout the docs."
|
|
37
|
+
|
|
38
|
+
From this single hex value, derive the full VitePress brand palette automatically:
|
|
39
|
+
- `--vp-c-brand-1`: the base hex
|
|
40
|
+
- `--vp-c-brand-2`: 15% lighter
|
|
41
|
+
- `--vp-c-brand-3`: 30% lighter
|
|
42
|
+
- `--vp-c-brand-soft`: the hex at 12% opacity (for backgrounds)
|
|
43
|
+
|
|
44
|
+
Also derive dark mode variants — slightly brighter versions of each to account for dark backgrounds. Present the derived palette to the user before writing anything.
|
|
45
|
+
|
|
46
|
+
**B-Q2 — Logo:**
|
|
47
|
+
- header: "Logo"
|
|
48
|
+
- question: "Do you have a logo to use in the docs nav?"
|
|
49
|
+
- options:
|
|
50
|
+
- "Yes — I'll provide the path to the file"
|
|
51
|
+
- "Text only — use the site title"
|
|
52
|
+
- "Skip for now"
|
|
53
|
+
|
|
54
|
+
If yes: ask as plain text — "What is the path to the logo file? (SVG or PNG recommended, e.g. `public/logo.svg`)"
|
|
55
|
+
|
|
56
|
+
**B-Q3 — Favicon:**
|
|
57
|
+
- header: "Favicon"
|
|
58
|
+
- question: "Do you have a favicon?"
|
|
59
|
+
- options:
|
|
60
|
+
- "Yes — I'll provide the path"
|
|
61
|
+
- "Use the logo as favicon"
|
|
62
|
+
- "Skip for now"
|
|
63
|
+
|
|
64
|
+
If yes: ask as plain text — "Path to favicon? (e.g. `public/favicon.ico` or `public/favicon.svg`)"
|
|
65
|
+
|
|
66
|
+
**B-Q4 — Font:**
|
|
67
|
+
- header: "Font"
|
|
68
|
+
- question: "What font should the docs use?"
|
|
69
|
+
- options:
|
|
70
|
+
- "VitePress default (Inter)"
|
|
71
|
+
- "System font stack (no external load)"
|
|
72
|
+
- "Google Font — I'll tell you which"
|
|
73
|
+
- "Custom — I'll provide the CSS import"
|
|
74
|
+
|
|
75
|
+
If Google Font: ask as plain text — "Which Google Font family? (e.g. `Outfit`, `DM Sans`)"
|
|
76
|
+
If custom: ask as plain text — "Paste your @import or @font-face CSS."
|
|
77
|
+
|
|
78
|
+
**B-Q5 — Dark mode:**
|
|
79
|
+
- header: "Dark mode"
|
|
80
|
+
- question: "How should dark mode colors work?"
|
|
81
|
+
- options:
|
|
82
|
+
- "Auto-derive from brand color (recommended)"
|
|
83
|
+
- "I want to set a custom dark mode accent color"
|
|
84
|
+
- "Use VitePress default dark mode"
|
|
85
|
+
|
|
86
|
+
If custom: ask as plain text — "What hex color for dark mode accent?"
|
|
87
|
+
|
|
88
|
+
### Step 4 — Preview palette
|
|
89
|
+
|
|
90
|
+
Before writing any files, present the full derived palette as a table:
|
|
91
|
+
|
|
92
|
+
```
|
|
93
|
+
Light mode
|
|
94
|
+
--vp-c-brand-1: #E63946
|
|
95
|
+
--vp-c-brand-2: #EB5E6A
|
|
96
|
+
--vp-c-brand-3: #F28B93
|
|
97
|
+
--vp-c-brand-soft: #E6394620
|
|
98
|
+
|
|
99
|
+
Dark mode
|
|
100
|
+
--vp-c-brand-1: #F05A64
|
|
101
|
+
--vp-c-brand-2: #F47980
|
|
102
|
+
--vp-c-brand-3: #F7A0A5
|
|
103
|
+
--vp-c-brand-soft: #F05A6420
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Then ask:
|
|
107
|
+
|
|
108
|
+
- header: "Palette"
|
|
109
|
+
- question: "Does this palette look right?"
|
|
110
|
+
- options:
|
|
111
|
+
- "Yes — apply it"
|
|
112
|
+
- "Adjust the base color — I'll give you a new hex"
|
|
113
|
+
- "Manually tweak individual values"
|
|
114
|
+
|
|
115
|
+
If adjust: take the new hex and re-derive. If manual: ask as plain text for each value to change.
|
|
116
|
+
|
|
117
|
+
### Step 5 — Write brand files
|
|
118
|
+
|
|
119
|
+
For each docs path being branded:
|
|
120
|
+
|
|
121
|
+
**`.vitepress/theme/index.css`** — append the brand variables block. Do not remove existing entries — only add or update the brand vars:
|
|
122
|
+
|
|
123
|
+
```css
|
|
124
|
+
:root {
|
|
125
|
+
--vp-c-brand-1: HEX1;
|
|
126
|
+
--vp-c-brand-2: HEX2;
|
|
127
|
+
--vp-c-brand-3: HEX3;
|
|
128
|
+
--vp-c-brand-soft: HEXSOFT;
|
|
129
|
+
/* FONT_VARS if custom font selected */
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.dark {
|
|
133
|
+
--vp-c-brand-1: DARK_HEX1;
|
|
134
|
+
--vp-c-brand-2: DARK_HEX2;
|
|
135
|
+
--vp-c-brand-3: DARK_HEX3;
|
|
136
|
+
--vp-c-brand-soft: DARK_HEXSOFT;
|
|
137
|
+
}
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
If a Google Font was selected, add the `@import` at the top of the CSS file and set `--vp-font-family-base`.
|
|
141
|
+
|
|
142
|
+
**`.vitepress/config.mjs`** — add to `themeConfig`:
|
|
143
|
+
- `logo` field if a logo was provided
|
|
144
|
+
- `favicon` via `head` entry if a favicon was provided
|
|
145
|
+
|
|
146
|
+
Read the existing config before editing. Make only targeted additions — do not rewrite unrelated sections.
|
|
147
|
+
|
|
148
|
+
### Step 6 — Summary
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
Branded X docs path(s).
|
|
152
|
+
|
|
153
|
+
Files updated:
|
|
154
|
+
PATH/.vitepress/theme/index.css — brand palette + font
|
|
155
|
+
PATH/.vitepress/config.mjs — logo, favicon
|
|
156
|
+
|
|
157
|
+
Run the local dev server to preview: npm run dev
|
|
158
|
+
```
|