bama
BAMA: Build Any Mac App. Agent skills to research, clone, design, build, optimize, and test native macOS apps with Swift and SwiftUI.
翻訳待ち
リポジトリ情報はまだ収集していません。
No updates detected yet. GitHub releases will appear here.
Claude Code skill that makes any web app ready for right-to-left languages (Arabic, Hebrew, Persian, Urdu): a zero-dependency scanner with safe auto-fixes, plus guidance for icons, bidi text, typography and Intl.
翻訳待ち
Loading the full README.
Read the full README ↗Make any web app ready for right-to-left languages (Arabic, Hebrew, Persian, Urdu) with one Claude Code skill.
Translating the strings and adding dir="rtl" is the easy 10%. rtl-ready finds and fixes the
rest:
Live demo: rtl-ready.vercel.app shows the same page before and after, in English and Arabic.
بالعربية: مهارة مفتوحة المصدر لـ Claude Code تفحص تطبيق الويب، وتصلح ما يتعطّل عند الكتابة من اليمين إلى اليسار، ثم ترشد Claude إلى الباقي: الأيقونات، والأرقام والبريد الإلكتروني، والخطوط العربية، وتنسيق الأسعار والتواريخ.
scan.mjs is a zero-dependency Node script. It finds
physical-direction code in Tailwind classes, CSS, <style> blocks, inline styles, React style
objects and CSS-in-JS, and prints the logical replacement for each finding.--fix rewrites only drop-in replacements, such as ml-4 → ms-4,
margin-left → margin-inline-start, text-left → text-start and
float: right → float: inline-end.dir/lang per localeIntl number and date formattingexamples/before/ is a checkout page written LTR-first, the way most apps start. It only flips
dir for Arabic. This is what the skill did to it:
$ node skills/rtl-ready/scripts/scan.mjs examples/before
rtl-ready: 76 findings in 1 of 1 files · 57 fix · 15 check · 4 tip
examples/before/index.html:2:1 check <html> no lang: set it per locale … html-lang
examples/before/index.html:18:9 fix float: right → float: inline-end css-physical
examples/before/index.html:39:24 fix ml-3 → ms-3 tw-physical
examples/before/index.html:51:25 check icon-arrow-right directional icon: mirror it in RTL … icon-mirror
examples/before/index.html:83:17 check <input type="email" …> emails, phone numbers and URLs are LTR … input-ltr
examples/before/index.html:117:33 fix right-4 → end-4 tw-physical
examples/before/index.html:185:77 tip .toLocaleDateString() pass the active locale … intl-locale
…
$ node skills/rtl-ready/scripts/scan.mjs examples/after --fix # on a copy of before/
rtl-ready: applied 57 safe fixes.
rtl-ready: 19 findings in 1 of 1 files · 0 fix · 15 check · 4 tip
The 19 remaining checks were then handled by hand, following the skill:
<bdi> around the order numberIntl for the prices (ar-MA → 1.298,80 د.م.) and the date--dir variable for the toast animationThe page now scans clean:
$ node skills/rtl-ready/scripts/scan.mjs examples/after
rtl-ready: 1 file scanned, no RTL issues found ✓
| English (LTR) | Arabic (RTL) | |
|---|---|---|
| Before | ||
| After |
The full scan outputs are in docs/scan-before.txt and docs/scan-after-fix.txt.
In Claude Code:
/plugin marketplace add miraya-dev/rtl-ready
/plugin install rtl-ready@rtl-ready
Or from a shell:
claude plugin marketplace add miraya-dev/rtl-ready
claude plugin install rtl-ready@rtl-ready
Claude uses the skill on its own when you talk about RTL, Arabic, Hebrew and so on. You can also
call it directly with /rtl-ready:rtl-ready. To update later, run
/plugin marketplace update rtl-ready.
git clone https://github.com/miraya-dev/rtl-ready.git
cp -r rtl-ready/skills/rtl-ready ~/.claude/skills/
On Windows (PowerShell):
Copy-Item -Recurse rtl-ready\skills\rtl-ready "$HOME\.claude\skills\".
Call it with /rtl-ready. To share it with a team, copy it into the project's
.claude/skills/rtl-ready/ instead and commit it.
skills/rtl-ready/scripts/scan.mjs is a single file that needs only Node 18.17+:
node scan.mjs src # audit
node scan.mjs src --fix # apply the safe fixes
node scan.mjs src --json # machine-readable
Ask in plain words:
src/ and fix the RTL issues."dir and lang per locale with next-intl."This is the beginning of the README. Read the rest at the original. Read the full README ↗