出荷前の欠陥修正・無料100個の可視化・UI/UXの磨き込み・配布物の整備 - #6
Merged
Conversation
- スタジオに「無料100個」トグルとカードの「無料」バッジを追加。 検索・カテゴリ・お気に入りとAND併用可 - 無料IDの生成スクリプトと照合テスト(880件のmanifestと100/100一致・重複ゼロを ビルド時とテストの両方で恒久検査) - 統計バーの「¥0 あなたの月額」→「100 無料で使える数」(ja/en)。 LPの「3つのプラン」表記も2プランに修正 - 件数だけを freeCount.ts に分離し、LP初期チャンクへのID混入を回避(実測で確認) ※ デザイン磨き込み(P2)と配布物整備(P3)が並行作業中のため、その途中経過を含む。 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YXb6DP2sELzRyZkqpe15p4
【出荷を止めるレベルの欠陥を修正】 書き出したHTMLでデザイントークンが解決されず、bg-card が透明・ text-muted-foreground が真っ黒になっていた(880件中430件、無料MCP版100件中30件)。 bg-card 等は素のTailwindに無いプロジェクト固有トークンで、CDNを1行読むだけの wrapDocument() が設定もCSS変数も渡していなかった。これはスタジオの 「バニラHTML書き出し」=製品の中心価値そのものにも効いていた。 - wrapDocument/generateDynamicVanillaHtml に生成モジュール経由でトークン定義を注入 - 静的HTML880件とMCPデータを再生成(注入率 880/880・無料 100/100 を実測) - 実ブラウザ実測: bg-card rgba(0,0,0,0)→rgb(255,255,255)、 text-muted-foreground rgb(0,0,0)→rgb(113,113,122) - 配布ZIP生成時に未注入HTMLがあれば停止する検査を追加(同じ内容を2箇所に持たない) 【無料100個が見えるようになった】 スタジオのどれが無料版の100個か判別する手段が無く、購入判断ができなかった。 - 「無料100個」トグルとカードの「無料」バッジを追加(検索・カテゴリとAND) - 無料IDの生成と照合テスト(880件のmanifestと100/100一致をビルド時に恒久検査) - 件数のみ別モジュールに分離しLP初期チャンクへのID混入を回避(実測確認) 【UI/UXの磨き込み】 - 375pxでスタジオのヘッダーが画面外に溢れJAボタンが切れていたのを1行に収めた - LPの言語切替がヘッダーCTAに重なっていたのをヘッダー行内へ移設 - 日本語見出し・リード文が単語途中で改行されていたのを文節単位で折り返すよう修正 - 同名コンポーネント26種(53件)にコレクション名を併記して識別可能に - 「お気に入り 880件」と誤読される件数表記を「表示中 880 件」に - ギャラリーの空に見えるカード・過大な高さを調整、ライトテーマのコントラスト改善 - 375/768/1280 の3幅で横スクロールが無いことを実測 【買い切りへの移行残り】 統計バーの「¥0 あなたの月額」→「100 無料で使える数」(ja/en)ほか 【配布物】 LICENSE配置(無料版=個人利用/買い切り版=商用可)、配布ZIP生成・検証スクリプト、 MCPのREADMEを実態に修正(npx手順はnpm未公開で動かないことを実証し差し替え) 【note記事】 「109件の欠陥」が内訳(12+29+0+26=67)と合わなかったため67に訂正。 あわせて今回の430件欠陥の顛末を追記した テスト2666件グリーン Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YXb6DP2sELzRyZkqpe15p4
yoggydev
marked this pull request as ready for review
July 28, 2026 21:49
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🚨 出荷を止めるレベルの欠陥を、配布前に発見・修正
書き出したHTMLで色が出ていませんでした。
bg-card/text-muted-foreground/bg-backgroundなどはこのプロジェクト固有のデザイントークンで、素の Tailwind には存在しません。ところがwrapDocument()は<script src="https://cdn.tailwindcss.com">を1行入れるだけで、設定もCSS変数も渡していませんでした。実ブラウザでの実測(修正前 → 修正後):
bg-cardの背景色rgba(0, 0, 0, 0)(透明)rgb(255, 255, 255)text-muted-foregroundの文字色rgb(0, 0, 0)(真っ黒)rgb(113, 113, 122)bg-mutedの背景色rgba(0, 0, 0, 0)rgb(244, 244, 245)影響範囲: 880件中430件、無料MCP版100件中30件。 しかもこれは無料版だけの問題ではなく、
generateVanillaHtmlはスタジオの「バニラHTML書き出し」=この製品の中心価値そのものなので、買い切り版の購入者がコピーするHTMLも同じ状態でした。4つの機械検査(コントラスト・axe・キーボード・横スクロール)は全てこれを素通りしていました。検査していたのは「Reactとして描画した結果」で、「書き出したHTML」ではなかったためです。
修正:
wrapDocument/generateDynamicVanillaHtmlに生成モジュール経由でトークン定義を注入。静的HTML880件とMCPデータを再生成し、注入率 880/880・無料 100/100 を実測確認。配布ZIP生成時に未注入HTMLが1件でもあれば停止する検査も追加(同じ内容を2箇所に持たせない設計)。npm未公開・BOOTH未出品・GitHubリリース未作成のため、壊れたものは誰の手にも渡っていません。
無料100個が見えるようになった
880個のうちどれが無料版の100個か判別する手段がなく、無料MCPユーザーが「何が足りないか」を知れませんでした(購入判断ができない)。
UI/UX の磨き込み
実機スクリーンショットで確認した欠陥を根拠に修正しました。
Phrasedを導入。見出しとリード文のみに適用買い切りへの移行残り
統計バーの「¥0 あなたの月額」→「100 無料で使える数」(ja/en)、LPの「3つのプラン」→2プラン表記。
配布物の整備
node_modules・.git・.env等の混入なしを検査。展開して実ブラウザで描画確認するところまで自動化npx手順は npm未公開のため動かないことをnpm view(E404)で実証し、今動く手順に差し替え。ツール表も実装と一致させたnote記事の訂正
「109件の欠陥を直した」という数字が、記事自身の内訳(12+29+0+26=67)と合っていませんでした。67に訂正し、タイトルもその顛末を主題に変更。あわせて今回の430件欠陥の話を追記しています(「検査は、検査した経路しか守らない」)。
導入時点の違反数はコード内コメント(
src/registry/a11y.test.tsx:20の29件、scripts/check-overflow.mjs:14の26件)に当時の記録が残っており、そちらと照合済みです。検証エビデンス
build-release.mjs→verify-release.mjsの出荷ゲートがすべてOK残件(要対応)
mcp/package.jsonのfilesに LICENSE が無く、npm公開時に同梱されないpackage.jsonにrelease/verify:releaseスクリプト未登録(node scripts/...で実行可)md未満で非表示)🤖 Generated with Claude Code
https://claude.ai/code/session_01YXb6DP2sELzRyZkqpe15p4
Generated by Claude Code