Ruler ist ein Open-Source-Befehlszeilen-Tool, das Entwicklern und Teams helfen soll, Regelkonfigurationen für mehrere KI-Codierungsagenten (z. B. GitHub Copilot, Claude, Cursor, Aider usw.) auf einheitliche Weise zu verwalten. Dies geschieht über eine zentralisierte .ruler/
Ruler unterstützt mehrere KI-Agenten mit einer einfachen Kommandozeilenschnittstelle. Entwickler müssen nur eine einzige Regeldatei pflegen, um sicherzustellen, dass alle KI-Agenten einer konsistenten Kodierungsspezifikation folgen.Ruler unterstützt eine breite Palette von KI-Kodierungsagenten und verfügt über eine einfach zu bedienende Befehlszeilenschnittstelle, wodurch es sich für Entwicklungsteams eignet, die toolübergreifend zusammenarbeiten müssen. Das von Eleanor Berger (@intellectronica) entwickelte und auf GitHub gehostete Projekt befindet sich derzeit in Version 0.2.10 und wurde in TypeScript unter der MIT-Lizenz geschrieben.
Funktionsliste
- Verwalten Sie die Regeln des KI-Codieragenten zentral über die
.ruler/
Das Verzeichnis speichert Regeldateien einheitlich. - Verteilen Sie Regeln automatisch an Profile von unterstützten KI-Agenten (z. B. GitHub Copilot, Claude, Cursor, Aider, AugmentCode usw.).
- Unterstützt von
ruler.toml
Die Datei dient der Feinabstimmung des Zielagenten und des Ausgabepfads. - Bietet einfache Befehlszeilentools zur Unterstützung
apply
undrevert
und andere Befehle, um die Erstellung und Rückgängigmachung von Konfigurationen zu verwalten. - Unterstützt die globale Konfiguration, gespeichert in der
$XDG_CONFIG_HOME/ruler
(Standard)~/.config/ruler
) zur einfachen projektübergreifenden Verwendung. - automatische Verwaltung
.gitignore
Dadurch wird verhindert, dass die erzeugte Proxy-Konfigurationsdatei vom Versionskontrollsystem verfolgt wird. - Unterstützung von Erweiterungen zum einfachen Hinzufügen neuer AI-Agent-Adapter.
- Detaillierte Protokolle und Fehlerwarnungen für eine einfache Fehlersuche und optimierte Konfiguration.
Hilfe verwenden
Einbauverfahren
Ruler ist ein auf Node.js basierendes Tool, das Node.js 18.x oder höher benötigt. Hier sind die detaillierten Installationsschritte:
- Klon-Lager
Klonen Sie das Ruler-Repository lokal, indem Sie den folgenden Befehl in einem Terminal ausführen:git clone https://github.com/intellectronica/ruler.git cd ruler
- Installation von Abhängigkeiten
Verwenden Sie npm, um die erforderlichen Abhängigkeiten zu installieren:npm install
- Erstellen Sie das Projekt
TypeScript-Code zur Erstellung des Lineals:npm run build
- Globale Installation (optional)
Wenn Sie Ruler in einem beliebigen Verzeichnis verwenden möchten, können Sie es global installieren:npm install -g @intellectronica/ruler
- Überprüfen der Installation
Führen Sie den folgenden Befehl aus, um zu prüfen, ob Ruler korrekt installiert ist:ruler --version
Wenn Sie etwas zurückgeben wie
0.2.10
Versionsnummer, die anzeigt, dass die Installation erfolgreich war.
Konfiguration und Verwendung
Die Kernfunktion von Ruler besteht darin, die Regeln von KI-Codieragenten auf einheitliche Weise zu verwalten. Hier sind die Schritte, um dies zu tun:
1. die Erstellung eines Regelkatalogs
Erstellen Sie im Stammverzeichnis des Projekts die Datei .ruler/
und fügen Sie ihm eine Regeldatei im Markdown-Format hinzu. Beispiel:
mkdir .ruler
touch .ruler/coding_guidelines.md
touch .ruler/style_guide.md
existieren coding_guidelines.md
Schreiben Sie z. B. Regeln hinein:
# Python 项目规范
## 代码风格
- 遵循 PEP 8 规范
- 使用类型注解定义函数签名
- 函数保持单一职责,代码行数不超过 50 行
## 错误处理
- 使用具体异常类型,避免使用通用 `Exception`
- 记录错误时包含上下文信息
Die Inhalte der einzelnen Markdown-Dateien werden automatisch zusammengefügt, wobei beim Zusammenfügen Quell-Tags hinzugefügt werden (z. B. --- Source: coding_guidelines.md ---
) zur einfachen Verfolgung.
2. die Konfiguration ruler.toml
Erstellen Sie im Stammverzeichnis des Projekts die Datei ruler.toml
Datei, um den Ziel-AI-Agenten und den Ausgabepfad anzugeben. Beispiel:
[agents.copilot]
output = ".copilot/config.yml"
[agents.claude]
output = ".claude/config.json"
passieren (eine Rechnung oder Inspektion etc.) ruler.toml
Sie können steuern, an welche Agenten die Regeln verteilt werden, und die entsprechenden Pfade der Konfigurationsdateien angeben.
3. die Anwendungsregeln
in Bewegung sein ruler apply
Befehl, der die .ruler/
Die Regeln in diesem Verzeichnis werden an die Konfigurationsdatei des Ziel-KI-Agenten verteilt:
ruler apply
Wenn Sie einen bestimmten Proxy angeben müssen, können Sie die Option --agents
Parameter:
ruler apply --agents copilot,claude
Ruler wird sie rekursiv lesen. .ruler/
Verzeichnis aller .md
Datei, fügt den Inhalt zusammen und erstellt oder aktualisiert die Konfigurationsdatei für den entsprechenden Agenten.
4. dekonfigurieren
Wenn Sie zu dem Zustand vor der Anwendung der Regel zurückkehren müssen, können Sie die Funktion revert
Befehl:
ruler revert
Dieser Befehl erzeugt eine Sicherungsdatei auf der Grundlage der Sicherungsdatei (.bak
) Stellen Sie die ursprüngliche Konfigurationsdatei wieder her, oder löschen Sie die von Ruler erzeugte Datei.
5. die Verwendung der globalen Konfiguration
Wenn das Projekt nicht über eine .ruler/
Verzeichnis, verwendet der Ruler die globale Konfiguration (die sich standardmäßig in der Datei ~/.config/ruler
). Erstellen Sie eine globale Konfiguration:
mkdir -p ~/.config/ruler
touch ~/.config/ruler/global_guidelines.md
existieren global_guidelines.md
Schreiben Sie die Regeln in den ruler apply
Die globale Konfiguration wird automatisch übernommen, wenn die
6. die Prüfung und Inbetriebnahme
Ruler bietet Test- und Debugging-Funktionen, um die korrekte Konfiguration sicherzustellen:
- Führen Sie den Test durch:
npm test
- Testabdeckung anzeigen:
npm run test:coverage
- Formatierungscode:
npm run format
7. die Ausweitung neuer Agenten
Ruler unterstützt die Erweiterung um neue KI-Agenten-Adapter. Entwickler können einen neuen KI-Agenten-Adapter zum src/agents/
Verzeichnis, um neuen Adaptercode hinzuzufügen, der der Struktur bestehender Adapter folgt (wie z.B. der copilot.ts
). Aktualisieren Sie dann die ruler.toml
und Befehlszeilenargumente, um die Unterstützung neuer Agenten zu aktivieren.
Featured Function Bedienung
- Automatische Verteilungsregeln: Herrscher von
ruler apply
Befehl, der die.ruler/
Der Inhalt der Markdown-Dateien im Verzeichnis wird an die Profile der angegebenen KI-Agenten verteilt, so dass die Einstellungen für jeden Agenten nicht mehr manuell angepasst werden müssen. - Unterstützt mehrere ProxysGitHub Copilot, Claude, Cursor, Aider, AugmentCode und andere Proxies werden derzeit unterstützt, und die neueste Version (v0.2.10) bietet Unterstützung für JetBrains Junie und AugmentCode.
- Rückgängig machen::
ruler revert
Befehl macht alle von Ruler erzeugten Konfigurationsdateien rückgängig und eignet sich zum Aufräumen der Umgebung beim Experimentieren oder beim Projektwechsel. - globale Konfiguration: durch
$XDG_CONFIG_HOME/ruler
Unterstützt projektübergreifend gemeinsame Regeln und reduziert so den Aufwand für doppelte Konfigurationen.
Anwendungsszenario
- Entwicklung der Teamarbeit
In mehrköpfigen Entwicklungsteams, in denen verschiedene Entwickler unterschiedliche KI-Agenten (z.B. Copilot und Claude) verwenden, bietet Ruler ein einheitliches Regelmanagement, das sicherstellt, dass alle Agenten dieselbe Kodierungsspezifikation befolgen und so Konflikte im Kodierungsstil reduziert. - Verwaltung von Open-Source-Projekten
Open-Source-Projekte müssen ihren Mitarbeitern klare Kodierungsspezifikationen zur Verfügung stellen.Ruler ermöglicht es den Projektbetreuern, Regeln in der.ruler/
Verzeichnis, führen die Mitarbeiter einfachruler apply
Der lokale KI-Agent kann automatisch konfiguriert werden. - Regeln für die projektübergreifende Wiederverwendung
Entwickler benötigen konsistente Kodierungsspezifikationen für mehrere Projekte.Die globale Konfigurationsfunktion von Ruler ermöglicht es Entwicklern~/.config/ruler
Definieren Sie allgemeine Regeln für die Wiederverwendung in verschiedenen Projekten. - Schnelles Experimentieren und Debugging
Wenn Sie verschiedene KI-Agenten oder Regelkonfigurationen ausprobieren, wird Ruler'srevert
kann die Umgebung schnell bereinigt werden, was sich für Entwickler eignet, die neue Regeln testen oder den Agenten wechseln.
QA
- Welche KI-Codierungsagenten unterstützt Ruler?
Ruler unterstützt die Agenten GitHub Copilot, Claude, Cursor, Aider, OpenAI Codex CLI, Windsurf, Cline, Firebase, Gemini CLI, Junie und AugmentCode. Weitere Agenten können über Erweiterungen hinzugefügt werden. - Wie kann ich auf eine neue Version migrieren?
Ruler v0.2.0 und höher sind abwärtskompatibel. Bestehende.ruler/
Katalog undruler.toml
Die Datei kann weiterhin verwendet werden. Neue Funktionen (z. B. detaillierte Protokollierung und Fehlerwarnungen) müssen über Befehlszeilenargumente aktiviert werden. - Wie lassen sich Probleme mit Regelanwendungen beheben?
in Bewegung seinruler apply
beim Hinzufügen--verbose
um das detaillierte Protokoll anzuzeigen. Es ist auch möglich, Folgendes auszuführennpm test
Prüfen Sie die Integrität des Codes, oder verwenden Sie dienpm run test:coverage
Testabdeckung anzeigen. - Wie füge ich neuen Agentensupport hinzu?
existierensrc/agents/
Verzeichnis, um den Adaptercode für den neuen Agenten zu erstellen, wobei auf bestehende Adapter (wie z.B. dencopilot.ts
). Aktualisierungenruler.toml
im Gesang antworten--agents
um den neuen Agenten zu aktivieren.