بنقرة واحدة
whisk-theme
Analyze repository branding and generate custom documentation theme with branded components.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Analyze repository branding and generate custom documentation theme with branded components.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Analyze documentation for duplicates, outdated content, and discrepancies with codebase
Expert-level documentation bootstrap using Diátaxis framework and audience-driven planning.
Quick health check for documentation issues. Verifies content against actual source files.
Commit documentation changes to git after reviewing and confirming.
Create new documentation pages interactively. Searches codebase to ensure accuracy.
Delete documentation pages interactively with confirmation.
| name | whisk-theme |
| description | Analyze repository branding and generate custom documentation theme with branded components. |
When asked to "whisk theme", "generate theme", "customize theme", or "match branding":
Search repository for brand colors in priority order:
Tailwind Config (tailwind.config.js/ts):
theme: { colors: { primary: '#xxx', brand: '#xxx' } }
CSS Variables (globals.css, variables.css, app.css):
:root { --primary: #xxx; --brand-color: #xxx; }
UI Frameworks:
colors.brand.500palette.primary.main--primary: H S% L%Logo: public/logo.svg, assets/logo.*, favicon.svg
Fonts: Tailwind fontFamily, CSS font-family, Next.js font imports
🎨 Brand Analysis Complete!
COLORS:
Primary: #3B82F6 ████ (from tailwind.config.js)
LOGO: ✓ public/logo.svg
FONT: Inter
Apply to docs? (yes/customize/cancel)
{
"$schema": "https://devdoc.sh/theme.json",
"name": "{ProductName} Docs",
"colors": {
"primary": "{primary}",
"primaryLight": "{lighten_15%}",
"primaryDark": "{darken_15%}"
},
"typography": {
"fontFamily": "{font}, system-ui, sans-serif"
}
}
:root {
--devdoc-primary: {primary};
--devdoc-primary-light: {primaryLight};
--devdoc-primary-dark: {primaryDark};
--devdoc-font-family: '{font}', system-ui, sans-serif;
}
Generate component overrides based on brand colors and product type.
/* Branded callouts */
.callout-info {
background: linear-gradient(135deg, var(--devdoc-primary-light) 0%, transparent 100%);
border-left: 4px solid var(--devdoc-primary);
}
.callout-tip {
border-left-color: var(--devdoc-primary);
}
.callout-warning {
border-left-color: #f59e0b;
}
.callout-danger {
border-left-color: #ef4444;
}
/* Branded cards */
.card {
border: 1px solid var(--border);
border-radius: 0.5rem;
transition: border-color 0.2s, box-shadow 0.2s;
}
.card:hover {
border-color: var(--devdoc-primary);
box-shadow: 0 4px 12px rgba(var(--devdoc-primary-rgb), 0.15);
}
.card-icon {
color: var(--devdoc-primary);
}
/* Branded tabs */
.tabs-trigger[data-state="active"] {
color: var(--devdoc-primary);
border-bottom-color: var(--devdoc-primary);
}
.tabs-trigger:hover {
color: var(--devdoc-primary-dark);
}
/* Branded accordions */
.accordion-trigger:hover {
color: var(--devdoc-primary);
}
.accordion-trigger[data-state="open"] {
color: var(--devdoc-primary);
}
.accordion-trigger[data-state="open"] svg {
color: var(--devdoc-primary);
}
/* Primary button */
.btn-primary {
background-color: var(--devdoc-primary);
color: white;
}
.btn-primary:hover {
background-color: var(--devdoc-primary-dark);
}
/* Secondary/outline button */
.btn-secondary {
border: 1px solid var(--devdoc-primary);
color: var(--devdoc-primary);
background: transparent;
}
.btn-secondary:hover {
background-color: var(--devdoc-primary);
color: white;
}
/* Branded code blocks */
.code-block {
border: 1px solid var(--border);
border-radius: 0.5rem;
}
.code-block-header {
background: var(--muted);
border-bottom: 1px solid var(--border);
}
.code-block .copy-button:hover {
color: var(--devdoc-primary);
}
/* Syntax highlighting accent */
.token.function,
.token.class-name {
color: var(--devdoc-primary);
}
/* API playground branding */
.api-method-get {
background-color: #10b981;
}
.api-method-post {
background-color: var(--devdoc-primary);
}
.api-method-put {
background-color: #f59e0b;
}
.api-method-delete {
background-color: #ef4444;
}
.try-it-button {
background-color: var(--devdoc-primary);
}
.try-it-button:hover {
background-color: var(--devdoc-primary-dark);
}
/* Sidebar navigation */
.nav-link {
color: var(--foreground);
transition: color 0.2s;
}
.nav-link:hover {
color: var(--devdoc-primary);
}
.nav-link.active {
color: var(--devdoc-primary);
font-weight: 500;
}
.nav-group-title {
color: var(--muted-foreground);
font-weight: 600;
}
/* Tab navigation */
.nav-tab.active {
color: var(--devdoc-primary);
border-bottom: 2px solid var(--devdoc-primary);
}
/* Search styling */
.search-input:focus {
border-color: var(--devdoc-primary);
box-shadow: 0 0 0 2px rgba(var(--devdoc-primary-rgb), 0.2);
}
.search-result:hover {
background-color: var(--muted);
}
.search-result-title mark {
background-color: rgba(var(--devdoc-primary-rgb), 0.2);
color: var(--devdoc-primary-dark);
}
/* TOC styling */
.toc-link {
color: var(--muted-foreground);
}
.toc-link:hover {
color: var(--devdoc-primary);
}
.toc-link.active {
color: var(--devdoc-primary);
font-weight: 500;
}
.toc-indicator {
background-color: var(--devdoc-primary);
}
/* Steps styling */
.step-number {
background-color: var(--devdoc-primary);
color: white;
border-radius: 50%;
}
.step-connector {
background-color: var(--border);
}
.step-completed .step-number {
background-color: var(--devdoc-primary);
}
.step-completed .step-connector {
background-color: var(--devdoc-primary);
}
/* Tooltip styling */
.tooltip {
background-color: var(--foreground);
color: var(--background);
border-radius: 0.375rem;
}
.tooltip-arrow {
fill: var(--foreground);
}
Based on detected project type, add specific styles:
/* API-specific styles */
.endpoint-badge {
font-family: var(--devdoc-code-font-family);
font-weight: 600;
}
.response-status.success {
color: #10b981;
}
.response-status.error {
color: #ef4444;
}
.schema-property {
border-left: 2px solid var(--border);
}
.schema-property:hover {
border-left-color: var(--devdoc-primary);
}
/* SDK-specific styles */
.language-selector {
border: 1px solid var(--border);
}
.language-selector button.active {
background-color: var(--devdoc-primary);
color: white;
}
.install-command {
background: var(--muted);
border-radius: 0.5rem;
font-family: var(--devdoc-code-font-family);
}
/* Product-specific styles */
.feature-card {
border: 1px solid var(--border);
border-radius: 0.75rem;
}
.feature-card:hover {
border-color: var(--devdoc-primary);
}
.feature-icon {
color: var(--devdoc-primary);
font-size: 2rem;
}
.screenshot {
border: 1px solid var(--border);
border-radius: 0.5rem;
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
Generate the full custom.css with all branded components:
/* {ProductName} Documentation Theme */
/* Generated by DevDoc whisk-theme */
/* ============================================
1. CSS Variables
============================================ */
:root {
/* Brand Colors */
--devdoc-primary: {primary};
--devdoc-primary-light: {primaryLight};
--devdoc-primary-dark: {primaryDark};
--devdoc-primary-rgb: {primaryRGB};
/* Typography */
--devdoc-font-family: '{font}', system-ui, sans-serif;
--devdoc-heading-font-family: '{font}', system-ui, sans-serif;
--devdoc-code-font-family: 'JetBrains Mono', 'Fira Code', monospace;
/* Layout */
--devdoc-sidebar-width: 280px;
--devdoc-content-max-width: 768px;
}
/* ============================================
2. Base Styles
============================================ */
* {
transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}
::selection {
background-color: var(--devdoc-primary);
color: white;
}
/* ============================================
3. Links
============================================ */
.docs-content a:not([class]) {
color: var(--devdoc-primary);
text-decoration: underline;
text-underline-offset: 2px;
}
.docs-content a:not([class]):hover {
color: var(--devdoc-primary-dark);
}
/* ============================================
4. Navigation
============================================ */
.nav-link:hover { color: var(--devdoc-primary); }
.nav-link.active { color: var(--devdoc-primary); font-weight: 500; }
.nav-tab.active { color: var(--devdoc-primary); border-bottom: 2px solid var(--devdoc-primary); }
/* ============================================
5. Components
============================================ */
/* Buttons */
.btn-primary { background-color: var(--devdoc-primary); color: white; }
.btn-primary:hover { background-color: var(--devdoc-primary-dark); }
/* Cards */
.card:hover { border-color: var(--devdoc-primary); }
.card-icon { color: var(--devdoc-primary); }
/* Callouts */
.callout { border-left: 4px solid var(--devdoc-primary); }
/* Tabs */
.tabs-trigger[data-state="active"] { color: var(--devdoc-primary); border-bottom-color: var(--devdoc-primary); }
/* Accordions */
.accordion-trigger[data-state="open"] { color: var(--devdoc-primary); }
/* Steps */
.step-number { background-color: var(--devdoc-primary); color: white; }
/* Search */
.search-input:focus { border-color: var(--devdoc-primary); }
.search-result-title mark { background-color: rgba(var(--devdoc-primary-rgb), 0.2); }
/* TOC */
.toc-link.active { color: var(--devdoc-primary); }
.toc-indicator { background-color: var(--devdoc-primary); }
/* ============================================
6. Code
============================================ */
pre code {
font-family: var(--devdoc-code-font-family);
font-size: 0.875rem;
line-height: 1.7;
}
:not(pre) > code {
background-color: var(--muted);
padding: 0.125rem 0.375rem;
border-radius: 0.25rem;
font-size: 0.875em;
}
.code-block .copy-button:hover { color: var(--devdoc-primary); }
/* ============================================
7. API Reference
============================================ */
.api-method-post { background-color: var(--devdoc-primary); }
.try-it-button { background-color: var(--devdoc-primary); }
.try-it-button:hover { background-color: var(--devdoc-primary-dark); }
✅ Theme & Components Updated!
Files modified:
✓ theme.json - brand colors, typography
✓ custom.css - variables, components, styles
✓ docs.json - logo paths
✓ public/logo.svg - copied
Components branded:
• Navigation (sidebar, tabs, TOC)
• Buttons (primary, secondary)
• Cards & Card groups
• Callouts & Notices
• Tabs & Accordions
• Code blocks
• Search
• API playground
• Steps component
Run `devdoc dev` to preview!