Commit Graph
139 Commits
Author SHA1 Message Date
Paul BakausandClaude Opus 4.6 af69a189e3 perf: add cache headers for static assets on Cloudflare Pages
- Hashed JS/CSS bundles: immutable, 1 year cache
- Images/logos/SVGs: 1 week cache with 1 day stale-while-revalidate
- HTML pages: browser revalidates, CDN caches 1h
- ZIP downloads: 1h cache
- API routes: unchanged (CDN 24h)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 11:26:28 -07:00
Paul BakausandClaude Opus 4.6 e5083bbe47 fix: self-host provider logos instead of hotlinking logo.dev
Downloaded all provider logos locally to public/assets/ to eliminate
external dependency on logo.dev API, which was hitting rate limits.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 11:24:35 -07:00
Paul BakausandClaude Opus 4.6 bb5ba2f305 feat: add Pi provider support, fix community health files, recategorize /onboard
- Add first-class Pi (pi.dev) provider with transformer, tests, and build integration
- Fix CODEOWNERS username (@paulbakaus → @pbakaus)
- Add missing providers to issue/PR templates (Copilot, Kiro, OpenCode, Pi)
- Add Pi and OpenCode logos to homepage hero and install sections
- Move /onboard from "system" to "enhancement" category
- Update README and DEVELOP.md with all supported providers

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-12 11:21:09 -07:00
Paul BakausandGitHub 599df3bb81 Merge pull request #18 from VaishnavGunjari/improvements
chore: add GitHub community health files
2026-03-12 09:56:16 -07:00
Paul BakausandGitHub e0a66a1e61 Merge pull request #27 from hamshad/feat/opencode-support
feat: add OpenCode provider support to build system
2026-03-12 09:49:46 -07:00
hamshad 506957487f feat: add OpenCode provider support to build system
- Created opencode transformer in scripts/lib/transformers/opencode.js
- Added opencode placeholders to scripts/lib/utils.js
- Integrated opencode into build.js and universal assembly
- Updated README.md and scripts/lib/transformers/index.js with OpenCode support
2026-03-12 16:30:15 +05:30
Vaishnav Gunjari 38fdc991c5 chore: remove FUNDING.yml and ci.yml, fix PR template checklist 2026-03-11 10:42:54 +05:30
Paul BakausandGitHub 0df1ba59dc Merge pull request #20 from JasonOA888/feat/github-actions-ci
feat(ci): add GitHub Actions CI workflow
2026-03-10 14:07:55 -07:00
Paul BakausandClaude Opus 4.6 04f26b3e4d Fix Kiro ref file bug, add missing test coverage for Agents/Kiro/utils
Fix bug in Kiro transformer where commandNames was incorrectly passed
to replacePlaceholders for reference files. Add dedicated test suites
for Agents and Kiro transformers, and add unit tests for
replacePlaceholders and prefixSkillReferences utilities. (107 → 164 tests)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 13:31:42 -07:00
Paul BakausandGitHub 07650ffd2c Merge pull request #16 from hobostay/fix-tests
Fix broken tests to match actual implementation
2026-03-10 10:51:25 -07:00
Paul BakausandClaude Opus 4.6 9014a4ac30 Replace shell zip command with archiver for Cloudflare Pages compatibility
Cloudflare Pages build environment doesn't have the zip CLI tool,
causing zip bundle creation to fail silently. Switched to the archiver
npm package for cross-platform zip generation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 09:24:53 -07:00
Paul BakausandClaude Opus 4.6 3908cb397e Fix zip downloads by adding _routes.json for Cloudflare Pages Functions
Without _routes.json, the SPA fallback was serving index.html instead of
invoking the download Functions, causing zip downloads to return HTML.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 09:20:23 -07:00
JasonOA888 ad5ba06d55 feat(ci): add GitHub Actions CI workflow
- Run tests on push and PR to main
- Build project and upload artifacts
- Use Bun for fast JavaScript runtime

