Files
Joey-nexu f1a0b60c6c chore: unify product name display to OpenDesign repo-wide (#6998)
* chore: unify product name display to OpenDesign repo-wide

Rename the user-facing product name from "Open Design" to "OpenDesign"
across documentation, web/desktop UI strings, i18n locales, prompts,
plugin/skill/design-system content, changelogs, and specs, matching the
landing-page rename already in flight.

Deliberately excluded so installed-app identity stays untouched:
- packages/release PRODUCT_NAME and everything derived from it
  (app bundle names, installer/registry identity, updater feeds)
- tools/pack, tools/release, apps/packaged, landing page (PR #6983)
- mocks/ recorded traces and LICENSE
- test fixtures and comments that encode real on-disk install paths
  (Open Design.app, Program Files\Open Design, AppData paths)

Validated with pnpm guard, pnpm typecheck, and targeted web/desktop/host
test runs over the renamed strings.

* fix(web): keep two-letter author monogram for CamelCase brand names

authorInitials split words on whitespace only, so the renamed single-token
author name "OpenDesign" produced a one-letter monogram. Treat lower-to-upper
CamelCase boundaries as word breaks so the avatar fallback stays "OD".

* fix(release): restore spaced Windows source artifact names in win.ps1

tools/pack still derives builder outputs from the unchanged PRODUCT_NAME
("Open Design"), so the asset script must look for the spaced filenames.
Matches the mac/mac-intel/linux asset scripts, which were already kept on
the original names.

---------

Co-authored-by: Joey <236967869+joeylee12629-star@users.noreply.github.com>
2026-08-18 07:09:45 +00:00

127 lines
7.1 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"$schema": "https://open-design.ai/schemas/plugin.v1.json",
"specVersion": "1.0.0",
"name": "example-invoice",
"title": "Invoice",
"title_i18n": {
"zh-CN": "发票",
"zh-TW": "發票",
"ja": "請求書",
"ko": "인보이스",
"de": "Rechnung",
"fr": "Facture",
"ru": "Счёт",
"es": "Factura",
"pt-BR": "Fatura",
"it": "Fattura",
"vi": "Hóa đơn",
"pl": "Faktura",
"id": "Faktur",
"nl": "Factuur",
"ar": "فاتورة",
"tr": "Fatura",
"uk": "Рахунок-фактура",
"en": "Invoice"
},
"version": "0.1.0",
"publishedAt": "2026-05-12T07:18:16Z",
"description": "A printable invoice page — sender + recipient block, line items table, tax breakdown, totals, and payment instructions. Use when the brief mentions \"invoice\", \"bill\", \"billing statement\", or \"发票\".",
"description_i18n": {
"zh-CN": "可打印的发票页面——包含发件人和收件人信息块、明细表、税费明细、总计和付款说明。当需求提到'invoice'、'bill'、'billing statement'或'发票'时使用。",
"zh-TW": "可列印的發票頁面——包含寄件人和收件人資訊區塊、項目明細表、稅費明細、總計和付款說明。當需求提到'invoice'、'bill'、'billing statement'或'發票'時使用。",
"ja": "印刷可能な請求書ページ——送信者・受信者ブロック、明細表、税金内訳、合計、支払い方法を含みます。『invoice』『bill』『billing statement』『発票』といったキーワードが要件に含まれる場合に使用します。",
"ko": "인쇄 가능한 인보이스 페이지 — 발신자 및 수신자 블록, 항목 테이블, 세금 명세, 합계 및 결제 안내 포함. 'invoice', 'bill', 'billing statement', '发票' 등의 키워드가 포함된 경우 사용하세요.",
"de": "Eine druckbare Rechnungsseite – mit Absender- und Empfängerblock, Positionstabelle, Steueraufschlüsselung, Summen und Zahlungsanweisungen. Verwenden Sie diese Vorlage bei Begriffen wie 'invoice', 'bill', 'billing statement' oder '发票'.",
"fr": "Page de facture imprimable — bloc expéditeur + destinataire, tableau des articles, ventilation des taxes, totaux et instructions de paiement. À utiliser lorsque le brief mentionne 'invoice', 'bill', 'billing statement' ou '发票'.",
"ru": "Печатная страница счёта — блоки отправителя и получателя, таблица позиций, детализация налогов, итоги и платёжные инструкции. Используйте при упоминании 'invoice', 'bill', 'billing statement' или '发票'.",
"es": "Página de factura imprimible — bloque de remitente + destinatario, tabla de artículos, desglose de impuestos, totales e instrucciones de pago. Úsala cuando el brief mencione 'invoice', 'bill', 'billing statement' o '发票'.",
"pt-BR": "Página de fatura imprimível — bloco de remetente + destinatário, tabela de itens, detalhamento de impostos, totais e instruções de pagamento. Use quando o briefing mencionar 'invoice', 'bill', 'billing statement' ou '发票'.",
"it": "Pagina fattura stampabile — blocco mittente + destinatario, tabella voci, ripartizione imposte, totali e istruzioni di pagamento. Da usare quando il brief menziona 'invoice', 'bill', 'billing statement' o '发票'.",
"vi": "Trang hóa đơn có thể in — khối người gửi + người nhận, bảng chi tiết mục, phân tích thuế, tổng cộng và hướng dẫn thanh toán. Sử dụng khi yêu cầu đề cập 'invoice', 'bill', 'billing statement' hoặc '发票'.",
"pl": "Drukowana strona faktury — blok nadawcy i odbiorcy, tabela pozycji, zestawienie podatków, sumy i instrukcje płatności. Użyj, gdy brief wspomina o 'invoice', 'bill', 'billing statement' lub '发票'.",
"id": "Halaman faktur yang dapat dicetak — blok pengirim + penerima, tabel item, rincian pajak, total, dan instruksi pembayaran. Gunakan ketika brief menyebutkan 'invoice', 'bill', 'billing statement', atau '发票'.",
"nl": "Een afdrukbare factuurpagina — blok met verzender + ontvanger, regelitemtabel, belastingspecificatie, totalen en betaalinstructies. Gebruik bij vermeldingen van 'invoice', 'bill', 'billing statement' of '发票'.",
"ar": "صفحة فاتورة قابلة للطباعة — كتلة المرسل والمستلم، جدول البنود، تفصيل الضرائب، الإجماليات وتعليمات الدفع. استخدمها عندما يذكر الموجز 'invoice' أو 'bill' أو 'billing statement' أو '发票'.",
"tr": "Yazdırılabilir fatura sayfası — gönderen + alıcı bloğu, satır öğeleri tablosu, vergi dökümü, toplamlar ve ödeme talimatları. Brief'te 'invoice', 'bill', 'billing statement' veya '发票' geçtiğinde kullanın.",
"uk": "Сторінка рахунку для друку — блоки відправника й одержувача, таблиця позицій, деталізація податків, підсумки та платіжні інструкції. Використовуйте при згадці 'invoice', 'bill', 'billing statement' або '发票'.",
"en": "A printable invoice page — sender + recipient block, line items table, tax breakdown, totals, and payment instructions. Use when the brief mentions \"invoice\", \"bill\", \"billing statement\", or \"发票\"."
},
"license": "MIT",
"author": {
"name": "OpenDesign",
"url": "https://github.com/nexu-io"
},
"homepage": "https://github.com/nexu-io/open-design/tree/main/plugins/_official/examples/invoice",
"tags": [
"example",
"first-party",
"prototype",
"finance",
"web",
"desktop",
"invoice",
"bill",
"billing-statement",
"untitled"
],
"compat": {
"agentSkills": [
{
"path": "./SKILL.md"
}
]
},
"od": {
"kind": "scenario",
"taskKind": "new-generation",
"mode": "prototype",
"platform": "desktop",
"scenario": "finance",
"surface": "web",
"preview": {
"type": "html",
"entry": "./example.html"
},
"useCase": {
"query": {
"en": "Create an invoice from a freelance design studio billing a client for a brand identity project — three line items, 10% retainer, 9% sales tax.",
"zh-CN": "使用这个插件完成以下任务:Create an invoice from a freelance design studio billing a client for a brand identity project — three line items, 10% retainer, 9% sales tax."
},
"exampleOutputs": [
{
"path": "./example.html",
"title": "Invoice"
}
]
},
"context": {
"skills": [
{
"path": "./SKILL.md"
}
],
"designSystem": {
"primary": true
},
"assets": [
"./example.html"
]
},
"pipeline": {
"stages": [
{
"id": "generate",
"atoms": [
"file-write",
"live-artifact"
]
}
]
},
"capabilities": [
"prompt:inject",
"fs:write"
]
}
}