Commit Graph
47 Commits
Author SHA1 Message Date
Paul BakausandClaude Opus 4.5 bf247c5e14 Rename repository from vibe-design-plugins to impeccable
Update all references in docs, package.json, and website links.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 17:47:59 -08:00
Paul BakausandClaude Opus 4.5 97c83fc51a Add animated mesh gradient hero with overlay content
- Add @paper-design/shaders for WebGL mesh gradient effect
- Create hero-shader.js with liquid ink gradient (grayscale palette)
- Add overlay content: title, tagline, and CTA on shader
- Update hero section structure and styling
- Fix accessibility: gallery dot buttons, toggle ARIA attributes
- Fix undefined --color-terracotta CSS variable
- Update distribution structure for Codex/Cursor skills

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-06 17:46:49 -08:00
Paul BakausandClaude Opus 4.5 f75321b2c1 Increase impeccable-card height for bottom breathing room
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 18:24:20 -08:00
Paul BakausandClaude Opus 4.5 4b2a967713 Reduce impeccable-button margin (24px -> 16px)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 18:22:45 -08:00
Paul BakausandClaude Opus 4.5 649d544484 Fix impeccable-button spacing (remove duplicate margin-top)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 18:22:18 -08:00
Paul BakausandClaude Opus 4.5 3e7e5b30ff Fix hero button hover state (add span wrapper)
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 18:21:07 -08:00
Paul BakausandClaude Opus 4.5 a0b7e9918a Fix button spacing in split-screen demo
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 18:20:30 -08:00
Paul BakausandClaude Opus 4.5 0cb3da1616 Improve website copy: less salesy, credit Anthropic
- Hero: simpler, factual description
- Problem section: remove em dash, less dramatic
- Antidote: properly credit Anthropic's original skill

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 18:02:58 -08:00
Paul Bakaus 8d5260a26d new patterns 2025-12-16 18:00:03 -08:00
Paul BakausandClaude Opus 4.5 de0bebbcec Update README to reflect current architecture
- Clarify: 1 skill with 7 reference files (not 8 separate skills)
- Add "The Problem" section about AI design bias
- Simplify installation and usage sections
- Add patterns/anti-patterns summary
- Add author credit

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 17:48:10 -08:00
Paul BakausandClaude Opus 4.5 e99828bfdf Add author credit to footer
🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 17:43:08 -08:00
Paul BakausandClaude Opus 4.5 2356ae7f2f Add perceived performance section to motion-design reference
- 80ms threshold for "instant" perception
- Active vs passive time (preemptive start, early completion)
- Optimistic UI patterns with appropriate use cases
- Easing affects perceived duration (peak-end effect)
- Caution: too-fast can decrease perceived value

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 17:39:44 -08:00
Paul BakausandClaude Opus 4.5 fccfde2a0b Trim skill and reference files for conciseness (~56% reduction)
- Remove redundant intro scaffolding from all reference files
- Cut basic code examples LLMs already know (CSS vars, simple patterns)
- Keep non-obvious techniques (OKLCH, fallback fonts, container queries, etc.)
- Simplify SKILL.md reference section to single-line links
- Total: 1,908 → 838 lines across skill + 7 reference files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 17:34:03 -08:00
Paul BakausandClaude Opus 4.5 fe5741d01b Further trim patterns to essential AI-bias-fighting guidance
Reduced to most impactful items only:
- Typography: modular scale, distinctive fonts, avoid overused fonts
- Color: off-whites/near-blacks, modern CSS, no gray on color, always tint
- Layout: visual rhythm, asymmetry, grid-breaking, no card obsession, modals are lazy
- Motion: no layout animation, no bounce/elastic
- Interaction: no redundant copy
- Responsive: don't hide mobile functionality

9 categories, ~15 items total - lean and focused.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 16:46:40 -08:00
Paul BakausandClaude Opus 4.5 8e4f48566f Trim patterns to non-obvious, AI-bias-fighting guidance only
Removed items that are:
- Accessibility 101 (WCAG, color blindness, reduced motion, focus indicators)
- Basic design principles (hierarchy, readability, semantic tokens)
- Well-known rules (2-3 fonts max, mobile-first, decorative body fonts)

