@abelxiaoxing/cadence 2.0.16 → 2.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.de.md +106 -0
- package/README.es.md +106 -0
- package/README.fr.md +106 -0
- package/README.ja.md +127 -0
- package/README.ko.md +124 -0
- package/README.md +64 -687
- package/README.pt-BR.md +106 -0
- package/README.ru.md +107 -0
- package/README.zh-CN.md +106 -0
- package/THIRD_PARTY_NOTICES.md +0 -8
- package/docs/reuse-and-distribution.md +1 -24
- package/docs/service-management.md +9 -1
- package/package.json +10 -2
- package/src/service-host.mjs +49 -31
- package/web/dist/assets/cadence.css +1 -1
- package/web/dist/assets/cadence.js +10 -10
- package/web/dist/manifest.json +6 -6
- package/licenses/pi-web-ui-reuse.md +0 -24
package/README.de.md
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Cadence
|
|
2
|
+
|
|
3
|
+
[English](README.md) · [简体中文](README.zh-CN.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Deutsch](README.de.md) · [Français](README.fr.md) · [Español](README.es.md) · [Português (Brasil)](README.pt-BR.md) · [Русский](README.ru.md)
|
|
4
|
+
|
|
5
|
+
Cadence macht [Pi](https://www.npmjs.com/package/@earendil-works/pi-coding-agent) zu einem dauerhaften Aufgaben-Workspace.
|
|
6
|
+
Plane eine Code-Aufgabe, lass Subagents daran arbeiten, führe deine Checks aus und prüfe das Ergebnis im Pi-Terminal (`/cadence`) oder im Browser-WebUI; beide verbinden sich mit demselben Hintergrunddienst.
|
|
7
|
+
|
|
8
|
+
## Warum Cadence
|
|
9
|
+
|
|
10
|
+
- **Die Arbeit überlebt das Fenster.**
|
|
11
|
+
Aufgaben laufen in einem Hintergrunddienst: Das Schließen des Terminals, das Beenden von Pi oder das Verlassen des Browser-Tabs trennt nur die Verbindung, und jeder Client kann sich erneut mit demselben Lauf verbinden.
|
|
12
|
+
- **Nichts wird bearbeitet, bevor du zustimmst.**
|
|
13
|
+
Eine Aufgabe analysiert zuerst schreibgeschützt und schlägt einen lesbaren Plan vor; Dateien ändern sich erst, nachdem du genau diesen Plan bestätigt hast.
|
|
14
|
+
- **Ergebnisse, denen du vertrauen kannst.**
|
|
15
|
+
Subagent-Ausgabe, echte Check-Läufe und deine eigene Prüfung bleiben getrennt: Modelltext oder ein „Done“ zählt nie als bestanden, und fehlgeschlagene, abgebrochene und unbekannte Ergebnisse bleiben unterscheidbar.
|
|
16
|
+
- **Vollständige Historie.**
|
|
17
|
+
Jeder Lauf behält seine Nachrichten, Tool-Aufrufe und Ausgaben, mit exakter Suche und vollständigem Markdown/NDJSON-Export; bekannte Geheimnisse werden maskiert.
|
|
18
|
+
- **Ein Link für alles.**
|
|
19
|
+
Das WebUI (Desktop und Telefon, Englisch und Vereinfachtes Chinesisch) beherbergt außerdem gewöhnliche Pi-Gespräche und wechselt zwischen Projekten, jedes mit eigenem Owner und eigener Historie.
|
|
20
|
+
|
|
21
|
+
Cadence ist ein vertrauenswürdiger Assistent, **keine Sandbox**: Seine Agenten bearbeiten deine Arbeitskopie direkt mit Host-Tools, daher nutze es nur für Code, den du prüfen und wiederherstellen kannst.
|
|
22
|
+
|
|
23
|
+
## Installation
|
|
24
|
+
|
|
25
|
+
Du brauchst Node `>=22.19.0` mit npm und Pi, installiert und bei einem Modell-Anbieter angemeldet; Cadence wiederverwendet Pís Anmeldung und Modell-Einstellungen.
|
|
26
|
+
|
|
27
|
+
```sh
|
|
28
|
+
npm install -g @abelxiaoxing/cadence
|
|
29
|
+
cadence server install
|
|
30
|
+
pi install "$(npm root -g)/@abelxiaoxing/cadence"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
`cadence server install` registriert und startet einen Hintergrunddienst (auf Linux systemd, auf macOS ein LaunchAgent, auf Windows einen Eintrag in der Anmeldung) und gibt einen privaten Link aus, `http://127.0.0.1:17423/?token=…`.
|
|
34
|
+
Der letzte Befehl lässt Pi dieselbe Kopie für `/cadence` laden, sodass ein npm-Upgrade beide aktualisiert.
|
|
35
|
+
Port und Token liegen in `~/.pi/agent/cadence/.env`; wer das Token hat, kann deinen Workspace verwenden, daher den Link geheim halten.
|
|
36
|
+
|
|
37
|
+
## Verwendung
|
|
38
|
+
|
|
39
|
+
### Im Browser
|
|
40
|
+
|
|
41
|
+
1. Öffne den ausgegebenen Link einmal; der Browser erinnert sich dann an dich.
|
|
42
|
+
Wenn du ihn verlierst, gibt `cadence token-link --reveal` ihn erneut aus.
|
|
43
|
+
2. Wähle mit dem Ordner-Button unten rechts einen Projektordner und wähle ein Modell.
|
|
44
|
+
3. Sende eine Nachricht für ein gewöhnliches Gespräch oder beginne mit `cadence <goal>` (oder wähle Cadence-Aufgabe), um eine Aufgabe zu erstellen.
|
|
45
|
+
4. Wenn die Analyse einen Plan vorschlägt, öffne **Implementierungsplan prüfen** und wähle **Plan bestätigen und ausführen**.
|
|
46
|
+
5. Verfolge die Subagents im Dock links unten; Checks, Änderungen und Prüfung finden sich unter **Aufgabendetails** rechts.
|
|
47
|
+
|
|
48
|
+
### Im Terminal
|
|
49
|
+
|
|
50
|
+
Gib im Pi-TUI selbst `/cadence [goal]` ein und drücke Enter; eingefügte oder skriptgesteuerte Eingaben öffnen es nicht.
|
|
51
|
+
Wähle ein Modell, erstelle oder öffne eine Aufgabe, bearbeite ihren Plan und bestätige Start; die Menüs zeigen außerdem Subagents, Checks, Änderungen, Prüfung und Historie.
|
|
52
|
+
|
|
53
|
+
Jede Pi-Session zeigt außerdem laufende Hintergrund-Agenten über der Eingabe: Drücke ↓ bei leerer Eingabe, um einen auszuwählen, und Enter, um sein Transkript zu lesen (`CADENCE_AGENT_PANEL=off` blendet das Panel aus).
|
|
54
|
+
|
|
55
|
+
### Weitere Projekte
|
|
56
|
+
|
|
57
|
+
```sh
|
|
58
|
+
cadence project open /absolute/project
|
|
59
|
+
cadence project open /absolute/new-project --create
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Jedes Projekt erhält seinen eigenen Owner, Port und seine eigene Historie, und der Befehl gibt seinen privaten Link aus; der WebUI-Ordnerwähler öffnet Projekte auf dieselbe Weise.
|
|
63
|
+
Das Öffnen eines anderen Projekts stoppt nie die Arbeit im vorherigen.
|
|
64
|
+
|
|
65
|
+
### Checks
|
|
66
|
+
|
|
67
|
+
Liste die Befehle, die dein Projekt verifizieren, in `.cadence/assistant/config.json` auf, und Aufgaben können sie vor der Prüfung als echte Checks ausführen:
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"schema": "cadence-assistant-checks/1",
|
|
72
|
+
"checks": [{ "name": "Tests", "command": "bun run test", "timeoutMs": 120000 }]
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Dienst verwalten
|
|
77
|
+
|
|
78
|
+
```sh
|
|
79
|
+
cadence server status
|
|
80
|
+
cadence server restart # nach einem Upgrade oder einer .env / models.json-Änderung
|
|
81
|
+
cadence server stop # bleibt registriert und startet beim nächsten Boot oder Login erneut
|
|
82
|
+
cadence server uninstall # vor npm uninstall -g ausführen
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Upgrade mit `npm install -g @abelxiaoxing/cadence@latest`, dann `cadence server restart`.
|
|
86
|
+
Restart, Stop und Uninstall stoppen laufende Arbeit geordnet, statt sie getrennt zurückzulassen.
|
|
87
|
+
Uninstall entfernt nur die Dienstdefinition; Projekte, Historie und Pi-Einstellungen bleiben.
|
|
88
|
+
Linux-Root- und benannte Dienste, entfernter HTTPS-Zugang und Wiederherstellung sind in [Dienstverwaltung](docs/service-management.md) und [Fernzugriff](docs/remote-access.md) beschrieben.
|
|
89
|
+
|
|
90
|
+
## Entwicklung
|
|
91
|
+
|
|
92
|
+
Pi kann auch ein lokales Checkout oder ein gepacktes Tarball laden: Füge seinen absoluten oder relativen Pfad zu Pís `packages` hinzu, oder versuche `pi -e ./cadence`.
|
|
93
|
+
Cadence erzwingt keinen Pi-Versionsbereich; Entwicklungs-Pins und getestete Laufzeiten sind keine universellen Kompatibilitätsversprechen.
|
|
94
|
+
|
|
95
|
+
```sh
|
|
96
|
+
bun install
|
|
97
|
+
CADENCE_BROWSER_PATH=/absolute/existing/chromium bun run verify
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Engineering-Anleitungen sind unter [engineering/](engineering/) nach Bereich aufgeteilt; der Projektindex in [AGENTS.md](AGENTS.md) sagt, welche Datei welchen Code abdeckt.
|
|
101
|
+
`verify` benötigt außerdem einen offiziellen Node-Build, ein privates temporäres Verzeichnis und ein vorhandenes Chromium; siehe [Verifikation](engineering/verification.md).
|
|
102
|
+
|
|
103
|
+
## Lizenz
|
|
104
|
+
|
|
105
|
+
Cadence ist MIT.
|
|
106
|
+
Eingebundene Anpassungen, Schriftarten und Anbieter behalten ihre eigenen Lizenzen; siehe [Wiederverwendung und Verbreitung](docs/reuse-and-distribution.md) und [Drittanbieter-Hinweise](THIRD_PARTY_NOTICES.md).
|
package/README.es.md
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Cadence
|
|
2
|
+
|
|
3
|
+
[English](README.md) · [简体中文](README.zh-CN.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Deutsch](README.de.md) · [Français](README.fr.md) · [Español](README.es.md) · [Português (Brasil)](README.pt-BR.md) · [Русский](README.ru.md)
|
|
4
|
+
|
|
5
|
+
Cadence convierte a [Pi](https://www.npmjs.com/package/@earendil-works/pi-coding-agent) en un espacio de trabajo de tareas persistente.
|
|
6
|
+
Planifica una tarea de código, deja que los subagentes trabajen en ella, ejecuta tus comprobaciones y revisa el resultado desde el terminal de Pi (`/cadence`) o desde la interfaz web del navegador; ambos se conectan al mismo servicio en segundo plano.
|
|
7
|
+
|
|
8
|
+
## Por qué Cadence
|
|
9
|
+
|
|
10
|
+
- **El trabajo sobrevive a la ventana.**
|
|
11
|
+
Las tareas se ejecutan en un servicio en segundo plano: cerrar el terminal, salir de Pi o dejar la pestaña del navegador solo desconecta, y cualquier cliente puede volver a conectarse a la misma ejecución.
|
|
12
|
+
- **Nada se edita antes de que apruebes.**
|
|
13
|
+
Una tarea primero analiza en solo lectura y propone un plan legible; los archivos solo cambian después de que confirmes ese plan exacto.
|
|
14
|
+
- **Resultados en los que puedes confiar.**
|
|
15
|
+
La salida de los subagentes, las ejecuciones reales de comprobaciones y tu propia revisión permanecen separadas: la prosa del modelo o un "Done" nunca cuentan como comprobación superada, y los resultados fallidos, cancelados y desconocidos permanecen distinguidos.
|
|
16
|
+
- **Historial completo.**
|
|
17
|
+
Cada ejecución conserva sus mensajes, llamadas a herramientas y salidas, con búsqueda exacta y exportación completa en Markdown/NDJSON; los secretos conocidos se enmascaran.
|
|
18
|
+
- **Un enlace para todo.**
|
|
19
|
+
La interfaz web (escritorio y teléfono, inglés y chino simplificado) también aloja conversaciones ordinarias de Pi y cambia entre proyectos, cada uno con su propio owner e historial.
|
|
20
|
+
|
|
21
|
+
Cadence es un asistente de confianza, **no una caja de arena**: sus agentes editan tu copia de trabajo directamente con herramientas del host, así que úsalo en código que puedas revisar y recuperar.
|
|
22
|
+
|
|
23
|
+
## Instalación
|
|
24
|
+
|
|
25
|
+
Necesitas Node `>=22.19.0` con npm, y Pi instalado y conectado a un proveedor de modelos; Cadence reutiliza el inicio de sesión y la configuración de modelos de Pi.
|
|
26
|
+
|
|
27
|
+
```sh
|
|
28
|
+
npm install -g @abelxiaoxing/cadence
|
|
29
|
+
cadence server install
|
|
30
|
+
pi install "$(npm root -g)/@abelxiaoxing/cadence"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
`cadence server install` registra e inicia un servicio en segundo plano (systemd en Linux, un LaunchAgent en macOS, una entrada de inicio de sesión en Windows) e imprime un enlace privado, `http://127.0.0.1:17423/?token=…`.
|
|
34
|
+
El último comando permite que Pi cargue la misma copia para `/cadence`, de modo que una actualización de npm actualiza ambos.
|
|
35
|
+
El puerto y el token están en `~/.pi/agent/cadence/.env`; cualquiera con el token puede usar tu espacio de trabajo, así que mantén el enlace privado.
|
|
36
|
+
|
|
37
|
+
## Uso
|
|
38
|
+
|
|
39
|
+
### En el navegador
|
|
40
|
+
|
|
41
|
+
1. Abre el enlace impreso una vez; el navegador entonces te recuerda.
|
|
42
|
+
Si lo pierdes, `cadence token-link --reveal` lo imprime de nuevo.
|
|
43
|
+
2. Elige una carpeta de proyecto con el botón de carpeta en la parte inferior derecha, y elige un modelo.
|
|
44
|
+
3. Envía un mensaje para una conversación ordinaria, o comienza con `cadence <goal>` (o selecciona Tarea Cadence) para crear una tarea.
|
|
45
|
+
4. Cuando el análisis propone un plan, abre **Revisar plan de implementación** y elige **Confirmar plan y ejecutar**.
|
|
46
|
+
5. Sigue a los subagentes en el dock de la parte inferior izquierda; las comprobaciones, los cambios y la revisión están bajo **Detalles de la tarea** a la derecha.
|
|
47
|
+
|
|
48
|
+
### En el terminal
|
|
49
|
+
|
|
50
|
+
En el TUI de Pi, escribe `/cadence [goal]` y presiona Enter tú mismo; la entrada pegada o por guion no lo abre.
|
|
51
|
+
Elige un modelo, crea o abre una tarea, edita su plan y confirma Start; los menús también muestran subagentes, comprobaciones, cambios, revisión e historial.
|
|
52
|
+
|
|
53
|
+
Cada sesión de Pi también muestra agentes en segundo plano en ejecución sobre la entrada: presiona ↓ en una entrada vacía para seleccionar uno y Enter para leer su transcripción (`CADENCE_AGENT_PANEL=off` oculta el panel).
|
|
54
|
+
|
|
55
|
+
### Más proyectos
|
|
56
|
+
|
|
57
|
+
```sh
|
|
58
|
+
cadence project open /absolute/project
|
|
59
|
+
cadence project open /absolute/new-project --create
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Cada proyecto obtiene su propio owner, puerto e historial, y el comando imprime su enlace privado; el selector de carpetas de la interfaz web abre proyectos de la misma manera.
|
|
63
|
+
Abrir otro proyecto nunca detiene el trabajo del anterior.
|
|
64
|
+
|
|
65
|
+
### Comprobaciones
|
|
66
|
+
|
|
67
|
+
Lista los comandos que verifican tu proyecto en `.cadence/assistant/config.json`, y las tareas pueden ejecutarlos como comprobaciones reales antes de la revisión:
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"schema": "cadence-assistant-checks/1",
|
|
72
|
+
"checks": [{ "name": "Tests", "command": "bun run test", "timeoutMs": 120000 }]
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Gestionar el servicio
|
|
77
|
+
|
|
78
|
+
```sh
|
|
79
|
+
cadence server status
|
|
80
|
+
cadence server restart # después de una actualización o un cambio de .env / models.json
|
|
81
|
+
cadence server stop # permanece registrado y vuelve a iniciar en el próximo arranque o inicio de sesión
|
|
82
|
+
cadence server uninstall # ejecutar antes de npm uninstall -g
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Actualiza con `npm install -g @abelxiaoxing/cadence@latest`, luego `cadence server restart`.
|
|
86
|
+
Restart, stop y uninstall detienen el trabajo en ejecución en orden en lugar de dejarlo desconectado.
|
|
87
|
+
Uninstall solo elimina la definición del servicio; los proyectos, el historial y la configuración de Pi permanecen.
|
|
88
|
+
Los servicios raíz de Linux y con nombre, el acceso HTTPS remoto y la recuperación se cubren en [gestión del servicio](docs/service-management.md) y [acceso remoto](docs/remote-access.md).
|
|
89
|
+
|
|
90
|
+
## Desarrollo
|
|
91
|
+
|
|
92
|
+
Pi también puede cargar un checkout local o un tarball empaquetado: añade su ruta absoluta o relativa a `packages` de Pi, o prueba `pi -e ./cadence`.
|
|
93
|
+
Cadence no impone un rango de versiones de Pi; los pines de desarrollo y los tiempos de ejecución probados no son promesas de compatibilidad universales.
|
|
94
|
+
|
|
95
|
+
```sh
|
|
96
|
+
bun install
|
|
97
|
+
CADENCE_BROWSER_PATH=/absolute/existing/chromium bun run verify
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
La guía de ingeniería se divide por área bajo [engineering/](engineering/); el índice del proyecto en [AGENTS.md](AGENTS.md) indica qué archivo cubre qué código.
|
|
101
|
+
`verify` también necesita un build oficial de Node, un directorio temporal privado y un Chromium existente; ver [verificación](engineering/verification.md).
|
|
102
|
+
|
|
103
|
+
## Licencia
|
|
104
|
+
|
|
105
|
+
Cadence es MIT.
|
|
106
|
+
Las adaptaciones, fuentes y proveedores incluidos conservan sus propias licencias; ver [reutilización y distribución](docs/reuse-and-distribution.md) y [avisos de terceros](THIRD_PARTY_NOTICES.md).
|
package/README.fr.md
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Cadence
|
|
2
|
+
|
|
3
|
+
[English](README.md) · [简体中文](README.zh-CN.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Deutsch](README.de.md) · [Français](README.fr.md) · [Español](README.es.md) · [Português (Brasil)](README.pt-BR.md) · [Русский](README.ru.md)
|
|
4
|
+
|
|
5
|
+
Cadence transforme [Pi](https://www.npmjs.com/package/@earendil-works/pi-coding-agent) en espace de travail de tâches persistant.
|
|
6
|
+
Planifiez une tâche de code, laissez les sous-agents y travailler, exécutez vos vérifications et examinez le résultat depuis le terminal Pi (`/cadence`) ou l'interface Web du navigateur ; les deux se connectent au même service en arrière-plan.
|
|
7
|
+
|
|
8
|
+
## Pourquoi Cadence
|
|
9
|
+
|
|
10
|
+
- **Le travail survit à la fenêtre.**
|
|
11
|
+
Les tâches s'exécutent dans un service en arrière-plan : fermer le terminal, quitter Pi ou quitter l'onglet du navigateur ne fait que déconnecter, et chaque client peut se reconnecter à la même exécution.
|
|
12
|
+
- **Rien n'est modifié avant votre approbation.**
|
|
13
|
+
Une tâche analyse d'abord en lecture seule et propose un plan lisible ; les fichiers ne changent qu'après que vous ayez confirmé ce plan exact.
|
|
14
|
+
- **Des résultats fiables.**
|
|
15
|
+
La sortie des sous-agents, les exécutions réelles de vérifications et votre propre examen restent distincts : le texte du modèle ou un « Done » ne compte jamais comme une vérification passée, et les résultats échoués, annulés et inconnus restent distincts.
|
|
16
|
+
- **Historique complet.**
|
|
17
|
+
Chaque exécution conserve ses messages, appels d'outils et sorties, avec recherche exacte et export Markdown/NDJSON complets ; les secrets connus sont masqués.
|
|
18
|
+
- **Un lien pour tout.**
|
|
19
|
+
L'interface Web (bureau et téléphone, anglais et chinois simplifié) accueille également les conversations Pi ordinaires et bascule entre les projets, chacun avec son propre owner et son historique.
|
|
20
|
+
|
|
21
|
+
Cadence est un assistant de confiance, **pas un bac à sable** : ses agents modifient directement votre copie de travail avec les outils de l'hôte, utilisez-le donc sur du code que vous pouvez examiner et récupérer.
|
|
22
|
+
|
|
23
|
+
## Installation
|
|
24
|
+
|
|
25
|
+
Il vous faut Node `>=22.19.0` avec npm, et Pi installé et connecté à un fournisseur de modèles ; Cadence réutilise la connexion et les réglages de modèles de Pi.
|
|
26
|
+
|
|
27
|
+
```sh
|
|
28
|
+
npm install -g @abelxiaoxing/cadence
|
|
29
|
+
cadence server install
|
|
30
|
+
pi install "$(npm root -g)/@abelxiaoxing/cadence"
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
`cadence server install` enregistre et démarre un service en arrière-plan (systemd sur Linux, un LaunchAgent sur macOS, une entrée de connexion sur Windows) et affiche un lien privé, `http://127.0.0.1:17423/?token=…`.
|
|
34
|
+
La dernière commande permet à Pi de charger la même copie pour `/cadence`, donc une mise à niveau npm met à jour les deux.
|
|
35
|
+
Le port et le jeton se trouvent dans `~/.pi/agent/cadence/.env` ; quiconque possède le jeton peut utiliser votre espace de travail, gardez donc le lien privé.
|
|
36
|
+
|
|
37
|
+
## Utilisation
|
|
38
|
+
|
|
39
|
+
### Dans le navigateur
|
|
40
|
+
|
|
41
|
+
1. Ouvrez le lien affiché une fois ; le navigateur vous mémorise ensuite.
|
|
42
|
+
Si vous le perdez, `cadence token-link --reveal` l'affiche à nouveau.
|
|
43
|
+
2. Choisissez un dossier de projet avec le bouton dossier en bas à droite, et choisissez un modèle.
|
|
44
|
+
3. Envoyez un message pour une conversation ordinaire, ou commencez par `cadence <goal>` (ou sélectionnez Tâche Cadence) pour créer une tâche.
|
|
45
|
+
4. Quand l'analyse propose un plan, ouvrez **Examiner le plan d'implémentation** et choisissez **Confirmer le plan et exécuter**.
|
|
46
|
+
5. Suivez les sous-agents dans le dock en bas à gauche ; les vérifications, les modifications et l'examen sont sous **Détails de la tâche** à droite.
|
|
47
|
+
|
|
48
|
+
### Dans le terminal
|
|
49
|
+
|
|
50
|
+
Dans le TUI de Pi, tapez `/cadence [goal]` vous-même et appuyez sur Entrée ; une saisie collée ou scriptée ne l'ouvre pas.
|
|
51
|
+
Choisissez un modèle, créez ou ouvrez une tâche, éditez son plan et confirmez Start ; les menus affichent aussi les sous-agents, les vérifications, les modifications, l'examen et l'historique.
|
|
52
|
+
|
|
53
|
+
Chaque session Pi affiche aussi les agents en arrière-plan en cours au-dessus de la saisie : appuyez sur ↓ sur une saisie vide pour en sélectionner un, puis sur Entrée pour lire sa transcription (`CADENCE_AGENT_PANEL=off` masque le panneau).
|
|
54
|
+
|
|
55
|
+
### Plus de projets
|
|
56
|
+
|
|
57
|
+
```sh
|
|
58
|
+
cadence project open /absolute/project
|
|
59
|
+
cadence project open /absolute/new-project --create
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Chaque projet reçoit son propre owner, son port et son historique, et la commande affiche son lien privé ; le sélecteur de dossiers du WebUI ouvre les projets de la même manière.
|
|
63
|
+
Ouvrir un autre projet n'arrête jamais le travail du précédent.
|
|
64
|
+
|
|
65
|
+
### Vérifications
|
|
66
|
+
|
|
67
|
+
Listez les commandes qui vérifient votre projet dans `.cadence/assistant/config.json`, et les tâches peuvent les exécuter comme de véritables vérifications avant l'examen :
|
|
68
|
+
|
|
69
|
+
```json
|
|
70
|
+
{
|
|
71
|
+
"schema": "cadence-assistant-checks/1",
|
|
72
|
+
"checks": [{ "name": "Tests", "command": "bun run test", "timeoutMs": 120000 }]
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
## Gérer le service
|
|
77
|
+
|
|
78
|
+
```sh
|
|
79
|
+
cadence server status
|
|
80
|
+
cadence server restart # après une mise à niveau ou un changement de .env / models.json
|
|
81
|
+
cadence server stop # reste enregistré et redémarre au prochain boot ou connexion
|
|
82
|
+
cadence server uninstall # à exécuter avant npm uninstall -g
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Mettez à niveau avec `npm install -g @abelxiaoxing/cadence@latest`, puis `cadence server restart`.
|
|
86
|
+
Restart, stop et uninstall arrêtent le travail en cours dans l'ordre au lieu de le laisser déconnecté.
|
|
87
|
+
Uninstall supprime uniquement la définition du service ; les projets, l'historique et les réglages de Pi restent.
|
|
88
|
+
Les services racine Linux et nommés, l'accès HTTPS distant et la récupération sont couverts par [gestion du service](docs/service-management.md) et [accès distant](docs/remote-access.md).
|
|
89
|
+
|
|
90
|
+
## Développement
|
|
91
|
+
|
|
92
|
+
Pi peut aussi charger un checkout local ou une archive tarball packagée : ajoutez son chemin absolu ou relatif aux `packages` de Pi, ou essayez `pi -e ./cadence`.
|
|
93
|
+
Cadence n'impose pas de plage de versions de Pi ; les versions figées de développement et les temps d'exécution testés ne sont pas des promesses de compatibilité universelles.
|
|
94
|
+
|
|
95
|
+
```sh
|
|
96
|
+
bun install
|
|
97
|
+
CADENCE_BROWSER_PATH=/absolute/existing/chromium bun run verify
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
Les conseils d'ingénierie sont répartis par domaine sous [engineering/](engineering/) ; l'index du projet dans [AGENTS.md](AGENTS.md) indique quel fichier couvre quel code.
|
|
101
|
+
`verify` nécessite aussi un build Node officiel, un répertoire temporaire privé et un Chromium existant ; voir [vérification](engineering/verification.md).
|
|
102
|
+
|
|
103
|
+
## Licence
|
|
104
|
+
|
|
105
|
+
Cadence est sous licence MIT.
|
|
106
|
+
Les adaptations, polices et vendeurs inclus conservent leurs propres licences ; voir [réutilisation et distribution](docs/reuse-and-distribution.md) et [avis tiers](THIRD_PARTY_NOTICES.md).
|
package/README.ja.md
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Cadence
|
|
2
|
+
|
|
3
|
+
[English](README.md) · [简体中文](README.zh-CN.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Deutsch](README.de.md) · [Français](README.fr.md) · [Español](README.es.md) · [Português (Brasil)](README.pt-BR.md) · [Русский](README.ru.md)
|
|
4
|
+
|
|
5
|
+
Cadence は [Pi](https://www.npmjs.com/package/@earendil-works/pi-coding-agent) を永続的なタスクワークスペースに変えます。
|
|
6
|
+
コードタスクを計画し、サブエージェントに作業させ、チェックを実行し、結果を Pi ターミナル(`/cadence`)やブラウザの WebUI からレビューします。
|
|
7
|
+
両方とも同じバックグラウンドサービスに接続します。
|
|
8
|
+
|
|
9
|
+
## なぜ Cadence か
|
|
10
|
+
|
|
11
|
+
- **作業はウィンドウを超えて残る。**
|
|
12
|
+
タスクはバックグラウンドサービスで実行されます。
|
|
13
|
+
ターミナルを閉じても、Pi を終了しても、ブラウザのタブを離れても、それらはデタッチするだけで、どちらのクライアントも同じ実行に再接続できます。
|
|
14
|
+
- **承認するまで何も編集されない。**
|
|
15
|
+
タスクはまず読み取り専用で分析し、読みやすい計画を提案します。
|
|
16
|
+
ファイルが変更されるのは、あなたがその正確な計画を確認した後のみです。
|
|
17
|
+
- **信頼できる結果。**
|
|
18
|
+
サブエージェントの出力、実際のチェック実行、あなた自身のレビューは別々に保たれます。
|
|
19
|
+
モデルの文章や「Done」はチェック通過としては数えず、失敗・キャンセル・不明の結果は区別されたままです。
|
|
20
|
+
- **完全な履歴。**
|
|
21
|
+
各実行はメッセージ、ツール呼び出し、出力を保持し、正確な検索と完全な Markdown/NDJSON エクスポートをサポートします。
|
|
22
|
+
既知のシークレットはマスクされます。
|
|
23
|
+
- **すべてに一つのリンク。**
|
|
24
|
+
WebUI(デスクトップとスマホ、英語と簡体字中国語)は通常の Pi 会話もホストし、プロジェクト間で切り替えられます。
|
|
25
|
+
各プロジェクトには独自の owner と履歴があります。
|
|
26
|
+
|
|
27
|
+
Cadence は信頼できるアシスタントであり、**サンドボックスではありません**。
|
|
28
|
+
そのエージェントはホストツールであなたの作業コピーを直接編集するため、レビューと復旧が可能なコードで使うください。
|
|
29
|
+
|
|
30
|
+
## インストール
|
|
31
|
+
|
|
32
|
+
npm を備えた Node `>=22.19.0`、モデルプロバイダーにログイン済みでインストールされた Pi が必要です。
|
|
33
|
+
Cadence は Pi のログインとモデル設定を再利用します。
|
|
34
|
+
|
|
35
|
+
```sh
|
|
36
|
+
npm install -g @abelxiaoxing/cadence
|
|
37
|
+
cadence server install
|
|
38
|
+
pi install "$(npm root -g)/@abelxiaoxing/cadence"
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
`cadence server install` はバックグラウンドサービスを登録して起動し(Linux では systemd、macOS では LaunchAgent、Windows ではログイン項目)、プライベートリンク `http://127.0.0.1:17423/?token=…` を表示します。
|
|
42
|
+
最後のコマンドは Pi に同じコピーを `/cadence` で読み込ませるため、npm でのアップグレード 1 回で両方が更新されます。
|
|
43
|
+
ポートとトークンは `~/.pi/agent/cadence/.env` にあります。
|
|
44
|
+
トークンを所持する者はあなたのワークスペースを使えるため、リンクは秘密にしてください。
|
|
45
|
+
|
|
46
|
+
## 使い方
|
|
47
|
+
|
|
48
|
+
### ブラウザで
|
|
49
|
+
|
|
50
|
+
1. 表示されたリンクを一度開く。
|
|
51
|
+
その後ブラウザはあなたを覚えておく。
|
|
52
|
+
リンクを紛失した場合は `cadence token-link --reveal` で再度表示できます。
|
|
53
|
+
2. 右下のフォルダボタンでプロジェクトフォルダを選び、モデルを選ぶ。
|
|
54
|
+
3. 通常の会話にはメッセージを送信するか、`cadence <goal>` で始める(または Cadence タスクを選ぶ)とタスクが作成される。
|
|
55
|
+
4. 分析が計画を提案したら、**実装計画をレビュー**を開き、**計画を確認して実行**を選ぶ。
|
|
56
|
+
5. サブエージェントは左下の dock で追える。
|
|
57
|
+
チェック、変更、レビューは右の**タスク詳細**の下にある。
|
|
58
|
+
|
|
59
|
+
### ターミナルで
|
|
60
|
+
|
|
61
|
+
Pi の TUI で、自分で `/cadence [goal]` と入力して Enter を押す。
|
|
62
|
+
貼り付けやスクリプトの入力では開かない。
|
|
63
|
+
モデルを選び、タスクを作成または開き、その計画を編集して Start を確認する。
|
|
64
|
+
メニューにはサブエージェント、チェック、変更、レビュー、履歴も表示される。
|
|
65
|
+
|
|
66
|
+
すべての Pi セッションは、入力の上部に実行中のバックグラウンドエージェントを表示する。
|
|
67
|
+
空の入力状態で ↓ を押して選択し、Enter でその記録を読む(`CADENCE_AGENT_PANEL=off` でパネルを非表示にできる)。
|
|
68
|
+
|
|
69
|
+
### その他のプロジェクト
|
|
70
|
+
|
|
71
|
+
```sh
|
|
72
|
+
cadence project open /absolute/project
|
|
73
|
+
cadence project open /absolute/new-project --create
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
各プロジェクトには独自の owner、ポート、履歴があり、コマンドはそのプライベートリンクを表示する。
|
|
77
|
+
WebUI のフォルダピッカーも同じ方法でプロジェクトを開く。
|
|
78
|
+
別のプロジェクトを開いても、前のプロジェクトでの作業は止まらない。
|
|
79
|
+
|
|
80
|
+
### チェック
|
|
81
|
+
|
|
82
|
+
`.cadence/assistant/config.json` にプロジェクトを検証するコマンドを列挙すると、タスクはレビュー前にそれを実際のチェックとして実行できる:
|
|
83
|
+
|
|
84
|
+
```json
|
|
85
|
+
{
|
|
86
|
+
"schema": "cadence-assistant-checks/1",
|
|
87
|
+
"checks": [{ "name": "Tests", "command": "bun run test", "timeoutMs": 120000 }]
|
|
88
|
+
}
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
## サービスの管理
|
|
92
|
+
|
|
93
|
+
```sh
|
|
94
|
+
cadence server status
|
|
95
|
+
cadence server restart # アップグレードや .env / models.json の変更後
|
|
96
|
+
cadence server stop # 登録は保持され、次の起動またはログイン時に再び起動する
|
|
97
|
+
cadence server uninstall # npm uninstall -g の前に実行
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
`npm install -g @abelxiaoxing/cadence@latest` でアップグレードし、次に `cadence server restart`。
|
|
101
|
+
restart、stop、uninstall はデタッチしたままにせずに、実行中の作業を順番に停止する。
|
|
102
|
+
uninstall はサービス定義のみを削除する。
|
|
103
|
+
プロジェクト、履歴、Pi の設定は残る。
|
|
104
|
+
Linux ルートおよび名前付きサービス、リモート HTTPS アクセス、回復は[サービス管理](docs/service-management.md)と[リモートアクセス](docs/remote-access.md)を参照。
|
|
105
|
+
|
|
106
|
+
## 開発
|
|
107
|
+
|
|
108
|
+
Pi はローカル checkout やパックされた tarball も読み込める。
|
|
109
|
+
その絶対または相対パスを Pi の `packages` に追加するか、`pi -e ./cadence` を試す。
|
|
110
|
+
Cadence は Pi のバージョン範囲を強制しない。
|
|
111
|
+
開発用のピンとテスト済みのランタイムは、普遍的な互換性の約束ではない。
|
|
112
|
+
|
|
113
|
+
```sh
|
|
114
|
+
bun install
|
|
115
|
+
CADENCE_BROWSER_PATH=/absolute/existing/chromium bun run verify
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
エンジニアリングのガイダンスは [engineering/](engineering/) 下に領域ごとに分割されている。
|
|
119
|
+
[AGENTS.md](AGENTS.md) のプロジェクト索引がどのファイルがどのコードをカバーするかを示す。
|
|
120
|
+
`verify` には公式 Node ビルド、プライベートな一時ディレクトリ、既存の Chromium も必要。
|
|
121
|
+
[検証](engineering/verification.md)を参照。
|
|
122
|
+
|
|
123
|
+
## ライセンス
|
|
124
|
+
|
|
125
|
+
Cadence は MIT です。
|
|
126
|
+
バンドルされた適応コード、フォント、ベンダーはそれぞれのライセンスを保持。
|
|
127
|
+
[再利用と配布](docs/reuse-and-distribution.md)と[サードパーティ通知](THIRD_PARTY_NOTICES.md)を参照。
|
package/README.ko.md
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
# Cadence
|
|
2
|
+
|
|
3
|
+
[English](README.md) · [简体中文](README.zh-CN.md) · [日本語](README.ja.md) · [한국어](README.ko.md) · [Deutsch](README.de.md) · [Français](README.fr.md) · [Español](README.es.md) · [Português (Brasil)](README.pt-BR.md) · [Русский](README.ru.md)
|
|
4
|
+
|
|
5
|
+
Cadence는 [Pi](https://www.npmjs.com/package/@earendil-works/pi-coding-agent)를 지속되는 작업 워크스페이스로 만들어 줍니다.
|
|
6
|
+
코드 작업을 계획하고, 서브에이전트가 작업을 수행하게 하며, 자체 체크를 실행하고, 결과를 Pi 터미널(`/cadence`)이나 브라우저 WebUI에서 검토하세요.
|
|
7
|
+
둘 다 같은 백그라운드 서비스에 연결됩니다.
|
|
8
|
+
|
|
9
|
+
## 왜 Cadence인가
|
|
10
|
+
|
|
11
|
+
- **작업은 창보다 오래 지속됩니다.**
|
|
12
|
+
작업은 백그라운드 서비스에서 실행됩니다.
|
|
13
|
+
터미널을 닫거나, Pi를 종료하거나, 브라우저 탭을 떠나도 단지 연결이 끊어지며, 어느 클라이언트든 같은 실행에 다시 연결할 수 있습니다.
|
|
14
|
+
- **승인하기 전에는 아무것도 수정되지 않습니다.**
|
|
15
|
+
작업은 먼저 읽기 전용으로 분석하고 읽을 수 있는 계획을 제안합니다.
|
|
16
|
+
파일은 정확히 그 계획을 확인한 후에만 수정됩니다.
|
|
17
|
+
- **신뢰할 수 있는 결과.**
|
|
18
|
+
서브에이전트 출력, 실제 체크 실행, 그리고 본인의 검토는 서로 분리됩니다.
|
|
19
|
+
모델의 글이나 "Done"은 체크 통과로 간주되지 않으며, 실패·취소·unknown 결과는 서로 구분됩니다.
|
|
20
|
+
- **완전한 역사.**
|
|
21
|
+
모든 실행은 메시지, 도구 호출, 출력을 보관하며, 정확한 검색과 완전한 Markdown/NDJSON 내보내기를 지원합니다.
|
|
22
|
+
알려진 비밀은 마스킹됩니다.
|
|
23
|
+
- **모든 것을 위한 하나의 링크.**
|
|
24
|
+
WebUI(데스크톱과 전화, 영어와 간체 중국어)는 일반 Pi 대화도 호스트하며 프로젝트 간 전환이 가능하고, 각 프로젝트는 자체 owner와 역사를 가집니다.
|
|
25
|
+
|
|
26
|
+
Cadence는 신뢰할 수 있는 어시스턴트이며 **샌드박스가 아닙니다**.
|
|
27
|
+
그 에이전트는 호스트 도구로 작업 사본을 직접 편집하므로, 검토하고 복구할 수 있는 코드에서만 사용하세요.
|
|
28
|
+
|
|
29
|
+
## 설치
|
|
30
|
+
|
|
31
|
+
npm이 있는 Node `>=22.19.0`과 모델 제공자에 로그인되어 설치된 Pi가 필요합니다.
|
|
32
|
+
Cadence는 Pi의 로그인과 모델 설정을 재사용합니다.
|
|
33
|
+
|
|
34
|
+
```sh
|
|
35
|
+
npm install -g @abelxiaoxing/cadence
|
|
36
|
+
cadence server install
|
|
37
|
+
pi install "$(npm root -g)/@abelxiaoxing/cadence"
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
`cadence server install`은 백그라운드 서비스를 등록하고 시작합니다(Linux에서는 systemd, macOS에서는 LaunchAgent, Windows에서는 로그인 항목)하며, 개인 링크 `http://127.0.0.1:17423/?token=…`를 출력합니다.
|
|
41
|
+
마지막 명령은 Pi가 `/cadence`용으로 같은 사본을 로드하므로, npm 업그레이드 한 번으로 둘 다 업데이트됩니다.
|
|
42
|
+
포트와 토큰은 `~/.pi/agent/cadence/.env`에 있습니다.
|
|
43
|
+
토큰을 가진 사람은 누구나 워크스페이스를 사용할 수 있으므로 링크를 비공개로 유지하세요.
|
|
44
|
+
|
|
45
|
+
## 사용
|
|
46
|
+
|
|
47
|
+
### 브라우저에서
|
|
48
|
+
|
|
49
|
+
1. 출력된 링크를 한 번 엽니다.
|
|
50
|
+
그 후 브라우저가 당신을 기억합니다.
|
|
51
|
+
링크를 잃어버리면 `cadence token-link --reveal`이 다시 출력합니다.
|
|
52
|
+
2. 오른쪽 아래 폴더 버튼으로 프로젝트 폴더를 선택하고 모델을 선택합니다.
|
|
53
|
+
3. 일반 대화에는 메시지를 보내고, 또는 `cadence <goal>`로 시작(또는 Cadence 작업 선택)하면 작업이 생성됩니다.
|
|
54
|
+
4. 분석이 계획을 제안하면 **구현 계획 검토**를 열고 **계획 확인 및 실행**을 선택합니다.
|
|
55
|
+
5. 서브에이전트는 왼쪽 아래 dock에서 따라 보세요.
|
|
56
|
+
체크, 변경, 검토는 오른쪽의 **작업 세부사항** 아래에 있습니다.
|
|
57
|
+
|
|
58
|
+
### 터미널에서
|
|
59
|
+
|
|
60
|
+
Pi TUI에서 직접 `/cadence [goal]`을 입력하고 Enter를 누르세요.
|
|
61
|
+
붙여넣기나 스크립트 입력으로는 열리지 않습니다.
|
|
62
|
+
모델을 선택하고, 작업을 만들거나 열고, 그 계획을 편집하고 Start를 확인하세요.
|
|
63
|
+
메뉴에는 서브에이전트, 체크, 변경, 검토, 역사도 표시됩니다.
|
|
64
|
+
|
|
65
|
+
모든 Pi 세션은 입력 상단에 실행 중인 백그라운드 에이전트를 표시합니다.
|
|
66
|
+
빈 입력에서 ↓를 눌러 하나를 선택하고 Enter로 그 전사를 읽으세요(`CADENCE_AGENT_PANEL=off`로 패널을 숨길 수 있습니다).
|
|
67
|
+
|
|
68
|
+
### 더 많은 프로젝트
|
|
69
|
+
|
|
70
|
+
```sh
|
|
71
|
+
cadence project open /absolute/project
|
|
72
|
+
cadence project open /absolute/new-project --create
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
각 프로젝트는 자체 owner, 포트, 역사를 가지며, 명령은 그 개인 링크를 출력합니다.
|
|
76
|
+
WebUI 폴더 선택기도 같은 방법으로 프로젝트를 엽니다.
|
|
77
|
+
다른 프로젝트를 열어도 이전 프로젝트의 작업은 멈추지 않습니다.
|
|
78
|
+
|
|
79
|
+
### 체크
|
|
80
|
+
|
|
81
|
+
`.cadence/assistant/config.json`에 프로젝트를 검증하는 명령을 나열하면, 작업은 검토 전에 그것들을 실제 체크로 실행할 수 있습니다:
|
|
82
|
+
|
|
83
|
+
```json
|
|
84
|
+
{
|
|
85
|
+
"schema": "cadence-assistant-checks/1",
|
|
86
|
+
"checks": [{ "name": "Tests", "command": "bun run test", "timeoutMs": 120000 }]
|
|
87
|
+
}
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## 서비스 관리
|
|
91
|
+
|
|
92
|
+
```sh
|
|
93
|
+
cadence server status
|
|
94
|
+
cadence server restart # 업그레이드나 .env / models.json 변경 후
|
|
95
|
+
cadence server stop # 등록은 유지되고 다음 부팅 또는 로그인 시 다시 시작
|
|
96
|
+
cadence server uninstall # npm uninstall -g 전에 실행
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
`npm install -g @abelxiaoxing/cadence@latest`로 업그레이드하고, 그 후 `cadence server restart`. restart, stop, uninstall는 작업이 연결 끊긴 채로 남지 않도록 실행 중인 작업을 순서대로 멈춥니다. uninstall은 서비스 정의만 제거합니다.
|
|
100
|
+
프로젝트, 역사, Pi 설정은 유지됩니다.
|
|
101
|
+
Linux 루트 및 이름 지정 서비스, 원격 HTTPS 액세스, 복구에는 [서비스 관리](docs/service-management.md)와 [원격 액세스](docs/remote-access.md)를 참조하세요.
|
|
102
|
+
|
|
103
|
+
## 개발
|
|
104
|
+
|
|
105
|
+
Pi는 로컬 체크아웃이나 패킹된 tarball도 로드할 수 있습니다.
|
|
106
|
+
그 절대 또는 상대 경로를 Pi의 `packages`에 추가하거나, `pi -e ./cadence`를 시도하세요.
|
|
107
|
+
Cadence는 Pi 버전 범위를 강제하지 않습니다.
|
|
108
|
+
개발 고정 버전과 테스트된 런타임은 보편적인 호환성 약속이 아닙니다.
|
|
109
|
+
|
|
110
|
+
```sh
|
|
111
|
+
bun install
|
|
112
|
+
CADENCE_BROWSER_PATH=/absolute/existing/chromium bun run verify
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
엔지니어링 지침은 [engineering/](engineering/) 아래 영역별로 나뉘어 있습니다.
|
|
116
|
+
[AGENTS.md](AGENTS.md)의 프로젝트 인덱스가 어느 파일이 어느 코드를 다루는지 설명합니다.
|
|
117
|
+
`verify`에는 공식 Node 빌드, 개인 임시 디렉터리, 기존 Chromium도 필요합니다.
|
|
118
|
+
[검증](engineering/verification.md)을 참조하세요.
|
|
119
|
+
|
|
120
|
+
## 라이선스
|
|
121
|
+
|
|
122
|
+
Cadence는 MIT입니다.
|
|
123
|
+
번들된 적응 코드, 폰트, 벤더는 각각의 라이선스를 유지합니다.
|
|
124
|
+
[재사용 및 배포](docs/reuse-and-distribution.md)와 [서드파티 공지](THIRD_PARTY_NOTICES.md)를 참조하세요.
|