This ensures code quality and prevents regressions.
2026-03-10 13:17:55 +08:00
Paul BakausandClaude Opus 4.6 7d2d42da96 Migrate from Vercel to Cloudflare Pages, fix distill command symbol
Replace Vercel serverless functions with Cloudflare Pages static
rewrites and lightweight download functions. Pre-generate all API
JSON data at build time for zero-invocation static serving. Also
fix stale simplify→distill rename in framework-viz periodic table.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 18:34:14 -07:00
Paul BakausandClaude Opus 4.6 98d16686dc Add edge cache headers to all API routes to reduce Vercel function invocations
All API routes serve static content that only changes at deploy time, but had
0% cache hit rate. Adding s-maxage=86400 lets Vercel's CDN cache responses at
the edge, which should take the ~28K daily API requests from 0% to ~99% cache.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 17:10:04 -07:00
Vaishnav Gunjari 610425e662 chore: add GitHub community health files 2026-03-08 23:03:15 +05:30
hobostayandClaude Opus 4.6 472273942c Fix broken tests to match actual implementation
The test suite was significantly out of sync with the actual codebase
after a major refactoring from a command+skills architecture to a unified
skills-only architecture.

Changes:
- Updated all transformer tests to match new API:
  - Transformers now take (skills, distDir, patterns, options) instead of (commands, skills, distDir)
  - Output paths changed (e.g., .cursor/skills/ instead of cursor/commands/)
  - Removed tests for GEMINI.md and AGENTS.md files (no longer generated)
- Updated utils.test.js to match readSourceFiles behavior:
  - readSourceFiles now returns { skills } only, not { commands, skills }
  - Skills are read from directory structure (source/skills/{name}/SKILL.md)
  - Fixed reference file ordering expectations (fs.readdirSync is not ordered)
- Updated build.test.js to match new build orchestration
- Fixed expectations for placeholder replacement behavior
- Added missing readPatterns import to utils.test.js

All 107 tests now pass.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-07 20:11:58 +08:00
Paul BakausandClaude Opus 4.6 a9c66c4cda Trim changelog to user-facing changes only
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 11:03:03 -08:00
Paul BakausandClaude Opus 4.6 b390f2db40 Bump version to v1.2.0, update changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 11:02:23 -08:00
Paul BakausandClaude Opus 4.6 4ff4f4643a Add Kiro provider support, clean up legacy code and unused ZIPs
- Add Kiro transformer and build integration (.kiro/skills/ structure)
- Add Kiro to validation allowlists, API handlers, and homepage badge
- Replace legacy getFilePath in Vercel API with unified skills directory structure
- Remove individual provider ZIP creation (only universal ZIPs needed)
- Simplify bundle API allowlist to universal/universal-prefixed only

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:33:51 -08:00
Paul BakausandClaude Opus 4.6 cb596b538e Exclude teach-impeccable from suggestions, allow other installed skills
- Filter teach-impeccable from {{available_commands}} (setup skill, not a fix)
- Soften wording: "prefer" our commands but also allow other installed skills
  the LLM is sure exist, preventing false negatives while still preventing
  hallucinated commands

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:20:38 -08:00
Paul BakausandClaude Opus 4.6 870d65b1e3 Constrain audit/critique to only suggest real commands via {{available_commands}}
Adds a dynamic {{available_commands}} placeholder that the build system
replaces with the actual list of user-invokable skill names. Audit and
critique now explicitly instruct the LLM to only suggest from this list,
preventing hallucinated commands like /redesign.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:18:52 -08:00
Paul BakausandClaude Opus 4.6 aadaee5c37 Prefix all skills (incl. frontend-design), fix cross-references, move toggle inline
- Prefix ALL skills in prefixed bundles, not just user-invokable ones
- Add prefixSkillReferences() to update /skillname and "the skillname skill"
  cross-references in skill body text when prefixing
