Commit graph

56 commits

Author SHA1 Message Date
open-design-bot[bot]
bd20497571 docs(readme): refresh contributors wall 2026-05-31 05:19:59 +00:00
open-design-bot[bot]
b9f0b69cf1
docs(readme): refresh contributors wall (#3339)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-05-30 14:02:17 +00:00
open-design-bot[bot]
51963cff78
docs(readme): refresh contributors wall (#3271)
Some checks failed
visual-baseline / Capture visual baselines (push) Waiting to run
actionlint / Lint GitHub Actions workflows (push) Failing after 2s
ci / Detect CI change scopes (push) Successful in 1s
landing-page-ci / Validate landing page (push) Failing after 2s
landing-page-staging / Deploy landing page to staging (push) Has been skipped
nix-check / build (push) Failing after 1s
ci / Validate Nix flake (push) Has been skipped
ci / Preflight (push) Failing after 1s
ci / Workspace unit tests (push) Failing after 2s
ci / Daemon workspace tests (push) Failing after 1s
ci / Web workspace tests (push) Failing after 2s
ci / Browser tests (push) Failing after 1s
ci / Build workspaces (push) Failing after 1s
ci / Validate workspace (push) Failing after 0s
ci / Runtime trace (push) Has been skipped
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-05-29 14:12:51 +00:00
open-design-bot[bot]
9de5ecd87c
docs(readme): refresh contributors wall (#3161)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-05-28 05:38:40 +00:00
open-design-bot[bot]
2540e8a92b
docs(readme): refresh contributors wall (#3077)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-05-27 10:06:48 +00:00
open-design-bot[bot]
5051f318ea
docs(readme): refresh contributors wall (#2868)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-05-26 06:12:45 +00:00
open-design-bot[bot]
0134566ffb
docs(readme): refresh contributors wall (#2824)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-05-24 14:25:35 +00:00
open-design-bot[bot]
965d581990
docs(readme): refresh contributors wall (#2789)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-05-23 13:01:43 +08:00
open-design-bot[bot]
97f75c3a27
docs(readme): refresh contributors wall (#2665)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-05-22 14:06:28 +08:00
Jane
439f071cb0
feat(landing-page): replicate #2469 SEO content with deploy + regression fixes (#2605)
* 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>
2026-05-22 00:59:11 +08:00
Jane
eefaf4504a
Revert "Enhance landing page with SEO-focused content and FAQ section (#2469)" (#2603)
This reverts commit 26ee030b4c.

Co-authored-by: Joey-nexu <joeylee12629@gmail.com>
2026-05-22 00:23:37 +08:00
Tom Huang
26ee030b4c
Enhance landing page with SEO-focused content and FAQ section (#2469)
* Enhance landing page with SEO-focused content and FAQ section

- Updated `.gitignore` to include growth directory.
- Modified `astro.config.ts` to prioritize high-intent landing pages for SEO.
- Added new FAQ styles and layout in `globals.css` for better user experience.
- Implemented FAQ section in `page.tsx`, ensuring it aligns with structured data requirements.
- Created dedicated pages for agents and alternatives to Claude Design, enhancing SEO and user navigation.
- Introduced comparison page for evaluating Open Design against competitors.
- Added favicon links component for consistent branding across all pages.

* Add SVG favicon and update favicon links for improved branding

* Enhance landing page with official source pillars for improved branding and navigation

- Added five canonical "official source" pillars to the homepage, reinforcing key links: official site, GitHub repository, releases, documentation, and Discord community.
- Updated URLs for releases, issues, documentation, and license to streamline access and improve user experience.

* Add locale support and enhance landing page with language switcher

- Introduced locale management with a new i18n module, defining multiple languages for the landing page.
- Implemented a locale switcher in the topbar and header, allowing users to select their preferred language.
- Updated global styles for the locale selector and adjusted layout for better responsiveness.
- Enhanced SEO by ensuring localized content is served based on user selection.
- Added a script for automatic locale detection and persistence in local storage.

* Implement localized routing and enhance navigation with href utility

- Added `stripLocaleFromPath` and `localizedHref` functions to manage locale-based URL paths.
- Updated `localePath` to normalize paths based on the detected locale.
- Refactored links in the header, footer, and main page components to utilize the new `localizedHref` function for improved navigation.
- Introduced locale-aware routing for new pages, ensuring consistent user experience across different languages.
- Enhanced SEO with alternate links for localized content in the sub-page layout.

* Update header component to use new logo format

- Replaced favicon image with a new logo in WebP format for improved performance and quality.
- Ensured consistent branding across the landing page with the updated logo.

* Enhance landing page with localization and new UI components

- Introduced a comprehensive localization schema for content management, allowing for multilingual support across various sections.
- Updated the blog and collection schemas to include internationalization (i18n) fields for better content localization.
- Implemented a new official source strip for improved navigation and branding, linking to key resources like the official site and documentation.
- Enhanced the locale switcher functionality, allowing users to select their preferred language with improved UX.
- Updated styles for the locale switcher and added new components for better responsiveness and accessibility.
- Refactored existing components to utilize localized URLs, ensuring a consistent user experience across different languages.

* Implement comprehensive localization and enhance landing page UI

- Introduced new localization features, including `EXTRA_LOCALIZED_HOME_BODY_COPY` and `EXTRA_LOCALIZED_LANDING_UI_COPY`, to support multilingual content across the landing page.
- Updated `astro.config.ts` to integrate internationalization (i18n) settings for the sitemap, improving SEO for localized content.
- Created new files for home page and info page internationalization, defining structured content for various languages.
- Enhanced the locale switcher functionality with improved UX, allowing users to easily select their preferred language.
- Refactored existing components to utilize localized content and URLs, ensuring a consistent experience across different languages.
- Made CSS adjustments for better responsiveness and accessibility in the UI components.

* Enhance landing page with new design templates and localization improvements

- Added support for design templates in the content management system, allowing for better organization and access to design resources.
- Implemented comprehensive localization for blog topics, enhancing multilingual support across various sections of the landing page.
- Updated the header component to include new product menu items, improving navigation and user experience.
- Refactored CSS for improved responsiveness and accessibility, including a new sticky chrome bar for better navigation.
- Enhanced the locale switcher functionality, ensuring a seamless experience for users selecting their preferred language.

* docs(readme): promote 'open-source alternative to Claude Design' tagline to subtitle across locales
2026-05-21 23:40:58 +08:00
open-design-bot[bot]
8f7914f833
docs(readme): refresh contributors wall (#2148)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-05-21 18:35:17 +08:00
open-design-bot[bot]
4b6ddda052
docs(readme): refresh contributors wall (#2012)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-05-18 11:05:43 +08:00
open-design-bot[bot]
3c621131d2
docs(readme): refresh contributors wall (#1932)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-05-17 11:24:28 +08:00
leessju
9fa657d7e2
docs: sync Windows troubleshooting link across locale READMEs (#1875)
PR #1546 (`docs: add Windows launcher note`) added a pointer to
`docs/windows-troubleshooting.md` to the English README, right
between the environment requirements paragraph and the
"For desktop/background startup, …" paragraph. The 12 locale
READMEs were not updated at the time, so anyone arriving via
the language switcher would not see the Windows native-setup
path or the double-click launcher hint.

This commit adds an equivalent line to each locale README in
that locale's voice, at the same anchor position. No new asset
is introduced: every link points to the same English
`docs/windows-troubleshooting.md` file (no translated doc yet),
matching how other locale-specific tips already cross-reference
English docs in this repo.

Locales touched: ar, de, es, fr, ja-JP, ko, pt-BR, ru, tr, uk,
zh-CN, zh-TW.

Note: README.ko.md happens to also be missing the "For
desktop/background startup, …" paragraph that the other 11
locales already have. That gap is out of scope for this PR and
should be handled separately when ko translation parity is
revisited.

Co-authored-by: nicejames <nicejames@gmail.com>
2026-05-16 16:28:50 +08:00
leessju
4767c531c1
docs: sync README inventory badges to actual repo counts (skills 31→131, design-systems 72→149) (#1899)
The 12 locale READMEs (+ root English README) each carry two
shields.io inventory badges:

  https://img.shields.io/badge/design%20systems-72-orange
  https://img.shields.io/badge/skills-31-teal

The actual counts on `main` today (verified):

  find skills -maxdepth 2 -name SKILL.md | wc -l        → 131
  find design-systems -maxdepth 2 -name DESIGN.md | wc -l → 149

This commit updates the badge URLs to reflect the actual inventory.
This is the conservative "inventory-only" shape proposed in #1890 —
prose strings like "72 out of the box" or "X systems available" are
left alone in this PR because they carry historical / launch
context the badge URLs don't, and the right shape there is a
maintainer call. The badges themselves are unambiguously a current
inventory signal, so they're safe to sync without taking sides on
the policy question.

`README.fr.md` is intentionally skipped: it already replaced both
numeric badges with `catalogue` generic placeholders, so the
French README needs no update.

Refs #1890.

Co-authored-by: nicejames <nicejames@gmail.com>
2026-05-16 15:49:24 +08:00
open-design-bot[bot]
ea7d98084e
docs(readme): refresh contributors wall (#1867)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-05-16 11:27:08 +08:00
lefarcen
36856c434c
docs(readme): add 0.8.0-preview banner pointing to Discussion #1727 (#1781)
* docs(readme): add 0.8.0-preview banner pointing to Discussion #1727

Adds a single-line block-quote banner at the top of the English and
Simplified Chinese READMEs inviting visitors to try the 0.8.0 preview
and participate in shaping it.

The banner is intentionally short — all details (installer downloads,
contribution paths, Discord, scope, what we want feedback on) live on
the announcement thread at Discussion #1727 so the README stays
maintainable as a single source of truth.

Other language READMEs (es, pt-BR, de, fr, zh-TW, ko, ja-JP, ar, ru,
uk, tr) can adopt the same pattern via follow-up community PRs.

* docs(readme): punch up 0.8.0-preview banner to match announcement rally tone

Echo the signature lines from the announcement thread (Discussion #1727):
- "Design's old world ends here"
- "40k stars in two weeks got us this far"
- "We need you to push the rest of the way"

CTA link copy also reframed from generic "Discussion #1727" to action verbs:
"Read the announcement, grab the installer, join the movement" — matches
the rally-style framing of the announcement itself instead of reading
like a flat reference link.

* docs(readme.zh-CN): fix awkward Chinese phrasing for 40k stars line

"两周 40k stars 把我们送到这里" reads stilted in Chinese — the
number-as-subject construction is more English-like. Replace with the
phrasing already used in the announcement thread (Discussion #1727):
"上线两周,40k stars 在身,且仍在加速。剩下的路,需要你和我们一起推完。"

Maximum consistency with the Chinese announcement copy that's already
been reviewed and shipped.

* docs(readme): use GitHub Alert + H3 for higher-contrast 0.8.0 banner

A plain block-quote banner blended into the existing tagline and got
lost. Switch to GitHub's native '> [!IMPORTANT]' alert syntax — renders
as a purple-tinted callout card with an icon, which:

- Stands out clearly from the regular tagline that follows
- Matches the preview/v0.8.0 label color (#7c3aed purple)
- Renders consistently on github.com, mobile, and GitHub Desktop
- Needs zero images / inline CSS / external assets

Bumped the headline to H3 inside the alert for further visual weight,
broke the body into separate paragraphs for legibility.

* docs(readme): move 0.8.0-preview banner below language selector

After feedback, position the rally banner between the language selector
line and the '## Why this exists' heading instead of right under the H1.

Rationale: the very top of the README is for stable identity (title +
tagline + banner image + badges). The 0.8.0 alert sits in the
transitional position between identity-block and body-content, acting as
the last hook before readers commit to reading. Keeps the foundational
tagline visually pristine while still placing the call-to-action above
the fold.

* docs(readme.zh-CN): tweak CTA wording '拿安装包' → '下载安装包'

'下载安装包' is the natural Chinese verb pairing for installer downloads;
'拿' reads slightly casual / dialectal for a public-facing README banner.

* docs(readme): add 0.8.0-preview banner to all 11 remaining language variants

Translates the 0.8.0-preview rally banner into es, pt-BR, de, fr, zh-TW,
ko, ja-JP, ar, ru, uk, tr — placed in the same position (between the
language selector and the first horizontal rule) as the English and
zh-CN versions.

Each translation preserves the signature signals from Discussion #1727:
- 'Design's old world ends here' / its local-language equivalent
- '40k stars in two weeks' (number kept literal — same data point)
- 'We need you to push the rest of the way' / equivalent rally line
- 'agent-native' kept as English (no widely-accepted translation yet)
- 'Figma' kept as proper noun

Code blocks (`0.8.0-preview`), URLs, and the `[!IMPORTANT]` alert
syntax remain unchanged across all variants for renderer consistency.

If any native speaker spots a phrasing that reads less than fluent, a
follow-up PR is welcome — these translations are AI-assisted and should
be treated as starter copy, not final.

* docs(readme): move 0.8.0-preview banner back to top of all language READMEs

After more feedback, position the rally banner right after the H1 (`# Open Design`)
instead of below the language selector. Trade-off: the banner now competes with
the foundational tagline for above-the-fold attention, but visitors see the
0.8.0 call-to-action in their first eye-fix instead of after scrolling past
badges and language picker.

Same banner content, same alert syntax, same 13-language coverage — only
position changed across all variants (en, zh-CN, zh-TW, es, pt-BR, de, fr,
ko, ja-JP, ar, ru, uk, tr).

* docs(readme): add 'actively shipping / next phase / merges to main' line

Per colleague feedback, surface that preview/v0.8.0 isn't a fork or a
side experiment — it's the next phase of Open Design, currently in fast
development, set to land on main once stable.

The new paragraph sits between the 'we need you' rally line and the
final CTA link, so readers see the momentum context before clicking
through to the announcement.

Translated in place across all 13 language READMEs.

* docs(readme): update banner — 0.8.0 is already in main now

preview/v0.8.0 has been fully merged into main (0 commits behind, 59
commits behind main). The 'will merge into main once stable' line is
out of date.

Reframe to reflect current state:
- 'Actively shipping fast → set to merge into main once stable' (old)
- 'Already in main — 0.8.0 is the next phase, in active development.
  Bring your contributions, ideas, and feedback.' (new)

Translated in place across all 13 language READMEs.

* docs(readme): drop awkward '合入 main' phrasing from banner

The 'merged into main' / '已经合入 main' line reads too git-operational
for a public banner. Reframe without referencing merge mechanics:

old: 'Already in main — 0.8.0 is the next phase, in active dev. Bring
      your contributions, ideas, and feedback.'

new: 'Active development, open to all — 0.8.0 is the next phase of
      Open Design. Your contributions, ideas, and feedback shape what
      comes next.'

Same intent — current direction, welcoming, no version-control
vocabulary that non-engineer visitors won't connect to.

Translated in place across all 13 language READMEs.

* docs(readme): tighten banner phrasing — 'iterating fast on main'

Replace 'Active development, open to all' with a more dynamic line that
brings 'main' back into the copy without the static 'merged into main'
feel:

  '**Iterating fast on `main`** — 0.8.0 is the next phase of Open Design.
   Your contributions, ideas, and feedback shape what comes next.'

Conveys ongoing forward motion (vs the completed-merge frame), keeps
the 'main' anchor so readers know where to look. Translated across all
13 language READMEs.

* docs(readme): amp up banner CTA — concrete actions + 'what you bring is what this movement becomes'

The previous 'Your contributions, ideas, and feedback shape what comes
next' was directionally right but soft. Swap in three concrete imperative
verbs (PR / idea / bug) plus a collective-ownership punchline:

  '**Iterating fast on `main`** — 0.8.0 is the next phase of Open Design.
   Ship a PR, drop a wild idea, file a bug — what you bring is what this
   movement becomes.'

Reads like an invitation to act, not a thank-you-in-advance. Translated
across all 13 language READMEs.

* docs(readme): mention Claude Design alongside Figma in banner

Update paragraph 2 from 'alternative to Figma' to 'alternative to Claude
Design / Figma' across all 13 language READMEs.

Aligns the banner with the foundational tagline below it (which already
points to [Claude Design][cd]). The framing is now: Open Design competes
with both closed silos — Anthropic's Claude Design *and* Figma — by
being the open, agent-native answer to the same opportunity.
2026-05-15 22:55:39 +08:00
open-design-bot[bot]
1e93144762
docs(readme): refresh contributors wall (#1616)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-05-15 15:53:50 +08:00
open-design-bot[bot]
097c0b8ab0
docs(readme): refresh contributors wall (#1494)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-05-13 13:26:31 +08:00
github-actions[bot]
c9d3358af4
docs(readme): refresh contributors wall (#1330)
Co-authored-by: mrcfps <23410977+mrcfps@users.noreply.github.com>
2026-05-12 10:49:57 +08:00
github-actions[bot]
d3b1804523
docs(readme): refresh contributors wall (#1188)
Co-authored-by: mrcfps <23410977+mrcfps@users.noreply.github.com>
2026-05-11 10:50:30 +08:00
github-actions[bot]
f898741f81
docs(readme): refresh contributors wall (#1117)
Co-authored-by: mrcfps <23410977+mrcfps@users.noreply.github.com>
2026-05-10 11:46:32 +08:00
Thien-Tu Tran
c16e1179fe
docs: fix - update prompts path from web to daemon in README files (#756)
* docs: fix - update prompts path from web to daemon in README files

Update all references from apps/web/src/prompts/ to apps/daemon/src/prompts/
across all README language files.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* docs: fix - update prompts path in specs and fix French README parity

P2 — Current specs:
- specs/current/critique-theater.md
- specs/current/critique-theater-plan.md
  Update prompts path from apps/web/src/prompts/ to apps/daemon/src/prompts/
  to reflect daemon ownership of prompt composition.

P3 — Historical spec:
- specs/2026-04-29-live-artifacts/spec.md
  Update to current path (historical snapshots kept accurate to latest codebase).

P3 — Language parity:
- README.fr.md
  Fix missing prompt references in Anti-AI-slop and References sections
  to match other language variants (6 refs total).

Migration context: Prompts moved from web to daemon as an ownership/boundary
change (daemon composes and injects prompts at agent spawn time), not a
mechanical rename. Web app no longer owns prompt composition logic.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* docs: fix - update git command path in critique-theater-plan.md

Fix missed git add command example at line 1585.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

* docs: fix - update prompt test paths from web/tests to daemon/tests

Update test file paths to match daemon ownership of prompts.
Tests for apps/daemon/src/prompts/* should live in apps/daemon/tests/prompts/.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-05-09 15:23:23 +08:00
github-actions[bot]
ed470bb6bd
docs(readme): refresh contributors wall (#1004)
Co-authored-by: mrcfps <23410977+mrcfps@users.noreply.github.com>
2026-05-09 10:24:58 +08:00
leprincep35700
2340d38d9d
docs: fix stale internal links (#950)
* docs: fix stale internal links

* docs: fix design sample link label

---------

Co-authored-by: leprincep35700 <leprincep35700@users.noreply.github.com>
2026-05-08 21:20:25 +08:00
esadomer
42ae1da03d
Add Turkish README translation (#843) 2026-05-08 11:29:03 +08:00
github-actions[bot]
ef4e673ad0
docs(readme): refresh contributors wall (#856)
Co-authored-by: mrcfps <23410977+mrcfps@users.noreply.github.com>
2026-05-08 11:18:54 +08:00
PerishFire
cb92c93ae0
Migrate beta release publishing to R2 (#805)
* Prebundle standalone web packaged runtime

* Harden mac standalone prebundle policy

* Prebundle mac daemon packaged runtime

* Prune mac Electron locales

* Maximize mac release artifact compression

* Publish beta mac artifacts to R2

* Use remote R2 uploads for beta releases

* Fail fast on beta R2 access issues

* Use S3-compatible uploads for beta R2 releases

* Decouple beta versioning from GitHub releases

* Remove legacy beta metadata source

* Address release beta review notes
2026-05-07 19:13:52 +08:00
github-actions[bot]
da62e54695
docs(readme): refresh contributors wall (#720)
Co-authored-by: mrcfps <23410977+mrcfps@users.noreply.github.com>
2026-05-07 10:12:12 +08:00
Mario
2afb002a62
docs: fix broken links to pi-ai (404), split into coding-agent and ai packages (#277)
* docs: fix broken pi-ai links, point to correct pi-mono packages

All links to https://github.com/mariozechner/pi-ai returned 404 after
the project was restructured into the badlogic/pi-mono monorepo.

- "pi" / "Pi" (the CLI tool the daemon scans for) now points to
  packages/coding-agent
- "pi-ai" (the multi-provider LLM API) now points to packages/ai
  via the shared [piai] reference definitions

Closes #275.

* fixup! Merge remote-tracking branch 'upstream/main' into docs/fix-pi-pi-ai-links

Fix [piai] reference in README.ar.md and README.es.md: was incorrectly
pointing to packages/coding-agent (pi CLI) instead of packages/ai (pi-ai
provider library).

* fixup! fix row order in README.uk.md: move Pi after DeepSeek TUI to match English README
2026-05-07 00:41:11 +08:00
Feroomon2010
576dfed9e1
feat: add accent color control and launcher for Open Design (#683)
* feat: add accent color control and launcher for Open Design

* fix: remove launcher binary from PR

* test: cover accent appearance edge cases

---------

Co-authored-by: ferasbusiness666 <ferasbusiness666@users.noreply.github.com>
2026-05-06 23:14:21 +08:00
mamba
570d06419c
feat[qoder cli] add Qoder CLI agent support (#626)
* chore(agent): 增加对 Qoder CLI 的支持和识别

- 在 QUICKSTART 文档中添加 Qoder CLI 为可选本地 agent CLI
- 更新代码中 agents.ts 注释包含 Qoder CLI 扫描支持
- 修改首次加载时检测的可用 CLI 列表,加入 Qoder CLI
- 在多个语言版本的 README 中增加 Qoder CLI 支持及相关徽章统计
- 更新 agent 适配器与事件解析相关的代码注释和文档,包含 qoder-stream-json 解析器
- 调整 Windows 下 spawn 行为以支持 Qoder CLI 的 stdin 提供 prompt
- 修复多语言文档对支持的 CLI 数量描述错误,确保数据保持同步

Change-Id: I388f2f61c60ce8faa7cef5d84eb407950f8bdbfb
Co-developed-by: Qoder <noreply@qoder.com>

* chore(agent): 增加对 Qoder CLI 的支持和识别

- 在 QUICKSTART 文档中添加 Qoder CLI 为可选本地 agent CLI
- 更新代码中 agents.ts 注释包含 Qoder CLI 扫描支持
- 修改首次加载时检测的可用 CLI 列表,加入 Qoder CLI
- 在多个语言版本的 README 中增加 Qoder CLI 支持及相关徽章统计
- 更新 agent 适配器与事件解析相关的代码注释和文档,包含 qoder-stream-json 解析器
- 调整 Windows 下 spawn 行为以支持 Qoder CLI 的 stdin 提供 prompt
- 修复多语言文档对支持的 CLI 数量描述错误,确保数据保持同步

Change-Id: Id33f125b7c0b1a1c0b0274073da74d1578c324f7
Co-developed-by: Qoder <noreply@qoder.com>

* feat(agent-icon): 添加新的Qoder徽标SVG图形组件

- 新增qoderGlyph函数,返回指定大小的SVG格式图形
- 图形包含多路径定义,颜色使用深灰和绿色填充
- 该组件可用于替代或补充现有AgentIcon图标功能
- 提升应用程序的品牌标识和视觉表现力

Change-Id: I4eca18166b5e33bc6229b40b2531d5a54607a560
Co-developed-by: Qoder <noreply@qoder.com>

* Translate to English:

---

**docs(readme): update to expand CLI agents to 16**

- Increased the number of coding agent CLIs from 11 to 16
- New agents included: Devin for Terminal, Kiro CLI, Kilo, Mistral Vibe CLI, DeepSeek TUI

**docs(readme): update to expand supported coding agents to 16**

- Increased the number of supported code agent CLIs from 11 to 16
- Added support for new CLI tools: Devin for Terminal, Kiro CLI, Kilo, Mistral Vibe CLI, DeepSeek CLI
- Added automatic CLI detection and switching while maintaining support for more agents
- Added BYOK proxy TUI
- Expanded compatibility and support coverage in the README’s multiple language versions
- Reflected changes across all README translations (Arabic, German, French, Japanese, Korean)
- Updated badges and descriptions to reflect CLI count and feature changes
- Added event parsers and protocols for the new CLIs in the agent transport implementation
- Updated the BYOK proxy and tool exploration features to be compatible with the expanded CLIs

Change-Id: I89786b4a0b09bd279fb23265c2177076206fc5af
Co-developed-by: Qoder <noreply@qoder.com>

* feat(daemon): 支持 imagePaths 参数作为附件路径传递给 Qoder

- 修改 buildArgs 函数,添加 --attachment 参数处理 imagePaths 中的绝对路径
- 过滤并忽略空字符串、非字符串及相对路径的 imagePaths 项
- 在单元测试中覆盖 imagePaths 参数支持及无效项过滤逻辑
- 在文档中补充 Qoder 运行时适配器对 --attachment 参数的说明

Change-Id: Ibfc3583ba86c6d258d524912559e97b77bf1dc87
Co-developed-by: Qoder <noreply@qoder.com>

* docs(runtime): 说明Qoder适配器继承用户令牌的环境变量

- 添加文档说明检测代理仅为可用性探针,不进行身份验证
- 说明Qoder CLI账号状态独立,认证通过运行时错误路径反馈
- 详细描述子进程环境继承机制及静态环境变量与用户私密令牌区分
- 明确QODER_PERSONAL_ACCESS_TOKEN通过守护进程环境传递,不写入静态环境
- 解释Qoder验证由Qoder CLI负责,支持持久登录和自动化环境变量注入

test(agent): 添加QODER_PERSONAL_ACCESS_TOKEN环境变量继承测试

- 验证qoder适配器环境继承守护进程中的QODER_PERSONAL_ACCESS_TOKEN
- 确认qoder适配器未在静态环境变量中定义用户令牌
- 保证用户私密令牌不会被写入静态适配器环境配置

Change-Id: Ie61869afbe497df1b16879b4e47b35123f758ed8
Co-developed-by: Qoder <noreply@qoder.com>

* fix(daemon): 改进Qoder模式支持及错误处理机制

- 更新Qoder CLI参数,使用`--yolo`替代`--permission-mode bypass_permissions`
- 将工作目录参数从`--cwd`改为`-w`以符合Qoder文档
- 在agent流事件处理中新增错误捕获并通过SSE错误事件发送
- 运行结束时若检测到agent流错误,则标记运行失败
- 测试中fix(daemon): 优化Qoder代理参数与错误处理

- 调整Qoder启动参数,改用`--yolo`和`-w`替代旧参数,避开argv长度限制
- 增强代理流事件处理,捕获并通过SSE错误通同步更新Qoder参数使用及相应断言
- 新增端到端测试,覆盖Qoder助手错误通过SSE错误通道反馈及运行状态失败处理
- 补充工具函数辅助测试事件流读取与运行状态轮询

Change-Id: I5d933745c3659e093b0d2d807f22726e7f83eb48
Co-developed-by: Qoder <noreply@qoder.com>

* feat(qoder-stream): 识别并报告Qoder运行错误事件

- 新增messageFromResult函数以从结果对象提取错误信息
- 在处理result事件时根据is_error字段触发error事件
- error事件携带具体错误消息和原始数据
- 添加测试验证Qoder运行返回is_error且退出码为0时正确触发错误事件
- 更新qoder流解析测试以校验错误事件映射
- 在聊天路由测试中增加针对Qoder错误运行的端到端场景验证

Change-Id: Ie98ac518135dbec3181c52de5a49afdea993e279
Co-developed-by: Qoder <noreply@qoder.com>
2026-05-06 19:54:03 +08:00
github-actions[bot]
b1121c04f5
docs(readme): refresh contributors wall (#594)
Co-authored-by: mrcfps <23410977+mrcfps@users.noreply.github.com>
2026-05-06 18:06:21 +08:00
nettee
8762f06297
Add i18n structure checks (#608) 2026-05-06 11:55:59 +08:00
lefarcen
f1290a0222
docs(readme): also surface help-wanted issues from first-PR link (#605)
GitHub's `/contribute` page only renders the `good first issue` label,
so 12 open `help wanted` issues never reach newcomers via that entry.
Switch the link to an issues search URL covering both labels (OR), so
both pools surface from one click. Wording is unchanged across all 10
README locales.
2026-05-06 10:52:35 +08:00
Tom
6b2792b03a
fix(daemon): remove --no-session from pi adapter to persist session files (#557)
* fix(daemon): remove --no-session from pi adapter to persist session files

The pi agent was the only adapter explicitly passing `--no-session`
in its `buildArgs`, preventing pi from writing session files.
All other adapters either run in single-shot mode by design or use
the ACP JSON-RPC session lifecycle without suppressing persistence.

Removing `--no-session` lets `--mode rpc` retain its default behavior
of writing session state, which is needed for multi-prompt continuity
and matches the rest of the harness ecosystem.

* test(daemon): add pi buildArgs regression tests; fix docs for --no-session removal

- Adds test for pi.buildArgs base shape: returns ["--mode", "rpc"]
  and does not include --no-session (prevents regression).
- Adds test for --model and --thinking option passthrough.
- Updates pi-rpc.ts lifecycle comment to remove [--no-session].
- Updates README.md and all localized READMEs to reflect the
  corrected pi CLI invocation.
2026-05-06 00:26:09 +08:00
Eli
e5c9febf8c
docs: surface desktop downloads in README badges and Quickstart (#522)
Desktop client v0.3.0 has shipped for macOS (Apple Silicon) and Windows
(x64) at https://open-design.ai/ and the GitHub releases page. Surface
that in 11 READMEs (en + 10 localized):

- Add a 'Download' CTA badge as the first item in the shields row,
  linking to open-design.ai (orange #ff6b35, no platform-specific logo
  so it doesn't imply Mac-only or Windows-only).
- Repoint the existing release badge link from /releases/latest to
  /releases (the general entry page, more stable for users browsing
  history).
- Add &display_name=tag to the release shields URL so the badge shows
  the literal tag (e.g. open-design-v0.3.1-beta.5) instead of 'invalid'
  — shields.io's semver parser doesn't recognize the open-design- prefix.
- Update the At-a-glance 'Deployable to' row: drop the 'placeholder,
  in-flight' note and call out the actual macOS/Windows downloads with
  links to open-design.ai and the releases page.
- Insert a 'Download the desktop app (no build required)' subsection at
  the top of Quickstart, with a 'Run from source' subheading before the
  existing bash block — splits the funnel between non-developer users
  (download link) and developers (clone + pnpm).
- Flip the roadmap entry for apps/packaged/ from [ ] to [x] and append
  the download links.

zh-TW does not carry the release badge in its shields row, so the
release-badge update is a no-op there; all other changes apply.
2026-05-05 19:52:18 +08:00
Joey-nexu
16693fdfa8
docs: add official Discord invite to README badges (#504)
Adds the official Discord community link (https://discord.gg/qhbcCH8Am4)
as a badge in the badge row across all 11 localized READMEs so users
have a clear, consistent entry point to the community.

Co-authored-by: joey <joey@joeydeMacBook-Air.local>
2026-05-05 15:27:53 +08:00
Eli
c2e3691130
docs: add Arabic (العربية) README translation (#458)
* docs: add Arabic README translation

Adds README.ar.md — full Arabic translation of README.md, wrapped in a
top-level <div dir="rtl"> for correct RTL rendering on GitHub. All
URLs, file paths, code blocks, badges, and tables are preserved verbatim;
prose and table cell text are translated to Modern Standard Arabic.

Also wires up the language switcher in all nine sibling README files
(en/de/fr/zh-CN/zh-TW/ko/ja-JP/ru/uk) so the previously-placeholder
العربية entry now links to README.ar.md.

The translation is an initial pass — native-Arabic-speaker review for
phrasing/terminology is welcome.

* docs(ar): preserve code fences verbatim and restore license attribution

Address PR #458 review feedback (P2):

1. Revert translated prose inside fenced code blocks back to verbatim
   English, matching the source README.md:
   - Prompt-stack composition block
   - Architecture ASCII diagram (browser layer, daemon comments,
     bottom CLI row)
   - Quickstart bash comments
   - .od/ tree comments
   - Repository structure tree comments

2. Restore the License section's bundled-attribution sentence with
   links to skills/guizang-ppt/LICENSE (MIT, @op7418) and
   skills/html-ppt/LICENSE (MIT, @lewislulu); the previous version
   collapsed it to a generic 'see LICENSE' pointer.

* docs(ar): translate Running the Project and MCP server sections

Address PR #458 follow-up review (mrcfps): the Arabic README jumped from
the .od/ first-run section straight to repository structure, missing the
two sections added to README.md after this branch was forked:

- ## Running the Project — web/localhost mode, fixed-port restarts,
  desktop/Electron commands, and the useful-commands table
- ## Use Open Design from your coding agent — stdio MCP server setup,
  per-client install flow, daemon-must-be-running note, and the
  read-only security model

Command blocks, table structure, and links are preserved verbatim from
README.md per the same convention used elsewhere in the file.
2026-05-05 14:15:11 +08:00
lefarcen
406a077ba7
docs(readme): point first-PR link to /contribute page (#494)
The `labels/good-first-issue` URL renders an empty list when no issues
carry that label. GitHub's `/contribute` page auto-curates a mix of
good-first-issue, help-wanted, and active items, so it stays useful for
newcomers regardless of label coverage. Wording is unchanged across all
10 README locales.
2026-05-05 13:00:52 +08:00
github-actions[bot]
c219be622d
docs(readme): refresh contributors wall (#490)
Co-authored-by: mrcfps <23410977+mrcfps@users.noreply.github.com>
2026-05-05 11:58:02 +08:00
Irix
6380c48a48
Update Codex sandbox invocation (#477) 2026-05-05 09:15:32 +08:00
Oscar Nogueira Neto
df2e8adba0
docs: add Brazilian Portuguese (pt-BR) translations (#460)
* docs: add Brazilian Portuguese (pt-BR) translations

Translate README, CONTRIBUTING, QUICKSTART, and the e2e/cases,
e2e/reports, skills/html-ppt, skills/guizang-ppt READMEs into pt-BR.
Add the pt-BR entry to the language switcher in every existing locale
variant (en, de, fr, ko, ja-JP, ru, uk, zh-CN, zh-TW for README; en,
de, fr, ja-JP, zh-CN for CONTRIBUTING; en, de, fr, ja-JP for
QUICKSTART) so readers in any language can jump to the Portuguese
version. Code blocks, file paths, identifiers, license attribution
links and brand names are kept verbatim with the source.

* docs(pt-BR): use repo-relative links in e2e READMEs

Replace author-local absolute paths (/Users/mac/...) with repo-relative links so the translated docs navigate correctly on GitHub and other checkouts.

* docs(pt-BR): fix README badge anchor and skill reference link

- Update Agents badge href to the Portuguese fragment (#agentes-de-código-suportados) so the badge jumps to the translated heading.
- Restore the [`SKILL.md`][skill] reference-link syntax in the comparison table; the opening bracket was lost in translation, breaking the row.
2026-05-05 09:14:06 +08:00
Daniel Duma, PhD
cfd359e05a
[codex] Fix Gemini CLI trust handling (#352)
* Fix Gemini CLI trust handling

* Preserve agent spawn env filtering
2026-05-04 21:39:59 +08:00
David Z
c881c0ca34
Add complete French localization (#434) 2026-05-04 16:38:58 +08:00
github-actions[bot]
2fa1116111
docs(readme): refresh contributors wall (#407)
Co-authored-by: mrcfps <23410977+mrcfps@users.noreply.github.com>
2026-05-04 09:42:08 +08:00
David Z
2618e5239d
Add French locale and README (#326)
* Add French locale and README

* Polish French UI copy

* Place French after German in README switchers
2026-05-04 04:10:59 +08:00
DrMaks22
8381f4607c
feat(i18n): refresh Russian locale and add README (#393)
Co-authored-by: DrMaks22 <191687254+DrMaks22@users.noreply.github.com>
2026-05-04 03:38:05 +08:00