Commit Graph
137 Commits
Author SHA1 Message Date
Chanhyo JungandGitHub 2f1778752e feat(mcp): add Raven installer target (#5969) 2026-07-23 02:48:11 +00:00
netteeandGitHub 6b90486c97 docs: reconcile stale documentation with current code (#5829)
* fix(docs): align question guidance with form flow

* docs: reconcile stale documentation with current code

* fix(docs): remove retired template metadata from guides

Generated-By: looper 0.10.6 (runner=fixer, agent=codex)

* fix(e2e): stabilize visual workspace helper

Generated-By: looper 0.10.6 (runner=fixer, agent=codex)

* fix(docs): align localized template guide metadata

Generated-By: looper 0.10.6 (runner=fixer, agent=codex)
2026-07-18 03:41:08 +00:00
open-design-bot[bot]GitHubopen-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
66ce2b48a7 docs(readme): refresh contributors wall (#4914)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-07-17 09:09:53 +00:00
Arthur LiaoandGitHub 7332f43f88 docs: clarify macOS od command collision (#5219) 2026-07-13 10:29:21 +00:00
ae27ad2541 Add Atlas Cloud BYOK provider preset (#5406)
* Add Atlas Cloud BYOK provider preset

* Add UTM to Atlas Cloud provider link

---------

Co-authored-by: binyangzhu000-sudo <224954946+binyangzhu000-sudo@users.noreply.github.com>
2026-07-13 10:28:31 +00:00
SivanColaandGitHub 7d207ce95d Add Reasonix MCP installer support (#5397) 2026-07-11 08:38:26 +00:00
YOMXXXandGitHub 8cc4c5779f fix(daemon): support kiro mcp install (#5118) 2026-07-08 07:54:23 +00:00
dde6228121 feat(daemon): add OD_ALLOWED_INTERNAL_HOSTS allowlist for internal provider endpoints (#4250)
* feat(daemon): add OD_ALLOWED_INTERNAL_HOSTS allowlist for internal provider endpoints

Fixes #3225. The 0.8.0 SSRF hardening blocks provider base URLs that
resolve to private/internal ranges, with no way to opt a trusted host
out -- breaking internally-hosted LiteLLM/Ollama gateways on VPN-only
RFC1918 addresses.

Add an operator opt-in: OD_ALLOWED_INTERNAL_HOSTS exempts listed hosts
from the internal-IP guard, threaded only into user-configured provider
endpoints (connection test, model discovery, BYOK chat). The
attacker-controllable asset-download guard stays strict. Malformed and
CIDR entries are dropped with a warning rather than silently trusted.
The Settings base-URL field no longer rejects internal-IP URLs
client-side, deferring the authoritative decision to the daemon.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* test(e2e): update BYOK base-URL P0 for relaxed internal-IP validation (#3225)

The P0 spec used an internal-IP URL as its 'invalid' example to assert the
client-side error; that URL is now accepted (the daemon owns the allowlist
decision). Switch to a non-http scheme, which is still rejected client-side.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* fix(web): defer internal-IP base URL to the daemon in BYOK draft validation (#3225)

isValidApiBaseUrl was relaxed, but the Test and model-fetch actions gate
on validateByokDraft -> blockingByokDraftIssues, which still treated any
validateBaseUrl error (including a forbidden internal IP) as a blocking
base_url_invalid. So the Test button appeared but the action stayed
blocked client-side and never reached the daemon allowlist. Treat a
syntactically-valid forbidden URL as non-blocking here too; genuinely
malformed / non-http URLs still block.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-05 14:35:28 +00:00
50b38c4fb0 docs: keep the README leading with 'the open-source Claude Design alternative' (#5180)
GitHub targets a developer audience, so the repo README keeps the SEO keyword
as its lead; the Vibe Design Workspace umbrella lives on the website instead.
Restore the H1 and the What-is intro to the Claude-Design-alternative lead
(keeping the local-first placement and count-free phrasing), drop the extra
tagline line, and add the shipped 0.10.0-0.13.0 roadmap milestones.

Co-authored-by: Joey <276262049+xne998808-ai@users.noreply.github.com>
2026-07-05 08:14:34 +00:00
143830af59 docs: align README positioning with the Vibe Design Workspace umbrella (#5115)
* docs: align README positioning with the Vibe Design Workspace umbrella

Lead with the product's own category (The Vibe Design Workspace) instead of the
competitor keyword, keeping 'open-source Claude Design alternative' as the
subtitle / SEO phrase. Move 'local-first' off the front of the main keyword to
describe the desktop app, and replace the hardcoded skill/system/plugin counts
in the hero alt and intro line with keyword phrasing (the counts stay in the
dedicated Skills / Design Systems sections). Scoped to the README top; the
translated READMEs under docs/i18n/ are a follow-up.

* docs: refresh the README release callout to 0.13.0 (Stay in Flow)

The top-of-README release blurb was still on 0.10.0, three releases behind
(0.11 The Bazaar, 0.12 Brand-backed Design System, 0.13 Stay in Flow). Update
it to 0.13.0 with its session-resume / model-picker / export-handoff theme and
point the links at the 0.13.0 download and release notes.

* docs: rename AMR to Open Design Cloud across the README

AMR (Agentic Model Router) has been folded into Open Design Cloud, so the
callout, top-nav link, and roadmap entry now say Open Design Cloud and point at
/cloud/ instead of /amr/. Also normalizes the one-word OpenDesign Cloud mention
in the 0.13.0 blurb.

* docs(i18n): rename AMR to Open Design Cloud across the translated READMEs

Mirror the EN README rename in all 13 localized READMEs (ar de es fr ja-JP ko
pt-BR ru th tr uk zh-CN zh-TW): the model-service callout, CTA, top-nav link,
and roadmap entry now say Open Design Cloud and point at /cloud/ instead of
/amr/. Brand name kept in English per convention.

* docs: join the README H1 value props with '&' instead of an em dash

* docs: unlink Claude Design mentions in the READMEs

The 'Claude Design' text was a reference link to an X/Twitter post. Drop the
link (and the shared [cd] reference definition) across the EN and 13 localized
READMEs so 'Claude Design' stays plain keyword text and we don't hand a
competitor an outbound backlink.

* docs: make the hero image alt text descriptive for screen readers

The hero alt had drifted into positioning/SEO copy that also no longer matched
the image. Rewrite it to describe what the banner actually shows — the
headline, the classical columns-and-figures artwork, and the stat cards — so
screen readers get an accurate description. Categories are named without
hard-coding counts.

* docs(i18n): refresh the translated README release callouts to 0.13.0

Sync the localized release banners from the stale 0.10.0 blurb to the 0.13.0
'Stay in Flow' announcement (session resume / faster model pick / export
handoff) across all 13 locales, matching the EN README and pointing at the
0.13.0 download + release notes. Resolves the EN/localized version divergence
at the README entry point.

---------

Co-authored-by: Joey <276262049+xne998808-ai@users.noreply.github.com>
2026-07-05 01:18:43 +00:00
643b5a64b2 Add web-clone skill (#5063)
* Add web-clone skill

* Fix web-clone report command order

* Fix web-clone workflow paths

* Fix web-clone post-cd paths

* Fix web-clone network capture

* Fix web-clone root override docs

* Fix web-clone notes path

* Align web-clone reference paths

* Use init output for web-clone project path

* Preserve web-clone init failure status

* Handle non-ASCII web-clone names

---------

Co-authored-by: tuolaji <tuola@tuolajideMacBook-Air.local>
2026-07-03 06:57:37 +00:00
tanangularandGitHub c0b6cc7444 feat(i18n): add Thai maintainers translation (#4297)
* feat(i18n): add Thai README translation

* feat(i18n): add Thai quickstart translation

* feat(i18n): add Thai contributing translation

* feat(i18n): add Thai maintainers translation
2026-07-03 03:50:08 +00:00
YOMXXXandGitHub 14f85f373b fix(landing): serve hosted install.sh wrapper (#4866) 2026-07-02 06:53:15 +00:00
54de349c47 fix: replace expired Discord invite (#4849)
Co-authored-by: koki yanlai xu <koki@kokideMacBook-Air.local>
2026-06-29 15:00:45 +00:00
open-design-bot[bot]GitHubopen-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
dbd280610e docs(readme): refresh contributors wall (#4832)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-06-29 07:16:33 +00:00
open-design-bot[bot]GitHubopen-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
59214704f6 docs(readme): refresh contributors wall (#4719)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-06-26 13:55:47 +00:00
ScarlettandGitHub 2f75200a84 chore(readme): add UTM attribution to open-design.ai links (#4792) 2026-06-26 03:15:40 +00:00
SidandGitHub 48695090f8 Make WSL agent setup unambiguous for MCP installs (#4655)
Windows users running agent CLIs inside WSL were landing on the native Windows guide and copying the README MCP command directly, which left Linux /usr/bin/od shadowing, daemon origin, Node ABI, and Codex config parse failures unexplained. Add a WSL2 guide and teach the Codex config normalizer to drop nested feature tables that current Codex parses as maps instead of boolean flags.

Constraint: WSL agent CLIs need the same Linux environment for the wrapper, daemon, Node modules, and credentials

Rejected: Docs-only workaround | would leave daemon-launched Codex runs failing on nested features tables

Confidence: high

Scope-risk: narrow

Directive: Keep WSL-specific guidance separate from native Windows PowerShell troubleshooting

Tested: pnpm --filter @open-design/daemon exec vitest run -c vitest.config.ts tests/codex-config-normalize.test.ts

Tested: pnpm --filter @open-design/daemon typecheck

Tested: pnpm guard

Tested: git diff --check

Not-tested: Manual WSL2 end-to-end MCP install on a Windows host

Related: Fixes #4648
2026-06-23 09:56:22 +00:00
open-design-bot[bot]GitHubopen-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
f94e887d65 docs(readme): refresh contributors wall (#4653)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-06-23 08:55:14 +00:00
91e5207d72 docs(readme): fix 404 agent-install command, use od mcp install <agent> (#4649)
The "install into your coding agent" sections pointed users at
`curl -fsSL https://open-design.ai/install.sh | sh -s <agent>`, but that
URL returns 404 — the bootstrap script was never published, and a
standalone `od` CLI is not yet distributed. Every README (English + 12
i18n) shipped a copy-paste command that fails.

Replace it with the real, shipped command `od mcp install <agent>`,
matching the Platform Compatibility table already present in each file
("Once OD is installed, a single `od mcp install <agent>` ..."). The
surrounding "one-line install" comment stays accurate and the
install-OD-first prerequisite is covered by that table.

Co-authored-by: Joey <276262049+xne998808-ai@users.noreply.github.com>
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-23 00:19:59 +00:00
d3ebed564c [codex] Update Open Design X account links (#4611)
* fix: update Open Design X account links

* test(web): assert settings X link target

Generated-By: looper 0.9.10+codex.autoclean (runner=fixer, agent=codex)

---------

Co-authored-by: Siri-Ray <2667192167@qq.com>
Co-authored-by: Looper <looper@noreply.github.com>
2026-06-22 09:04:49 +00:00
open-design-bot[bot]GitHubopen-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
c958cdb7ae docs(readme): refresh contributors wall (#4560)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-06-22 05:18:39 +00:00
Carson YangandGitHub 11fb1ad6f0 docs: add Sealos deployment option (#4472)
* docs: add Sealos deployment option

* docs: update Sealos deploy slug

* docs: point Sealos badge to app store page

* docs: add Sealos deploy section to localized READMEs

* docs: clarify Sealos authentication guidance
2026-06-18 06:38:10 +00:00
b02d20e6b9 fix: unify Discord invite links (#4452)
Co-authored-by: koki yanlai xu <koki@kokideMacBook-Air.local>
2026-06-17 08:25:16 +00:00
a0afc584bb [codex] centralize daemon data directory docs (#4222)
* docs: centralize daemon data directory contract

* fix(e2e): allow slower artifact consistency navigation

Generated-By: looper 0.9.5 (runner=fixer, agent=codex)

* docs: localize daemon data directory pointers

Generated-By: looper 0.9.5 (runner=fixer, agent=codex)

---------

Co-authored-by: Looper <looper@noreply.github.com>
2026-06-15 02:52:05 +00:00
d0cc28d339 feat(daemon): add Amp CLI as a coding-agent adapter (#3861)
* feat(daemon): add Amp CLI as a coding-agent adapter

Amp (ampcode.com) runs headless via `amp -x --stream-json`, which emits
the Claude Code-compatible stream JSON format the daemon already parses,
with the prompt delivered over stdin. Add it as a coding-agent adapter
reusing the claude-stream-json parser; the model picker maps to Amp's
agent --mode (smart/deep/rush).

- new ampAgentDef + registry entry + install metadata
- web agent label/alias
- replay mock (renders via the claude renderer)
- docs adapter-catalog row + README CLI count (21 -> 22)
- adapter buildArgs/stream-format test

* fix(daemon): order Amp adapter at P2, not first-run default

Move ampAgentDef next to copilot (the other P2 local headless CLI adapter)
instead of the head of BASE_AGENT_DEFS. The daemon preserves AGENT_DEFS
order in /api/agents and the web app fills an empty config with
agents.find((a) => a.available), so listing Amp first made it the default
engine ahead of AMR/Claude/Codex for any user with amp on PATH and no
persisted agentId — inconsistent with its P2 classification. Reordering
restores the prior first-run default. Addresses PR review feedback.

---------

Co-authored-by: Siri-Ray <2667192167@qq.com>
2026-06-11 15:17:07 +00:00
1a10fa2600 docs(readme): announce 0.10.0 and add a permanent AMR entry across all READMEs (#4154)
* docs(readme): announce 0.10.0 and add AMR entry across all READMEs

* docs(readme): link Gemini CLI and Kimi CLI rows in agent compatibility table

* docs(readme): expand AMR acronym to Open Design Model Router in the AMR blockquote

* docs(readme): rename nav AMR link to Model Router and correct acronym to Agentic Model Router

---------

Co-authored-by: qiongyu1999 <2694684348@qq.com>
2026-06-11 14:37:53 +00:00
挥手的骑士andGitHub e89832257c fix(readme): Fix the table formatting errors in the architecture document (#3926) 2026-06-11 09:24:18 +00:00
kokiandGitHub 10ac33097e docs(readme): add @YOMXXX to maintainers (#3633) 2026-06-04 08:56:58 +00:00
67077fd36f chore(docs): move translated docs into docs/i18n/ (#3621)
* chore(docs): move translated docs into docs/i18n/

Collect the translated README/QUICKSTART/CONTRIBUTING/MAINTAINERS files
(including the Korean set) into docs/i18n/, leaving only the English sources
in the repo root so the GitHub project home page file list stays clean.
Rewrite internal links for the new layout (../../ for repo-root resources,
sibling filenames between translations), update both switcher conventions,
the i18n-check mixed-layout support, the contributors-wall workflow globs,
TRANSLATIONS.md guidance, and drop now-dead root translation paths from the
fork-PR docs allowlist.

* fix(docs): correct root-relative links in Korean contribution guide

Prefix repo-root targets (scripts/sync-design-systems.ts, TRANSLATIONS.md,
package.json, .github/pull_request_template.md) with ../../ so they resolve
from the new docs/i18n/ depth; sibling translated docs stay bare.

Generated-By: looper 0.8.1 (runner=fixer, agent=claude-code)

---------

Co-authored-by: qiongyu1999 <2694684348@qq.com>
2026-06-04 06:55:16 +00:00
77fee5fe42 docs: document macOS Docker host networking workaround (#3417)
Co-authored-by: Vladislav Ovdeychuk <ovdeychuk@trueconf.ru>
Co-authored-by: Siri-Ray <2667192167@qq.com>
2026-06-04 04:04:32 +00:00
Ahmed RehanGitHubcopilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
33d59ebb3a Clarify OpenCode reasoning support and avoid unsupported reasoning argv (#3346)
* Clarify OpenCode reasoning support

* Address PR review suggestions

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-06-04 03:58:39 +00:00
c128ffd53b docs: 0.9.0 / AMR README(13 语言)合入 main,适配 R2 资产策略 (#3530)
* docs: bring 0.9.0 / AMR README (13 langs) to main, R2-aware

Port the finalized 0.9.0 README set from the preview line onto main:
all 13 languages with the AMR announcement, product tour, 21-agent
grid, plugin usage/build/contribute, corrected counts (150/261/21),
Fellow callout, and the #3524 discussion link.

Follows main's R2 asset strategy (#3492): banner / banner-zh / star-us
/ github-metrics are referenced from repo-assets.open-design.ai, not
committed to the repo. coding-agents.png and the product screenshots
stay in-repo, matching how docs/screenshots/* is handled on main.

⚠️ Requires uploading banner-zh.png to R2 before/at merge (see PR body).

* docs: compress two product screenshots under the 1MB file-size guard

studio-image.png (2.5MB) and studio-hyperframe.png (1.1MB) tripped the
"Guard changed file sizes" CI (MAX_CHANGED_FILE_BYTES=1MB). Downscale to
1600px wide + palette PNG — now 0.47MB / 0.18MB, still crisp, kept
in-repo alongside the other product screenshots.

* docs: move coding-agents + product screenshots to R2

Follow the #3492 R2 asset strategy fully: the 10 large PNGs this PR was
keeping in-repo (docs/assets/coding-agents.png + docs/screenshots/product/*)
now reference repo-assets.open-design.ai/resources/images/ instead, and the
binaries are dropped from the tree.

Uploaded to R2 (200 verified):
- resources/images/coding-agents.png
- resources/images/product/{automation,design-system,home,integrations,
  plugin,studio-hyperframe,studio-image,studio-ppt,studio-prototype}.png

Pre-existing main assets (docs/screenshots/skills/*, 01-entry-view,
07-magazine-deck) stay local, unchanged. banner-zh.png is now live on R2,
resolving the prior broken-banner blocker.

* docs: unify all language READMEs on the new 0.9.0 hero banner

The non-Chinese READMEs pointed at resources/images/banner.png, which was
still the old "Design with the agent" art — only README.zh-CN rendered the
new 0.9.0 hero. The new hero is language-neutral (English copy), so all 13
READMEs now reference a single canonical resources/images/hero.png instead
of the split banner.png / banner-zh.png pair.

Using a fresh object key sidesteps the stale Cloudflare/camo cache on the
old banner.png URL.

* docs: restore RTL wrapper on README.ar.md

The 0.9.0 localized rewrite dropped the <div dir="rtl"> wrapper that main's
README.ar.md uses to force right-to-left layout, so the Arabic landing page
would render mixed/LTR. Re-wrap the whole document in <div dir="rtl"> … </div>
to match main.

* docs: restore text language switcher and localize core-doc links (fix i18n P0)

The merge-queue Preflight job runs `pnpm i18n:check`, which is skipped for
docs-only PR-level CI — so this only surfaced once the PR entered the queue.
Two regressions from the 0.9.0 rewrite:

- Language switcher: all 13 READMEs replaced the single-line text switcher
  with a multi-line image-badge block that i18n-check's parser can't read
  (it scans one line and extracts <a href>text</a>, not <img alt>). Restore
  the canonical text switcher, each README bolding its own language.

- Core-doc links: localized READMEs (de/fr/ja-JP/pt-BR/zh-CN, and zh-TW for
  QUICKSTART) linked the English QUICKSTART.md/CONTRIBUTING.md while a
  localized version exists. Point QUICKSTART at the localized file; label the
  CONTRIBUTING translations-row original as [English](CONTRIBUTING.md).

`pnpm i18n:check` passes locally.

---------

Co-authored-by: qiongyu1999 <2694684348@qq.com>
Co-authored-by: lefarcen <935902669@qq.com>
2026-06-02 18:53:06 +00:00
PerishFireandGitHub c3c356961b chore: move large repository assets to r2 (#3492) 2026-06-02 10:19:12 +00:00
netteeandGitHub 1695a58166 chore: stop daily metrics PRs (#3463) 2026-06-02 06:06:14 +00:00
Nicholas-XiongandGitHub accbd3b8a1 docs: update skills count from 137 to 139 (#3424)
The actual count of SKILL.md files in the skills/ directory is 139,
but README.md was showing 137 in multiple places. This updates all
occurrences to reflect the correct count.

Verified with: find skills -name 'SKILL.md' | wc -l
2026-06-02 05:53:06 +00:00
open-design-bot[bot]GitHubopen-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
9a6e803eee docs(readme): refresh contributors wall (#3377)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-05-31 14:31:47 +00:00
open-design-bot[bot]GitHubopen-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
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]GitHubopen-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
51963cff78 docs(readme): refresh contributors wall (#3271)
Co-authored-by: open-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
2026-05-29 14:12:51 +00:00
Anurag PappulaandGitHub 5319e14dc0 docs: sync README skill and design-system counts to 137 / 150 (#3254)
* docs: bump skill count to 137 in TL;DR and header badge

* docs: sync at-a-glance and comparison-table counts, drop broken arithmetic

* docs: sync remaining body references to 137 skills
2026-05-29 03:18:45 +00:00
open-design-bot[bot]GitHubopen-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
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]GitHubopen-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
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
netteeandGitHub 6c6ee44e07 docs(media): clarify custom providers and ComfyUI status (#479) (#2942)
Closes #479

Generated-By: looper 0.9.0 (runner=worker, agent=opencode)
2026-05-26 06:22:02 +00:00
hahaloloandGitHub 1aa72b6d09 fix(docker): fix container startup crash due to missing OD_API_TOKEN (#2928)
* fix(docker): fix container startup crash due to missing OD_API_TOKEN

* fix(docker): forward OD_API_TOKEN to fix docker container boot loop

* fix(docker): enforce non-empty OD_API_TOKEN for docker-compose

* fix(deploy): automate OD_API_TOKEN generation in installer and close compose loop

* docs(readme): guide manual deployment users to configure OD_API_TOKEN

* docs(readme): align working directory paths for manual deployment instructions

* docs(readme): align working directory paths for manual deployment instructions

* docs(readme): restore git clone context for first-time users
2026-05-26 06:15:48 +00:00
open-design-bot[bot]GitHubopen-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
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
Nicholas-XiongandGitHub 2c2900cfad fix: prevent cursor jumping during IME composition after @ mention (#2903)
* docs: update README skill and design system counts to 132/150

Fixes remaining 7 stale count references identified in #2186:
- Line 3: intro paragraph (31→132, 72→150)
- Line 33-34: shields.io badges (131→132, 149→150)
- Line 68: feature comparison table Skills row (31→132)
- Line 114-115: screenshot caption (72→150, ×2)
- Line 876: user templates note (31→132)
- Line 902: comparison table Skills row (31→132)

Actual counts verified:
- skills/: 132 (134 entries - AGENTS.md - README.md)
- design-systems/: 150 (152 entries - _schema - AGENTS.md)

* fix: deduplicate example cards by skill ID to prevent duplicate rendering

Fixes #2889

The ExamplesTab component was rendering duplicate task-selection cards
when rawSkills contained multiple entries with the same skill.id. This
was particularly visible in the official xhs-white-editorial example flow.

Solution: Add deduplication logic in the skills useMemo hook. After
filtering out aggregatesExamples skills, we now use a Map to ensure
each skill.id appears only once, keeping the first occurrence.

This prevents duplicate cards from being rendered while preserving the
existing filter and sort behavior downstream.

* fix: prevent cursor jumping during IME composition after @ mention

Fixes #2851

When using Chinese input method (IME) after typing @ in the chat
composer, the cursor would jump to the previous character position,
making it confusing and difficult to type Chinese text.

Root cause: The handleChange function was detecting @ mentions and
updating the mention state during IME composition events. This caused
React to re-render and reset the cursor position while the user was
still composing characters.

Solution: Skip mention and slash-command detection when composingRef
indicates an active IME composition session. The existing
onCompositionStart/End handlers already track this state; we now
respect it in handleChange.

This fix applies to all IME-based input methods (Chinese, Japanese,
Korean, etc.) and prevents cursor jumping when typing after @ or /
triggers.
2026-05-25 10:59:37 +00:00
open-design-bot[bot]GitHubopen-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
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]GitHubopen-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
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
YOMXXXandGitHub a66b34d60b docs(README): refresh stale skills and design-systems counts (#2186) (#2407)
* docs(README): refresh stale skills and design-systems counts

The English README still reported 31 skills / 72 design systems and a
prototype(27)+deck(4) split last accurate around v0.4.1. Counted from
SKILL.md / DESIGN.md entry files at the current HEAD: 132 skills
(32 prototype, 9 deck, plus image/video/audio/template/design-system/
utility modes) and 150 design systems.

Updates the eight inline references in README.md plus the two ASCII
tree comments under `skills/` and `design-systems/`. Adds a one-line
note that the mode taxonomy now spans more than just prototype + deck
so the description stops contradicting the visible mode chips in the
picker.

Translations (README.de/fr/es/ko/ja-JP/zh-CN/zh-TW/pt-BR/ar/ru/uk/tr)
still carry the old numbers and need follow-up PRs from their original
translators; intentionally out of scope here to keep this PR easy to
review.

Refs #2186.

* docs(README): include utility mode in catalog summary

The mode summary listed image/video/audio/template/design-system but
dropped utility. The tree comment later in the same file already
mentions utility, and one skill (pptx-html-fidelity-audit) is registered
with mode: utility. Add utility to the inline list so the README stays
internally consistent with the registry the surrounding counts cite.
2026-05-23 11:47:06 +08:00
open-design-bot[bot]GitHubopen-design-bot[bot] <282769551+open-design-bot[bot]@users.noreply.github.com>
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