- Add prefix/outputSuffix support to agents transformer
- Move prefix toggle inline next to the download ZIP button for better discoverability

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:12:36 -08:00
Paul BakausandClaude Opus 4.6 ee7eeae301 Restore prefix toggle for i- prefixed skill bundles
Re-adds the toggle in the install section that lets users download bundles
with all user-invokable skills prefixed with i- (e.g. /i-audit) to avoid
naming conflicts. Build now produces both unprefixed and prefixed variants
for all providers and universal ZIP.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 10:04:53 -08:00
Paul BakausandClaude Opus 4.6 b628e208e3 Harden API endpoints: input validation, error sanitization, security headers
- Add shared validation helper (server/lib/validation.js) with ID regex, provider/type allowlists
- Validate all route params against allowlists before filesystem operations to prevent path traversal
- Strip stack traces and error.message from production error responses (generic "Internal server error")
- Sanitize filenames in Content-Disposition headers
- Add X-Content-Type-Options: nosniff and X-Frame-Options: DENY to dev server static responses
- Add path traversal (.. ) checks to all static file handlers and catch-all fetch

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 09:58:05 -08:00
Paul BakausandClaude Opus 4.6 f0d37e48c7 Fix command-source API for unified skills directory structure
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 14:59:29 -08:00
Paul BakausandClaude Opus 4.6 c026a896aa Replace teach-impeccable "coming soon" with usage guide
Show when to run and what it does instead of a misleading
"visual demo coming soon" placeholder.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 14:58:06 -08:00
Paul BakausandClaude Opus 4.6 c0ba2b8124 Fix Vercel API endpoints for unified skills directory structure
The migration to source/skills/{name}/SKILL.md broke the serverless
functions which still expected flat .md files in source/commands/.
Also adds scripts/** to Vercel includeFiles for patterns API.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 14:55:32 -08:00
Paul BakausandClaude Opus 4.6 2239279fd7 Consolidate changelog to v1.1.0, add GitHub link, universal ZIP README
- Combined all post-v1.0 changelog entries into single v1.1.0
- Updated version to 1.1.0 in package.json, plugin.json, marketplace.json
- Added GitHub icon link to hero top-right
- Added README.txt to universal ZIP (macOS hides dotfile-only folders)
- Added versioning instructions to CLAUDE.md

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 14:49:49 -08:00
Paul BakausandClaude Opus 4.6 0981be5ba5 Universal install flow, merge Copilot/Antigravity, remove prefix toggle (v2.1.0)
- Merge Copilot & Antigravity into single agents transform (.agents/skills/)
- Remove prefix toggle and prefixed build pass (6 ZIPs → 6, down from 12)
- Add universal ZIP assembling all 5 provider directories
- Redesign install section with glass terminal UI (npx, plugin, ZIP)
- Fix Claude Code command to valid /plugin marketplace add
- Fix Antigravity logo to antigravity.google
- Rename "AI tool"/"AI coding tools" → "AI harness"/"AI harnesses" throughout

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 14:41:16 -08:00
Paul BakausandClaude Opus 4.6 ad74e89ae5 Remove dist/ from git tracking (already in .gitignore)
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 10:11:29 -08:00
Paul BakausandClaude Opus 4.6 87106b5271 Migrate to unified skills architecture, add Copilot & Antigravity (v2.0.0)
All commands are now skills with user-invokable: true. Source lives in
source/skills/{name}/SKILL.md. Added VS Code Copilot (.agents/skills/)
and Google Antigravity (.agent/skills/) transformers. All 6 providers
output to skills directories only — no more commands/prompts dirs.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 10:10:41 -08:00
Paul BakausandClaude Opus 4.6 a94e237359 Replace static OG image with auto-generated JPEG using site fonts
Add scripts/generate-og-image.js that renders the OG image with Playwright
using the actual site fonts (Cormorant Garamond, Instrument Sans, Space
Grotesk) and dynamically counts skills/commands from source/. Switch from
PNG to JPEG (512 KB → 25 KB). Run with `bun run og-image`.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 09:52:14 -08:00
Paul BakausandClaude Opus 4.6 98f5d839fd Improve split comparison: add before/after badges, extend slider range
Adds floating corner badges to clarify which side is before/after,
removes the "With Skills" divider label, and extends the slider range
to account for the skewed divider so it can fully reveal each side.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 09:39:05 -08:00
Paul BakausandClaude Opus 4.6 fd99c1f391 Add antipattern examples and clean up simplify→distill rename
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 09:25:28 -08:00
Paul BakausandClaude Opus 4.6 74c5cb3b41 Add changelog section and bump version to 1.1.0
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 09:23:36 -08:00
Paul BakausandClaude Opus 4.6 d9c14a44eb Copy static assets with stable URLs to build output
Bun's HTML bundler only includes assets referenced via <link href>
or <script src>, not <meta content> URLs. Root-level files like
og-image.png, robots.txt, and sitemap.xml were missing from the
build/ directory that Vercel serves, causing 404s for OG images.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 09:14:00 -08:00
Paul BakausandClaude Opus 4.6 4ef56ed959 Rename /simplify command to /distill to avoid Claude Code clash
Claude Code now ships a built-in /simplify command for code
simplification, which conflicts with our design simplification
command. Renamed to /distill across all source files, demos,
metadata, and documentation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 09:11:57 -08:00
Paul BakausandClaude Opus 4.6 f3939c66e4 Fix OG image not rendering on Twitter/social shares
Root-level static files (og-image.png, favicon.svg, robots.txt, etc.)
were not served because the server only had routes for subdirectories.
Add a fetch fallback handler to serve any existing file from public/.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-04 09:01:52 -08:00
Paul BakausandClaude Opus 4.5 517fcfe47e Increase sticky panel top offset for breathing room
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 10:56:20 -08:00
Paul BakausandClaude Opus 4.5 d7c8a5c67c Tone down copy and fix UI inconsistencies
- Remove overpromising "transform into impeccable design" claim
- Tone down marketing language throughout (design intelligence, level up, etc.)
- Change "our" to "the" for neutral voice
- Combine Support and Consulting into single "Work with me" section
- Fix double-border on command demo panel (match border-radius)
- Remove border-top from demo captions

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 10:53:27 -08:00
Paul BakausandClaude Opus 4.5 9810e304e0 Reduce whitespace, normalize typography, and streamline layout
- Reduce spacing scale tokens (spacing-lg: 32px, spacing-xl: 48px, spacing-2xl: 80px)
- Normalize body text to consistent 1rem size and color across sections
- Section numbers now appear above headings for proper text alignment
- Left-align all content sections for consistent rhythm
- Combine Support and Consulting sections into single "Work with me" section
- Simplify contribute CTA to inline text link
- Remove unused support section CSS
- Fix FAQ list alignment with section header
- Update copy to use "Impeccable" instead of "we"

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 10:32:23 -08:00
Paul BakausandClaude Opus 4.5 067eb4f235 Address HN feedback: remove dark mode, case studies, simplify support
- Remove dark mode toggle and all dark theme CSS
- Remove case studies/before-after section (controversial examples)
- Simplify support section to single "buy me a coffee" button
- Fix hero and antidote section padding to align with other sections
- Use overflow-x: clip instead of hidden to preserve position:sticky

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-16 09:58:00 -08:00
Paul BakausandClaude Opus 4.5 656c59019b Fix horizontal scroll on Firefox mobile
Add overflow-x: hidden to html element to prevent horizontal scroll
caused by 100vw units in full-bleed section patterns.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-12 09:03:47 -08:00
Paul BakausandClaude Opus 4.5 a1a24daf3f Add cheatsheet tip to downloads section and fix Vercel 404
- Add download tip with cheatsheet link in downloads section
- Fix cheatsheet 404 on Vercel by adding rewrite rule
- Include cheatsheet.html in Bun build entrypoints

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 15:31:29 -08:00
Paul BakausandClaude Opus 4.5 98e673b8f4 Add standalone command cheatsheet page
- Create /cheatsheet with all 17 commands grouped by category
- Clean, scannable layout with command relationships
- Print-friendly styling, dark mode support
- Add server route for cheatsheet page
- Link from Commands section and footer

Addresses user feedback requesting a quick reference doc
for practical command usage.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 15:27:40 -08:00
Paul BakausandClaude Opus 4.5 d56a9fc746 Refine What's Included box in hero section
- Match box width to paragraph above (45ch)
- Include frontend-design skill name specifically
- Add sample commands: /polish, /audit, /simplify, /bolder
- Clean two-line layout that wraps naturally

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 15:15:47 -08:00
Paul BakausandClaude Opus 4.5 4a71a229b8 Improve hero copy to focus on vocabulary gap
The key insight: great design prompts require design vocabulary,
but most people don't have it. Impeccable bridges that gap by
giving you commands that put designer language in your hands.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 15:09:47 -08:00
Paul BakausandClaude Opus 4.5 d4a7a72b8d Improve hero rhythm with lighter inline features
- Move CTA button above the "what's included" info
- Replace bulky equation cards with inline feature badges
- Better visual hierarchy: headline → explanation → action → details
- Features are now supporting text, not competing with CTA

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 15:08:01 -08:00
Paul BakausandClaude Opus 4.5 81dc4b2ad6 Restore What's Included section with cleaner equation layout
- Replace bulky gradient box with original side-by-side card design
- Add equation-style layout: skill card + operator + commands card
- Improve hero hook copy to explain what Impeccable does
- Clean, minimal styling that matches site aesthetic

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-11 15:05:53 -08:00