mirror of
https://github.com/nexu-io/open-design.git
synced 2026-06-01 03:14:35 +07:00
* chore(landing-page): bring PR #2469 content wholesale onto post-revert main Step 1 of replicating @pftom's #2469 work without the deploy-blocking issues that forced #2603. This commit copies the full \`apps/landing-page/\` diff from #2469's HEAD (`9d2a4f1`) onto current main verbatim — every i18n bundle, every page rewrite, every \`[locale]/\` wrapper. Subsequent commits on this branch then surgically restore the SEO fixes that #2469 silently regressed and configure the sitemap to survive the Cloudflare Pages 25 MiB limit, so deploy is healthy when this lands. What's in this commit - Tom's i18n bundle: \`i18n.ts\` (5377 lines), \`home-page-i18n.ts\`, \`info-page-i18n.ts\`, \`landing-ui-i18n.ts\`, \`content-i18n.ts\` (~10K lines total of locale data) - 18 landing-page locales: en, zh, zh-tw, ja, ko, de, fr, ru, es, pt-br, it, vi, pl, id, nl, ar, tr, uk - All existing pages rewritten to consume the new i18n bundle - Full \`[locale]/<route>/\` wrapper tree for every catalog page - \`plugin-registry.ts\` rewrite, \`catalog.ts\` adjustments - \`astro.config.ts\` route + sitemap reconfiguration - \`public/_headers\`, \`public/_redirects\`, \`public/favicon.svg\` adds - \`_components/locale-switcher-script.astro\` add What's intentionally NOT done in this commit (handled in follow-ups on this same branch): - Restore brand mark 44px + rounded corners (was lost from #2588) - Restore HA SoftwareApplication \`alternateName\` array (was lost from #2566) - Restore HA \`url\` canonical pointing at the landing page (was lost from #2586) - Restore Product/Library/Tutorials/Blog nav grouping (was lost from #2588) - Restore catalog-card padding 24px (was lost from #2600) - Configure sitemap to filter \`[locale]/\` routes so the generated XML stays under 25 MiB and Cloudflare Pages accepts the deploy - Add \`/zh-CN/* → /zh/*\` redirects for backwards-compatibility with any externally-linked OD-canonical locale URLs Validation so far - \`pnpm --filter @open-design/landing-page typecheck\` — 0 errors * fix(landing-page): unblock deploy + restore SEO regressions on top of #2469 Step 2 of replicating @pftom's #2469. The previous commit on this branch brings #2469's content wholesale; this commit applies the surgical fixes that make the result actually deploy and preserves the SEO improvements that #2469 silently regressed. Fix 1 — sitemap stays under Cloudflare Pages 25 MiB upload limit - `astro.config.ts` `filter` now drops every `/{locale}/...` route so the sitemap only emits canonical English URLs. - Locale variants are still discoverable via the `<xhtml:link rel="alternate" hreflang="...">` annotations the `namespaces.xhtml: true` option emits inside each canonical entry. This is Google's recommended pattern for a multi-language site. - Verified: post-fix `out/sitemap-0.xml` = 179 KB (was 38.4 MiB on the prior attempt that forced #2603's revert). Fix 2 — header brand block restored to the polished version - Logo `width/height` 36 → 44 (matches PR #2588's brand-mark refresh for visual weight against the new black speech-bubble glyph) - `.brand-meta` block ("Studio Nº 01 · Berlin / Open / Earth") removed from the header bar; the same editorial flourish still lives on the rotated `.side-rail .rail-text` pseudo-elements at page edges. Fix 3 — header nav grouped into Library + standalone Tutorials/Blog - Skills / Systems / Templates / Craft are now children of a Library dropdown (matches PR #2588's grouping). Each row keeps its count badge inline; the trigger highlights when any of the four facet pages is active. - Tutorials and Blog stay as standalone top-row items (PR #2588's original decision after Joey's review on the Learn dropdown). - Contact removed from the header — it was a same-page anchor that the footer already surfaces. - Hardcoded "Library" / "Tutorials" labels match the brand-name pattern: unlocalized across all 18 landing-page locales. Fix 4 — HA SoftwareApplication entity canonicalized on the LP again - `alternateName` is back to an explicit array of real query variants `["html anything", "html-anything", "htmlanything", "HTML Anything Editor", "The agentic HTML editor"]`. #2469 re-routed it through `copy.schemaAlternateName` which dropped the literal alias declarations Google needs for spaced-vs- hyphenated-vs-joined matching. (Restores PR #2566.) - `url` flips back from `HA_URL` (the GitHub repo) to the LP URL itself, matching the `BreadcrumbList` block on the same page. GitHub repo lives in `sameAs` as a peer surface. (Restores PR #2586. Without this, Google credits the GitHub repo as canonical for the entity, which is the opposite of what this surface exists for.) Fix 5 — catalog-card horizontal padding unified at 24 px - featured-card 22 → 24, template-card 20 → 24, system-card 18 → 24, source-card 28 → 24. - For template-card, also moved horizontal padding into the group rule exclusively so future siblings join without re-asserting margin shorthands. (Restores PR #2600.) Fix 6 — `_redirects` for the locale-code rename - This bundle uses `zh` / `zh-tw` / `pt-br` / `es` (the codes Tom's i18n.ts ships). The previous OD landing-page used `zh-CN` / `zh-TW` / `pt-BR` / `es-ES`. Externally-indexed and inbound-linked URLs against the old prefixes now 301 to the new canonical. Validation - `pnpm --filter @open-design/landing-page typecheck` — 0 errors - `pnpm --filter @open-design/landing-page build` — completed successfully; 18,204 pages built; sitemap-0.xml is 179 KB (well under the 25 MiB Cloudflare Pages limit). * docs: promote 'open-source alternative to Claude Design' to README H1 Brings the missing README and .gitignore changes from #2469 that the first wholesale-checkout in this branch missed (the auto-pulled diff scope was filtered to apps/landing-page/ initially). What - Every README.*.md (13 locale variants) now leads with the "open-source alternative to Claude Design" tagline as a subtitle to the project name in the H1 / first paragraph. This was @pftom's brand-positioning commit (`ee851dc`) on the original #2469 branch. - `.gitignore` adds `growth/**` to keep growth-research scratch out of the repo. Why - The README is one of the highest-PageRank surfaces a GitHub project exposes to Google. Promoting the "alternative to Claude Design" framing into the H1/subtitle position makes the project surface for exactly the query the SEO work in this PR is trying to capture. - Without this commit, the replicated #2469 in this branch would still rank against the previous H1 ("Open Design") on GitHub crawls, letting the SEO win at the LP fall short on the GitHub surface. This is a strict subset of #2469's content — pure docs, no code, no behavior change beyond what GitHub renders on the repo overview. --------- Co-authored-by: Joey-nexu <joeylee12629@gmail.com>
2067 lines
119 KiB
TypeScript
2067 lines
119 KiB
TypeScript
import type { HomePageCopy, LandingLocaleCode } from './i18n';
|
||
|
||
type DeepPartial<T> = {
|
||
[K in keyof T]?: T[K] extends (...args: any[]) => any
|
||
? T[K]
|
||
: T[K] extends object
|
||
? DeepPartial<T[K]>
|
||
: T[K];
|
||
};
|
||
|
||
type HomeFallbackText = {
|
||
railRight: string;
|
||
railLeft: string;
|
||
discordAria: string;
|
||
joinDiscord: string;
|
||
heroLabel: string;
|
||
heroIssue: string;
|
||
heroTitlePrefix: string;
|
||
heroTitleEmphasis: string;
|
||
heroTitleMiddle: string;
|
||
heroTitleSecondEmphasis: string;
|
||
heroLead: (skills: string, systems: string) => string;
|
||
star: string;
|
||
download: string;
|
||
plate: string;
|
||
composedIn: string;
|
||
stats: [
|
||
{ strong: string; text: string },
|
||
{ strong: string; text: string },
|
||
{ strong: string; text: string },
|
||
];
|
||
heroFoot: string;
|
||
heroIndex: [string, string, string, string];
|
||
officialAria: string;
|
||
officialLabel: string;
|
||
officialItems: [
|
||
{ label: string; value: string },
|
||
{ label: string; value: string },
|
||
{ label: string; value: string },
|
||
{ label: string; value: string },
|
||
{ label: string; value: string },
|
||
{ label: string; value: string },
|
||
];
|
||
about: {
|
||
rule: string;
|
||
volume: string;
|
||
label: string;
|
||
titlePrefix: string;
|
||
titleAgent: string;
|
||
titleMiddle: string;
|
||
titleCollaborator: string;
|
||
titleSuffix: string;
|
||
lead: string;
|
||
approach: string;
|
||
practice: string;
|
||
stampTop: string;
|
||
stampBottom: string;
|
||
sideNote: [string, string, string, string, string];
|
||
caption: string;
|
||
};
|
||
capabilities: {
|
||
rule: string;
|
||
surfaces: string;
|
||
ribbon: string;
|
||
label: string;
|
||
titlePrefix: string;
|
||
titleEmphasis: string;
|
||
titleSuffix: string;
|
||
lead: string;
|
||
cards: [
|
||
{ tag: string; title: string; body: (skills: string, systems: string) => string; aria: string },
|
||
{ tag: string; title: string; body: (skills: string, systems: string) => string; aria: string },
|
||
{ tag: string; title: string; body: (skills: string, systems: string) => string; aria: string },
|
||
{ tag: string; title: string; body: (skills: string, systems: string) => string; aria: string },
|
||
];
|
||
};
|
||
labs: {
|
||
rule: string;
|
||
ongoing: (skills: string) => string;
|
||
label: string;
|
||
titlePrefix: string;
|
||
titleEmphasis: string;
|
||
titleSuffix: string;
|
||
pills: { all: string; prototype: string; deck: string; mobile: string; office: string };
|
||
metaTitle: string;
|
||
metaBody: string;
|
||
items: [
|
||
{ badge: string; title: string; body: string },
|
||
{ badge: string; title: string; body: string },
|
||
{ badge: string; title: string; body: string },
|
||
{ badge: string; title: string; body: string },
|
||
{ badge: string; title: string; body: string },
|
||
];
|
||
foot: (skills: string) => string;
|
||
viewLibrary: string;
|
||
openAria: (title: string) => string;
|
||
};
|
||
method: {
|
||
rule: string;
|
||
stages: string;
|
||
label: string;
|
||
titlePrefix: string;
|
||
titleEmphasis: string;
|
||
titleSuffix: string;
|
||
lead: string;
|
||
steps: [
|
||
{ title: string; body: (skills: string, systems: string) => string },
|
||
{ title: string; body: (skills: string, systems: string) => string },
|
||
{ title: string; body: (skills: string, systems: string) => string },
|
||
{ title: string; body: (skills: string, systems: string) => string },
|
||
];
|
||
footLeft: string;
|
||
};
|
||
work: {
|
||
rule: string;
|
||
editedBy: string;
|
||
label: string;
|
||
titlePrefix: string;
|
||
titleEmphasisA: string;
|
||
titleMiddle: string;
|
||
titleEmphasisB: string;
|
||
titleSuffix: string;
|
||
viewAll: (skills: string) => string;
|
||
cards: [
|
||
{ label: string; title: string; body: string; metaLeft: string; metaRight: string },
|
||
{ label: string; title: string; body: string; metaLeft: string; metaRight: string },
|
||
];
|
||
};
|
||
testimonial: {
|
||
rule: string;
|
||
shoulders: string;
|
||
label: string;
|
||
quote: string;
|
||
authorTitle: string;
|
||
partnersText: string;
|
||
partnerLabels: [string, string, string, string, string];
|
||
readMore: string;
|
||
};
|
||
faqSection: {
|
||
rule: string;
|
||
answers: string;
|
||
label: string;
|
||
titlePrefix: string;
|
||
titleMiddle: string;
|
||
titleSuffix: string;
|
||
};
|
||
cta: {
|
||
rule: string;
|
||
command: string;
|
||
label: string;
|
||
titlePrefix: string;
|
||
titleOpen: string;
|
||
titleMiddle: string;
|
||
titleVisual: string;
|
||
titleSuffix: string;
|
||
lead: string;
|
||
star: string;
|
||
issue: string;
|
||
live: string;
|
||
ribbon: string;
|
||
};
|
||
};
|
||
|
||
function homeFallbackCopy(text: HomeFallbackText): DeepPartial<HomePageCopy> {
|
||
return {
|
||
rail: { right: text.railRight, left: text.railLeft },
|
||
hero: {
|
||
discordAria: text.discordAria,
|
||
joinDiscord: text.joinDiscord,
|
||
label: text.heroLabel,
|
||
issue: text.heroIssue,
|
||
titlePrefix: text.heroTitlePrefix,
|
||
titleEmphasis: text.heroTitleEmphasis,
|
||
titleMiddle: text.heroTitleMiddle,
|
||
titleSecondEmphasis: text.heroTitleSecondEmphasis,
|
||
lead: text.heroLead,
|
||
star: text.star,
|
||
download: text.download,
|
||
plate: text.plate,
|
||
composedIn: text.composedIn,
|
||
stats: text.stats,
|
||
foot: text.heroFoot,
|
||
index: text.heroIndex,
|
||
},
|
||
official: {
|
||
aria: text.officialAria,
|
||
label: text.officialLabel,
|
||
items: text.officialItems,
|
||
},
|
||
about: text.about,
|
||
capabilities: text.capabilities,
|
||
labs: text.labs,
|
||
method: text.method,
|
||
work: text.work,
|
||
testimonial: {
|
||
...text.testimonial,
|
||
authorName: 'Mina Kovac',
|
||
},
|
||
faqSection: text.faqSection,
|
||
cta: text.cta,
|
||
};
|
||
}
|
||
|
||
export const EXTRA_LOCALIZED_HOME_BODY_COPY: Partial<
|
||
Record<LandingLocaleCode, DeepPartial<HomePageCopy>>
|
||
> = {
|
||
fr: homeFallbackCopy({
|
||
railRight: 'Open Design — vol. 01 · no 26 · Apache-2.0',
|
||
railLeft: 'Skills · systèmes · agents · BYOK · local d’abord',
|
||
discordAria: 'Rejoindre le Discord Open Design',
|
||
joinDiscord: 'Rejoindre Discord',
|
||
heroLabel: 'Studio de design open source',
|
||
heroIssue: 'Cas Nº 01 · local / ouvert / Terre',
|
||
heroTitlePrefix: 'Claude Design',
|
||
heroTitleEmphasis: 'open source',
|
||
heroTitleMiddle: 'sur',
|
||
heroTitleSecondEmphasis: 'votre propre agent',
|
||
heroLead: (skills, systems) =>
|
||
`Open Design est l’alternative officielle, local-first, à Claude Design. Votre agent de code — Claude Code, Codex, Cursor, Gemini, OpenCode ou Qwen — devient un moteur de design avec ${skills} skills composables et ${systems} systèmes DESIGN.md portables.`,
|
||
star: 'Mettre une Star sur GitHub',
|
||
download: 'Télécharger le desktop',
|
||
plate: 'Planche no 08',
|
||
composedIn: 'Composé en',
|
||
stats: [
|
||
{ strong: 'Skills', text: 'livrables' },
|
||
{ strong: 'Systèmes', text: 'portables' },
|
||
{ strong: 'CLI', text: 'votre agent' },
|
||
],
|
||
heroFoot: 'pnpm tools-dev · démarrage en 3 commandes',
|
||
heroIndex: ['Détecter', 'Découvrir', 'Diriger', 'Livrer'],
|
||
officialAria: 'Source officielle Open Design',
|
||
officialLabel: 'Source officielle',
|
||
officialItems: [
|
||
{ label: 'Site officiel', value: 'open-design.ai' },
|
||
{ label: 'Code source', value: 'nexu-io/open-design' },
|
||
{ label: 'Versions', value: 'version' },
|
||
{ label: 'Téléchargement', value: 'Desktop · macOS · Win · Linux' },
|
||
{ label: 'Documentation', value: 'README + /quickstart/' },
|
||
{ label: 'Communauté', value: 'Discord' },
|
||
],
|
||
about: {
|
||
rule: 'À propos / manifeste',
|
||
volume: 'Open Design / vol. 01',
|
||
label: 'À propos du studio',
|
||
titlePrefix: 'Nous traitons',
|
||
titleAgent: 'votre agent',
|
||
titleMiddle: 'comme un',
|
||
titleCollaborator: 'collaborateur créatif',
|
||
titleSuffix: 'pas une boîte noire',
|
||
lead:
|
||
'Les agents de code les plus puissants sont déjà sur votre laptop. Nous n’expédions pas un autre agent fermé : nous les connectons à un workflow de design piloté par skills, local avec pnpm tools-dev, déployable sur Vercel, et BYOK à chaque couche.',
|
||
approach: 'Lire notre approche',
|
||
practice: 'Recherche · design · ingénierie · itération',
|
||
stampTop: 'Pratique studio',
|
||
stampBottom: 'Depuis MMXXVI',
|
||
sideNote: ['Du comportement', 'du modèle au goût', 'visuel, nous prototypons', 'toute la pile', 'des systèmes créatifs.'],
|
||
caption: 'Études de forme · perception · imagination machinique. (Open Design, MMXXVI)',
|
||
},
|
||
capabilities: {
|
||
rule: 'Capacités · skills · systèmes',
|
||
surfaces: '4 surfaces / 1 boucle',
|
||
ribbon: 'OPEN DESIGN · MATRICE DES CAPACITÉS · OD/26',
|
||
label: 'Capacités',
|
||
titlePrefix: 'Skills, systèmes et surfaces',
|
||
titleEmphasis: 'pour une intelligence',
|
||
titleSuffix: 'créative',
|
||
lead:
|
||
'Nous relions le goût humain à l’agent que vous utilisez déjà pour livrer des interfaces, des decks et des pages éditoriales intentionnels, expressifs et vivants.',
|
||
cards: [
|
||
{ tag: 'Skills', title: 'Des skills,\npas des plugins', body: (skills) => `${skills} bundles fondés sur SKILL.md. Déposez un dossier, redémarrez le daemon et il apparaît dans le sélecteur.`, aria: 'Voir tous les skills sur GitHub' },
|
||
{ tag: 'Systèmes', title: 'Systèmes de design\nen Markdown', body: (_skills, systems) => `${systems} systèmes DESIGN.md portables. Linear, Vercel, Stripe, Apple, Cursor, Figma et plus encore.`, aria: 'Voir tous les systèmes de design sur GitHub' },
|
||
{ tag: 'Adapters', title: '12 adapters\npour agents', body: () => 'Claude · Codex · Gemini · Cursor · Copilot · OpenCode · Devin · Hermes · Pi · Kimi · Kiro · Qwen sont détectés automatiquement dans $PATH.', aria: 'Lire le code source des adapters' },
|
||
{ tag: 'BYOK', title: 'BYOK\nà chaque couche', body: () => 'Proxy compatible OpenAI. DeepSeek, Groq, OpenRouter ou votre vLLM : indiquez baseUrl et key, puis livrez.', aria: 'Voir la configuration BYOK' },
|
||
],
|
||
},
|
||
labs: {
|
||
rule: 'Laboratoire / catalogue de skills',
|
||
ongoing: (skills) => `05 expériences actives sur ${skills}`,
|
||
label: 'Lab',
|
||
titlePrefix: 'Une',
|
||
titleEmphasis: 'archive d’expériences',
|
||
titleSuffix: 'en croissance : skills, decks et formes générées',
|
||
pills: { all: 'Tout', prototype: 'Maquette', deck: 'Deck', mobile: 'Mobile', office: 'Bureau' },
|
||
metaTitle: 'Expériences en cours',
|
||
metaBody: 'Documenter les idées mouvantes\nConstruire l’intelligence en faisant\nAffûter le jugement par la pratique',
|
||
items: [
|
||
{ badge: 'Deck', title: 'Decks magazine', body: 'Slides éditoriales avec guizang-ppt. Layout magazine et hero WebGL inclus.' },
|
||
{ badge: 'Média', title: 'Matière synthétique', body: 'Gpt-image-2, Seedance et HyperFrames. Image, vidéo et audio dans la même surface de chat que le code.' },
|
||
{ badge: 'Loop', title: 'Chorégraphie du prompt', body: 'Avant le premier pixel, un formulaire verrouille la direction. Trente secondes évitent des heures de reprises.' },
|
||
{ badge: 'Critique', title: 'Raisonnement visuel', body: 'Une auto-critique en cinq axes protège chaque artifact : posture, hiérarchie, exécution, précision et retenue.' },
|
||
{ badge: 'Runtime', title: 'Systèmes souples', body: 'Iframe sandbox, todos en streaming, vrai système de fichiers cwd et boucles adaptatives humain-machine.' },
|
||
],
|
||
foot: (skills) => `05 / ${skills} SKILLS COMPOSABLES`,
|
||
viewLibrary: 'VOIR TOUTE LA BIBLIOTHÈQUE →',
|
||
openAria: (title) => `Ouvrir ${title} sur GitHub`,
|
||
},
|
||
method: {
|
||
rule: 'Méthode / boucle',
|
||
stages: '04 étapes, itératives',
|
||
label: 'Méthode',
|
||
titlePrefix: 'Du',
|
||
titleEmphasis: 'signal',
|
||
titleSuffix: 'au système',
|
||
lead: 'Chaque étape est itérative, visuelle et ancrée dans la recherche : des fichiers composables plutôt que des prompts opaques.',
|
||
steps: [
|
||
{ title: 'Détecter', body: (skills, systems) => `Le daemon inspecte $PATH pour 12 agents de code et charge ${skills} skills plus ${systems} systèmes au démarrage.` },
|
||
{ title: 'Découvrir', body: () => 'Le premier tour est un formulaire : surface, audience, ton, échelle et contexte de marque sont fixés en 30 secondes.' },
|
||
{ title: 'Diriger', body: () => 'Choisissez une des 5 directions visuelles déterministes avec palette OKLch, pile typo et posture de layout.' },
|
||
{ title: 'Livrer', body: () => 'L’agent écrit sur disque, vous prévisualisez dans l’iframe sandbox et exportez HTML / PDF / PPTX / ZIP / Markdown.' },
|
||
],
|
||
footLeft: 'Les skills fixent l’intention. Les fichiers rendent le résultat réel.',
|
||
},
|
||
work: {
|
||
rule: 'Travaux choisis · catalogue 2026',
|
||
editedBy: 'Édité par Open Design',
|
||
label: 'Travaux choisis',
|
||
titlePrefix: 'Des skills qui transforment les briefs en',
|
||
titleEmphasisA: 'artifacts mémorables',
|
||
titleMiddle: 'et',
|
||
titleEmphasisB: 'livrables',
|
||
titleSuffix: '',
|
||
viewAll: (skills) => `Voir les ${skills} skills`,
|
||
cards: [
|
||
{ label: 'Skill en vedette', title: 'guizang-ppt', body: 'Web PPT au format magazine pour lancements produit et pitch decks. Bundlé sans modification, avec la LICENSE d’origine.', metaLeft: '2026 · DECK', metaRight: 'STANDARD' },
|
||
{ label: 'Système lié', title: 'kami', body: 'Système papier éditorial : canvas parchemin, accent bleu encre, hiérarchie serif et structure pensée pour plusieurs langues.', metaLeft: '2026 · PAPIER', metaRight: 'SYSTÈME' },
|
||
],
|
||
},
|
||
testimonial: {
|
||
rule: 'Collaborateurs / lignée',
|
||
shoulders: 'Bâtir sur des épaules solides',
|
||
label: 'Collaborateurs',
|
||
quote: '« Open Design a transformé des idées IA floues en un système visuel net, crédible et réellement nouveau. »',
|
||
authorTitle: 'Directrice créative · North Form',
|
||
partnersText: 'Nous nous appuyons sur les équipes qui ont déjà livré une culture design open source.',
|
||
partnerLabels: ['Pensée', 'Decks', 'UX', 'Terminal', 'Frames'],
|
||
readMore: 'Lire d’autres récits',
|
||
},
|
||
faqSection: {
|
||
rule: 'Questions fréquentes',
|
||
answers: 'Réponses officielles, sans slogan',
|
||
label: 'FAQ Open Design',
|
||
titlePrefix: 'Questions sur',
|
||
titleMiddle: 'et',
|
||
titleSuffix: 'l’alternative open source à Claude Design',
|
||
},
|
||
cta: {
|
||
rule: 'Contact / conversation',
|
||
command: 'Trois commandes pour livrer',
|
||
label: 'Ouvrir la conversation',
|
||
titlePrefix: 'Construisons quelque chose',
|
||
titleOpen: 'd’ouvert',
|
||
titleMiddle: 'et',
|
||
titleVisual: 'visuellement fort',
|
||
titleSuffix: '',
|
||
lead: 'Mettez une Star sur GitHub, ouvrez une issue ou lancez pnpm tools-dev ce soir. Trois commandes et la boucle est à vous.',
|
||
star: 'Mettre une Star sur GitHub',
|
||
issue: 'Ouvrir une issue',
|
||
live: 'En ligne',
|
||
ribbon: 'OPEN DESIGN · TERMINÉ.',
|
||
},
|
||
}),
|
||
ru: homeFallbackCopy({
|
||
railRight: 'Open Design — том 01 · выпуск № 26 · Apache-2.0',
|
||
railLeft: 'Skills · системы · агенты · BYOK · local-first',
|
||
discordAria: 'Присоединиться к Discord Open Design',
|
||
joinDiscord: 'Войти в Discord',
|
||
heroLabel: 'Дизайн-студия с открытым исходным кодом',
|
||
heroIssue: 'Кейс № 01 · локально / открыто / Земля',
|
||
heroTitlePrefix: 'Открытый',
|
||
heroTitleEmphasis: 'Claude Design',
|
||
heroTitleMiddle: 'на вашем',
|
||
heroTitleSecondEmphasis: 'собственном агенте',
|
||
heroLead: (skills, systems) =>
|
||
`Open Design — официальная local-first альтернатива Claude Design. Ваш coding agent — Claude Code, Codex, Cursor, Gemini, OpenCode или Qwen — становится дизайн-движком с ${skills} составными skills и ${systems} переносимыми DESIGN.md-системами.`,
|
||
star: 'Поставить Star на GitHub',
|
||
download: 'Скачать desktop',
|
||
plate: 'Таблица № 08',
|
||
composedIn: 'Собрано в',
|
||
stats: [
|
||
{ strong: 'Skills', text: 'готовы к delivery' },
|
||
{ strong: 'Системы', text: 'переносимые' },
|
||
{ strong: 'CLI', text: 'ваш агент' },
|
||
],
|
||
heroFoot: 'pnpm tools-dev · старт в 3 команды',
|
||
heroIndex: ['Обнаружить', 'Исследовать', 'Направить', 'Доставить'],
|
||
officialAria: 'Официальный источник Open Design',
|
||
officialLabel: 'Официальный источник',
|
||
officialItems: [
|
||
{ label: 'Официальный сайт', value: 'open-design.ai' },
|
||
{ label: 'Исходный код', value: 'nexu-io/open-design' },
|
||
{ label: 'Релизы', value: 'version' },
|
||
{ label: 'Загрузка', value: 'Desktop · macOS · Win · Linux' },
|
||
{ label: 'Документация', value: 'README + /quickstart/' },
|
||
{ label: 'Сообщество', value: 'Discord' },
|
||
],
|
||
about: {
|
||
rule: 'О студии / манифест',
|
||
volume: 'Open Design / том 01',
|
||
label: 'О студии',
|
||
titlePrefix: 'Мы относимся к',
|
||
titleAgent: 'вашему агенту',
|
||
titleMiddle: 'как к творческому',
|
||
titleCollaborator: 'соавтору',
|
||
titleSuffix: 'а не черному ящику',
|
||
lead:
|
||
'Самые сильные coding agents уже стоят на вашем ноутбуке. Мы не поставляем еще одного закрытого агента, а подключаем их к skill-driven дизайн-процессу: локально через pnpm tools-dev, web layer можно развернуть на Vercel, BYOK сохраняется на каждом уровне.',
|
||
approach: 'Прочитать подход',
|
||
practice: 'Исследование · дизайн · инженерия · итерации',
|
||
stampTop: 'Практика студии',
|
||
stampBottom: 'Осн. MMXXVI',
|
||
sideNote: ['От поведения модели', 'до визуального вкуса', 'мы прототипируем', 'весь стек', 'креативных систем.'],
|
||
caption: 'Исследования формы · восприятия · машинного воображения. (Open Design, MMXXVI)',
|
||
},
|
||
capabilities: {
|
||
rule: 'Возможности · skills · системы',
|
||
surfaces: '4 поверхности / 1 цикл',
|
||
ribbon: 'OPEN DESIGN · МАТРИЦА ВОЗМОЖНОСТЕЙ · OD/26',
|
||
label: 'Возможности',
|
||
titlePrefix: 'Skills, системы и поверхности',
|
||
titleEmphasis: 'для творческого',
|
||
titleSuffix: 'интеллекта',
|
||
lead:
|
||
'Мы соединяем человеческий вкус с агентом, которому вы уже доверяете, чтобы выпускать осмысленные, выразительные и живые интерфейсы, decks и редакционные страницы.',
|
||
cards: [
|
||
{ tag: 'Skills', title: 'Skills,\nне plugins', body: (skills) => `${skills} файловых bundle на SKILL.md. Положите папку, перезапустите daemon — и он появится в picker.`, aria: 'Посмотреть все skills на GitHub' },
|
||
{ tag: 'Системы', title: 'Дизайн-системы\nкак Markdown', body: (_skills, systems) => `${systems} переносимых DESIGN.md-систем: Linear, Vercel, Stripe, Apple, Cursor, Figma и другие.`, aria: 'Посмотреть все дизайн-системы на GitHub' },
|
||
{ tag: 'Adapters', title: '12 adapter\nдля агентов', body: () => 'Claude · Codex · Gemini · Cursor · Copilot · OpenCode · Devin · Hermes · Pi · Kimi · Kiro · Qwen автоматически находятся через $PATH.', aria: 'Открыть исходники agent adapters' },
|
||
{ tag: 'BYOK', title: 'BYOK\nна каждом уровне', body: () => 'OpenAI-совместимый proxy. DeepSeek, Groq, OpenRouter или свой vLLM: укажите baseUrl и key, затем доставляйте.', aria: 'Посмотреть настройку BYOK' },
|
||
],
|
||
},
|
||
labs: {
|
||
rule: 'Лаборатория / каталог skills',
|
||
ongoing: (skills) => `05 экспериментов из ${skills} активны`,
|
||
label: 'Лаборатория',
|
||
titlePrefix: 'Растущий',
|
||
titleEmphasis: 'архив экспериментов',
|
||
titleSuffix: 'со skills, decks и машинными формами',
|
||
pills: { all: 'Все', prototype: 'Прототип', deck: 'Deck', mobile: 'Mobile', office: 'Office' },
|
||
metaTitle: 'Текущие эксперименты',
|
||
metaBody: 'Документировать меняющиеся идеи\nСтроить интеллект через практику\nОттачивать суждение на деле',
|
||
items: [
|
||
{ badge: 'Deck', title: 'Журнальные decks', body: 'Редакционные слайды на guizang-ppt. Журнальная сетка и WebGL hero входят в комплект.' },
|
||
{ badge: 'Медиа', title: 'Синтетические медиа', body: 'Gpt-image-2, Seedance и HyperFrames. Изображения, видео и аудио на той же chat surface, что и code.' },
|
||
{ badge: 'Loop', title: 'Хореография prompt', body: 'До первого пикселя форма вопросов фиксирует направление. 30 секунд выбора экономят долгие переделки.' },
|
||
{ badge: 'Критика', title: 'Визуальное рассуждение', body: 'Пять осей self-critique защищают artifact: позиция, иерархия, исполнение, конкретность и сдержанность.' },
|
||
{ badge: 'Runtime', title: 'Мягкие системы', body: 'Sandbox iframe, streaming todo, реальная cwd file system и адаптивные циклы человека и машины.' },
|
||
],
|
||
foot: (skills) => `05 / ${skills} СКИЛЛОВ`,
|
||
viewLibrary: 'ПОСМОТРЕТЬ ВСЮ БИБЛИОТЕКУ →',
|
||
openAria: (title) => `Открыть ${title} на GitHub`,
|
||
},
|
||
method: {
|
||
rule: 'Метод / цикл',
|
||
stages: '04 этапа, итеративно',
|
||
label: 'Метод',
|
||
titlePrefix: 'От',
|
||
titleEmphasis: 'сигнала',
|
||
titleSuffix: 'к системе',
|
||
lead: 'Каждый этап итеративен, визуален и основан на исследовании: составные файлы вместо непрозрачных prompts.',
|
||
steps: [
|
||
{ title: 'Обнаружить', body: (skills, systems) => `Daemon сканирует $PATH для 12 coding agents и при старте загружает ${skills} skills и ${systems} систем.` },
|
||
{ title: 'Исследовать', body: () => 'Первый turn — форма вопросов: surface, аудитория, тон, масштаб и бренд-контекст фиксируются за 30 секунд.' },
|
||
{ title: 'Направить', body: () => 'Выберите одно из 5 детерминированных visual directions с OKLch-палитрой, font stack и layout posture.' },
|
||
{ title: 'Доставить', body: () => 'Agent пишет на диск, вы смотрите preview в sandbox iframe и экспортируете HTML / PDF / PPTX / ZIP / Markdown.' },
|
||
],
|
||
footLeft: 'Skills задают намерение. Файлы делают результат реальным.',
|
||
},
|
||
work: {
|
||
rule: 'Избранные работы · каталог 2026',
|
||
editedBy: 'Редакция Open Design',
|
||
label: 'Избранные работы',
|
||
titlePrefix: 'Skills превращают briefs в',
|
||
titleEmphasisA: 'запоминающиеся',
|
||
titleMiddle: 'и готовые к отправке',
|
||
titleEmphasisB: 'артефакты',
|
||
titleSuffix: '',
|
||
viewAll: (skills) => `Посмотреть все ${skills} skills`,
|
||
cards: [
|
||
{ label: 'Избранный skill', title: 'guizang-ppt', body: 'Журнальный Web PPT для продуктовых запусков и pitch decks. Встроен без изменений, исходная LICENSE сохранена.', metaLeft: '2026 · DECK', metaRight: 'СТАНДАРТ' },
|
||
{ label: 'Связанная система', title: 'kami', body: 'Редакционная бумажная система: теплый parchment canvas, ink-blue accent, serif hierarchy и многоязычная структура.', metaLeft: '2026 · PAPER', metaRight: 'SYSTEM' },
|
||
],
|
||
},
|
||
testimonial: {
|
||
rule: 'Соавторы / происхождение',
|
||
shoulders: 'Стоять на плечах сильных работ',
|
||
label: 'Соавторы',
|
||
quote: '«Open Design помог превратить расплывчатые AI-идеи в четкую, надежную и действительно новую визуальную систему.»',
|
||
authorTitle: 'Креативный директор · North Form',
|
||
partnersText: 'Мы строим на опыте команд, которые уже выпускали open-source дизайн-культуру.',
|
||
partnerLabels: ['Мысль', 'Decks', 'UX', 'Terminal', 'Frames'],
|
||
readMore: 'Читать больше историй',
|
||
},
|
||
faqSection: {
|
||
rule: 'Частые вопросы',
|
||
answers: 'Официальные ответы без маркетингового шума',
|
||
label: 'Вопросы об Open Design',
|
||
titlePrefix: 'Вопросы про',
|
||
titleMiddle: 'и',
|
||
titleSuffix: 'открытую альтернативу Claude Design',
|
||
},
|
||
cta: {
|
||
rule: 'Контакт / разговор',
|
||
command: 'Три команды до delivery',
|
||
label: 'Начать разговор',
|
||
titlePrefix: 'Давайте создадим что-то',
|
||
titleOpen: 'открытое',
|
||
titleMiddle: 'и',
|
||
titleVisual: 'визуально сильное',
|
||
titleSuffix: '',
|
||
lead: 'Поставьте Star на GitHub, откройте issue или запустите pnpm tools-dev сегодня вечером. Три команды — и цикл у вас.',
|
||
star: 'Поставить Star на GitHub',
|
||
issue: 'Открыть issue',
|
||
live: 'В сети',
|
||
ribbon: 'OPEN DESIGN · ФИНАЛ.',
|
||
},
|
||
}),
|
||
es: homeFallbackCopy({
|
||
railRight: 'Open Design — vol. 01 · número 26 · Apache-2.0',
|
||
railLeft: 'Skills · sistemas · agentes · BYOK · local-first',
|
||
discordAria: 'Unirse al Discord de Open Design',
|
||
joinDiscord: 'Unirse a Discord',
|
||
heroLabel: 'Estudio de diseño open source',
|
||
heroIssue: 'Caso Nº 01 · local / abierto / Tierra',
|
||
heroTitlePrefix: 'Claude Design',
|
||
heroTitleEmphasis: 'open source',
|
||
heroTitleMiddle: 'sobre',
|
||
heroTitleSecondEmphasis: 'tu propio agente',
|
||
heroLead: (skills, systems) =>
|
||
`Open Design es la alternativa oficial, local-first, a Claude Design. Tu agente de código — Claude Code, Codex, Cursor, Gemini, OpenCode o Qwen — se convierte en un motor de diseño con ${skills} skills componibles y ${systems} sistemas DESIGN.md portables.`,
|
||
star: 'Dar Star en GitHub',
|
||
download: 'Descargar desktop',
|
||
plate: 'Lámina Nº 08',
|
||
composedIn: 'Compuesto en',
|
||
stats: [
|
||
{ strong: 'Skills', text: 'entregables' },
|
||
{ strong: 'Sistemas', text: 'portables' },
|
||
{ strong: 'CLI', text: 'tu agente' },
|
||
],
|
||
heroFoot: 'pnpm tools-dev · arranca en 3 comandos',
|
||
heroIndex: ['Detectar', 'Descubrir', 'Dirigir', 'Entregar'],
|
||
officialAria: 'Fuente oficial de Open Design',
|
||
officialLabel: 'Fuente oficial',
|
||
officialItems: [
|
||
{ label: 'Sitio oficial', value: 'open-design.ai' },
|
||
{ label: 'Código fuente', value: 'nexu-io/open-design' },
|
||
{ label: 'Versiones', value: 'version' },
|
||
{ label: 'Descarga', value: 'Desktop · macOS · Win · Linux' },
|
||
{ label: 'Documentación', value: 'README + /quickstart/' },
|
||
{ label: 'Comunidad', value: 'Discord' },
|
||
],
|
||
about: {
|
||
rule: 'Acerca de / manifiesto',
|
||
volume: 'Open Design / vol. 01',
|
||
label: 'Sobre el estudio',
|
||
titlePrefix: 'Tratamos a',
|
||
titleAgent: 'tu agente',
|
||
titleMiddle: 'como',
|
||
titleCollaborator: 'colaborador creativo',
|
||
titleSuffix: 'no como caja negra',
|
||
lead:
|
||
'Los agentes de código más potentes ya están en tu laptop. No enviamos otro agente cerrado: los conectamos a un workflow de diseño basado en skills, local con pnpm tools-dev, desplegable en Vercel y BYOK en cada capa.',
|
||
approach: 'Leer nuestro enfoque',
|
||
practice: 'Investigación · diseño · ingeniería · iteración',
|
||
stampTop: 'Práctica de estudio',
|
||
stampBottom: 'Desde MMXXVI',
|
||
sideNote: ['Del comportamiento', 'del modelo al gusto', 'visual, prototipamos', 'toda la pila', 'de sistemas creativos.'],
|
||
caption: 'Estudios de forma · percepción · imaginación maquínica. (Open Design, MMXXVI)',
|
||
},
|
||
capabilities: {
|
||
rule: 'Capacidades · skills · sistemas',
|
||
surfaces: '4 superficies / 1 bucle',
|
||
ribbon: 'OPEN DESIGN · MATRIZ DE CAPACIDADES · OD/26',
|
||
label: 'Capacidades',
|
||
titlePrefix: 'Skills, sistemas y superficies',
|
||
titleEmphasis: 'para inteligencia',
|
||
titleSuffix: 'creativa',
|
||
lead:
|
||
'Combinamos criterio humano con el agente que ya usas para entregar interfaces, decks y páginas editoriales con intención, expresión y vida.',
|
||
cards: [
|
||
{ tag: 'Skills', title: 'Skills,\nno plugins', body: (skills) => `${skills} bundles basados en SKILL.md. Suelta una carpeta, reinicia el daemon y aparece en el selector.`, aria: 'Ver todos los skills en GitHub' },
|
||
{ tag: 'Sistemas', title: 'Sistemas de diseño\nen Markdown', body: (_skills, systems) => `${systems} sistemas DESIGN.md portables. Linear, Vercel, Stripe, Apple, Cursor, Figma y más.`, aria: 'Ver todos los sistemas de diseño en GitHub' },
|
||
{ tag: 'Adapters', title: '12 adapters\npara agentes', body: () => 'Claude · Codex · Gemini · Cursor · Copilot · OpenCode · Devin · Hermes · Pi · Kimi · Kiro · Qwen se detectan automáticamente desde $PATH.', aria: 'Leer el código de los adapters' },
|
||
{ tag: 'BYOK', title: 'BYOK\nen cada capa', body: () => 'Proxy compatible con OpenAI. DeepSeek, Groq, OpenRouter o tu propio vLLM: agrega baseUrl y key, y entrega.', aria: 'Ver configuración BYOK' },
|
||
],
|
||
},
|
||
labs: {
|
||
rule: 'Laboratorio / catálogo de skills',
|
||
ongoing: (skills) => `05 experimentos activos de ${skills}`,
|
||
label: 'Lab',
|
||
titlePrefix: 'Un',
|
||
titleEmphasis: 'archivo experimental',
|
||
titleSuffix: 'en crecimiento para skills, decks y formas generadas',
|
||
pills: { all: 'Todo', prototype: 'Prototipo', deck: 'Deck', mobile: 'Móvil', office: 'Oficina' },
|
||
metaTitle: 'Experimentos en curso',
|
||
metaBody: 'Documentar ideas cambiantes\nConstruir inteligencia haciendo\nAfinar criterio con práctica',
|
||
items: [
|
||
{ badge: 'Deck', title: 'Decks tipo revista', body: 'Slides editoriales con guizang-ppt. Layout de revista y hero WebGL incluidos.' },
|
||
{ badge: 'Media', title: 'Materia sintética', body: 'Gpt-image-2, Seedance y HyperFrames. Imagen, video y audio en la misma superficie de chat que el código.' },
|
||
{ badge: 'Loop', title: 'Coreografía del prompt', body: 'Antes del primer píxel, un formulario fija la dirección. Treinta segundos evitan horas de retrabajo.' },
|
||
{ badge: 'Crítica', title: 'Razonamiento visual', body: 'Una auto-crítica de cinco ejes protege cada artifact: postura, jerarquía, ejecución, especificidad y contención.' },
|
||
{ badge: 'Runtime', title: 'Sistemas blandos', body: 'Iframe sandbox, todos en streaming, filesystem cwd real y bucles adaptativos humano-máquina.' },
|
||
],
|
||
foot: (skills) => `05 / ${skills} SKILLS LOCALES`,
|
||
viewLibrary: 'VER TODA LA BIBLIOTECA →',
|
||
openAria: (title) => `Abrir ${title} en GitHub`,
|
||
},
|
||
method: {
|
||
rule: 'Método / bucle',
|
||
stages: '04 etapas, iterativas',
|
||
label: 'Método',
|
||
titlePrefix: 'De la',
|
||
titleEmphasis: 'señal',
|
||
titleSuffix: 'al sistema',
|
||
lead: 'Cada etapa es iterativa, visual y basada en investigación: archivos componibles en lugar de prompts opacos.',
|
||
steps: [
|
||
{ title: 'Detectar', body: (skills, systems) => `El daemon escanea $PATH en busca de 12 agentes de código y carga ${skills} skills más ${systems} sistemas al iniciar.` },
|
||
{ title: 'Descubrir', body: () => 'El primer turn es un formulario: superficie, audiencia, tono, escala y contexto de marca quedan fijados en 30 segundos.' },
|
||
{ title: 'Dirigir', body: () => 'Elige una de 5 direcciones visuales determinísticas con paleta OKLch, font stack y postura de layout.' },
|
||
{ title: 'Entregar', body: () => 'El agente escribe a disco, revisas en el iframe sandbox y exportas HTML / PDF / PPTX / ZIP / Markdown.' },
|
||
],
|
||
footLeft: 'Los skills fijan la intención. Los archivos vuelven real el resultado.',
|
||
},
|
||
work: {
|
||
rule: 'Trabajos seleccionados · catálogo 2026',
|
||
editedBy: 'Editado por Open Design',
|
||
label: 'Trabajos seleccionados',
|
||
titlePrefix: 'Skills que convierten briefs en',
|
||
titleEmphasisA: 'artifacts memorables',
|
||
titleMiddle: 'y',
|
||
titleEmphasisB: 'entregables',
|
||
titleSuffix: '',
|
||
viewAll: (skills) => `Ver los ${skills} skills`,
|
||
cards: [
|
||
{ label: 'Skill destacado', title: 'guizang-ppt', body: 'Web PPT tipo revista para lanzamientos de producto y pitch decks. Incluido sin modificar, con la LICENSE original.', metaLeft: '2026 · DECK', metaRight: 'ESTÁNDAR' },
|
||
{ label: 'Sistema conectado', title: 'kami', body: 'Sistema editorial de papel: canvas pergamino cálido, acento azul tinta, jerarquía serif y estructura pensada para varios idiomas.', metaLeft: '2026 · PAPEL', metaRight: 'SISTEMA' },
|
||
],
|
||
},
|
||
testimonial: {
|
||
rule: 'Colaboradores / linaje',
|
||
shoulders: 'Construir sobre hombros fuertes',
|
||
label: 'Colaboradores',
|
||
quote: '«Open Design convirtió ideas de IA borrosas en un sistema visual nítido, creíble y realmente nuevo.»',
|
||
authorTitle: 'Directora creativa · North Form',
|
||
partnersText: 'Nos apoyamos en equipos que ya han entregado cultura de diseño open source.',
|
||
partnerLabels: ['Pensamiento', 'Decks', 'UX', 'Terminal', 'Frames'],
|
||
readMore: 'Leer más historias',
|
||
},
|
||
faqSection: {
|
||
rule: 'Preguntas frecuentes',
|
||
answers: 'Respuestas oficiales, sin marketing',
|
||
label: 'FAQ de Open Design',
|
||
titlePrefix: 'Preguntas sobre',
|
||
titleMiddle: 'y',
|
||
titleSuffix: 'la alternativa open source a Claude Design',
|
||
},
|
||
cta: {
|
||
rule: 'Contacto / conversación',
|
||
command: 'Tres comandos para entregar',
|
||
label: 'Abrir conversación',
|
||
titlePrefix: 'Construyamos algo',
|
||
titleOpen: 'abierto',
|
||
titleMiddle: 'y',
|
||
titleVisual: 'visualmente fuerte',
|
||
titleSuffix: '',
|
||
lead: 'Danos una Star en GitHub, abre una issue o ejecuta pnpm tools-dev esta noche. Tres comandos y el bucle es tuyo.',
|
||
star: 'Dar Star en GitHub',
|
||
issue: 'Abrir issue',
|
||
live: 'En línea',
|
||
ribbon: 'OPEN DESIGN · CIERRE.',
|
||
},
|
||
}),
|
||
'pt-br': homeFallbackCopy({
|
||
railRight: 'Open Design — vol. 01 · edição nº 26 · Apache-2.0',
|
||
railLeft: 'Skills · sistemas · agentes · BYOK · local-first',
|
||
discordAria: 'Entrar no Discord do Open Design',
|
||
joinDiscord: 'Entrar no Discord',
|
||
heroLabel: 'Estúdio de design open source',
|
||
heroIssue: 'Caso Nº 01 · local / aberto / Terra',
|
||
heroTitlePrefix: 'Claude Design',
|
||
heroTitleEmphasis: 'open source',
|
||
heroTitleMiddle: 'no',
|
||
heroTitleSecondEmphasis: 'seu próprio agente',
|
||
heroLead: (skills, systems) =>
|
||
`Open Design é a alternativa oficial, local-first, ao Claude Design. Seu agente de código — Claude Code, Codex, Cursor, Gemini, OpenCode ou Qwen — vira um motor de design com ${skills} skills componíveis e ${systems} sistemas DESIGN.md portáteis.`,
|
||
star: 'Dar Star no GitHub',
|
||
download: 'Baixar desktop',
|
||
plate: 'Prancha Nº 08',
|
||
composedIn: 'Composto em',
|
||
stats: [
|
||
{ strong: 'Skills', text: 'entregáveis' },
|
||
{ strong: 'Sistemas', text: 'portáteis' },
|
||
{ strong: 'CLI', text: 'seu agente' },
|
||
],
|
||
heroFoot: 'pnpm tools-dev · começa em 3 comandos',
|
||
heroIndex: ['Detectar', 'Descobrir', 'Direcionar', 'Entregar'],
|
||
officialAria: 'Fonte oficial do Open Design',
|
||
officialLabel: 'Fonte oficial',
|
||
officialItems: [
|
||
{ label: 'Site oficial', value: 'open-design.ai' },
|
||
{ label: 'Código-fonte', value: 'nexu-io/open-design' },
|
||
{ label: 'Versões', value: 'version' },
|
||
{ label: 'Download', value: 'Desktop · macOS · Win · Linux' },
|
||
{ label: 'Documentação', value: 'README + /quickstart/' },
|
||
{ label: 'Comunidade', value: 'Discord' },
|
||
],
|
||
about: {
|
||
rule: 'Sobre / manifesto',
|
||
volume: 'Open Design / vol. 01',
|
||
label: 'Sobre o estúdio',
|
||
titlePrefix: 'Tratamos',
|
||
titleAgent: 'seu agente',
|
||
titleMiddle: 'como',
|
||
titleCollaborator: 'colaborador criativo',
|
||
titleSuffix: 'não como caixa-preta',
|
||
lead:
|
||
'Os agentes de código mais fortes já estão no seu laptop. Não enviamos outro agente fechado: conectamos esses agentes a um fluxo de design movido por skills, local com pnpm tools-dev, implantável na Vercel e com BYOK em todas as camadas.',
|
||
approach: 'Ler nossa abordagem',
|
||
practice: 'Pesquisa · design · engenharia · iteração',
|
||
stampTop: 'Prática de estúdio',
|
||
stampBottom: 'Desde MMXXVI',
|
||
sideNote: ['Do comportamento', 'do modelo ao gosto', 'visual, prototipamos', 'toda a pilha', 'de sistemas criativos.'],
|
||
caption: 'Estudos de forma · percepção · imaginação maquínica. (Open Design, MMXXVI)',
|
||
},
|
||
capabilities: {
|
||
rule: 'Capacidades · skills · sistemas',
|
||
surfaces: '4 superfícies / 1 loop',
|
||
ribbon: 'OPEN DESIGN · MATRIZ DE CAPACIDADES · OD/26',
|
||
label: 'Capacidades',
|
||
titlePrefix: 'Skills, sistemas e superfícies',
|
||
titleEmphasis: 'para inteligência',
|
||
titleSuffix: 'criativa',
|
||
lead:
|
||
'Combinamos gosto humano com o agente que você já usa para entregar interfaces, decks e páginas editoriais intencionais, expressivas e vivas.',
|
||
cards: [
|
||
{ tag: 'Skills', title: 'Skills,\nnão plugins', body: (skills) => `${skills} bundles baseados em SKILL.md. Coloque uma pasta, reinicie o daemon e ela aparece no seletor.`, aria: 'Ver todos os skills no GitHub' },
|
||
{ tag: 'Sistemas', title: 'Sistemas de design\nem Markdown', body: (_skills, systems) => `${systems} sistemas DESIGN.md portáteis. Linear, Vercel, Stripe, Apple, Cursor, Figma e mais.`, aria: 'Ver todos os sistemas de design no GitHub' },
|
||
{ tag: 'Adapters', title: '12 adapters\npara agentes', body: () => 'Claude · Codex · Gemini · Cursor · Copilot · OpenCode · Devin · Hermes · Pi · Kimi · Kiro · Qwen são detectados automaticamente pelo $PATH.', aria: 'Ler o código dos adapters' },
|
||
{ tag: 'BYOK', title: 'BYOK\nem cada camada', body: () => 'Proxy compatível com OpenAI. DeepSeek, Groq, OpenRouter ou seu próprio vLLM: informe baseUrl e key, depois entregue.', aria: 'Ver configuração BYOK' },
|
||
],
|
||
},
|
||
labs: {
|
||
rule: 'Laboratório / catálogo de skills',
|
||
ongoing: (skills) => `05 experimentos ativos de ${skills}`,
|
||
label: 'Lab',
|
||
titlePrefix: 'Um',
|
||
titleEmphasis: 'arquivo experimental',
|
||
titleSuffix: 'em crescimento para skills, decks e formas geradas',
|
||
pills: { all: 'Tudo', prototype: 'Protótipo', deck: 'Deck', mobile: 'Mobile', office: 'Escritório' },
|
||
metaTitle: 'Experimentos em andamento',
|
||
metaBody: 'Documentar ideias em movimento\nConstruir inteligência fazendo\nAfiar julgamento pela prática',
|
||
items: [
|
||
{ badge: 'Deck', title: 'Decks de revista', body: 'Slides editoriais com guizang-ppt. Layout de revista e hero WebGL incluídos.' },
|
||
{ badge: 'Mídia', title: 'Matéria sintética', body: 'Gpt-image-2, Seedance e HyperFrames. Imagem, vídeo e áudio na mesma superfície de chat do código.' },
|
||
{ badge: 'Loop', title: 'Coreografia do prompt', body: 'Antes do primeiro pixel, um formulário fixa a direção. Trinta segundos evitam horas de retrabalho.' },
|
||
{ badge: 'Crítica', title: 'Raciocínio visual', body: 'Uma auto-crítica em cinco eixos protege cada artifact: postura, hierarquia, execução, especificidade e contenção.' },
|
||
{ badge: 'Runtime', title: 'Sistemas flexíveis', body: 'Iframe sandbox, todos em streaming, filesystem cwd real e loops adaptativos entre humano e máquina.' },
|
||
],
|
||
foot: (skills) => `05 / ${skills} SKILLS LOCAIS`,
|
||
viewLibrary: 'VER TODA A BIBLIOTECA →',
|
||
openAria: (title) => `Abrir ${title} no GitHub`,
|
||
},
|
||
method: {
|
||
rule: 'Método / loop',
|
||
stages: '04 etapas, iterativas',
|
||
label: 'Método',
|
||
titlePrefix: 'Do',
|
||
titleEmphasis: 'sinal',
|
||
titleSuffix: 'ao sistema',
|
||
lead: 'Cada etapa é iterativa, visual e baseada em pesquisa: arquivos componíveis em vez de prompts opacos.',
|
||
steps: [
|
||
{ title: 'Detectar', body: (skills, systems) => `O daemon varre o $PATH por 12 agentes de código e carrega ${skills} skills mais ${systems} sistemas ao iniciar.` },
|
||
{ title: 'Descobrir', body: () => 'O primeiro turn é um formulário: superfície, público, tom, escala e contexto de marca são fixados em 30 segundos.' },
|
||
{ title: 'Direcionar', body: () => 'Escolha uma das 5 direções visuais determinísticas com paleta OKLch, font stack e postura de layout.' },
|
||
{ title: 'Entregar', body: () => 'O agente escreve em disco, você revisa no iframe sandbox e exporta HTML / PDF / PPTX / ZIP / Markdown.' },
|
||
],
|
||
footLeft: 'Skills definem a intenção. Arquivos tornam o resultado real.',
|
||
},
|
||
work: {
|
||
rule: 'Trabalhos selecionados · catálogo 2026',
|
||
editedBy: 'Edição Open Design',
|
||
label: 'Trabalhos selecionados',
|
||
titlePrefix: 'Skills transformam briefs em',
|
||
titleEmphasisA: 'artifacts memoráveis',
|
||
titleMiddle: 'e',
|
||
titleEmphasisB: 'entregáveis',
|
||
titleSuffix: '',
|
||
viewAll: (skills) => `Ver os ${skills} skills`,
|
||
cards: [
|
||
{ label: 'Skill em destaque', title: 'guizang-ppt', body: 'Web PPT em formato de revista para lançamentos de produto e pitch decks. Incluído sem alterações, com a LICENSE original.', metaLeft: '2026 · DECK', metaRight: 'PADRÃO' },
|
||
{ label: 'Sistema conectado', title: 'kami', body: 'Sistema editorial de papel: canvas pergaminho, acento azul-tinta, hierarquia serifada e estrutura pensada para vários idiomas.', metaLeft: '2026 · PAPEL', metaRight: 'SISTEMA' },
|
||
],
|
||
},
|
||
testimonial: {
|
||
rule: 'Colaboradores / linhagem',
|
||
shoulders: 'Construir sobre ombros fortes',
|
||
label: 'Colaboradores',
|
||
quote: '“Open Design transformou ideias vagas de IA em um sistema visual nítido, confiável e realmente novo.”',
|
||
authorTitle: 'Diretora criativa · North Form',
|
||
partnersText: 'Nos apoiamos em equipes que já entregaram cultura de design open source.',
|
||
partnerLabels: ['Pensamento', 'Decks', 'UX', 'Terminal', 'Frames'],
|
||
readMore: 'Ler mais histórias',
|
||
},
|
||
faqSection: {
|
||
rule: 'Perguntas frequentes',
|
||
answers: 'Respostas oficiais, sem marketing',
|
||
label: 'FAQ do Open Design',
|
||
titlePrefix: 'Perguntas sobre',
|
||
titleMiddle: 'e',
|
||
titleSuffix: 'a alternativa open source ao Claude Design',
|
||
},
|
||
cta: {
|
||
rule: 'Contato / conversa',
|
||
command: 'Três comandos para entregar',
|
||
label: 'Abrir conversa',
|
||
titlePrefix: 'Vamos criar algo',
|
||
titleOpen: 'aberto',
|
||
titleMiddle: 'e',
|
||
titleVisual: 'visualmente forte',
|
||
titleSuffix: '',
|
||
lead: 'Dê Star no GitHub, abra uma issue ou execute pnpm tools-dev hoje à noite. Três comandos e o loop é seu.',
|
||
star: 'Dar Star no GitHub',
|
||
issue: 'Abrir issue',
|
||
live: 'No ar',
|
||
ribbon: 'OPEN DESIGN · FIM.',
|
||
},
|
||
}),
|
||
it: homeFallbackCopy({
|
||
railRight: 'Open Design — vol. 01 · numero 26 · Apache-2.0',
|
||
railLeft: 'Skill · sistemi · agenti · BYOK · local-first',
|
||
discordAria: 'Entra nel Discord di Open Design',
|
||
joinDiscord: 'Entra in Discord',
|
||
heroLabel: 'Studio di design open source',
|
||
heroIssue: 'Caso Nº 01 · locale / aperto / Terra',
|
||
heroTitlePrefix: 'Claude Design',
|
||
heroTitleEmphasis: 'open source',
|
||
heroTitleMiddle: 'sul',
|
||
heroTitleSecondEmphasis: 'tuo agente',
|
||
heroLead: (skills, systems) =>
|
||
`Open Design è l’alternativa ufficiale, local-first, a Claude Design. Il tuo agente di codice — Claude Code, Codex, Cursor, Gemini, OpenCode o Qwen — diventa un motore di design con ${skills} skill componibili e ${systems} sistemi DESIGN.md portabili.`,
|
||
star: 'Metti Star su GitHub',
|
||
download: 'Scarica desktop',
|
||
plate: 'Tavola Nº 08',
|
||
composedIn: 'Composto in',
|
||
stats: [
|
||
{ strong: 'Skill', text: 'consegnabili' },
|
||
{ strong: 'Sistemi', text: 'portabili' },
|
||
{ strong: 'CLI', text: 'il tuo agente' },
|
||
],
|
||
heroFoot: 'pnpm tools-dev · avvio in 3 comandi',
|
||
heroIndex: ['Rilevare', 'Scoprire', 'Guidare', 'Consegnare'],
|
||
officialAria: 'Fonte ufficiale Open Design',
|
||
officialLabel: 'Fonte ufficiale',
|
||
officialItems: [
|
||
{ label: 'Sito ufficiale', value: 'open-design.ai' },
|
||
{ label: 'Codice sorgente', value: 'nexu-io/open-design' },
|
||
{ label: 'Release', value: 'version' },
|
||
{ label: 'Download', value: 'Desktop · macOS · Win · Linux' },
|
||
{ label: 'Documentazione', value: 'README + /quickstart/' },
|
||
{ label: 'Comunità', value: 'Discord' },
|
||
],
|
||
about: {
|
||
rule: 'Informazioni / manifesto',
|
||
volume: 'Open Design / vol. 01',
|
||
label: 'Lo studio',
|
||
titlePrefix: 'Trattiamo',
|
||
titleAgent: 'il tuo agente',
|
||
titleMiddle: 'come',
|
||
titleCollaborator: 'collaboratore creativo',
|
||
titleSuffix: 'non come black box',
|
||
lead:
|
||
'Gli agenti di codice più forti sono già sul tuo laptop. Non distribuiamo un altro agente chiuso: li colleghiamo a un workflow di design guidato da skill, locale con pnpm tools-dev, distribuibile su Vercel e BYOK a ogni livello.',
|
||
approach: 'Leggi il nostro approccio',
|
||
practice: 'Ricerca · design · ingegneria · iterazione',
|
||
stampTop: 'Pratica di studio',
|
||
stampBottom: 'Dal MMXXVI',
|
||
sideNote: ['Dal comportamento', 'del modello al gusto', 'visivo, prototipiamo', 'l’intero stack', 'dei sistemi creativi.'],
|
||
caption: 'Studi di forma · percezione · immaginazione macchinica. (Open Design, MMXXVI)',
|
||
},
|
||
capabilities: {
|
||
rule: 'Capacità · skill · sistemi',
|
||
surfaces: '4 superfici / 1 loop',
|
||
ribbon: 'OPEN DESIGN · MATRICE CAPACITÀ · OD/26',
|
||
label: 'Capacità',
|
||
titlePrefix: 'Skill, sistemi e superfici',
|
||
titleEmphasis: 'per intelligenza',
|
||
titleSuffix: 'creativa',
|
||
lead:
|
||
'Uniamo gusto umano e agente che già usi per consegnare interfacce, deck e pagine editoriali intenzionali, espressive e vive.',
|
||
cards: [
|
||
{ tag: 'Skill', title: 'Skill,\nnon plugin', body: (skills) => `${skills} bundle basati su SKILL.md. Aggiungi una cartella, riavvia il daemon e compare nel selettore.`, aria: 'Vedi tutte le skill su GitHub' },
|
||
{ tag: 'Sistemi', title: 'Sistemi di design\nin Markdown', body: (_skills, systems) => `${systems} sistemi DESIGN.md portabili. Linear, Vercel, Stripe, Apple, Cursor, Figma e altro.`, aria: 'Vedi tutti i sistemi di design su GitHub' },
|
||
{ tag: 'Adapter', title: '12 adapter\nper agenti', body: () => 'Claude · Codex · Gemini · Cursor · Copilot · OpenCode · Devin · Hermes · Pi · Kimi · Kiro · Qwen vengono rilevati automaticamente da $PATH.', aria: 'Leggi il codice degli adapter' },
|
||
{ tag: 'BYOK', title: 'BYOK\na ogni livello', body: () => 'Proxy compatibile OpenAI. DeepSeek, Groq, OpenRouter o il tuo vLLM: inserisci baseUrl e key, poi consegna.', aria: 'Vedi configurazione BYOK' },
|
||
],
|
||
},
|
||
labs: {
|
||
rule: 'Laboratorio / catalogo skill',
|
||
ongoing: (skills) => `05 esperimenti attivi su ${skills}`,
|
||
label: 'Lab',
|
||
titlePrefix: 'Un',
|
||
titleEmphasis: 'archivio sperimentale',
|
||
titleSuffix: 'in crescita per skill, deck e forme generate',
|
||
pills: { all: 'Tutto', prototype: 'Prototipo', deck: 'Deck', mobile: 'Mobile', office: 'Ufficio' },
|
||
metaTitle: 'Esperimenti in corso',
|
||
metaBody: 'Documentare idee in movimento\nCostruire intelligenza facendo\nAffinare il giudizio con la pratica',
|
||
items: [
|
||
{ badge: 'Deck', title: 'Deck da rivista', body: 'Slide editoriali con guizang-ppt. Layout magazine e hero WebGL inclusi.' },
|
||
{ badge: 'Media', title: 'Materia sintetica', body: 'Gpt-image-2, Seedance e HyperFrames. Immagini, video e audio nella stessa superficie chat del codice.' },
|
||
{ badge: 'Loop', title: 'Coreografia del prompt', body: 'Prima del primo pixel, un modulo fissa la direzione. Trenta secondi evitano ore di rilavorazione.' },
|
||
{ badge: 'Critica', title: 'Ragionamento visivo', body: 'Una self-critique a cinque assi protegge ogni artifact: postura, gerarchia, esecuzione, specificità e misura.' },
|
||
{ badge: 'Runtime', title: 'Sistemi morbidi', body: 'Iframe sandbox, todo in streaming, filesystem cwd reale e loop adattivi tra umano e macchina.' },
|
||
],
|
||
foot: (skills) => `05 / ${skills} SKILL`,
|
||
viewLibrary: 'VEDI TUTTA LA LIBRERIA →',
|
||
openAria: (title) => `Apri ${title} su GitHub`,
|
||
},
|
||
method: {
|
||
rule: 'Metodo / loop',
|
||
stages: '04 fasi, iterative',
|
||
label: 'Metodo',
|
||
titlePrefix: 'Dal',
|
||
titleEmphasis: 'segnale',
|
||
titleSuffix: 'al sistema',
|
||
lead: 'Ogni fase è iterativa, visiva e basata sulla ricerca: file componibili invece di prompt opachi.',
|
||
steps: [
|
||
{ title: 'Rilevare', body: (skills, systems) => `Il daemon cerca 12 agenti di codice in $PATH e carica ${skills} skill più ${systems} sistemi all’avvio.` },
|
||
{ title: 'Scoprire', body: () => 'Il primo turn è un modulo: superficie, pubblico, tono, scala e contesto del brand si fissano in 30 secondi.' },
|
||
{ title: 'Guidare', body: () => 'Scegli una delle 5 direzioni visuali deterministiche con palette OKLch, font stack e postura di layout.' },
|
||
{ title: 'Consegnare', body: () => 'L’agente scrive su disco, controlli nell’iframe sandbox ed esporti HTML / PDF / PPTX / ZIP / Markdown.' },
|
||
],
|
||
footLeft: 'Le skill fissano l’intento. I file rendono reale il risultato.',
|
||
},
|
||
work: {
|
||
rule: 'Lavori selezionati · catalogo 2026',
|
||
editedBy: 'Redazione Open Design',
|
||
label: 'Lavori selezionati',
|
||
titlePrefix: 'Skill che trasformano brief in',
|
||
titleEmphasisA: 'artifact memorabili',
|
||
titleMiddle: 'e',
|
||
titleEmphasisB: 'consegnabili',
|
||
titleSuffix: '',
|
||
viewAll: (skills) => `Vedi tutte le ${skills} skill`,
|
||
cards: [
|
||
{ label: 'Skill in evidenza', title: 'guizang-ppt', body: 'Web PPT in stile rivista per lanci prodotto e pitch deck. Incluso senza modifiche, con LICENSE originale.', metaLeft: '2026 · DECK', metaRight: 'STANDARD' },
|
||
{ label: 'Sistema collegato', title: 'kami', body: 'Sistema editoriale cartaceo: canvas pergamena caldo, accento blu inchiostro, gerarchia serif e struttura multilingue.', metaLeft: '2026 · CARTA', metaRight: 'SISTEMA' },
|
||
],
|
||
},
|
||
testimonial: {
|
||
rule: 'Collaboratori / genealogia',
|
||
shoulders: 'Costruire su spalle solide',
|
||
label: 'Collaboratori',
|
||
quote: '“Open Design ha trasformato idee AI vaghe in un sistema visivo nitido, credibile e davvero nuovo.”',
|
||
authorTitle: 'Direttrice creativa · North Form',
|
||
partnersText: 'Costruiamo sul lavoro di team che hanno già consegnato cultura design open source.',
|
||
partnerLabels: ['Pensiero', 'Deck', 'UX', 'Terminal', 'Frames'],
|
||
readMore: 'Leggi altre storie',
|
||
},
|
||
faqSection: {
|
||
rule: 'Domande frequenti',
|
||
answers: 'Risposte ufficiali, niente marketing',
|
||
label: 'FAQ di Open Design',
|
||
titlePrefix: 'Domande su',
|
||
titleMiddle: 'e',
|
||
titleSuffix: 'l’alternativa open source a Claude Design',
|
||
},
|
||
cta: {
|
||
rule: 'Contatto / conversazione',
|
||
command: 'Tre comandi per consegnare',
|
||
label: 'Apri una conversazione',
|
||
titlePrefix: 'Costruiamo qualcosa',
|
||
titleOpen: 'di aperto',
|
||
titleMiddle: 'e',
|
||
titleVisual: 'visivamente forte',
|
||
titleSuffix: '',
|
||
lead: 'Metti una Star su GitHub, apri una issue o esegui pnpm tools-dev stasera. Tre comandi e il loop è tuo.',
|
||
star: 'Metti Star su GitHub',
|
||
issue: 'Apri issue',
|
||
live: 'Online',
|
||
ribbon: 'OPEN DESIGN · FINE.',
|
||
},
|
||
}),
|
||
vi: homeFallbackCopy({
|
||
railRight: 'Open Design — tập 01 · số 26 · Apache-2.0',
|
||
railLeft: 'Skill · hệ thống · agent · BYOK · ưu tiên local',
|
||
discordAria: 'Tham gia Discord Open Design',
|
||
joinDiscord: 'Tham gia Discord',
|
||
heroLabel: 'Studio thiết kế mã nguồn mở',
|
||
heroIssue: 'Hồ sơ Nº 01 · local / mở / Trái Đất',
|
||
heroTitlePrefix: 'Claude Design',
|
||
heroTitleEmphasis: 'mã nguồn mở',
|
||
heroTitleMiddle: 'trên',
|
||
heroTitleSecondEmphasis: 'agent của bạn',
|
||
heroLead: (skills, systems) =>
|
||
`Open Design là lựa chọn chính thức, ưu tiên local, thay Claude Design. Agent viết code bạn đang dùng — Claude Code, Codex, Cursor, Gemini, OpenCode hoặc Qwen — trở thành engine thiết kế với ${skills} skill có thể ghép và ${systems} hệ DESIGN.md di động.`,
|
||
star: 'Star trên GitHub',
|
||
download: 'Tải desktop',
|
||
plate: 'Bản Nº 08',
|
||
composedIn: 'Biên soạn tại',
|
||
stats: [
|
||
{ strong: 'Skill', text: 'có thể giao' },
|
||
{ strong: 'Hệ thống', text: 'di động' },
|
||
{ strong: 'CLI', text: 'agent của bạn' },
|
||
],
|
||
heroFoot: 'pnpm tools-dev · bắt đầu với 3 lệnh',
|
||
heroIndex: ['Phát hiện', 'Khám phá', 'Định hướng', 'Giao hàng'],
|
||
officialAria: 'Nguồn chính thức của Open Design',
|
||
officialLabel: 'Nguồn chính thức',
|
||
officialItems: [
|
||
{ label: 'Trang chính thức', value: 'open-design.ai' },
|
||
{ label: 'Mã nguồn', value: 'nexu-io/open-design' },
|
||
{ label: 'Bản phát hành', value: 'version' },
|
||
{ label: 'Tải xuống', value: 'Desktop · macOS · Win · Linux' },
|
||
{ label: 'Tài liệu', value: 'README + /quickstart/' },
|
||
{ label: 'Cộng đồng', value: 'Discord' },
|
||
],
|
||
about: {
|
||
rule: 'Giới thiệu / tuyên ngôn',
|
||
volume: 'Open Design / tập 01',
|
||
label: 'Về studio',
|
||
titlePrefix: 'Chúng tôi xem',
|
||
titleAgent: 'agent của bạn',
|
||
titleMiddle: 'là',
|
||
titleCollaborator: 'cộng sự sáng tạo',
|
||
titleSuffix: 'không phải hộp đen',
|
||
lead:
|
||
'Những agent viết code mạnh nhất đã có trên laptop của bạn. Chúng tôi không đưa thêm một agent đóng, mà kết nối chúng vào workflow thiết kế dựa trên skill: chạy local bằng pnpm tools-dev, deploy web layer lên Vercel, và giữ BYOK ở mọi tầng.',
|
||
approach: 'Đọc cách tiếp cận',
|
||
practice: 'Nghiên cứu · thiết kế · kỹ thuật · lặp',
|
||
stampTop: 'Thực hành studio',
|
||
stampBottom: 'Từ MMXXVI',
|
||
sideNote: ['Từ hành vi', 'của model đến gu', 'thị giác, chúng tôi', 'prototype toàn bộ stack', 'của hệ sáng tạo.'],
|
||
caption: 'Nghiên cứu hình thái · tri giác · tưởng tượng máy. (Open Design, MMXXVI)',
|
||
},
|
||
capabilities: {
|
||
rule: 'Năng lực · skill · hệ thống',
|
||
surfaces: '4 bề mặt / 1 vòng lặp',
|
||
ribbon: 'OPEN DESIGN · MA TRẬN NĂNG LỰC · OD/26',
|
||
label: 'Năng lực',
|
||
titlePrefix: 'Skill, hệ thống và bề mặt',
|
||
titleEmphasis: 'cho trí tuệ',
|
||
titleSuffix: 'sáng tạo',
|
||
lead:
|
||
'Chúng tôi kết hợp gu của con người với agent bạn đã tin dùng để giao interface, deck và trang biên tập có chủ đích, giàu biểu đạt và sống động.',
|
||
cards: [
|
||
{ tag: 'Skill', title: 'Skill,\nkhông phải plugin', body: (skills) => `${skills} bundle dựa trên SKILL.md. Thả thư mục vào, khởi động lại daemon, nó sẽ xuất hiện trong picker.`, aria: 'Xem tất cả skill trên GitHub' },
|
||
{ tag: 'Hệ thống', title: 'Hệ thiết kế\nbằng Markdown', body: (_skills, systems) => `${systems} hệ DESIGN.md di động. Linear, Vercel, Stripe, Apple, Cursor, Figma và nhiều hơn nữa.`, aria: 'Xem tất cả hệ thiết kế trên GitHub' },
|
||
{ tag: 'Adapter', title: '12 adapter\ncho agent', body: () => 'Claude · Codex · Gemini · Cursor · Copilot · OpenCode · Devin · Hermes · Pi · Kimi · Kiro · Qwen được tự động phát hiện từ $PATH.', aria: 'Đọc mã nguồn adapter' },
|
||
{ tag: 'BYOK', title: 'BYOK\nở mọi tầng', body: () => 'Proxy tương thích OpenAI. DeepSeek, Groq, OpenRouter hoặc vLLM của bạn: nhập baseUrl và key, rồi giao hàng.', aria: 'Xem cấu hình BYOK' },
|
||
],
|
||
},
|
||
labs: {
|
||
rule: 'Lab / danh mục skill',
|
||
ongoing: (skills) => `05 thử nghiệm đang chạy trong ${skills}`,
|
||
label: 'Lab',
|
||
titlePrefix: 'Một',
|
||
titleEmphasis: 'kho thử nghiệm',
|
||
titleSuffix: 'đang lớn lên cho skill, deck và hình thức tạo sinh',
|
||
pills: { all: 'Tất cả', prototype: 'Bản mẫu', deck: 'Deck', mobile: 'Mobile', office: 'Văn phòng' },
|
||
metaTitle: 'Thử nghiệm đang diễn ra',
|
||
metaBody: 'Ghi lại ý tưởng đang đổi thay\nXây trí tuệ bằng thực hành\nMài sắc phán đoán qua làm thật',
|
||
items: [
|
||
{ badge: 'Deck', title: 'Deck kiểu tạp chí', body: 'Slide biên tập bằng guizang-ppt. Gồm layout tạp chí và hero WebGL.' },
|
||
{ badge: 'Media', title: 'Vật liệu tổng hợp', body: 'Gpt-image-2, Seedance và HyperFrames. Ảnh, video, âm thanh cùng bề mặt chat với code.' },
|
||
{ badge: 'Loop', title: 'Biên đạo prompt', body: 'Trước pixel đầu tiên, form câu hỏi khóa hướng đi. Ba mươi giây chọn giúp tránh nhiều giờ sửa lại.' },
|
||
{ badge: 'Critique', title: 'Suy luận thị giác', body: 'Self-critique năm trục bảo vệ artifact: lập trường, phân cấp, thực thi, độ cụ thể và tiết chế.' },
|
||
{ badge: 'Runtime', title: 'Hệ mềm', body: 'Iframe sandbox, todo streaming, filesystem cwd thật và vòng lặp thích ứng giữa người và máy.' },
|
||
],
|
||
foot: (skills) => `05 / ${skills} SKILL`,
|
||
viewLibrary: 'XEM TOÀN BỘ THƯ VIỆN →',
|
||
openAria: (title) => `Mở ${title} trên GitHub`,
|
||
},
|
||
method: {
|
||
rule: 'Phương pháp / vòng lặp',
|
||
stages: '04 giai đoạn, lặp lại',
|
||
label: 'Phương pháp',
|
||
titlePrefix: 'Từ',
|
||
titleEmphasis: 'tín hiệu',
|
||
titleSuffix: 'đến hệ thống',
|
||
lead: 'Mỗi giai đoạn đều lặp, trực quan và dựa trên nghiên cứu: file có thể ghép thay vì prompt mơ hồ.',
|
||
steps: [
|
||
{ title: 'Phát hiện', body: (skills, systems) => `Daemon quét $PATH để tìm 12 agent viết code và nạp ${skills} skill cùng ${systems} hệ thống khi khởi động.` },
|
||
{ title: 'Khám phá', body: () => 'Turn đầu là form câu hỏi: bề mặt, người xem, tông, quy mô và ngữ cảnh brand được khóa trong 30 giây.' },
|
||
{ title: 'Định hướng', body: () => 'Chọn một trong 5 hướng thị giác xác định với palette OKLch, font stack và posture layout.' },
|
||
{ title: 'Giao hàng', body: () => 'Agent ghi ra disk, bạn xem trong iframe sandbox và export HTML / PDF / PPTX / ZIP / Markdown.' },
|
||
],
|
||
footLeft: 'Skill đặt ý định. File biến kết quả thành hiện thực.',
|
||
},
|
||
work: {
|
||
rule: 'Tác phẩm chọn lọc · catalog 2026',
|
||
editedBy: 'Biên tập bởi Open Design',
|
||
label: 'Tác phẩm chọn lọc',
|
||
titlePrefix: 'Skill biến brief thành',
|
||
titleEmphasisA: 'artifact đáng nhớ',
|
||
titleMiddle: 'và',
|
||
titleEmphasisB: 'có thể giao',
|
||
titleSuffix: '',
|
||
viewAll: (skills) => `Xem toàn bộ ${skills} skill`,
|
||
cards: [
|
||
{ label: 'Skill nổi bật', title: 'guizang-ppt', body: 'Web PPT kiểu tạp chí cho launch sản phẩm và pitch deck. Đóng gói nguyên bản, giữ LICENSE gốc.', metaLeft: '2026 · DECK', metaRight: 'CHUẨN' },
|
||
{ label: 'Hệ liên kết', title: 'kami', body: 'Hệ giấy biên tập: canvas parchment ấm, accent xanh mực, phân cấp serif và cấu trúc đa ngôn ngữ.', metaLeft: '2026 · GIẤY', metaRight: 'HỆ' },
|
||
],
|
||
},
|
||
testimonial: {
|
||
rule: 'Cộng tác viên / mạch nguồn',
|
||
shoulders: 'Xây trên nền tảng vững',
|
||
label: 'Cộng tác viên',
|
||
quote: '“Open Design biến ý tưởng AI mơ hồ thành một hệ thị giác sắc nét, đáng tin và thật sự mới.”',
|
||
authorTitle: 'Giám đốc sáng tạo · North Form',
|
||
partnersText: 'Chúng tôi dựa trên những đội đã thực sự đưa văn hóa thiết kế open source ra đời.',
|
||
partnerLabels: ['Tư duy', 'Deck', 'UX', 'Terminal', 'Frame'],
|
||
readMore: 'Đọc thêm câu chuyện',
|
||
},
|
||
faqSection: {
|
||
rule: 'Câu hỏi thường gặp',
|
||
answers: 'Câu trả lời chính thức, không khẩu hiệu',
|
||
label: 'FAQ Open Design',
|
||
titlePrefix: 'Câu hỏi về',
|
||
titleMiddle: 'và',
|
||
titleSuffix: 'lựa chọn open source thay Claude Design',
|
||
},
|
||
cta: {
|
||
rule: 'Liên hệ / trò chuyện',
|
||
command: 'Ba lệnh để giao hàng',
|
||
label: 'Mở cuộc trò chuyện',
|
||
titlePrefix: 'Hãy cùng tạo thứ',
|
||
titleOpen: 'mở',
|
||
titleMiddle: 'và',
|
||
titleVisual: 'mạnh về thị giác',
|
||
titleSuffix: '',
|
||
lead: 'Star trên GitHub, mở issue hoặc chạy pnpm tools-dev tối nay. Ba lệnh và vòng lặp thuộc về bạn.',
|
||
star: 'Star trên GitHub',
|
||
issue: 'Mở issue',
|
||
live: 'Đang chạy',
|
||
ribbon: 'OPEN DESIGN · KẾT.',
|
||
},
|
||
}),
|
||
pl: homeFallbackCopy({
|
||
railRight: 'Open Design — tom 01 · wydanie nr 26 · Apache-2.0',
|
||
railLeft: 'Skills · systemy · agenci · BYOK · lokalnie najpierw',
|
||
discordAria: 'Dołącz do Discorda Open Design',
|
||
joinDiscord: 'Dołącz do Discorda',
|
||
heroLabel: 'Studio designu open source',
|
||
heroIssue: 'Sprawa Nº 01 · lokalnie / otwarte / Ziemia',
|
||
heroTitlePrefix: 'Claude Design',
|
||
heroTitleEmphasis: 'open source',
|
||
heroTitleMiddle: 'na',
|
||
heroTitleSecondEmphasis: 'Twoim agencie',
|
||
heroLead: (skills, systems) =>
|
||
`Open Design to oficjalna, lokalna z założenia alternatywa dla Claude Design. Twój agent do kodu — Claude Code, Codex, Cursor, Gemini, OpenCode albo Qwen — staje się silnikiem designu z ${skills} kompozycyjnymi skills i ${systems} przenośnymi systemami DESIGN.md.`,
|
||
star: 'Daj Star na GitHubie',
|
||
download: 'Pobierz desktop',
|
||
plate: 'Tablica Nº 08',
|
||
composedIn: 'Złożono w',
|
||
stats: [
|
||
{ strong: 'Skills', text: 'do dostarczenia' },
|
||
{ strong: 'Systemy', text: 'przenośne' },
|
||
{ strong: 'CLI', text: 'Twój agent' },
|
||
],
|
||
heroFoot: 'pnpm tools-dev · start w 3 komendach',
|
||
heroIndex: ['Wykryj', 'Odkryj', 'Pokieruj', 'Dostarcz'],
|
||
officialAria: 'Oficjalne źródło Open Design',
|
||
officialLabel: 'Oficjalne źródło',
|
||
officialItems: [
|
||
{ label: 'Oficjalna strona', value: 'open-design.ai' },
|
||
{ label: 'Kod źródłowy', value: 'nexu-io/open-design' },
|
||
{ label: 'Wydania', value: 'version' },
|
||
{ label: 'Pobieranie', value: 'Desktop · macOS · Win · Linux' },
|
||
{ label: 'Dokumentacja', value: 'README + /quickstart/' },
|
||
{ label: 'Społeczność', value: 'Discord' },
|
||
],
|
||
about: {
|
||
rule: 'O nas / manifest',
|
||
volume: 'Open Design / tom 01',
|
||
label: 'O studiu',
|
||
titlePrefix: 'Traktujemy',
|
||
titleAgent: 'Twojego agenta',
|
||
titleMiddle: 'jak',
|
||
titleCollaborator: 'kreatywnego współpracownika',
|
||
titleSuffix: 'nie czarną skrzynkę',
|
||
lead:
|
||
'Najsilniejsze agenty do kodu są już na Twoim laptopie. Nie dostarczamy kolejnego zamkniętego agenta: łączymy je z workflow designu opartym na skills, lokalnym przez pnpm tools-dev, gotowym do wdrożenia na Vercel i z BYOK na każdej warstwie.',
|
||
approach: 'Przeczytaj nasze podejście',
|
||
practice: 'Badania · design · inżynieria · iteracja',
|
||
stampTop: 'Praktyka studia',
|
||
stampBottom: 'Od MMXXVI',
|
||
sideNote: ['Od zachowania', 'modelu po smak', 'wizualny prototypujemy', 'cały stos', 'systemów kreatywnych.'],
|
||
caption: 'Studia formy · percepcji · wyobraźni maszynowej. (Open Design, MMXXVI)',
|
||
},
|
||
capabilities: {
|
||
rule: 'Możliwości · skills · systemy',
|
||
surfaces: '4 powierzchnie / 1 pętla',
|
||
ribbon: 'OPEN DESIGN · MACIERZ MOŻLIWOŚCI · OD/26',
|
||
label: 'Możliwości',
|
||
titlePrefix: 'Skills, systemy i powierzchnie',
|
||
titleEmphasis: 'dla kreatywnej',
|
||
titleSuffix: 'inteligencji',
|
||
lead:
|
||
'Łączymy ludzki gust z agentem, któremu już ufasz, aby dostarczać interfejsy, decki i strony redakcyjne z intencją, ekspresją i życiem.',
|
||
cards: [
|
||
{ tag: 'Skills', title: 'Skills,\nnie pluginy', body: (skills) => `${skills} pakietów opartych o SKILL.md. Wrzuć folder, uruchom daemon ponownie i pojawi się w wyborze.`, aria: 'Zobacz wszystkie skills na GitHubie' },
|
||
{ tag: 'Systemy', title: 'Systemy designu\nw Markdown', body: (_skills, systems) => `${systems} przenośnych systemów DESIGN.md. Linear, Vercel, Stripe, Apple, Cursor, Figma i więcej.`, aria: 'Zobacz wszystkie systemy designu na GitHubie' },
|
||
{ tag: 'Adaptery', title: '12 adapterów\ndla agentów', body: () => 'Claude · Codex · Gemini · Cursor · Copilot · OpenCode · Devin · Hermes · Pi · Kimi · Kiro · Qwen są wykrywane automatycznie przez $PATH.', aria: 'Przeczytaj kod adapterów' },
|
||
{ tag: 'BYOK', title: 'BYOK\nna każdej warstwie', body: () => 'Proxy zgodne z OpenAI. DeepSeek, Groq, OpenRouter albo własny vLLM: podaj baseUrl i key, potem dostarczaj.', aria: 'Zobacz konfigurację BYOK' },
|
||
],
|
||
},
|
||
labs: {
|
||
rule: 'Laboratorium / katalog skills',
|
||
ongoing: (skills) => `05 aktywnych eksperymentów z ${skills}`,
|
||
label: 'Lab',
|
||
titlePrefix: 'Rosnące',
|
||
titleEmphasis: 'archiwum eksperymentów',
|
||
titleSuffix: 'dla skills, decków i form generatywnych',
|
||
pills: { all: 'Wszystko', prototype: 'Prototyp', deck: 'Deck', mobile: 'Mobile', office: 'Biuro' },
|
||
metaTitle: 'Eksperymenty w toku',
|
||
metaBody: 'Dokumentować zmienne idee\nBudować inteligencję przez działanie\nOstrzyć osąd praktyką',
|
||
items: [
|
||
{ badge: 'Deck', title: 'Decki magazynowe', body: 'Slajdy redakcyjne z guizang-ppt. Layout magazynowy i hero WebGL w pakiecie.' },
|
||
{ badge: 'Media', title: 'Materia syntetyczna', body: 'Gpt-image-2, Seedance i HyperFrames. Obraz, wideo i audio na tej samej powierzchni czatu co kod.' },
|
||
{ badge: 'Loop', title: 'Choreografia promptu', body: 'Przed pierwszym pikselem formularz pytań blokuje kierunek. Trzydzieści sekund wyboru oszczędza godziny poprawek.' },
|
||
{ badge: 'Krytyka', title: 'Rozumowanie wizualne', body: 'Pięcioosiowa self-critique chroni każdy artifact: postawę, hierarchię, wykonanie, konkret i powściągliwość.' },
|
||
{ badge: 'Runtime', title: 'Miękkie systemy', body: 'Iframe sandbox, streaming todo, prawdziwy filesystem cwd i adaptacyjne pętle człowiek-maszyna.' },
|
||
],
|
||
foot: (skills) => `05 / ${skills} SKILLI`,
|
||
viewLibrary: 'ZOBACZ CAŁĄ BIBLIOTEKĘ →',
|
||
openAria: (title) => `Otwórz ${title} na GitHubie`,
|
||
},
|
||
method: {
|
||
rule: 'Metoda / pętla',
|
||
stages: '04 etapy, iteracyjnie',
|
||
label: 'Metoda',
|
||
titlePrefix: 'Od',
|
||
titleEmphasis: 'sygnału',
|
||
titleSuffix: 'do systemu',
|
||
lead: 'Każdy etap jest iteracyjny, wizualny i badawczy: kompozycyjne pliki zamiast nieprzejrzystych promptów.',
|
||
steps: [
|
||
{ title: 'Wykryj', body: (skills, systems) => `Daemon skanuje $PATH w poszukiwaniu 12 agentów do kodu i przy starcie ładuje ${skills} skills oraz ${systems} systemów.` },
|
||
{ title: 'Odkryj', body: () => 'Pierwszy turn to formularz: powierzchnia, odbiorcy, ton, skala i kontekst marki są ustalone w 30 sekund.' },
|
||
{ title: 'Pokieruj', body: () => 'Wybierz jeden z 5 deterministycznych kierunków wizualnych z paletą OKLch, font stack i postawą layoutu.' },
|
||
{ title: 'Dostarcz', body: () => 'Agent zapisuje na dysk, sprawdzasz w iframe sandbox i eksportujesz HTML / PDF / PPTX / ZIP / Markdown.' },
|
||
],
|
||
footLeft: 'Skills ustawiają intencję. Pliki czynią wynik realnym.',
|
||
},
|
||
work: {
|
||
rule: 'Wybrane prace · katalog 2026',
|
||
editedBy: 'Redakcja Open Design',
|
||
label: 'Wybrane prace',
|
||
titlePrefix: 'Skills zmieniają briefy w',
|
||
titleEmphasisA: 'zapamiętywalne artifacts',
|
||
titleMiddle: 'i',
|
||
titleEmphasisB: 'dostarczalne',
|
||
titleSuffix: '',
|
||
viewAll: (skills) => `Zobacz wszystkie ${skills} skills`,
|
||
cards: [
|
||
{ label: 'Wyróżniony skill', title: 'guizang-ppt', body: 'Web PPT w stylu magazynu dla launchy produktowych i pitch decków. Dołączony bez zmian, z oryginalną LICENSE.', metaLeft: '2026 · DECK', metaRight: 'STANDARD' },
|
||
{ label: 'Powiązany system', title: 'kami', body: 'Papierowy system redakcyjny: ciepły parchment canvas, ink-blue accent, hierarchia serif i struktura dla wielu języków.', metaLeft: '2026 · PAPIER', metaRight: 'SYSTEM' },
|
||
],
|
||
},
|
||
testimonial: {
|
||
rule: 'Współpracownicy / rodowód',
|
||
shoulders: 'Budować na mocnych barkach',
|
||
label: 'Współpracownicy',
|
||
quote: '„Open Design zmienił niejasne idee AI w ostry, wiarygodny i naprawdę nowy system wizualny.”',
|
||
authorTitle: 'Dyrektorka kreatywna · North Form',
|
||
partnersText: 'Opieramy się na zespołach, które już dostarczały kulturę designu open source.',
|
||
partnerLabels: ['Myśl', 'Decki', 'UX', 'Terminal', 'Frames'],
|
||
readMore: 'Czytaj więcej historii',
|
||
},
|
||
faqSection: {
|
||
rule: 'Częste pytania',
|
||
answers: 'Oficjalne odpowiedzi, bez marketingu',
|
||
label: 'FAQ Open Design',
|
||
titlePrefix: 'Pytania o',
|
||
titleMiddle: 'i',
|
||
titleSuffix: 'alternatywę open source dla Claude Design',
|
||
},
|
||
cta: {
|
||
rule: 'Kontakt / rozmowa',
|
||
command: 'Trzy komendy do dostarczenia',
|
||
label: 'Rozpocznij rozmowę',
|
||
titlePrefix: 'Zbudujmy coś',
|
||
titleOpen: 'otwartego',
|
||
titleMiddle: 'i',
|
||
titleVisual: 'mocnego wizualnie',
|
||
titleSuffix: '',
|
||
lead: 'Daj Star na GitHubie, otwórz issue albo uruchom pnpm tools-dev dziś wieczorem. Trzy komendy i pętla jest Twoja.',
|
||
star: 'Daj Star na GitHubie',
|
||
issue: 'Otwórz issue',
|
||
live: 'Online',
|
||
ribbon: 'OPEN DESIGN · KONIEC.',
|
||
},
|
||
}),
|
||
id: homeFallbackCopy({
|
||
railRight: 'Open Design — vol. 01 · edisi nº 26 · Apache-2.0',
|
||
railLeft: 'Skill · sistem · agent · BYOK · local-first',
|
||
discordAria: 'Bergabung ke Discord Open Design',
|
||
joinDiscord: 'Bergabung Discord',
|
||
heroLabel: 'Studio desain open source',
|
||
heroIssue: 'Kasus Nº 01 · lokal / terbuka / Bumi',
|
||
heroTitlePrefix: 'Claude Design',
|
||
heroTitleEmphasis: 'open source',
|
||
heroTitleMiddle: 'di',
|
||
heroTitleSecondEmphasis: 'agent Anda sendiri',
|
||
heroLead: (skills, systems) =>
|
||
`Open Design adalah alternatif resmi, local-first, untuk Claude Design. Agent coding yang sudah Anda pakai — Claude Code, Codex, Cursor, Gemini, OpenCode, atau Qwen — menjadi mesin desain dengan ${skills} skill komposable dan ${systems} sistem DESIGN.md portabel.`,
|
||
star: 'Beri Star di GitHub',
|
||
download: 'Unduh desktop',
|
||
plate: 'Pelat Nº 08',
|
||
composedIn: 'Disusun di',
|
||
stats: [
|
||
{ strong: 'Skill', text: 'siap dikirim' },
|
||
{ strong: 'Sistem', text: 'portabel' },
|
||
{ strong: 'CLI', text: 'agent Anda' },
|
||
],
|
||
heroFoot: 'pnpm tools-dev · mulai dengan 3 perintah',
|
||
heroIndex: ['Deteksi', 'Temukan', 'Arahkan', 'Kirim'],
|
||
officialAria: 'Sumber resmi Open Design',
|
||
officialLabel: 'Sumber resmi',
|
||
officialItems: [
|
||
{ label: 'Situs resmi', value: 'open-design.ai' },
|
||
{ label: 'Kode sumber', value: 'nexu-io/open-design' },
|
||
{ label: 'Rilis', value: 'version' },
|
||
{ label: 'Unduh', value: 'Desktop · macOS · Win · Linux' },
|
||
{ label: 'Dokumentasi', value: 'README + /quickstart/' },
|
||
{ label: 'Komunitas', value: 'Discord' },
|
||
],
|
||
about: {
|
||
rule: 'Tentang / manifesto',
|
||
volume: 'Open Design / vol. 01',
|
||
label: 'Tentang studio',
|
||
titlePrefix: 'Kami memperlakukan',
|
||
titleAgent: 'agent Anda',
|
||
titleMiddle: 'sebagai',
|
||
titleCollaborator: 'kolaborator kreatif',
|
||
titleSuffix: 'bukan kotak hitam',
|
||
lead:
|
||
'Agent coding paling kuat sudah ada di laptop Anda. Kami tidak mengirim agent tertutup lain: kami menghubungkannya ke workflow desain berbasis skill, lokal dengan pnpm tools-dev, dapat dideploy ke Vercel, dan tetap BYOK di setiap lapisan.',
|
||
approach: 'Baca pendekatan kami',
|
||
practice: 'Riset · desain · engineering · iterasi',
|
||
stampTop: 'Praktik studio',
|
||
stampBottom: 'Sejak MMXXVI',
|
||
sideNote: ['Dari perilaku', 'model sampai rasa', 'visual, kami membuat', 'prototype seluruh stack', 'sistem kreatif.'],
|
||
caption: 'Studi bentuk · persepsi · imajinasi mesin. (Open Design, MMXXVI)',
|
||
},
|
||
capabilities: {
|
||
rule: 'Kapabilitas · skill · sistem',
|
||
surfaces: '4 permukaan / 1 loop',
|
||
ribbon: 'OPEN DESIGN · MATRIKS KAPABILITAS · OD/26',
|
||
label: 'Kapabilitas',
|
||
titlePrefix: 'Skill, sistem, dan permukaan',
|
||
titleEmphasis: 'untuk kecerdasan',
|
||
titleSuffix: 'kreatif',
|
||
lead:
|
||
'Kami menggabungkan selera manusia dengan agent yang sudah Anda percaya untuk mengirim interface, deck, dan halaman editorial yang punya niat, ekspresi, dan hidup.',
|
||
cards: [
|
||
{ tag: 'Skill', title: 'Skill,\nbukan plugin', body: (skills) => `${skills} bundle berbasis SKILL.md. Letakkan folder, restart daemon, lalu muncul di picker.`, aria: 'Lihat semua skill di GitHub' },
|
||
{ tag: 'Sistem', title: 'Sistem desain\ndalam Markdown', body: (_skills, systems) => `${systems} sistem DESIGN.md portabel. Linear, Vercel, Stripe, Apple, Cursor, Figma, dan lainnya.`, aria: 'Lihat semua sistem desain di GitHub' },
|
||
{ tag: 'Adapter', title: '12 adapter\nuntuk agent', body: () => 'Claude · Codex · Gemini · Cursor · Copilot · OpenCode · Devin · Hermes · Pi · Kimi · Kiro · Qwen terdeteksi otomatis dari $PATH.', aria: 'Baca kode adapter agent' },
|
||
{ tag: 'BYOK', title: 'BYOK\ndi setiap lapisan', body: () => 'Proxy kompatibel OpenAI. DeepSeek, Groq, OpenRouter, atau vLLM Anda sendiri: masukkan baseUrl dan key, lalu kirim.', aria: 'Lihat konfigurasi BYOK' },
|
||
],
|
||
},
|
||
labs: {
|
||
rule: 'Lab / katalog skill',
|
||
ongoing: (skills) => `05 eksperimen aktif dari ${skills}`,
|
||
label: 'Lab',
|
||
titlePrefix: 'Arsip',
|
||
titleEmphasis: 'eksperimen',
|
||
titleSuffix: 'yang terus tumbuh untuk skill, deck, dan bentuk generatif',
|
||
pills: { all: 'Semua', prototype: 'Prototipe', deck: 'Deck', mobile: 'Mobile', office: 'Kantor' },
|
||
metaTitle: 'Eksperimen berjalan',
|
||
metaBody: 'Mendokumentasikan ide bergerak\nMembangun kecerdasan lewat praktik\nMengasah penilaian dengan kerja nyata',
|
||
items: [
|
||
{ badge: 'Deck', title: 'Deck bergaya majalah', body: 'Slide editorial dengan guizang-ppt. Layout majalah dan hero WebGL disertakan.' },
|
||
{ badge: 'Media', title: 'Materi sintetis', body: 'Gpt-image-2, Seedance, dan HyperFrames. Gambar, video, dan audio di permukaan chat yang sama dengan kode.' },
|
||
{ badge: 'Loop', title: 'Koreografi prompt', body: 'Sebelum pixel pertama, form pertanyaan mengunci arah. Tiga puluh detik pilihan menghindari jam revisi.' },
|
||
{ badge: 'Kritik', title: 'Penalaran visual', body: 'Self-critique lima sumbu melindungi setiap artifact: sikap, hierarki, eksekusi, spesifisitas, dan kendali.' },
|
||
{ badge: 'Runtime', title: 'Sistem lunak', body: 'Iframe sandbox, todo streaming, filesystem cwd nyata, dan loop adaptif manusia-mesin.' },
|
||
],
|
||
foot: (skills) => `05 / ${skills} SKILL`,
|
||
viewLibrary: 'LIHAT SELURUH PERPUSTAKAAN →',
|
||
openAria: (title) => `Buka ${title} di GitHub`,
|
||
},
|
||
method: {
|
||
rule: 'Metode / loop',
|
||
stages: '04 tahap, iteratif',
|
||
label: 'Metode',
|
||
titlePrefix: 'Dari',
|
||
titleEmphasis: 'sinyal',
|
||
titleSuffix: 'ke sistem',
|
||
lead: 'Setiap tahap iteratif, visual, dan berbasis riset: file komposable, bukan prompt yang kabur.',
|
||
steps: [
|
||
{ title: 'Deteksi', body: (skills, systems) => `Daemon memindai $PATH untuk 12 agent coding dan memuat ${skills} skill plus ${systems} sistem saat start.` },
|
||
{ title: 'Temukan', body: () => 'Turn pertama adalah form pertanyaan: permukaan, audiens, tone, skala, dan konteks brand dikunci dalam 30 detik.' },
|
||
{ title: 'Arahkan', body: () => 'Pilih satu dari 5 arah visual deterministik dengan palet OKLch, font stack, dan postur layout.' },
|
||
{ title: 'Kirim', body: () => 'Agent menulis ke disk, Anda cek di iframe sandbox dan mengekspor HTML / PDF / PPTX / ZIP / Markdown.' },
|
||
],
|
||
footLeft: 'Skill menetapkan niat. File membuat hasil menjadi nyata.',
|
||
},
|
||
work: {
|
||
rule: 'Karya pilihan · katalog 2026',
|
||
editedBy: 'Disunting Open Design',
|
||
label: 'Karya pilihan',
|
||
titlePrefix: 'Skill mengubah brief menjadi',
|
||
titleEmphasisA: 'artifact berkesan',
|
||
titleMiddle: 'dan',
|
||
titleEmphasisB: 'siap dikirim',
|
||
titleSuffix: '',
|
||
viewAll: (skills) => `Lihat semua ${skills} skill`,
|
||
cards: [
|
||
{ label: 'Skill unggulan', title: 'guizang-ppt', body: 'Web PPT bergaya majalah untuk product launch dan pitch deck. Dibundel tanpa perubahan, LICENSE asli tetap ada.', metaLeft: '2026 · DECK', metaRight: 'STANDAR' },
|
||
{ label: 'Sistem terkait', title: 'kami', body: 'Sistem kertas editorial: canvas parchment hangat, aksen biru tinta, hierarki serif, dan struktur multibahasa.', metaLeft: '2026 · KERTAS', metaRight: 'SISTEM' },
|
||
],
|
||
},
|
||
testimonial: {
|
||
rule: 'Kolaborator / garis asal',
|
||
shoulders: 'Membangun di atas fondasi kuat',
|
||
label: 'Kolaborator',
|
||
quote: '“Open Design mengubah ide AI yang samar menjadi sistem visual yang tajam, dapat dipercaya, dan benar-benar baru.”',
|
||
authorTitle: 'Direktur kreatif · North Form',
|
||
partnersText: 'Kami berdiri di atas tim yang sudah mengirim budaya desain open source.',
|
||
partnerLabels: ['Pikiran', 'Deck', 'UX', 'Terminal', 'Frame'],
|
||
readMore: 'Baca cerita lainnya',
|
||
},
|
||
faqSection: {
|
||
rule: 'Pertanyaan umum',
|
||
answers: 'Jawaban resmi, tanpa marketing',
|
||
label: 'FAQ Open Design',
|
||
titlePrefix: 'Pertanyaan tentang',
|
||
titleMiddle: 'dan',
|
||
titleSuffix: 'alternatif open source untuk Claude Design',
|
||
},
|
||
cta: {
|
||
rule: 'Kontak / percakapan',
|
||
command: 'Tiga perintah untuk mengirim',
|
||
label: 'Mulai percakapan',
|
||
titlePrefix: 'Mari membangun sesuatu yang',
|
||
titleOpen: 'terbuka',
|
||
titleMiddle: 'dan',
|
||
titleVisual: 'kuat secara visual',
|
||
titleSuffix: '',
|
||
lead: 'Beri Star di GitHub, buka issue, atau jalankan pnpm tools-dev malam ini. Tiga perintah dan loop menjadi milik Anda.',
|
||
star: 'Beri Star di GitHub',
|
||
issue: 'Buka issue',
|
||
live: 'Aktif',
|
||
ribbon: 'OPEN DESIGN · SELESAI.',
|
||
},
|
||
}),
|
||
nl: homeFallbackCopy({
|
||
railRight: 'Open Design — deel 01 · nummer 26 · Apache-2.0',
|
||
railLeft: 'Skills · systemen · agents · BYOK · local-first',
|
||
discordAria: 'Word lid van Open Design Discord',
|
||
joinDiscord: 'Word lid van Discord',
|
||
heroLabel: 'Open-source designstudio',
|
||
heroIssue: 'Case Nº 01 · lokaal / open / Aarde',
|
||
heroTitlePrefix: 'Claude Design',
|
||
heroTitleEmphasis: 'open source',
|
||
heroTitleMiddle: 'op',
|
||
heroTitleSecondEmphasis: 'je eigen agent',
|
||
heroLead: (skills, systems) =>
|
||
`Open Design is het officiële local-first alternatief voor Claude Design. Je bestaande code-agent — Claude Code, Codex, Cursor, Gemini, OpenCode of Qwen — wordt een design-engine met ${skills} combineerbare skills en ${systems} draagbare DESIGN.md-systemen.`,
|
||
star: 'Geef een Star op GitHub',
|
||
download: 'Desktop downloaden',
|
||
plate: 'Plaat Nº 08',
|
||
composedIn: 'Samengesteld in',
|
||
stats: [
|
||
{ strong: 'Skills', text: 'leverbaar' },
|
||
{ strong: 'Systemen', text: 'draagbaar' },
|
||
{ strong: 'CLI', text: 'je agent' },
|
||
],
|
||
heroFoot: 'pnpm tools-dev · start in 3 commando’s',
|
||
heroIndex: ['Detecteren', 'Ontdekken', 'Sturen', 'Leveren'],
|
||
officialAria: 'Officiële bron van Open Design',
|
||
officialLabel: 'Officiële bron',
|
||
officialItems: [
|
||
{ label: 'Officiële site', value: 'open-design.ai' },
|
||
{ label: 'Broncode', value: 'nexu-io/open-design' },
|
||
{ label: 'Uitgaven', value: 'version' },
|
||
{ label: 'Download', value: 'Desktop · macOS · Win · Linux' },
|
||
{ label: 'Documentatie', value: 'README + /quickstart/' },
|
||
{ label: 'Gemeenschap', value: 'Discord' },
|
||
],
|
||
about: {
|
||
rule: 'Over / manifest',
|
||
volume: 'Open Design / deel 01',
|
||
label: 'Over de studio',
|
||
titlePrefix: 'Wij behandelen',
|
||
titleAgent: 'je agent',
|
||
titleMiddle: 'als creatieve',
|
||
titleCollaborator: 'partner',
|
||
titleSuffix: 'niet als black box',
|
||
lead:
|
||
'De sterkste code-agents staan al op je laptop. We leveren geen extra gesloten agent, maar verbinden ze met een skill-gedreven designworkflow: lokaal met pnpm tools-dev, inzetbaar op Vercel en BYOK op elke laag.',
|
||
approach: 'Lees onze aanpak',
|
||
practice: 'Onderzoek · design · engineering · iteratie',
|
||
stampTop: 'Studiopraktijk',
|
||
stampBottom: 'Sinds MMXXVI',
|
||
sideNote: ['Van modelgedrag', 'tot visuele smaak', 'prototypen we', 'de volledige stack', 'van creatieve systemen.'],
|
||
caption: 'Studies naar vorm · perceptie · machinale verbeelding. (Open Design, MMXXVI)',
|
||
},
|
||
capabilities: {
|
||
rule: 'Mogelijkheden · skills · systemen',
|
||
surfaces: '4 oppervlakken / 1 loop',
|
||
ribbon: 'OPEN DESIGN · MOGELIJKHEDENMATRIX · OD/26',
|
||
label: 'Mogelijkheden',
|
||
titlePrefix: 'Skills, systemen en oppervlakken',
|
||
titleEmphasis: 'voor creatieve',
|
||
titleSuffix: 'intelligentie',
|
||
lead:
|
||
'We combineren menselijke smaak met de agent die je al vertrouwt om interfaces, decks en redactionele pagina’s met intentie, expressie en leven te leveren.',
|
||
cards: [
|
||
{ tag: 'Skills', title: 'Skills,\ngeen plugins', body: (skills) => `${skills} SKILL.md-bundles. Plaats een map, herstart de daemon en hij verschijnt in de picker.`, aria: 'Bekijk alle skills op GitHub' },
|
||
{ tag: 'Systemen', title: 'Designsystemen\nin Markdown', body: (_skills, systems) => `${systems} draagbare DESIGN.md-systemen. Linear, Vercel, Stripe, Apple, Cursor, Figma en meer.`, aria: 'Bekijk alle designsystemen op GitHub' },
|
||
{ tag: 'Adapters', title: '12 adapters\nvoor agents', body: () => 'Claude · Codex · Gemini · Cursor · Copilot · OpenCode · Devin · Hermes · Pi · Kimi · Kiro · Qwen worden automatisch via $PATH gedetecteerd.', aria: 'Lees de adapterbroncode' },
|
||
{ tag: 'BYOK', title: 'BYOK\nop elke laag', body: () => 'OpenAI-compatibele proxy. DeepSeek, Groq, OpenRouter of je eigen vLLM: vul baseUrl en key in en lever.', aria: 'Bekijk BYOK-configuratie' },
|
||
],
|
||
},
|
||
labs: {
|
||
rule: 'Lab / skillcatalogus',
|
||
ongoing: (skills) => `05 actieve experimenten van ${skills}`,
|
||
label: 'Lab',
|
||
titlePrefix: 'Een groeiend',
|
||
titleEmphasis: 'experimenteel archief',
|
||
titleSuffix: 'voor skills, decks en gegenereerde vormen',
|
||
pills: { all: 'Alles', prototype: 'Proefmodel', deck: 'Deck', mobile: 'Mobiel', office: 'Kantoor' },
|
||
metaTitle: 'Lopende experimenten',
|
||
metaBody: 'Veranderende ideeën documenteren\nIntelligentie bouwen door te maken\nOordeel scherpen met praktijk',
|
||
items: [
|
||
{ badge: 'Deck', title: 'Magazine-decks', body: 'Redactionele slides met guizang-ppt. Magazine-layout en WebGL-hero inbegrepen.' },
|
||
{ badge: 'Media', title: 'Synthetisch materiaal', body: 'Gpt-image-2, Seedance en HyperFrames. Beeld, video en audio op hetzelfde chatvlak als code.' },
|
||
{ badge: 'Loop', title: 'Prompt-choreografie', body: 'Voor de eerste pixel vergrendelt een vragenformulier de richting. Dertig seconden kiezen voorkomt uren herwerk.' },
|
||
{ badge: 'Kritiek', title: 'Visueel redeneren', body: 'Een vijfassige self-critique beschermt elk artifact: houding, hiërarchie, uitvoering, specificiteit en terughoudendheid.' },
|
||
{ badge: 'Runtime', title: 'Zachte systemen', body: 'Sandbox-iframe, streaming todo, echt cwd-filesystem en adaptieve mens-machine-loops.' },
|
||
],
|
||
foot: (skills) => `05 / ${skills} SKILL-BUNDLES`,
|
||
viewLibrary: 'BEKIJK DE HELE BIBLIOTHEEK →',
|
||
openAria: (title) => `Open ${title} op GitHub`,
|
||
},
|
||
method: {
|
||
rule: 'Methode / loop',
|
||
stages: '04 stappen, iteratief',
|
||
label: 'Methode',
|
||
titlePrefix: 'Van',
|
||
titleEmphasis: 'signaal',
|
||
titleSuffix: 'naar systeem',
|
||
lead: 'Elke stap is iteratief, visueel en onderzoeksgedreven: combineerbare bestanden in plaats van ondoorzichtige prompts.',
|
||
steps: [
|
||
{ title: 'Detecteren', body: (skills, systems) => `De daemon scant $PATH voor 12 code-agents en laadt bij start ${skills} skills plus ${systems} systemen.` },
|
||
{ title: 'Ontdekken', body: () => 'De eerste turn is een formulier: oppervlak, publiek, toon, schaal en merkcontext staan vast in 30 seconden.' },
|
||
{ title: 'Sturen', body: () => 'Kies een van 5 deterministische visuele richtingen met OKLch-palet, font stack en layouthouding.' },
|
||
{ title: 'Leveren', body: () => 'De agent schrijft naar disk, jij bekijkt in de sandbox-iframe en exporteert HTML / PDF / PPTX / ZIP / Markdown.' },
|
||
],
|
||
footLeft: 'Skills bepalen de intentie. Bestanden maken het resultaat echt.',
|
||
},
|
||
work: {
|
||
rule: 'Geselecteerd werk · catalogus 2026',
|
||
editedBy: 'Open Design-redactie',
|
||
label: 'Geselecteerd werk',
|
||
titlePrefix: 'Skills veranderen briefs in',
|
||
titleEmphasisA: 'memorabele artifacts',
|
||
titleMiddle: 'en',
|
||
titleEmphasisB: 'leverbaar werk',
|
||
titleSuffix: '',
|
||
viewAll: (skills) => `Bekijk alle ${skills} skills`,
|
||
cards: [
|
||
{ label: 'Uitgelichte skill', title: 'guizang-ppt', body: 'Magazineachtige Web PPT voor productlaunches en pitch decks. Ongewijzigd gebundeld, originele LICENSE behouden.', metaLeft: '2026 · DECK', metaRight: 'STANDAARD' },
|
||
{ label: 'Gekoppeld systeem', title: 'kami', body: 'Een redactioneel papiersysteem: warm parchment canvas, ink-blue accent, serif-hiërarchie en meertalige structuur.', metaLeft: '2026 · PAPIER', metaRight: 'SYSTEEM' },
|
||
],
|
||
},
|
||
testimonial: {
|
||
rule: 'Samenwerkers / lijn',
|
||
shoulders: 'Bouwen op sterke schouders',
|
||
label: 'Samenwerkers',
|
||
quote: '“Open Design veranderde vage AI-ideeën in een scherp, geloofwaardig en echt nieuw visueel systeem.”',
|
||
authorTitle: 'Creative director · North Form',
|
||
partnersText: 'We bouwen op teams die open-source designcultuur al hebben geleverd.',
|
||
partnerLabels: ['Denken', 'Decks', 'UX', 'Terminal', 'Frames'],
|
||
readMore: 'Lees meer verhalen',
|
||
},
|
||
faqSection: {
|
||
rule: 'Veelgestelde vragen',
|
||
answers: 'Officiële antwoorden, geen marketing',
|
||
label: 'Open Design-FAQ',
|
||
titlePrefix: 'Vragen over',
|
||
titleMiddle: 'en',
|
||
titleSuffix: 'het open-source alternatief voor Claude Design',
|
||
},
|
||
cta: {
|
||
rule: 'Contact / gesprek',
|
||
command: 'Drie commando’s tot levering',
|
||
label: 'Start een gesprek',
|
||
titlePrefix: 'Laten we iets',
|
||
titleOpen: 'opens',
|
||
titleMiddle: 'en',
|
||
titleVisual: 'visueel sterks',
|
||
titleSuffix: 'bouwen',
|
||
lead: 'Geef ons een Star op GitHub, open een issue of draai vanavond pnpm tools-dev. Drie commando’s en de loop is van jou.',
|
||
star: 'Geef een Star op GitHub',
|
||
issue: 'Open issue',
|
||
live: 'Live',
|
||
ribbon: 'OPEN DESIGN · EINDE.',
|
||
},
|
||
}),
|
||
ar: homeFallbackCopy({
|
||
railRight: 'Open Design — المجلد 01 · العدد 26 · Apache-2.0',
|
||
railLeft: 'Skills · أنظمة · Agents · BYOK · محلي أولاً',
|
||
discordAria: 'الانضمام إلى Discord الخاص بـ Open Design',
|
||
joinDiscord: 'انضم إلى Discord',
|
||
heroLabel: 'استوديو تصميم مفتوح المصدر',
|
||
heroIssue: 'ملف Nº 01 · محلي / مفتوح / الأرض',
|
||
heroTitlePrefix: 'Claude Design',
|
||
heroTitleEmphasis: 'مفتوح المصدر',
|
||
heroTitleMiddle: 'على',
|
||
heroTitleSecondEmphasis: 'الـ Agent الخاص بك',
|
||
heroLead: (skills, systems) =>
|
||
`Open Design هو البديل الرسمي المحلي أولاً لـ Claude Design. يتحول agent البرمجة الذي تستخدمه — Claude Code أو Codex أو Cursor أو Gemini أو OpenCode أو Qwen — إلى محرك تصميم يعتمد على ${skills} skills قابلة للتركيب و ${systems} أنظمة DESIGN.md قابلة للنقل.`,
|
||
star: 'ضع Star على GitHub',
|
||
download: 'تنزيل desktop',
|
||
plate: 'لوحة Nº 08',
|
||
composedIn: 'تم التكوين في',
|
||
stats: [
|
||
{ strong: 'Skills', text: 'قابلة للتسليم' },
|
||
{ strong: 'أنظمة', text: 'قابلة للنقل' },
|
||
{ strong: 'CLI', text: 'Agent الخاص بك' },
|
||
],
|
||
heroFoot: 'pnpm tools-dev · ابدأ بثلاثة أوامر',
|
||
heroIndex: ['اكتشاف', 'استكشاف', 'توجيه', 'تسليم'],
|
||
officialAria: 'المصدر الرسمي لـ Open Design',
|
||
officialLabel: 'المصدر الرسمي',
|
||
officialItems: [
|
||
{ label: 'الموقع الرسمي', value: 'open-design.ai' },
|
||
{ label: 'الكود المصدري', value: 'nexu-io/open-design' },
|
||
{ label: 'الإصدارات', value: 'version' },
|
||
{ label: 'التنزيل', value: 'Desktop · macOS · Win · Linux' },
|
||
{ label: 'التوثيق', value: 'README + /quickstart/' },
|
||
{ label: 'المجتمع', value: 'Discord' },
|
||
],
|
||
about: {
|
||
rule: 'عن المشروع / البيان',
|
||
volume: 'Open Design / المجلد 01',
|
||
label: 'عن الاستوديو',
|
||
titlePrefix: 'نتعامل مع',
|
||
titleAgent: 'Agent الخاص بك',
|
||
titleMiddle: 'كمتعاون',
|
||
titleCollaborator: 'إبداعي',
|
||
titleSuffix: 'لا كصندوق أسود',
|
||
lead:
|
||
'أقوى agents البرمجة موجودة بالفعل على جهازك. لا نضيف agent مغلقاً آخر، بل نصلها بسير عمل تصميم قائم على skills: يعمل محلياً عبر pnpm tools-dev، ويمكن نشر طبقة الويب على Vercel، ويحافظ على BYOK في كل طبقة.',
|
||
approach: 'اقرأ منهجنا',
|
||
practice: 'بحث · تصميم · هندسة · تكرار',
|
||
stampTop: 'ممارسة الاستوديو',
|
||
stampBottom: 'منذ MMXXVI',
|
||
sideNote: ['من سلوك النموذج', 'إلى الذائقة البصرية', 'نصمم نموذجاً أولياً', 'لكامل مكدس', 'الأنظمة الإبداعية.'],
|
||
caption: 'دراسات في الشكل · الإدراك · الخيال الآلي. (Open Design, MMXXVI)',
|
||
},
|
||
capabilities: {
|
||
rule: 'القدرات · skills · الأنظمة',
|
||
surfaces: '4 أسطح / حلقة واحدة',
|
||
ribbon: 'OPEN DESIGN · مصفوفة القدرات · OD/26',
|
||
label: 'القدرات',
|
||
titlePrefix: 'Skills والأنظمة والأسطح',
|
||
titleEmphasis: 'للذكاء',
|
||
titleSuffix: 'الإبداعي',
|
||
lead:
|
||
'نربط الذائقة البشرية بالـ agent الذي تثق به أصلاً لتسليم واجهات وdecks وصفحات تحريرية ذات قصد وتعبير وحياة.',
|
||
cards: [
|
||
{ tag: 'Skills', title: 'Skills،\nليست plugins', body: (skills) => `${skills} حزمة قائمة على SKILL.md. ضع المجلد، أعد تشغيل daemon، وستظهر في picker.`, aria: 'عرض كل skills على GitHub' },
|
||
{ tag: 'أنظمة', title: 'أنظمة التصميم\nبصيغة Markdown', body: (_skills, systems) => `${systems} أنظمة DESIGN.md قابلة للنقل. Linear وVercel وStripe وApple وCursor وFigma وغيرها.`, aria: 'عرض كل أنظمة التصميم على GitHub' },
|
||
{ tag: 'Adapters', title: '12 adapter\nللـ agents', body: () => 'Claude · Codex · Gemini · Cursor · Copilot · OpenCode · Devin · Hermes · Pi · Kimi · Kiro · Qwen يتم اكتشافها تلقائياً من $PATH.', aria: 'قراءة كود adapters' },
|
||
{ tag: 'BYOK', title: 'BYOK\nفي كل طبقة', body: () => 'Proxy متوافق مع OpenAI. DeepSeek أو Groq أو OpenRouter أو vLLM خاص بك: أدخل baseUrl وkey ثم سلّم.', aria: 'عرض إعداد BYOK' },
|
||
],
|
||
},
|
||
labs: {
|
||
rule: 'المختبر / كتالوج skills',
|
||
ongoing: (skills) => `05 تجارب نشطة من أصل ${skills}`,
|
||
label: 'المختبر',
|
||
titlePrefix: 'أرشيف',
|
||
titleEmphasis: 'تجارب',
|
||
titleSuffix: 'ينمو للـ skills وdecks والأشكال التوليدية',
|
||
pills: { all: 'الكل', prototype: 'نموذج أولي', deck: 'Deck', mobile: 'موبايل', office: 'مكتب' },
|
||
metaTitle: 'تجارب جارية',
|
||
metaBody: 'توثيق الأفكار المتحركة\nبناء الذكاء بالممارسة\nشحذ الحكم عبر العمل',
|
||
items: [
|
||
{ badge: 'Deck', title: 'Decks بأسلوب المجلة', body: 'شرائح تحريرية عبر guizang-ppt. تشمل تخطيط المجلة وWebGL hero.' },
|
||
{ badge: 'Media', title: 'مادة اصطناعية', body: 'Gpt-image-2 وSeedance وHyperFrames. صورة وفيديو وصوت في نفس سطح chat مع code.' },
|
||
{ badge: 'Loop', title: 'تصميم حركة prompt', body: 'قبل أول pixel، يثبت نموذج الأسئلة الاتجاه. ثلاثون ثانية توفر ساعات من إعادة العمل.' },
|
||
{ badge: 'Critique', title: 'استدلال بصري', body: 'Self-critique بخمسة محاور يحمي كل artifact: الموقف، الهرمية، التنفيذ، التحديد، والضبط.' },
|
||
{ badge: 'Runtime', title: 'أنظمة مرنة', body: 'Iframe sandbox وtodo streaming وfilesystem cwd حقيقي وحلقات تكيف بين الإنسان والآلة.' },
|
||
],
|
||
foot: (skills) => `05 / ${skills} SKILLS نشطة`,
|
||
viewLibrary: 'عرض المكتبة كاملة →',
|
||
openAria: (title) => `فتح ${title} على GitHub`,
|
||
},
|
||
method: {
|
||
rule: 'المنهج / الحلقة',
|
||
stages: '04 مراحل، تكرارية',
|
||
label: 'المنهج',
|
||
titlePrefix: 'من',
|
||
titleEmphasis: 'الإشارة',
|
||
titleSuffix: 'إلى النظام',
|
||
lead: 'كل مرحلة تكرارية وبصرية ومدفوعة بالبحث: ملفات قابلة للتركيب بدلاً من prompts مبهمة.',
|
||
steps: [
|
||
{ title: 'اكتشاف', body: (skills, systems) => `يفحص daemon المسار $PATH للعثور على 12 agent برمجة ويحمل ${skills} skills و ${systems} أنظمة عند البدء.` },
|
||
{ title: 'استكشاف', body: () => 'أول turn هو نموذج أسئلة: السطح، الجمهور، النبرة، المقياس وسياق العلامة تثبت خلال 30 ثانية.' },
|
||
{ title: 'توجيه', body: () => 'اختر واحداً من 5 اتجاهات بصرية حتمية مع palette OKLch وfont stack ووضعية layout.' },
|
||
{ title: 'تسليم', body: () => 'يكتب الـ Agent على disk، تراجع داخل iframe sandbox ثم تصدر HTML / PDF / PPTX / ZIP / Markdown.' },
|
||
],
|
||
footLeft: 'Skills تحدد النية. الملفات تجعل النتيجة واقعية.',
|
||
},
|
||
work: {
|
||
rule: 'أعمال مختارة · كتالوج 2026',
|
||
editedBy: 'تحرير Open Design',
|
||
label: 'أعمال مختارة',
|
||
titlePrefix: 'Skills تحول brief إلى',
|
||
titleEmphasisA: 'artifacts لا تُنسى',
|
||
titleMiddle: 'و',
|
||
titleEmphasisB: 'قابلة للتسليم',
|
||
titleSuffix: '',
|
||
viewAll: (skills) => `عرض كل ${skills} skills`,
|
||
cards: [
|
||
{ label: 'Skill مميز', title: 'guizang-ppt', body: 'Web PPT بأسلوب المجلة لإطلاق المنتجات وpitch decks. مرفق كما هو مع LICENSE الأصلية.', metaLeft: '2026 · DECK', metaRight: 'قياسي' },
|
||
{ label: 'نظام مرتبط', title: 'kami', body: 'نظام ورقي تحريري: canvas parchment دافئ، accent أزرق حبر، هرمية serif وبنية متعددة اللغات.', metaLeft: '2026 · ورق', metaRight: 'نظام' },
|
||
],
|
||
},
|
||
testimonial: {
|
||
rule: 'المتعاونون / السلالة',
|
||
shoulders: 'البناء على أكتاف قوية',
|
||
label: 'المتعاونون',
|
||
quote: '“حوّل Open Design أفكار AI الغامضة إلى نظام بصري حاد وموثوق وجديد فعلاً.”',
|
||
authorTitle: 'مديرة إبداعية · North Form',
|
||
partnersText: 'نبني على فرق سلّمت ثقافة تصميم مفتوحة المصدر بالفعل.',
|
||
partnerLabels: ['فكر', 'Decks', 'UX', 'Terminal', 'Frames'],
|
||
readMore: 'اقرأ المزيد من القصص',
|
||
},
|
||
faqSection: {
|
||
rule: 'أسئلة شائعة',
|
||
answers: 'إجابات رسمية بلا تسويق',
|
||
label: 'أسئلة Open Design الشائعة',
|
||
titlePrefix: 'أسئلة حول',
|
||
titleMiddle: 'و',
|
||
titleSuffix: 'البديل مفتوح المصدر لـ Claude Design',
|
||
},
|
||
cta: {
|
||
rule: 'تواصل / محادثة',
|
||
command: 'ثلاثة أوامر للتسليم',
|
||
label: 'ابدأ محادثة',
|
||
titlePrefix: 'لنبن شيئاً',
|
||
titleOpen: 'مفتوحاً',
|
||
titleMiddle: 'و',
|
||
titleVisual: 'قوياً بصرياً',
|
||
titleSuffix: '',
|
||
lead: 'ضع Star على GitHub، افتح issue، أو شغّل pnpm tools-dev الليلة. ثلاثة أوامر والحلقة لك.',
|
||
star: 'ضع Star على GitHub',
|
||
issue: 'افتح issue',
|
||
live: 'مباشر',
|
||
ribbon: 'OPEN DESIGN · النهاية.',
|
||
},
|
||
}),
|
||
tr: homeFallbackCopy({
|
||
railRight: 'Open Design — cilt 01 · sayı nº 26 · Apache-2.0',
|
||
railLeft: 'Skill · sistem · agent · BYOK · local-first',
|
||
discordAria: 'Open Design Discord’a katıl',
|
||
joinDiscord: 'Discord’a katıl',
|
||
heroLabel: 'Açık kaynak tasarım stüdyosu',
|
||
heroIssue: 'Dosya Nº 01 · yerel / açık / Dünya',
|
||
heroTitlePrefix: 'Claude Design',
|
||
heroTitleEmphasis: 'açık kaynak',
|
||
heroTitleMiddle: '',
|
||
heroTitleSecondEmphasis: 'kendi Agentında',
|
||
heroLead: (skills, systems) =>
|
||
`Open Design, Claude Design’ın resmi local-first alternatifidir. Kullandığın coding agent — Claude Code, Codex, Cursor, Gemini, OpenCode veya Qwen — ${skills} birleştirilebilir skill ve ${systems} taşınabilir DESIGN.md sistemiyle bir tasarım motoruna dönüşür.`,
|
||
star: 'GitHub’da Star ver',
|
||
download: 'Desktop indir',
|
||
plate: 'Levha Nº 08',
|
||
composedIn: 'Kurgulandı',
|
||
stats: [
|
||
{ strong: 'Skill', text: 'teslim edilebilir' },
|
||
{ strong: 'Sistem', text: 'taşınabilir' },
|
||
{ strong: 'CLI', text: 'kendi agentın' },
|
||
],
|
||
heroFoot: 'pnpm tools-dev · 3 komutla başla',
|
||
heroIndex: ['Algıla', 'Keşfet', 'Yönlendir', 'Teslim et'],
|
||
officialAria: 'Open Design resmi kaynağı',
|
||
officialLabel: 'Resmi kaynak',
|
||
officialItems: [
|
||
{ label: 'Resmi site', value: 'open-design.ai' },
|
||
{ label: 'Kaynak kod', value: 'nexu-io/open-design' },
|
||
{ label: 'Sürümler', value: 'version' },
|
||
{ label: 'İndir', value: 'Desktop · macOS · Win · Linux' },
|
||
{ label: 'Dokümantasyon', value: 'README + /quickstart/' },
|
||
{ label: 'Topluluk', value: 'Discord' },
|
||
],
|
||
about: {
|
||
rule: 'Hakkında / manifesto',
|
||
volume: 'Open Design / cilt 01',
|
||
label: 'Stüdyo hakkında',
|
||
titlePrefix: 'Biz',
|
||
titleAgent: 'Agentını',
|
||
titleMiddle: 'yaratıcı bir',
|
||
titleCollaborator: 'işbirlikçi',
|
||
titleSuffix: 'olarak görürüz',
|
||
lead:
|
||
'En güçlü coding agentlar zaten laptopında. Biz başka bir kapalı agent göndermiyoruz; onları skill odaklı bir tasarım iş akışına bağlıyoruz: pnpm tools-dev ile yerel, Vercel’e deploy edilebilir ve her katmanda BYOK.',
|
||
approach: 'Yaklaşımı oku',
|
||
practice: 'Araştırma · tasarım · mühendislik · yineleme',
|
||
stampTop: 'Stüdyo pratiği',
|
||
stampBottom: 'MMXXVI’dan beri',
|
||
sideNote: ['Model davranışından', 'görsel zevke kadar', 'yaratıcı sistemlerin', 'tüm stackini', 'prototipliyoruz.'],
|
||
caption: 'Form · algı · makine imgelemi çalışmaları. (Open Design, MMXXVI)',
|
||
},
|
||
capabilities: {
|
||
rule: 'Yetenekler · skill · sistem',
|
||
surfaces: '4 yüzey / 1 döngü',
|
||
ribbon: 'OPEN DESIGN · YETENEK MATRİSİ · OD/26',
|
||
label: 'Yetenekler',
|
||
titlePrefix: 'Skill, sistem ve yüzeyler',
|
||
titleEmphasis: 'yaratıcı',
|
||
titleSuffix: 'zekâ için',
|
||
lead:
|
||
'İnsan zevkini zaten güvendiğin agentla birleştirerek niyetli, ifadeli ve canlı interface, deck ve editoryal sayfalar teslim ederiz.',
|
||
cards: [
|
||
{ tag: 'Skill', title: 'Skill,\nplugin değil', body: (skills) => `${skills} SKILL.md tabanlı bundle. Klasörü bırak, daemonı yeniden başlat, pickerda görünür.`, aria: 'Tüm skillleri GitHub’da gör' },
|
||
{ tag: 'Sistem', title: 'Tasarım sistemleri\nMarkdown olarak', body: (_skills, systems) => `${systems} taşınabilir DESIGN.md sistemi. Linear, Vercel, Stripe, Apple, Cursor, Figma ve daha fazlası.`, aria: 'Tüm tasarım sistemlerini GitHub’da gör' },
|
||
{ tag: 'Adapter', title: '12 agent\nadapterı', body: () => 'Claude · Codex · Gemini · Cursor · Copilot · OpenCode · Devin · Hermes · Pi · Kimi · Kiro · Qwen $PATH üzerinden otomatik algılanır.', aria: 'Adapter kaynak kodunu oku' },
|
||
{ tag: 'BYOK', title: 'Her katmanda\nBYOK', body: () => 'OpenAI uyumlu proxy. DeepSeek, Groq, OpenRouter veya kendi vLLM’in: baseUrl ve key gir, sonra teslim et.', aria: 'BYOK ayarını gör' },
|
||
],
|
||
},
|
||
labs: {
|
||
rule: 'Lab / skill kataloğu',
|
||
ongoing: (skills) => `${skills} içinde 05 aktif deney`,
|
||
label: 'Lab',
|
||
titlePrefix: 'Büyüyen bir',
|
||
titleEmphasis: 'deney arşivi',
|
||
titleSuffix: ': skill, deck ve üretken formlar',
|
||
pills: { all: 'Tümü', prototype: 'Prototip', deck: 'Deck', mobile: 'Mobil', office: 'Ofis' },
|
||
metaTitle: 'Süren deneyler',
|
||
metaBody: 'Değişen fikirleri belgelemek\nYaparak zekâ inşa etmek\nPratikle yargıyı keskinleştirmek',
|
||
items: [
|
||
{ badge: 'Deck', title: 'Dergi deckleri', body: 'guizang-ppt ile editoryal slaytlar. Dergi layoutu ve WebGL hero dahil.' },
|
||
{ badge: 'Media', title: 'Sentetik materyal', body: 'Gpt-image-2, Seedance ve HyperFrames. Görsel, video ve ses kodla aynı chat yüzeyinde.' },
|
||
{ badge: 'Loop', title: 'Prompt koreografisi', body: 'İlk pikselden önce soru formu yönü sabitler. Otuz saniyelik seçim saatlerce revizyonu önler.' },
|
||
{ badge: 'Critique', title: 'Görsel akıl yürütme', body: 'Beş eksenli self-critique her artifactı korur: duruş, hiyerarşi, uygulama, özgüllük ve ölçü.' },
|
||
{ badge: 'Runtime', title: 'Yumuşak sistemler', body: 'Sandbox iframe, streaming todo, gerçek cwd filesystem ve insan-makine adaptif döngüleri.' },
|
||
],
|
||
foot: (skills) => `05 / ${skills} SKILL`,
|
||
viewLibrary: 'TÜM KÜTÜPHANEYİ GÖR →',
|
||
openAria: (title) => `${title} öğesini GitHub’da aç`,
|
||
},
|
||
method: {
|
||
rule: 'Yöntem / döngü',
|
||
stages: '04 aşama, yinelemeli',
|
||
label: 'Yöntem',
|
||
titlePrefix: '',
|
||
titleEmphasis: 'Sinyalden',
|
||
titleSuffix: 'sisteme',
|
||
lead: 'Her aşama yinelemeli, görsel ve araştırma temellidir: opak promptlar yerine birleştirilebilir dosyalar.',
|
||
steps: [
|
||
{ title: 'Algıla', body: (skills, systems) => `Daemon $PATH içinde 12 coding agent arar ve başlangıçta ${skills} skill ile ${systems} sistem yükler.` },
|
||
{ title: 'Keşfet', body: () => 'İlk turn bir soru formudur: yüzey, kitle, ton, ölçek ve marka bağlamı 30 saniyede sabitlenir.' },
|
||
{ title: 'Yönlendir', body: () => 'OKLch palette, font stack ve layout duruşuyla 5 deterministik görsel yönden birini seç.' },
|
||
{ title: 'Teslim et', body: () => 'Agent diske yazar, sandbox iframe içinde kontrol eder ve HTML / PDF / PPTX / ZIP / Markdown export edersin.' },
|
||
],
|
||
footLeft: 'Skill niyeti belirler. Dosyalar sonucu gerçek yapar.',
|
||
},
|
||
work: {
|
||
rule: 'Seçilmiş işler · 2026 kataloğu',
|
||
editedBy: 'Open Design editörlüğü',
|
||
label: 'Seçilmiş işler',
|
||
titlePrefix: 'Briefleri',
|
||
titleEmphasisA: 'akılda kalan',
|
||
titleMiddle: 've',
|
||
titleEmphasisB: 'teslim edilebilir artifactlara',
|
||
titleSuffix: 'çeviren skilller',
|
||
viewAll: (skills) => `${skills} skillin tümünü gör`,
|
||
cards: [
|
||
{ label: 'Öne çıkan skill', title: 'guizang-ppt', body: 'Ürün lansmanları ve pitch deckler için dergi tarzı Web PPT. Değiştirilmeden, orijinal LICENSE ile paketlendi.', metaLeft: '2026 · DECK', metaRight: 'STANDART' },
|
||
{ label: 'Bağlı sistem', title: 'kami', body: 'Editoryal kağıt sistemi: sıcak parchment canvas, ink-blue accent, serif hiyerarşi ve çok dilli yapı.', metaLeft: '2026 · KAĞIT', metaRight: 'SİSTEM' },
|
||
],
|
||
},
|
||
testimonial: {
|
||
rule: 'İşbirlikçiler / çizgi',
|
||
shoulders: 'Güçlü omuzların üstünde inşa etmek',
|
||
label: 'İşbirlikçiler',
|
||
quote: '“Open Design belirsiz AI fikirlerini keskin, güvenilir ve gerçekten yeni bir görsel sisteme dönüştürdü.”',
|
||
authorTitle: 'Yaratıcı direktör · North Form',
|
||
partnersText: 'Açık kaynak tasarım kültürünü gerçekten teslim etmiş ekiplerin üzerinde yükseliyoruz.',
|
||
partnerLabels: ['Düşünce', 'Deck', 'UX', 'Terminal', 'Frame'],
|
||
readMore: 'Daha fazla hikaye oku',
|
||
},
|
||
faqSection: {
|
||
rule: 'Sık sorulanlar',
|
||
answers: 'Resmi yanıtlar, pazarlama yok',
|
||
label: 'Open Design SSS',
|
||
titlePrefix: 'Sorular:',
|
||
titleMiddle: 've',
|
||
titleSuffix: 'Claude Design’ın açık kaynak alternatifi',
|
||
},
|
||
cta: {
|
||
rule: 'İletişim / sohbet',
|
||
command: 'Teslim için üç komut',
|
||
label: 'Sohbet başlat',
|
||
titlePrefix: 'Birlikte',
|
||
titleOpen: 'açık',
|
||
titleMiddle: 've',
|
||
titleVisual: 'görsel olarak güçlü',
|
||
titleSuffix: 'bir şey üretelim',
|
||
lead: 'GitHub’da Star ver, issue aç veya bu gece pnpm tools-dev çalıştır. Üç komut ve döngü senin.',
|
||
star: 'GitHub’da Star ver',
|
||
issue: 'Issue aç',
|
||
live: 'Canlı',
|
||
ribbon: 'OPEN DESIGN · SON.',
|
||
},
|
||
}),
|
||
uk: homeFallbackCopy({
|
||
railRight: 'Open Design — том 01 · випуск № 26 · Apache-2.0',
|
||
railLeft: 'Skills · системи · агенти · BYOK · local-first',
|
||
discordAria: 'Приєднатися до Discord Open Design',
|
||
joinDiscord: 'Приєднатися до Discord',
|
||
heroLabel: 'Дизайн-студія з відкритим кодом',
|
||
heroIssue: 'Кейс № 01 · локально / відкрито / Земля',
|
||
heroTitlePrefix: 'Відкритий',
|
||
heroTitleEmphasis: 'Claude Design',
|
||
heroTitleMiddle: 'на вашому',
|
||
heroTitleSecondEmphasis: 'власному агенті',
|
||
heroLead: (skills, systems) =>
|
||
`Open Design — офіційна local-first альтернатива Claude Design. Ваш coding agent — Claude Code, Codex, Cursor, Gemini, OpenCode або Qwen — стає design engine із ${skills} composable skills та ${systems} portable DESIGN.md systems.`,
|
||
star: 'Поставити Star на GitHub',
|
||
download: 'Завантажити desktop',
|
||
plate: 'Таблиця № 08',
|
||
composedIn: 'Складено в',
|
||
stats: [
|
||
{ strong: 'Skills', text: 'готові до доставки' },
|
||
{ strong: 'Системи', text: 'переносні' },
|
||
{ strong: 'CLI', text: 'ваш агент' },
|
||
],
|
||
heroFoot: 'pnpm tools-dev · старт у 3 команди',
|
||
heroIndex: ['Виявити', 'Дослідити', 'Спрямувати', 'Доставити'],
|
||
officialAria: 'Офіційне джерело Open Design',
|
||
officialLabel: 'Офіційне джерело',
|
||
officialItems: [
|
||
{ label: 'Офіційний сайт', value: 'open-design.ai' },
|
||
{ label: 'Вихідний код', value: 'nexu-io/open-design' },
|
||
{ label: 'Релізи', value: 'version' },
|
||
{ label: 'Завантаження', value: 'Desktop · macOS · Win · Linux' },
|
||
{ label: 'Документація', value: 'README + /quickstart/' },
|
||
{ label: 'Спільнота', value: 'Discord' },
|
||
],
|
||
about: {
|
||
rule: 'Про студію / маніфест',
|
||
volume: 'Open Design / том 01',
|
||
label: 'Про студію',
|
||
titlePrefix: 'Ми сприймаємо',
|
||
titleAgent: 'вашого агента',
|
||
titleMiddle: 'як творчого',
|
||
titleCollaborator: 'співавтора',
|
||
titleSuffix: 'а не чорну скриньку',
|
||
lead:
|
||
'Найсильніші coding agents уже на вашому laptop. Ми не постачаємо ще одного закритого агента, а підключаємо їх до skill-driven дизайн-процесу: локально через pnpm tools-dev, web layer можна розгорнути на Vercel, BYOK зберігається на кожному рівні.',
|
||
approach: 'Прочитати підхід',
|
||
practice: 'Дослідження · дизайн · інженерія · ітерації',
|
||
stampTop: 'Практика студії',
|
||
stampBottom: 'З MMXXVI',
|
||
sideNote: ['Від поведінки моделі', 'до візуального смаку', 'ми прототипуємо', 'увесь стек', 'креативних систем.'],
|
||
caption: 'Дослідження форми · сприйняття · машинної уяви. (Open Design, MMXXVI)',
|
||
},
|
||
capabilities: {
|
||
rule: 'Можливості · skills · системи',
|
||
surfaces: '4 поверхні / 1 цикл',
|
||
ribbon: 'OPEN DESIGN · МАТРИЦЯ МОЖЛИВОСТЕЙ · OD/26',
|
||
label: 'Можливості',
|
||
titlePrefix: 'Skills, системи та поверхні',
|
||
titleEmphasis: 'для творчого',
|
||
titleSuffix: 'інтелекту',
|
||
lead:
|
||
'Ми поєднуємо людський смак з агентом, якому ви вже довіряєте, щоб доставляти осмислені, виразні та живі інтерфейси, decks і редакційні сторінки.',
|
||
cards: [
|
||
{ tag: 'Skills', title: 'Skills,\nне plugins', body: (skills) => `${skills} файлових bundle на SKILL.md. Покладіть папку, перезапустіть daemon — і вона з’явиться в picker.`, aria: 'Переглянути всі skills на GitHub' },
|
||
{ tag: 'Системи', title: 'Дизайн-системи\nяк Markdown', body: (_skills, systems) => `${systems} переносних DESIGN.md systems. Linear, Vercel, Stripe, Apple, Cursor, Figma та інші.`, aria: 'Переглянути всі дизайн-системи на GitHub' },
|
||
{ tag: 'Adapters', title: '12 adapters\nдля агентів', body: () => 'Claude · Codex · Gemini · Cursor · Copilot · OpenCode · Devin · Hermes · Pi · Kimi · Kiro · Qwen автоматично знаходяться через $PATH.', aria: 'Читати код adapters' },
|
||
{ tag: 'BYOK', title: 'BYOK\nна кожному рівні', body: () => 'OpenAI-сумісний proxy. DeepSeek, Groq, OpenRouter або власний vLLM: вкажіть baseUrl і key, потім доставляйте.', aria: 'Переглянути налаштування BYOK' },
|
||
],
|
||
},
|
||
labs: {
|
||
rule: 'Лабораторія / каталог skills',
|
||
ongoing: (skills) => `05 активних експериментів із ${skills}`,
|
||
label: 'Лабораторія',
|
||
titlePrefix: 'Зростаючий',
|
||
titleEmphasis: 'архів експериментів',
|
||
titleSuffix: 'зі skills, decks і машинними формами',
|
||
pills: { all: 'Усе', prototype: 'Прототип', deck: 'Deck', mobile: 'Mobile', office: 'Office' },
|
||
metaTitle: 'Поточні експерименти',
|
||
metaBody: 'Документувати рухомі ідеї\nБудувати інтелект через практику\nЗагострювати судження дією',
|
||
items: [
|
||
{ badge: 'Deck', title: 'Журнальні decks', body: 'Редакційні слайди на guizang-ppt. Журнальна сітка та WebGL hero включені.' },
|
||
{ badge: 'Media', title: 'Синтетичні медіа', body: 'Gpt-image-2, Seedance і HyperFrames. Зображення, відео й аудіо на тій самій chat surface, що й code.' },
|
||
{ badge: 'Loop', title: 'Хореографія prompt', body: 'До першого pixel форма питань фіксує напрям. Тридцять секунд вибору економлять години переробок.' },
|
||
{ badge: 'Critique', title: 'Візуальне мислення', body: 'П’ятиосьова self-critique захищає кожен artifact: позицію, ієрархію, виконання, конкретність і стриманість.' },
|
||
{ badge: 'Runtime', title: 'М’які системи', body: 'Sandbox iframe, streaming todo, реальний cwd filesystem і адаптивні цикли людини та машини.' },
|
||
],
|
||
foot: (skills) => `05 / ${skills} СКІЛІВ`,
|
||
viewLibrary: 'ПЕРЕГЛЯНУТИ ВСЮ БІБЛІОТЕКУ →',
|
||
openAria: (title) => `Відкрити ${title} на GitHub`,
|
||
},
|
||
method: {
|
||
rule: 'Метод / цикл',
|
||
stages: '04 етапи, ітеративно',
|
||
label: 'Метод',
|
||
titlePrefix: 'Від',
|
||
titleEmphasis: 'сигналу',
|
||
titleSuffix: 'до системи',
|
||
lead: 'Кожен етап ітеративний, візуальний і дослідницький: composable files замість непрозорих prompts.',
|
||
steps: [
|
||
{ title: 'Виявити', body: (skills, systems) => `Daemon сканує $PATH для 12 coding agents і під час старту завантажує ${skills} skills та ${systems} systems.` },
|
||
{ title: 'Дослідити', body: () => 'Перший turn — форма питань: surface, аудиторія, тон, масштаб і контекст бренду фіксуються за 30 секунд.' },
|
||
{ title: 'Спрямувати', body: () => 'Оберіть один із 5 детермінованих visual directions з OKLch palette, font stack і layout posture.' },
|
||
{ title: 'Доставити', body: () => 'Agent пише на disk, ви перевіряєте в sandbox iframe і експортуєте HTML / PDF / PPTX / ZIP / Markdown.' },
|
||
],
|
||
footLeft: 'Skills задають намір. Файли роблять результат реальним.',
|
||
},
|
||
work: {
|
||
rule: 'Вибрані роботи · каталог 2026',
|
||
editedBy: 'Редакція Open Design',
|
||
label: 'Вибрані роботи',
|
||
titlePrefix: 'Skills перетворюють briefs на',
|
||
titleEmphasisA: 'пам’ятні',
|
||
titleMiddle: 'і готові до доставки',
|
||
titleEmphasisB: 'артефакти',
|
||
titleSuffix: '',
|
||
viewAll: (skills) => `Переглянути всі ${skills} skills`,
|
||
cards: [
|
||
{ label: 'Вибраний skill', title: 'guizang-ppt', body: 'Журнальний Web PPT для запусків продуктів і pitch decks. Вбудовано без змін, оригінальну LICENSE збережено.', metaLeft: '2026 · DECK', metaRight: 'СТАНДАРТ' },
|
||
{ label: 'Пов’язана система', title: 'kami', body: 'Редакційна паперова система: теплий parchment canvas, ink-blue accent, serif hierarchy і багатомовна структура.', metaLeft: '2026 · PAPER', metaRight: 'SYSTEM' },
|
||
],
|
||
},
|
||
testimonial: {
|
||
rule: 'Співтворці / походження',
|
||
shoulders: 'Будувати на сильних плечах',
|
||
label: 'Співтворці',
|
||
quote: '«Open Design допоміг перетворити нечіткі AI-ідеї на гостру, надійну й справді нову візуальну систему.»',
|
||
authorTitle: 'Креативна директорка · North Form',
|
||
partnersText: 'Ми спираємося на команди, які вже доставляли open-source дизайн-культуру.',
|
||
partnerLabels: ['Думка', 'Decks', 'UX', 'Terminal', 'Frames'],
|
||
readMore: 'Читати більше історій',
|
||
},
|
||
faqSection: {
|
||
rule: 'Часті питання',
|
||
answers: 'Офіційні відповіді без маркетингу',
|
||
label: 'FAQ Open Design',
|
||
titlePrefix: 'Питання про',
|
||
titleMiddle: 'і',
|
||
titleSuffix: 'відкриту альтернативу Claude Design',
|
||
},
|
||
cta: {
|
||
rule: 'Контакт / розмова',
|
||
command: 'Три команди до доставки',
|
||
label: 'Почати розмову',
|
||
titlePrefix: 'Давайте створимо щось',
|
||
titleOpen: 'відкрите',
|
||
titleMiddle: 'і',
|
||
titleVisual: 'візуально сильне',
|
||
titleSuffix: '',
|
||
lead: 'Поставте Star на GitHub, відкрийте issue або запустіть pnpm tools-dev сьогодні ввечері. Три команди — і цикл ваш.',
|
||
star: 'Поставити Star на GitHub',
|
||
issue: 'Відкрити issue',
|
||
live: 'Онлайн',
|
||
ribbon: 'OPEN DESIGN · ФІН.',
|
||
},
|
||
}),
|
||
};
|