Export/import automations as version-controlled JSON (config-as-code for Automations)
- 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
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