github / github/app

Export/import automations as version-controlled JSON (config-as-code for Automations)

Offen
#2,684 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Keine Sprachdaten
Sterne
2.1k
Forks
153
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

### Summary
Requesting a way to export the Automations list to a plain JSON file (and import from one), so automations can be version-controlled, backed up, and shared/restored across machines - similar to how other app config (MCP servers, permissions, settings) is already stored as flat JSON under `~/.copilot/`.

### Motivation
Automations currently live only inside the app's internal SQLite store (`data.db`), with no export path. This makes it hard to:
- Back up or restore automations independent of full app state
- Version-control automation definitions alongside a repo/dotfiles setup
- Migrate automations to a new machine

Issue #1643 shows what happens without this: a user hit a `data.db` schema-version mismatch during a downgrade and had no way to recover automations short of deleting the whole database and losing session history with it.

### Proposed solution
- "Export automations to JSON" / "Import automations from JSON" actions in the Automations UI, or
- A flat, human-editable automations file (mirroring how `mcp-config.json`/`settings.json`/`permissions-config.json` already work) that the app reads on startup, so power users can hand-edit and symlink it into version control

### Additional context
Related to the scheduling limitations raised in #2130 - a config-as-code path would also make it easier to share/reuse automation definitions across teams or repos.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit, die vorhandenen flachen JSON-Konfigurationsdateien unter ~/.copilot/—einschließlich mcp-config.json, settings.json und permissions-config.json—mit dem Automatisierungsspeicher in data.db zu vergleichen. Kläre, ob Export-/Import-Aktionen in der Automations UI oder eine beim Start geladene Datei der vorgesehene Weg sind, und überprüfe anschließend, dass Automatisierungsdefinitionen gesichert, wiederhergestellt, bearbeitet und zwischen Rechnern verschoben werden können, ohne den Sitzungsverlauf zu beeinflussen.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
sqlite
Bereich
databases, desktop
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
42/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.