diff --git a/site/content/tutorials/getting-started.md b/site/content/tutorials/getting-started.md index f7b17f23b..8ad43f14c 100644 --- a/site/content/tutorials/getting-started.md +++ b/site/content/tutorials/getting-started.md @@ -11,7 +11,7 @@ You will end this tutorial with Impeccable installed in your project, a `PRODUCT ## Prerequisites -- An AI coding harness: Claude Code, Cursor, Gemini CLI, Codex CLI, or any of the other supported tools. +- An AI coding harness: Claude Code, Cursor, GitHub Copilot, Gemini CLI, Codex CLI, or any of the other supported tools. - A project with at least one HTML or component file you want to improve. A fresh scaffolded landing page works fine. ## How Impeccable works @@ -34,7 +34,7 @@ From the root of your project, run: npx impeccable skills install ``` -This auto-detects your harness and writes the build compiled for it to the right location (e.g., `.claude/skills/`, `.cursor/skills/`). It works with Cursor, Claude Code, Gemini CLI, Codex CLI, and every other major harness. Reload your harness and type `/`. You should see `/impeccable` in the autocomplete. Type it and the skill's argument hint will show all available commands. +This auto-detects your harness and writes the build compiled for it to the right location (e.g., `.claude/skills/`, `.cursor/skills/`). It works with Cursor, Claude Code, GitHub Copilot, Gemini CLI, Codex CLI, and every other major harness. Reload your harness and type `/`. You should see `/impeccable` in the autocomplete. Type it and the skill's argument hint will show all available commands. Prefer a different setup? Claude Code users can install the plugin with `/plugin marketplace add pbakaus/impeccable`, and the general-purpose `npx skills add pbakaus/impeccable` still works (though it installs one shared build for all harnesses rather than the one compiled for yours). diff --git a/site/pages/index.astro b/site/pages/index.astro index 182027b25..63c328695 100644 --- a/site/pages/index.astro +++ b/site/pages/index.astro @@ -19,14 +19,14 @@ import '../styles/testimonials.css'; Claude Code - + @@ -619,7 +619,7 @@ import '../styles/testimonials.css'; -

Works with Cursor, Claude Code, Gemini CLI, Codex CLI, and every other major AI coding harness. install sets up the build for your harness; update pulls the latest. Run npx impeccable skills check to see if you're behind. Installed the Claude Code plugin? Update it from the /plugin menu instead.

+

Works with Cursor, Claude Code, GitHub Copilot, Gemini CLI, Codex CLI, and every other major AI coding harness. install sets up the build for your harness; update pulls the latest. Run npx impeccable skills check to see if you're behind. Installed the Claude Code plugin? Update it from the /plugin menu instead.

diff --git a/site/pages/live-mode/index.astro b/site/pages/live-mode/index.astro index 17151da2c..b16360ae7 100644 --- a/site/pages/live-mode/index.astro +++ b/site/pages/live-mode/index.astro @@ -199,7 +199,7 @@ import '../../styles/live-mode-kinpaku.css'; Install

Get Impeccable set up

-

Install the skill and CLI once, then run /impeccable live from your AI harness. Works with Claude Code, Cursor, Codex, Gemini, and more.

+

Install the skill and CLI once, then run /impeccable live from your AI harness. Works with Claude Code, Cursor, GitHub Copilot, Codex, Gemini, and more.

