Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,6 @@ public/r/

# 静的HTMLは生成物(npm run html で作る)。6.7MB あるので配信物には含めない。
public/html/

# BOOTH 配布用の ZIP と展開ディレクトリ(node scripts/build-release.mjs で作る)
release/
133 changes: 133 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
LP Section Studio ライセンス

本製品には 2 つの版があります。適用される条件は版ごとに異なります。
自分がどちらを持っているかは、同梱の components.json の "edition"
(free / full)、または入手経路(無料 MCP か、BOOTH での購入か)で判断できます。


================================================================
【無料版】MCP サーバ経由で提供される 100 個
================================================================

・個人利用・非商用の範囲で利用できます。
・利用者が作った成果物の所有権は、利用者にあります。
・コンポーネント自体をそのまま再配布・再販することはできません。
・商用利用(受託制作、自社プロダクト、収益を伴うウェブサイトを含む)
には、買い切り版のライセンスが必要です。


================================================================
【買い切り版】880 個(BOOTH で購入したパッケージ)
================================================================

購入者は、本製品に含まれるコンポーネント(ソースコード・静的HTML・
レジストリJSON を含む)について、以下の範囲で利用できます。

【できること】
・商用・非商用を問わず、無制限の数のプロジェクトで利用すること
・自身または自社のために制作するウェブサイト・アプリケーションに
組み込むこと
・受託制作において、クライアントに納品する成果物に組み込むこと
・コンポーネントを改変して利用すること

【できないこと】
・本製品そのもの、またはその一部を、コンポーネント集・テンプレート集
として再配布・再販すること
・本製品を、これと競合する製品(UIコンポーネント集、UIキット等)の
素材として利用すること
・購入していない第三者に、ソースコード一式を共有すること

【購入者の範囲】
1ライセンスにつき、個人1名または法人内の1チーム(5名まで)が
利用できます。


================================================================
【保証】(無料版・買い切り版の両方に適用)
================================================================

本製品は現状有姿で提供されます。特定目的への適合性を含め、明示・
黙示を問わず、いかなる保証も行いません。本製品の利用により生じた
いかなる損害についても、作者は責任を負いません。


================================================================
【第三者ソフトウェア】
================================================================

本製品のコンポーネントは react / lucide-react / clsx / tailwind-merge、
および Tailwind CSS を前提としています。これらは本製品には含まれず、
それぞれの配布元のライセンス(いずれも MIT)が適用されます。


--- English ---

LP Section Studio License

This product comes in two editions. The applicable terms differ by edition.
You can tell which one you have from the "edition" field in the bundled
components.json (free / full), or from how you obtained it (the free MCP
server, or a purchase on BOOTH).


================================================================
[Free edition] The 100 components served through the MCP server
================================================================

- May be used for personal, non-commercial purposes only.
- You own the work you create with it.
- You may not redistribute or resell the components themselves.
- Commercial use (including client work, in-house products, and any
revenue-generating website) requires a paid-edition license.


================================================================
[Paid edition] The 880 components (the package purchased on BOOTH)
================================================================

The purchaser may use the components included in this product (including
source code, static HTML, and registry JSON) within the following scope.

[You may]
- Use them in an unlimited number of projects, commercial or not
- Incorporate them into websites and applications you build for yourself
or for your own company
- Incorporate them into deliverables handed to clients in contract work
- Modify the components and use the modified versions

[You may not]
- Redistribute or resell this product, or any part of it, as a component
collection or template collection
- Use this product as material for a competing product (a UI component
collection, UI kit, or similar)
- Share the full source with third parties who have not purchased it

[Scope of the license]
One license covers one individual, or one team within a company
(up to 5 people).


================================================================
[Warranty] (applies to both the free and paid editions)
================================================================

This product is provided "as is". No warranty of any kind, express or
implied, including fitness for a particular purpose, is given. The author
is not liable for any damages arising from the use of this product.


================================================================
[Third-party software]
================================================================

The components assume react / lucide-react / clsx / tailwind-merge and
Tailwind CSS. These are not included in this product and remain subject to
their own licenses (all MIT).


注記 / Note:
本ライセンスは日本語版を正文とします。英訳は参考であり、日本語版との
間に相違がある場合は日本語版が優先します。
The Japanese text is the governing version. The English translation is
provided for reference; in case of any discrepancy, the Japanese text
prevails.
140 changes: 88 additions & 52 deletions docs/booth-listing.md
Original file line number Diff line number Diff line change
Expand Up @@ -88,9 +88,10 @@ CIで毎回全件に対して走ります。この検査を導入したとき、

■ 依存

