Shadcn Tailwind UI
LiarMTTT/TavernWeave
Build, restyle, or review accessible React interfaces that use shadcn/ui, Radix UI primitives, and Tailwind CSS.
Production-tested setup for Tailwind CSS v4 with shadcn/ui, Vite, and React.
$ npx skills add ever-works/ever-works --skill tailwind-v4-shadcn -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install ever-works/ever-works tailwind-v4-shadcn --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/ever-works/ever-works.git skills-src && mkdir -p .claude/skills && cp -r skills-src/.agents/skills/tailwind-v4-shadcn .claude/skills/tailwind-v4-shadcn && rm -rf skills-srcUse ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.
Claude Code skills documentation · loads skills from .claude/skills/
Install the "tailwind-v4-shadcn" agent skill from https://github.com/ever-works/ever-works/tree/develop/.agents/skills/tailwind-v4-shadcn into .claude/skills/tailwind-v4-shadcn/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tailwind-v4-shadcn", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/ever-works/ever-works/tree/develop/.agents/skills/tailwind-v4-shadcnType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add ever-works/ever-works --skill tailwind-v4-shadcn -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install ever-works/ever-works tailwind-v4-shadcn --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ever-works/ever-works.git skills-src && mkdir -p .agents/skills && cp -r skills-src/.agents/skills/tailwind-v4-shadcn .agents/skills/tailwind-v4-shadcn && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "tailwind-v4-shadcn" agent skill from https://github.com/ever-works/ever-works/tree/develop/.agents/skills/tailwind-v4-shadcn into .agents/skills/tailwind-v4-shadcn/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tailwind-v4-shadcn", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ever-works/ever-works --skill tailwind-v4-shadcn -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install ever-works/ever-works tailwind-v4-shadcn --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ever-works/ever-works.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/.agents/skills/tailwind-v4-shadcn .cursor/skills/tailwind-v4-shadcn && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "tailwind-v4-shadcn" agent skill from https://github.com/ever-works/ever-works/tree/develop/.agents/skills/tailwind-v4-shadcn into .cursor/skills/tailwind-v4-shadcn/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tailwind-v4-shadcn", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/ever-works/ever-works.git --path .agents/skills/tailwind-v4-shadcn--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add ever-works/ever-works --skill tailwind-v4-shadcn -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install ever-works/ever-works tailwind-v4-shadcn --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ever-works/ever-works.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/.agents/skills/tailwind-v4-shadcn .gemini/skills/tailwind-v4-shadcn && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "tailwind-v4-shadcn" agent skill from https://github.com/ever-works/ever-works/tree/develop/.agents/skills/tailwind-v4-shadcn into .gemini/skills/tailwind-v4-shadcn/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tailwind-v4-shadcn", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install ever-works/ever-works tailwind-v4-shadcnInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add ever-works/ever-works --skill tailwind-v4-shadcn -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/ever-works/ever-works.git skills-src && mkdir -p .github/skills && cp -r skills-src/.agents/skills/tailwind-v4-shadcn .github/skills/tailwind-v4-shadcn && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "tailwind-v4-shadcn" agent skill from https://github.com/ever-works/ever-works/tree/develop/.agents/skills/tailwind-v4-shadcn into .github/skills/tailwind-v4-shadcn/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tailwind-v4-shadcn", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add ever-works/ever-works --skill tailwind-v4-shadcn -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install ever-works/ever-works tailwind-v4-shadcn --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/ever-works/ever-works.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/.agents/skills/tailwind-v4-shadcn .opencode/skills/tailwind-v4-shadcn && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "tailwind-v4-shadcn" agent skill from https://github.com/ever-works/ever-works/tree/develop/.agents/skills/tailwind-v4-shadcn into .opencode/skills/tailwind-v4-shadcn/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "tailwind-v4-shadcn", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
tailwind-v4-shadcnProduction-tested setup for Tailwind CSS v4 with shadcn/ui, Vite, and React.
Tailwind V4 Shadcn is an agent skill from ever-works/ever-works. Production-tested setup for Tailwind CSS v4 with shadcn/ui, Vite, and React. Use when: initializing React projects with Tailwind v4, setting up shadcn/ui, implementing dark mode, debugging CSS variable issues, fixing theme switching, migrating from Tailwind v3, or encountering color/theming problems. Covers: @theme inline pattern, CSS variable architecture, dark mode with ThemeProvider, component composition, vite.config setup, common v4 gotchas, and production-tested patterns. Keywords: Tailwind v4, shadcn/ui…
Its SKILL.md is about 3.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 13 other files, including reference files (for example `references/advanced-usage.md`, `references/common-gotchas.md` and `references/dark-mode.md`).
It sits in Frontend & Design, covering Theming and dark mode, Design tokens and Design systems. It works with Tailwind CSS, shadcn/ui, Vite and React. The repository describes itself as: Ever® Works™ - The Workshop for AI. An open agentic runtime that autonomously researches, ships, and maintains entire businesses, 24/7 - https://ever.works. The licence is MIT.
11 steps, taken from the step headings in SKILL.md.
Read from SKILL.md and the folder at commit 330f7b9. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships script files (TypeScript), which the agent can run.
Shell commands in SKILL.md call:
bunpnpmFrom the folder's file list and the shell code blocks in SKILL.md.
Links to these hosts (documentation or services it may open):
ui.shadcn.comwordpress-auditor.webfonts.workers.devtailwindcss.comFrom URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Tailwind V4 Shadcn loads about 3.8k tokens when it runs, and up to ~11k if it reads all its reference files. Until then it costs about 207 tokens; SKILL.md has 1,145 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.
The full file from ever-works/ever-works at commit 330f7b9, republished under its MIT licence (© ever-works). 1,145 words, ~3,847 tokens.
.claude/skills/tailwind-v4-shadcn/SKILL.md (or your agent's skills folder). This skill also uses 11 other files; get the full folder from GitHub.Production-tested: WordPress Auditor (https://wordpress-auditor.webfonts.workers.dev) Last Updated: 2025-12-04 Status: Production Ready ✅
CRITICAL FOR AI AGENTS: If you're Claude Code helping a user set up Tailwind v4:
reference/common-gotchas.mdUSER ACTION REQUIRED: Tell Claude to check this skill first!
Say: "I'm setting up Tailwind v4 + shadcn/ui - check the tailwind-v4-shadcn skill first"
Without skill activation:
With skill activation:
All of these are handled automatically when the skill is active.
bun add tailwindcss @tailwindcss/vite
# or: npm install tailwindcss @tailwindcss/vite
bun add -d @types/node
# Note: Using pnpm for shadcn init due to known Bun compatibility issues
# (bunx has "Script not found" and postinstall/msw problems)
pnpm dlx shadcn@latest init// vite.config.ts
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import tailwindcss from '@tailwindcss/vite';
import path from 'path';
export default defineConfig({
plugins: [react(), tailwindcss()],
resolve: {
alias: {
'@': path.resolve(__dirname, './src')
}
}
});{
"tailwind": {
"config": "", // ← CRITICAL: Empty for v4
"css": "src/index.css",
"cssVariables": true
}
}rm tailwind.config.ts # v4 doesn't use this fileThis pattern is mandatory - skipping steps will break your theme.
/* src/index.css */
@import 'tailwindcss';
:root {
--background: hsl(0 0% 100%); /* ← hsl() wrapper required */
--foreground: hsl(222.2 84% 4.9%);
--primary: hsl(221.2 83.2% 53.3%);
/* ... all light mode colors */
}
.dark {
--background: hsl(222.2 84% 4.9%);
--foreground: hsl(210 40% 98%);
--primary: hsl(217.2 91.2% 59.8%);
/* ... all dark mode colors */
}Critical Rules:
@layer base)hsl() wrapper on all color values.dark for dark mode (NOT .dark { @theme { } })@theme inline {
--color-background: var(--background);
--color-foreground: var(--foreground);
--color-primary: var(--primary);
/* ... map ALL CSS variables */
}Why This Is Required:
bg-background, text-primary)bg-primary etc. won't exist@layer base {
body {
background-color: var(--background); /* NO hsl() here */
color: var(--foreground);
}
}Critical Rules:
var(--background)hsl(var(--background))<div className="bg-background text-foreground">{/* No dark: variants needed - theme switches automatically */}</div>See reference/dark-mode.md for full implementation or use template:
// Copy from: templates/theme-provider.tsx// src/main.tsx
import { ThemeProvider } from '@/components/theme-provider'
ReactDOM.createRoot(document.getElementById('root')!).render(
<React.StrictMode>
<ThemeProvider defaultTheme="dark" storageKey="vite-ui-theme">
<App />
</ThemeProvider>
</React.StrictMode>,
)pnpm dlx shadcn@latest add dropdown-menuSee reference/dark-mode.md for ModeToggle component code.
Wrap color values with hsl() in :root and .dark
--background: hsl(0 0% 100%); /* ✅ Correct */Use @theme inline to map all CSS variables
@theme inline {
--color-background: var(--background);
}Set "tailwind.config": "" in components.json
{ "tailwind": { "config": "" } }Delete tailwind.config.ts if it exists
Use @tailwindcss/vite plugin (NOT PostCSS)
Use cn() for conditional classes
import { cn } from "@/lib/utils"
<div className={cn("base", isActive && "active")} />Put :root or .dark inside @layer base
/* WRONG */
@layer base {
:root {
--background: hsl(...);
}
}Use .dark { @theme { } } pattern
/* WRONG - v4 doesn't support nested @theme */
.dark {
@theme {
--color-primary: hsl(...);
}
}Double-wrap colors
/* WRONG */
body {
background-color: hsl(var(--background));
}Use tailwind.config.ts for theme colors
/* WRONG - v4 ignores this */
export default {
theme: {
extend: {
colors: { primary: 'hsl(var(--primary))' }
}
}
};Use @apply directive (deprecated in v4)
Use dark: variants for semantic colors
/* WRONG */
<div className="bg-primary dark:bg-primary-dark" />
/* CORRECT */
<div className="bg-primary" />Always use semantic names for colors:
:root {
--destructive: hsl(0 84.2% 60.2%); /* Red - errors, critical */
--success: hsl(142.1 76.2% 36.3%); /* Green - success states */
--warning: hsl(38 92% 50%); /* Yellow - warnings */
--info: hsl(221.2 83.2% 53.3%); /* Blue - info, primary */
}Usage:
<div className="bg-destructive text-destructive-foreground">Critical</div>
<div className="bg-success text-success-foreground">Success</div>
<div className="bg-warning text-warning-foreground">Warning</div>
<div className="bg-info text-info-foreground">Info</div>| Symptom | Cause | Fix |
|---|---|---|
bg-primary doesn't work | Missing @theme inline mapping | Add @theme inline block |
| Colors all black/white | Double hsl() wrapping | Use var(--color) not hsl(var(--color)) |
| Dark mode not switching | Missing ThemeProvider | Wrap app in <ThemeProvider> |
| Build fails | tailwind.config.ts exists | Delete the file |
| Text invisible | Wrong contrast colors | Check color definitions in :root/.dark |
See reference/common-gotchas.md for complete troubleshooting guide.
All templates are available in the templates/ work:
cn() utility for class mergingCopy these files to your project and customize as needed.
@tailwindcss/vite installed (NOT postcss)vite.config.ts uses tailwindcss() plugintsconfig.json has path aliases configuredcomponents.json exists with "config": ""tailwind.config.ts file existssrc/index.css follows v4 pattern::root and .dark at root level (not in @layer)hsl()@theme inline maps all variables@layer base uses unwrapped variablesLoad references/advanced-usage.md for advanced patterns including:
references/migration-guide.md for complete guideQuick Example:
:root {
--brand: hsl(280 65% 60%);
}
@theme inline {
--color-brand: var(--brand);
}Usage: <div className="bg-brand">Branded</div>
For detailed patterns and component composition examples, load references/advanced-usage.md.
{
"dependencies": {
"tailwindcss": "^4.1.17",
"@tailwindcss/vite": "^4.1.17",
"clsx": "^2.1.1",
"tailwind-merge": "^3.3.1",
"@radix-ui/react-*": "latest",
"lucide-react": "^0.554.0",
"react": "^19.2.0",
"react-dom": "^19.2.0"
},
"devDependencies": {
"@types/node": "^24.10.1",
"@vitejs/plugin-react": "^5.1.1",
"vite": "^7.2.4",
"typescript": "~5.9.3"
}
}# These packages will cause build errors:
bun add tailwindcss-animate # ❌ Deprecated
# or: npm install tailwindcss-animate # ❌ Deprecated
bun add tw-animate-css # ❌ Doesn't existIf you see import errors for these packages, remove them and use native CSS animations or @tailwindcss/motion instead.
Tailwind v4 supports official plugins using the @plugin directive in CSS.
Quick Example:
@import 'tailwindcss';
@plugin "@tailwindcss/typography";
@plugin "@tailwindcss/forms";Common Error:
❌ WRONG: @import "@tailwindcss/typography" (doesn't work)
✅ CORRECT: @plugin "@tailwindcss/typography" (use @plugin directive)
Built-in Features: Container queries are now core (no @tailwindcss/container-queries plugin needed).
Load references/plugins-reference.md for complete documentation including Typography plugin (prose classes), Forms plugin, installation steps, and common plugin errors.
For deeper understanding, see:
Load reference files based on user's specific needs:
references/common-gotchas.md when:references/dark-mode.md when:references/migration-guide.md when:references/plugins-reference.md when:references/advanced-usage.md when:This skill is based on the WordPress Auditor project:
All patterns in this skill have been validated in production.
Questions? Issues?
reference/common-gotchas.md firstcomponents.json has "config": ""tailwind.config.ts if it exists© ever-works, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 11 other files (references) in .agents/skills/tailwind-v4-shadcn of ever-works/ever-works.
Open the folder on GitHubat commit 330f7b9
We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in ever-works/ever-works, which our catalogue first saw on October 7, 2026.
Tailwind V4 Shadcn next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Tailwind V4 Shadcn this skillever-works/ever-works | 162 | 2 repos | ~3.8k | Automated safety check: Pass | MIT | |
| Shadcn Tailwind UILiarMTTT/TavernWeave | 154 | — | ~1.7k | Automated safety check: Pass | Custom licence | |
| Tailwind V4 Shadcnsecondsky/claude-skills | 227 | — | ~4k | Automated safety check: Pass | MIT | |
| Tailwind V4 Shadcnaiskillstore/marketplace | 433 | 1 repos | ~4.8k | Automated safety check: Pass | None | |
| Extract DesignManavarya09/design-extract | 4.2k | — | ~786 | Automated safety check: Notes | MIT | |
| Tailwind Theme Builderjezweb/claude-skills | 1.1k | 1 repos | ~3.2k | Automated safety check: Pass | MIT |
LiarMTTT/TavernWeave
Build, restyle, or review accessible React interfaces that use shadcn/ui, Radix UI primitives, and Tailwind CSS.
secondsky/claude-skills
| Production-tested setup for Tailwind CSS v4 with shadcn/ui, Vite, and React.
aiskillstore/marketplace
Set up Tailwind v4 with shadcn/ui using @theme inline pattern and CSS variable architecture.
Manavarya09/design-extract
Extract the full design language from any website URL. An agent skill from Manavarya09/design-extract.
jezweb/claude-skills
Set up Tailwind v4 + shadcn/ui themed UI with dark mode. An agent skill from jezweb/claude-skills.
try-works/role-model
React UI component systems with TailwindCSS + Radix + shadcn/ui.
ever-works/ever-works
Build production-ready Node.js backend services with Express/Fastify, implementing middleware patterns, error handling, authentication, database integration, and API design best practices.
ever-works/ever-works
Audit and improve web accessibility following WCAG 2.2 guidelines.
ever-works/ever-works
Provides comprehensive Tailwind CSS utility-first styling patterns including responsive design, layout utilities, flexbox, grid, spacing, typography, colors, and modern CSS best practices.
ever-works/ever-works
Optimize for search engine visibility and ranking. An agent skill from ever-works/ever-works.
ever-works/ever-works
Build production-ready Express.js servers with middleware, authentication, routing, and database integration.
ever-works/ever-works
Configure email verification, implement password reset flows, set password policies, and customise hashing algorithms for Better Auth email/password authentication.
Works with
Categories
Production-tested setup for Tailwind CSS v4 with shadcn/ui, Vite, and React. Tailwind V4 Shadcn is an agent skill from ever-works/ever-works. Production-tested setup for Tailwind CSS v4 with shadcn/ui, Vite, and React.
Tailwind V4 Shadcn fits situations like: : initializing React projects with Tailwind v4; setting up shadcn/ui; implementing dark mode; debugging CSS variable issues.
Run `npx skills add ever-works/ever-works --skill tailwind-v4-shadcn -a claude-code`. Or copy the skill folder (.agents/skills/tailwind-v4-shadcn in ever-works/ever-works) into .claude/skills/tailwind-v4-shadcn in your project. Claude Code loads it when a task matches its description.
Run `npx skills add ever-works/ever-works --skill tailwind-v4-shadcn -a codex`. Or copy the skill folder (.agents/skills/tailwind-v4-shadcn in ever-works/ever-works) into .agents/skills/tailwind-v4-shadcn in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add ever-works/ever-works --skill tailwind-v4-shadcn -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/tailwind-v4-shadcn, .gemini/skills/tailwind-v4-shadcn, .github/skills/tailwind-v4-shadcn and .opencode/skills/tailwind-v4-shadcn in your project.
Going by SKILL.md and its folder, Tailwind V4 Shadcn needs TypeScript for the scripts in its folder and the command-line tools its instructions call (bun and pnpm). Our summary lists: Node.js.
SKILL.md names 3 domains. As links in the text: ui.shadcn.com, wordpress-auditor.webfonts.workers.dev and tailwindcss.com. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.
Tailwind V4 Shadcn is published under the MIT licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.8k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 6.8k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Tailwind V4 Shadcn: Shadcn Tailwind UI (LiarMTTT/TavernWeave, 154 stars), Tailwind V4 Shadcn (secondsky/claude-skills, 227 stars), Tailwind V4 Shadcn (aiskillstore/marketplace, 433 stars) and Extract Design (Manavarya09/design-extract, 4.2k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
ever-works (a GitHub organization) maintains it in ever-works/ever-works, which has 162 GitHub stars. The repository holds 14 skills in this directory. The repository was last updated on October 10, 2026.
Source: ever-works/ever-works on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.