Kept items that fight specific AI biases:
- Off-whites/near-blacks, dominant color with accents
- Spacing scales, asymmetry, staggered reveals
- Bounce/elastic easing ban, cards-on-cards
- Gray text on color, placeholder-as-labels, generic errors

Reduced from 60 items to 34 - more focused and actionable.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 15:42:28 -08:00
Paul BakausandClaude Opus 4.5 df981860c2 Generate patterns section from YAML data (single source of truth)
- Updated claude-code transformer to generate markdown from YAML patterns/antipatterns
- Removed redundant prose body from patterns.md
- SKILL.md now contains detailed lists (5 items per category) instead of condensed prose
- patterns.md YAML frontmatter is now the single source of truth for both:
  - Website API (/api/patterns)
  - Generated skill files

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 15:35:38 -08:00
Paul BakausandClaude Opus 4.5 7bc51c2b3d Redesign: Move before/after demo to hero position in problem section
- Before/after split comparison now appears immediately after the lead text
- Replaced verbose 6-card bias grid with compact horizontal tag row
- Demo is now the hero moment, biases are supporting context
- Better visual hierarchy and flow

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 15:14:34 -08:00
Paul BakausandClaude Opus 4.5 73a3367e0a Fix: Use standard Vercel serverless function format (req, res)
Response.json() is for Edge Functions, not Node.js serverless functions.
Switched all API handlers to use res.status().json() format which is
the standard for Vercel Node.js functions.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 15:00:08 -08:00
Paul BakausandClaude Opus 4.5 13f4714b5d Fix: Use sync fs operations instead of fs/promises
fs/promises appears to hang on Vercel serverless functions.
Switched to readdirSync/readFileSync which should work reliably.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 14:56:38 -08:00
Paul BakausandClaude Opus 4.5 f7b42be23b Debug: Inline API logic with error handling and logging
Inlined the file reading logic directly in API handlers to eliminate
import issues. Added try/catch with JSON error responses to diagnose
the timeout issue.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 14:54:13 -08:00
Paul BakausandClaude Opus 4.5 11f9b284ff Fix: Include source and dist directories in Vercel serverless functions
Vercel serverless functions are bundled separately and don't automatically
include project directories. Added includeFiles config to ensure source/
and dist/ are available to API handlers at runtime.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 14:51:33 -08:00
Paul BakausandClaude Opus 4.5 ca46647a73 Fix: Use import.meta.url for reliable path resolution in API handlers
process.cwd() is unreliable in Vercel serverless functions.
Using import.meta.url + dirname to resolve PROJECT_ROOT ensures
the source/ and dist/ directories are found correctly.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 14:49:57 -08:00
Paul BakausandClaude Opus 4.5 1492717504 Fix: Use Tailwind CLI for CSS compilation before Bun bundler
Bun's native CSS bundler doesn't support Tailwind v4's @theme directive.
Solution:
1. Run Tailwind CLI first to compile main.css → styles.css
2. Reference styles.css in HTML
3. Bun HTML bundler then bundles everything together