react / lucide-react / clsx + tailwind-merge と、同梱のUIプリミティブのみ。
外部画像URLは使っていないので、ファイルを1つ置けば動きます。
静的HTML版は Tailwind だけで動きます。
react / lucide-react / clsx + tailwind-merge / class-variance-authority と、
同梱のUIプリミティブのみ。外部画像URLは使っていないので、ファイルを1つ
置けば動きます。静的HTML版は Tailwind だけで動きます(色の定義は各HTMLに
埋め込み済みなので、貼るだけでそのままの見た目になります)。

■ まず無料で試せます

Expand All @@ -115,78 +116,113 @@ MCPサーバの無料版に100個入っています(すべてReact不要のも
## 配布物の構成

```
lp-section-studio-v1.0.0.zip
├─ README.md 使い方・導入手順
├─ LICENSE ライセンス条文
├─ components/ React/TypeScript ソース 880件
lp-section-studio-v1.0.0.zip 9.6 MB / 4555 ファイル
├─ README.md 使い方・導入手順(docs/dist-README.md が原本)
├─ LICENSE ライセンス条文(リポジトリ root の LICENSE が原本)
├─ components/ React/TypeScript ソース 901件
│ ├─ demos/ 880件(これが商品本体)
│ ├─ ui/ 5件 Button / Card / Badge / Input / Switch
│ ├─ lib/ 2件 cn() と i18n
│ ├─ registry/ 12件 DemoMeta 型と i18n
│ └─ theme/ 2件 tailwind.config.js と tokens.css
├─ html/ 静的HTML 880件 + index.json(standalone 判定つき)
├─ registry/ shadcn 互換 JSON 885件
├─ mcp/ MCPサーバ(全部入り版)
└─ studio/ ビルド済みスタジオ(ローカルで開ける)
├─ mcp/ MCPサーバ(全部入り版 880件・LICENSE 同梱
└─ studio/ ビルド済みスタジオ
```

`components/` が 880 でなく 901 なのは、demos の 880 件が
`@/components/ui/*`・`@/lib/utils`・`@/registry`(型)を参照するため。
これらを入れないと買った側でコンパイルが通らない。`theme/` は
`bg-card` などのトークン定義で、これが無いと色が出ない。

生成手順:

```bash
npm run html # 静的HTML 880件
node scripts/build-mcp-bundle.mjs --all # MCP全部入り版
npm run registry # shadcn配信JSON
npm run build # スタジオ
npm run html # 静的HTML 880件 → public/html/
npm run build # スタジオ + shadcn配信JSON(registry を内包)
node scripts/build-release.mjs # 上を集めて ZIP 化(MCP全部入り版もここで作る)
node scripts/verify-release.mjs # ZIPを展開して件数・混入・実描画を検査
```

`build-release.mjs` がやっていること(手でやると間違えるところ):

- `build-mcp-bundle.mjs --all` は出力先が `mcp/data/components.json` 固定で、
リポジトリの無料版データを上書きしてしまう。退避 → 生成 → 復元している。
- 静的HTML と MCP が返す HTML に、Tailwind のトークン設定が入っているかを検める。
素の `cdn.tailwindcss.com` には `bg-card` 等が無く、**880件中430件**がこれを
使っているため、入っていないとその分の色が一切出ない。埋め込み自体は書き出しの
源流(`src/lib/vanilla.ts` + `scripts/build-vanilla-head.mjs`)が行うので、
ここでは足さずに検査だけする(同じ内容を2箇所に持たないため)。
- Vite が `public/` を丸ごと `dist/` に写すので、そのままだと `studio/` の中に
`registry/` と `html/` が二重で入る(12MB の無駄)。除外している。
- `node_modules` / `.git` / `.env` / `crawler/` などを混入させない。

---

## ライセンス条文(LICENSE として同梱する)
## ライセンス条文

**正本はリポジトリ root の [`LICENSE`](../LICENSE)。** ここに転記はしない
(二重管理になると、直したつもりの片方だけが配布されるため)。
`build-release.mjs` がそのファイルを ZIP の `LICENSE` と `mcp/LICENSE` に入れる。

弁護士レビューは行わない方針のため、Tailwind UI や Aceternity が公開している
商用ライセンスと同型の、実務で一般的な条項に留める。特殊な条項は入れない。

```
LP Section Studio ライセンス

購入者は、本製品に含まれるコンポーネント(ソースコード・静的HTML・
レジストリJSON を含む)について、以下の範囲で利用できます。
この手順書に元々書いてあった草案からの変更点は次の3つ:

【できること】
・商用・非商用を問わず、無制限の数のプロジェクトで利用すること
・自身または自社のために制作するウェブサイト・アプリケーションに
組み込むこと
・受託制作において、クライアントに納品する成果物に組み込むこと
・コンポーネントを改変して利用すること
1. **無料版の条項を足した。** 草案は「購入者は…」しか書いておらず、MCP 経由で
配る無料版100個の扱いが読み取れなかった。`src/pages/Pricing.tsx` の FAQ は
「無料版は個人利用・非商用の範囲」と明記しているので、条文にも入れた。
無料版と買い切り版で条件が違う以上、どちらの版の話かが読んで分かる必要がある。
2. **英訳を用意した。** 草案は「(同内容の英訳。公開前に用意する)」という
プレースホルダのままだった。日本語版を正文とし、相違があれば日本語が優先する
旨を末尾に入れてある。
3. **第三者ソフトウェアの節を足した。** react / lucide-react / clsx /
tailwind-merge / class-variance-authority / Tailwind CSS は本製品に含まれず、
それぞれの MIT ライセンスが適用される、という当たり前の確認。

【できないこと】
・本製品そのもの、またはその一部を、コンポーネント集・テンプレート集
として再配布・再販すること
・本製品を、これと競合する製品(UIコンポーネント集、UIキット等)の
素材として利用すること
・購入していない第三者に、ソースコード一式を共有すること
【保証】は草案では買い切り版の条項の途中にあったが、無料版にも当然かかるので
両方に適用される共通節として末尾に置いた。文面は変えていない。

【保証】
本製品は現状有姿で提供されます。特定目的への適合性を含め、明示・
黙示を問わず、いかなる保証も行いません。本製品の利用により生じた
いかなる損害についても、作者は責任を負いません。
---

【購入者の範囲】
1ライセンスにつき、個人1名または法人内の1チーム(5名まで)が
利用できます。
## 出品前の確認

--- English ---
機械で確かめられるものは `node scripts/verify-release.mjs` に入れてある
(件数・禁止物の混入・LICENSE の中身・静的HTMLの実描画・スタジオの起動)。
残りは人がやる。

- [x] zip を実際に展開し、README の手順どおりに動くかを別ディレクトリで確認
→ `verify-release.mjs`。展開して 4555 ファイル・全件数一致を確認済み
- [x] 静的HTML を1つブラウザで開き、React 無しで表示されることを目視確認
→ 実ブラウザで3件を実測。880件を走査して外部参照は
`cdn.tailwindcss.com` のみ、react も babel も含まれない
- [x] MCP 全部入り版を入れ、880個返ることを確認
→ ZIP から展開したサーバに stdio で JSON-RPC を投げ、
`list_categories` が「収録 880 件 / 39 カテゴリ」を返すことを確認
- [x] LICENSE の英訳を用意 → root の `LICENSE` に収録
- [ ] 手数料(5.6% + 22円)が現行かを BOOTH 公式で再確認(**人手**)
- [ ] 商品説明の数字の照合 → 880 / 397 / 100 は一致を確認済み。
**109 だけ未確認**(下記)
- [ ] スクリーンショット(スタジオ画面・検査の実行結果・静的HTMLの表示例)(**人手**)
- [ ] note 記事を先に公開し、末尾から BOOTH へのリンクを張る(**人手**)

### 「109件」について

いま4つの検査はすべて 0 件なので、109 という数字は再実行では出せない。
さらに note 記事に載せている内訳は、そのままでは 109 にならない。

(同内容の英訳。公開前に用意する)
```
コントラスト 12 + axe 29 + キーボード 0 + 横スクロール 26 = 67
```

---

## 出品前の確認

- [ ] 手数料(5.6% + 22円)が現行かを BOOTH 公式で再確認
- [ ] zip を実際に展開し、README の手順どおりに動くかを別ディレクトリで確認
- [ ] 静的HTML を1つブラウザで開き、React 無しで表示されることを目視確認
- [ ] MCP 全部入り版を `claude mcp add` で入れ、880個返ることを確認
- [ ] 商品説明の数字(880 / 397 / 109 / 100)が最新の実行結果と一致するか照合
- [ ] LICENSE の英訳を用意
- [ ] スクリーンショット(スタジオ画面・検査の実行結果・静的HTMLの表示例)
- [ ] note 記事を先に公開し、末尾から BOOTH へのリンクを張る
記事本文は「axe が button-name 違反を29箇所」とも書いていて、
「29コンポーネント」と「29箇所」のどちらなのかで数え方が変わる。
109 は違反ノード数、67 はコンポーネント数、という可能性が高いが、
当時のログが残っていないため確認できない。**公開前に、どちらの数え方で
109 なのかを本人が確定させ、記事と商品説明の両方を揃えること。**
読み手が引き算できてしまう場所なので、合わない数字は信用を落とす。

---

Expand Down
Loading
Loading