See the install steps →
diff --git a/site/public/assets/github-copilot-logo.svg b/site/public/assets/github-copilot-logo.svg new file mode 100644 index 000000000..94829d8a1 --- /dev/null +++ b/site/public/assets/github-copilot-logo.svg @@ -0,0 +1,4 @@ + + + + diff --git a/site/styles/designing-kinpaku.css b/site/styles/designing-kinpaku.css index 602356fb8..b0e40e461 100644 --- a/site/styles/designing-kinpaku.css +++ b/site/styles/designing-kinpaku.css @@ -69,6 +69,19 @@ color: var(--ks-kinpaku); } +@media (max-width: 760px) { + .designing-kinpaku [data-site-header] .site-header-right { + position: absolute; + top: calc(100% + 12px); + left: clamp(16px, 4vw, 24px); + right: clamp(16px, 4vw, 24px); + z-index: 110; + width: auto; + flex-basis: auto; + margin: 0; + } +} + /* Footer chrome moved to kinpaku-kit.css (.kinpaku-chrome .site-footer). */ /* ============================================================================ @@ -303,14 +316,6 @@ .designing-kinpaku .designing-loop-wheel { display: block; } -/* The wheel is a decorative SVG flourish that sits beside the hero. - On narrow viewports it overflows the page (~22px past the right edge); - hide it on mobile โ€” the hero copy carries the page without it. */ -@media (max-width: 600px) { - .designing-kinpaku .designing-loop-wheel { - display: none; - } -} .designing-kinpaku .designing-loop-wheel-ring { fill: none; stroke: var(--ks-kinpaku); @@ -353,6 +358,87 @@ color: var(--ks-muted); } +@media (max-width: 720px) { + .designing-kinpaku .designing-page { + padding-top: 32px; + } + + .designing-kinpaku .designing-hero { + padding: 40px clamp(18px, 5vw, 24px) 56px; + row-gap: 0; + } + + .designing-kinpaku .designing-page-header { + max-width: none; + margin: 0; + text-align: left; + } + + .designing-kinpaku .designing-page-title { + font-size: clamp(2.1rem, 12vw, 2.8rem); + line-height: 1.02; + margin-bottom: 18px; + } + + .designing-kinpaku .designing-page-lede { + max-width: none; + margin: 0; + font-size: 1rem; + line-height: 1.6; + text-wrap: pretty; + } + + .designing-kinpaku .designing-loop-wrap { + width: 100%; + margin-top: 36px; + } + + .designing-kinpaku .designing-loop { + grid-template-columns: minmax(0, 1fr); + grid-template-rows: none; + row-gap: 0; + column-gap: 0; + max-width: none; + margin: 0; + justify-items: stretch; + } + + .designing-kinpaku .designing-loop-node, + .designing-kinpaku .designing-loop-node--start, + .designing-kinpaku .designing-loop-node--iterate, + .designing-kinpaku .designing-loop-node--polish, + .designing-kinpaku .designing-loop-node--maintain { + grid-column: 1; + grid-row: auto; + align-items: flex-start; + width: 100%; + padding: 14px 0; + text-align: left; + border-top: 1px solid var(--ks-rule); + } + + .designing-kinpaku .designing-loop-node:first-of-type { + border-top: 0; + } + + .designing-kinpaku .designing-loop-name { + font-size: 1.45rem; + } + + .designing-kinpaku .designing-loop-hint { + max-width: none; + font-size: 0.9rem; + } + + .designing-kinpaku .designing-loop-wheel { + display: block; + grid-column: 1; + grid-row: 1; + width: min(56vw, 208px); + margin: 0 auto 24px; + } +} + /* ============================================================================ 3b. LOOP TRACK + STICKY PHASE NAV @@ -410,6 +496,7 @@ @media (max-width: 600px) { .designing-kinpaku .designing-phasenav { + top: 70px; gap: 0.7rem; padding: 12px 14px; } @@ -451,6 +538,13 @@ color: var(--ks-code-fg); } +@media (max-width: 720px) { + .designing-kinpaku .ks-section.designing-phase { + padding-left: clamp(18px, 5vw, 24px); + padding-right: clamp(18px, 5vw, 24px); + } +} + .designing-kinpaku .designing-phase-commands { display: flex; flex-wrap: wrap; @@ -1062,6 +1156,18 @@ display: none; /* cryptic "03 ยท 04" step counter โ€” removed */ } +@media (max-width: 720px) { + .designing-kinpaku .designing-polish-band { + grid-template-columns: 1fr; + gap: 10px; + } + + .designing-kinpaku .designing-polish-band-cmds { + flex-wrap: nowrap; + gap: clamp(10px, 4vw, 14px); + } +} + .designing-kinpaku .designing-polish-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); @@ -1122,6 +1228,14 @@ gap: 8px; } +@media (max-width: 720px) { + .designing-kinpaku .designing-maintain .ks-bento-tile, + .designing-kinpaku .designing-surfaces .ks-bento-tile { + padding-left: 20px; + padding-right: 20px; + } +} + /* Surfaces grounding (skill / CLI / extension). Each tile carries a small mono identifier line: a terminal command for the CLI, a browser address for the extension. */ diff --git a/site/styles/home-rebuild.css b/site/styles/home-rebuild.css index 55d7624d7..0d0dd4519 100644 --- a/site/styles/home-rebuild.css +++ b/site/styles/home-rebuild.css @@ -176,12 +176,12 @@ filter: none; } -/* VS Code Copilot and Codex CLI logos are dark monochrome glyphs. The row's +/* GitHub Copilot and Codex CLI logos are dark monochrome glyphs. The row's default invert filter makes them readable; removing it on hover would put them back to dark-on-dark, which is invisible. Keep them inverted on hover โ€” they don't have a brand color to restore. */ -.home-kinpaku .hero-rebuild-logo[data-tooltip="VS Code Copilot"]:hover img, -.home-kinpaku .hero-rebuild-logo[data-tooltip="VS Code Copilot"]:focus-visible img, +.home-kinpaku .hero-rebuild-logo[data-tooltip="GitHub Copilot"]:hover img, +.home-kinpaku .hero-rebuild-logo[data-tooltip="GitHub Copilot"]:focus-visible img, .home-kinpaku .hero-rebuild-logo[data-tooltip="Codex CLI"]:hover img, .home-kinpaku .hero-rebuild-logo[data-tooltip="Codex CLI"]:focus-visible img { filter: grayscale(1) saturate(0) invert(1) brightness(1.18); @@ -655,7 +655,9 @@ display: grid; gap: 22px; margin: 0 0 48px; + width: 100%; max-width: 600px; + min-width: 0; text-align: left; } @@ -663,6 +665,7 @@ .downloads-rebuild-cmd-group { display: grid; gap: 9px; + min-width: 0; } .downloads-rebuild-cmd-label { @@ -685,6 +688,9 @@ display: flex; align-items: center; gap: 14px; + width: 100%; + min-width: 0; + box-sizing: border-box; padding: 15px 14px 15px 22px; background: var(--card-cmd-bg); border: 1px solid var(--card-cmd-border); @@ -961,6 +967,30 @@ .downloads-rebuild-install { grid-template-columns: 1fr; } } +@media (max-width: 520px) { + .home-kinpaku .downloads-rebuild-cmd { + gap: 10px; + padding: 13px 12px 13px 16px; + } + + .home-kinpaku .downloads-rebuild-cmd > code { + overflow-x: visible; + white-space: normal; + overflow-wrap: anywhere; + font-size: 0.96rem; + line-height: 1.35; + } + + .home-kinpaku .downloads-rebuild-prompt { + font-size: 1.05rem; + } + + .home-kinpaku .downloads-rebuild-copy { + width: 34px; + height: 34px; + } +} + /* ============================================================================ FOUNDATION CARD VISUALIZATIONS (varied per discipline) Foundation cards use the original animated SVG icons (foundation-animations.js diff --git a/site/styles/kinpaku-kit.css b/site/styles/kinpaku-kit.css index e86734276..194f8d58e 100644 --- a/site/styles/kinpaku-kit.css +++ b/site/styles/kinpaku-kit.css @@ -792,19 +792,23 @@ order: 3; flex-basis: 100%; display: none; + grid-template-columns: max-content max-content 1fr; + column-gap: 10px; flex-direction: column; align-items: stretch; - gap: 0; - margin: 12px calc(-1 * clamp(16px, 4vw, 24px)) -16px; - padding: 4px 0 6px; + row-gap: 0; + margin: 12px 0 -16px; + padding: 6px; background: oklch(4% 0.004 95); + border-radius: 4px; border-top: 1px solid oklch(78% 0.12 82 / 0.18); } [data-site-header][data-nav-open="true"] .site-header-right { - display: flex; + display: grid; } .kinpaku-chrome .site-header-nav { + grid-column: 1 / -1; flex-direction: column; align-items: stretch; gap: 0; @@ -832,9 +836,15 @@ display: block; } + .kinpaku-chrome .theme-toggle { + grid-column: 1; + margin: 12px 0 6px; + } + .kinpaku-chrome .site-header-github { + grid-column: 2; align-self: flex-start; - margin: 12px clamp(16px, 4vw, 24px) 6px; + margin: 12px 0 6px; } /* sub-pages.css hides the github star count label on mobile. The drawer diff --git a/site/styles/light-mode.css b/site/styles/light-mode.css index 0be289bf2..b83c1d603 100644 --- a/site/styles/light-mode.css +++ b/site/styles/light-mode.css @@ -111,6 +111,17 @@ html.light .kinpaku-chrome .site-header-github:hover { background: oklch(52% 0.11 188 / 0.08); } +@media (max-width: 760px) { + html.light .kinpaku-chrome [data-site-header] .site-header-right { + background: var(--ks-lacquer-raised); + border-top-color: var(--ks-rule); + } + + html.light .kinpaku-chrome [data-site-header] .site-header-nav a[aria-current="page"] { + border-bottom: 0; + } +} + html.light .kinpaku-chrome .site-footer { background: var(--ks-lacquer-deep); }