Build output:
- JS: 82 KB (minified, bundled)
- CSS: 63 KB (minified, includes all custom styles)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 14:42:27 -08:00
Paul BakausandClaude Opus 4.5 4cb8055040 Refactor to use Bun's HTML static site bundler
- Use HTML as entrypoint for Bun.build() instead of separate JS/CSS builds
- Leverage bun-plugin-tailwind for automatic Tailwind CSS processing
- Output bundled site to ./build/ directory
- Update vercel.json outputDirectory to build
- Clean up obsolete build artifacts and gitignore entries

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 14:37:00 -08:00
Paul BakausandClaude Opus 4.5 2fb61defca Add Bun bundler for frontend JavaScript
- Bundle all frontend JS with Bun.build() (82KB minified)
- Dependencies (motion, lenis, three) are now bundled instead of CDN
- Remove import map from index.html (no longer needed)
- Output to public/dist/app.bundle.js with source map
- Add public/dist/ to .gitignore (generated during build)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 14:33:03 -08:00
Paul BakausandClaude Opus 4.5 31aa3f2127 Fix: Include server/lib in Vercel deployment
The API functions import from server/lib/api-handlers.js which was
being excluded by .vercelignore. Now only excludes server/index.js
(the local dev server) instead of the entire server/ directory.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 14:25:34 -08:00
Paul BakausandClaude Opus 4.5 851b5f6c7a Fix Vercel runtime: use Node.js-compatible file APIs
- Remove invalid functions.runtime config from vercel.json
- Replace Bun.file() with Node.js fs/promises APIs
- Vercel's Bun runtime only supports Next.js/Express/Hono/Nitro frameworks

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 14:24:01 -08:00
Paul BakausandClaude Opus 4.5 7aefe19b2a Fix Vercel deployment: Tailwind CSS, API endpoints, and Bun runtime
- Add missing /api/patterns.js endpoint (was causing 404)
- Fix Tailwind CSS: compile with @tailwindcss/cli instead of Bun virtual module
- Update API handlers to use standard Vercel function export format
- Configure vercel.json with proper Bun runtime (runtime: "bun@1")
- Add @tailwindcss/cli to devDependencies
- Add generated styles.css to .gitignore

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 14:21:43 -08:00
Paul Bakaus 43dd5ad40b meta: add our skills/commands to ourselves 2025-12-16 14:03:30 -08:00
Paul BakausandClaude Opus 4.5 ecc4857204 Harden accessibility and add resilience improvements
- Add skip-to-content link for keyboard navigation (WCAG 2.4.1)
- Add ARIA labels to download buttons and periodic table elements
- Convert periodic table from divs to semantic buttons with keyboard support
- Add focus-visible styles to all interactive elements
- Implement WAI-ARIA tabs pattern for pattern categories with arrow key nav
- Add global prefers-reduced-motion support in CSS and JavaScript
- Fix touch gesture trapping in split-compare (allows vertical scroll)
- Add error states with retry button for API failures
- Add underlines to links for non-color identification (WCAG 1.4.1)
- Respect reduced motion preference in Lenis smooth scroll and hero canvas

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 14:02:30 -08:00
Paul BakausandClaude Opus 4.5 5d65154dee Fix: Restore public directory from accidental regression
Commit 3d9f4ae accidentally reverted public/app.js and public/css/main.css
(plus other files) to old versions. This broke the site because:
- app.js imported from deleted files (commands.js, skills.js)
- main.css lost 1200+ lines of Renaissance redesign (split comparison, etc.)

Restored from commit 343e342 which had the working frontend.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 13:38:19 -08:00
Paul BakausandClaude Opus 4.5 7c3e76663b Enhance all commands with consistent design principles
Commands updated with specific improvements:
- audit: Added Design Anti-Patterns section (pure gray, gray-on-color, nested cards, bounce/elastic, redundant copy)
- polish: Updated easing guidance, added tinted neutrals and gray-on-color checks
- animate: Added Timing & Easing section with quart/quint/expo curves, bounce/elastic warning
- bolder: Fixed color section (avoid purple-blue gradients), proper easing
- quieter: Added tinted grays guidance, gray-on-color fix
- simplify: Added nested cards warning, redundant copy removal
- colorize: Added OKLCH recommendation, gray-on-color fix
- clarify: Added redundant copy and placeholder-as-label warnings
- delight: Fixed spring animation to use ease-out-quart

Also fixed gray-on-color wording across all files:
- Use "shade of the background color" not "tinted text"

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 10:56:51 -08:00
Paul BakausandClaude Opus 4.5 3d9f4ae5df Fill in all sub-skill reference files with non-obvious design guidance
- typography.md: vertical rhythm math, modular scale, distinctive fonts, font loading
- color-and-contrast.md: OKLCH, tinted grays, gray-on-color warning, pure gray/black
- motion-design.md: quart/quint/expo curves, bounce/elastic warning, stagger formula
- spatial-design.md: 4pt base, gap over margin, card restraint, no nested cards
- responsive-design.md: content-driven breakpoints, clamp formula, pointer queries
- interaction-design.md: focus-visible, optimistic updates, inert/popover APIs
- ux-writing.md: button labels, error formula, empty states, redundant copy

