Eine frameworkunabhängige UI-Bibliothek aus Web Components auf Basis nativer custom elements (ranui) und eine tree-shaking-fähige TypeScript-Hilfsbibliothek (ranuts) — dazu die Werkzeuge und die zweisprachige Dokumentation (Englisch und Chinesisch) drumherum.
Funktionen • Pakete • Schnellstart • Dokumentation • Mitmachen
English | 中文 | 日本語 | Español | Português | 한국어 | Deutsch | فارسی
- 🎨 UI-Bibliotheken: Web Components
- 🛠️ Hilfsbibliotheken: Hilfsmittel in TypeScript
- 🤖 Maschinelles Lernen: einfache ML-Werkzeuge und Versuche
- 📱 Webanwendungen: IM-Chat-Anwendung (Prototyp)
- 🔧 Entwicklungswerkzeuge: Build-Werkzeuge und Hilfen zum Debuggen
- 🌐 Web3: Versuche mit Smart Contracts
- 🎯 Visuelle Werkzeuge: Versuche zur Datenvisualisierung
Dieses Monorepo versammelt verschiedene experimentelle Pakete:
| Paket | Version | Downloads | Beschreibung |
|---|---|---|---|
| ranui | Bibliothek aus Web Components | ||
| ranuts | Hilfsbibliothek |
| Paket | Beschreibung |
|---|---|
| im | Prototyp einer Chat-Anwendung |
| visual | Versuche zur Datenvisualisierung |
| ranite | Versuche mit Entwicklungswerkzeugen |
| debug | Hilfen zum Debuggen |
| image-process | Versuche zur Bildverarbeitung |
| cpro | Lernen und Ausprobieren in C/C++ |
| rust | Lernen und Ausprobieren in Rust |
Welche davon die CI tatsächlich prüft, steht in packages/manifest.json, und diese Datei wird ausgeführt, statt bloß zu beschreiben: bin/run-checks.mjs führt eine Prüfung über alle Pakete aus, die sie deklarieren. Ein Paket, das dort als geprüft geführt wird, ist es also wirklich, und bei einem ungeprüften steht der Grund dabei. pnpm run verify:packages schlägt fehl, sobald unter packages/ ein Verzeichnis auftaucht, das im Manifest fehlt — ein neues Paket kann somit nicht ankommen, ohne dass jemand entscheidet, ob es geprüft wird.
# Das Repository klonen
git clone https://github.com/chaxus/ran.git
cd ran
# Abhängigkeiten installieren
pnpm install
# Alle Pakete bauen
pnpm build# ranui (Web Components) installieren
npm install ranui
# Die Hilfsmittel installieren
npm install ranuts# Entwicklungsserver starten
pnpm dev
# Tests ausführen
pnpm test
# Ein bestimmtes Paket bauen
pnpm --filter ranui build- 📖 Blog und Artikel: Vorschau von Webdokumenten
- 🎨 Dokumentation zu RanUI: Leitfaden zur UI-Bibliothek
- 🛠️ Dokumentation zu RanUTS: Leitfaden zur Hilfsbibliothek
- 📝 Projektdokumentation: docs
Das Repository bringt einen Claude-Code-Plugin-Marketplace mit, damit KI-Assistenten die Bibliotheken lesen und benutzen können, ohne sich durch den Quelltext zu graben. Füge den Marketplace hinzu und installiere dann die Bibliothek, die du verwendest:
/plugin marketplace add chaxus/ran
/plugin install ranui@ran # ranui — Web Components
/plugin install ranuts@ran # ranuts — HilfsmittelJede Skill behandelt die Import-Map, ein Verzeichnis der Bestandteile, Anwendungsbeispiele und die Konventionen und verweist auf die API-Referenz, die im jeweiligen Paket mitgeliefert wird. Einzelheiten stehen im Abschnitt der jeweiligen Bibliothek: ranui und ranuts.
Dies ist ein Projekt zum Erkunden von Technik und zum Lernen, noch in früher Entwicklung. Die meisten Pakete stehen im Alpha-Stadium oder sind experimentell.
Das Wichtigste:
- 🚧 Frühe Entwicklung: die meisten Funktionen entstehen noch
- 🧪 Experimentell: APIs können sich häufig ändern
- 📚 Zum Lernen gedacht: vor allem zum Lernen und Ausprobieren
Beiträge von Lernenden wie von Entwicklerinnen und Entwicklern sind willkommen. So kannst du helfen:
- Das Repository forken
- Einen Branch für die Funktion anlegen (
git checkout -b feature/amazing-feature) - Die Änderungen committen (
git commit -m 'Add amazing feature') - Den Branch pushen (
git push origin feature/amazing-feature) - Einen Pull Request eröffnen
- Halte dich an den vorhandenen Stil des Codes
- Ergänze nach Möglichkeit Tests für neue Funktionen
- Aktualisiere die Dokumentation, wo es nötig ist
- Sei geduldig mit dem, was noch experimentell ist
Ich glaube daran, dass quelloffene Arbeit Lernen und Erneuerung beschleunigt. Auf meinem Weg als Entwickler haben mich unzählige quelloffene Projekte geprägt. Indem ich diesen experimentellen Code öffne, hoffe ich:
- Erfahrungen aus dem Lernen mit der Gemeinschaft zu teilen
- anderen zu ermöglichen, an diesem Code zu lernen und damit zu experimentieren
- Zusammenarbeit und den Austausch von Wissen zu fördern
- einen Ort für fortwährendes Lernen und Verbessern zu schaffen
Dieses Projekt steht unter der MIT-Lizenz — Einzelheiten stehen in der Datei LICENSE.
Mit ❤️ von der Ran-Gemeinschaft gemacht
Wenn dir das Projekt beim Lernen hilft, gib ihm gern einen ⭐️