Updated patterns.md with:
- Pure gray warning (not just black/white)
- Bounce/elastic easing anti-pattern
- Redundant copy anti-pattern

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-16 10:34:42 -08:00
Paul BakausandClaude Opus 4.5 343e342d52 Add periodic table visualization and URL hash tracking
- Replace subway map with periodic table of commands
- Info panel shows command details on hover
- Click element to jump to command in Commands section
- URL hash updates as you scroll between sections
- Direct linking to sections works
- Fix spacing issues in solution section

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 18:27:52 -08:00
Paul Bakaus 6987e6e160 more fixes 2025-12-15 16:55:21 -08:00
Paul Bakaus e9ebb5a4d9 better demos 2025-12-15 15:19:27 -08:00
Paul BakausandClaude Opus 4.5 2181137d04 Consolidate skills + add patterns source file
Major changes:
- Consolidate 8 design skills into single frontend-design skill with 7 reference files
- Add source/patterns.md as single source of truth for patterns/antipatterns
- Patterns are merged into skill during build, served via API for website
- Website now dynamically renders both "What TO Do" and "What NOT to Do" sections
- Update build system to handle directory-based skills with references
- Add /api/patterns endpoint to server
- Refactor website with new Antidote section layout

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-15 14:08:30 -08:00
Paul Bakaus 99f1091f20 more progress 2025-12-14 13:55:29 -08:00
Paul Bakaus 5b6aafc85e Add 'Coming Soon' states for incomplete skills and commands
- Add readySkills and readyCommands arrays in data.js to track completion
- Only /normalize command is marked as ready (first to be completed)
- All skills marked as coming soon (still being refined)
- Show 'Soon' badges in navigation for incomplete items
- Show placeholder with clock icon when selecting incomplete items
- Ready items show full demo, downloads, and details
2025-12-06 12:39:05 -08:00
Paul Bakaus 6c29963af9 add cursor dist 2025-12-06 12:33:36 -08:00
Paul Bakaus 1bdb3ea17a Redesign website with interactive demos and improved layout
- Add interactive before/after demos for all skills (UX Writing, Spatial Design, Motion Design, Typography, Interaction Design, Color & Contrast, Responsive Design)
- Implement tabbed demo navigation for skills with multiple examples
- Refactor app.js into modular JS files (skills.js, commands.js, data.js, skill-demos.js, command-demos.js, demo-toggles.js)
- Add new CSS modules (skill-demos.css, workflow.css, problem-section.css, solution-section.css)
- Redesign commands section with sidebar nav matching skills layout
- Replace large download buttons with compact icon buttons
- Fix gray-on-pink color clashing throughout UI
- Remove frontend-design skill (Anthropic's work, not ours)
- Format skill names properly (e.g., 'UX Writing' not 'ux-writing')
- Remove redundant 'Combines Well With' from skills
- Add 'The Problem' and 'The Solution' sections to homepage
- Various CSS fixes for buttons, backgrounds, and spacing
2025-12-06 12:33:00 -08:00
Paul Bakaus 3ade148de1 try to get Vercel to play nice 2025-11-16 19:07:03 -08:00
Paul Bakaus 2e5d653273 changed folder structures to make it easier for users 2025-11-16 19:00:27 -08:00
Paul Bakaus 89d179143b stubs and website 2025-11-16 18:52:23 -08:00
Paul Bakaus 7ba3f3fffd improve normalize skill based on peer learnings of Anthropic's approach 2025-11-16 15:02:58 -08:00
Paul Bakaus 661293796c initial commit and build out 2025-11-16 14:54:35 -08:00
Paul BakausandGitHub 9ee3afcdf9 Initial commit 2025-11-15 17:52:04 -08:00