Ustawienia CLI (config.json)
Każde pole w pliku config.json: sposób, w jaki CLI openspec działa na Twoim komputerze.
Lokalizacja
CLI przechowuje ustawienia poziomu maszyny w ~/.config/openspec/config.json w systemach macOS i Linux oraz w %APPDATA%\openspec\config.json w systemie Windows. Zmienna $XDG_CONFIG_HOME ma pierwszeństwo na każdej platformie, gdy jest ustawiona. Polecenie openspec config odczytuje i edytuje ten plik.
Pola
| Klucz | Typ | Wymagany | Efekt |
|---|---|---|---|
profile | string: core lub custom | Nie | Określa zestaw workflow instalowany przez openspec init |
delivery | string: both, skills lub commands | Nie | Czy init instaluje skills, polecenia slash lub oba |
workflows | lista ciągów znaków | Nie | Lista workflow instalowana przez profil custom |
featureFlags | mapa: flaga → wartość logiczna | Nie | Przełączniki funkcji o wartościach logicznych |
defaultStore | string | Nie | Magazyn zapasowy poziomu maszyny do rozwiązania ścieżki korzenia |
openers | mapa: id narzędzia → ustawienia | Nie | Narzędzia, w których worksets otwierają się, oraz sposób ich uruchamiania |
telemetry | mapa | Nie | Opcja wyłączenia telemetrii, anonimowy identyfikator i stan wyświetlenia powiadomienia |
profile
Jaki zestaw workflow instaluje openspec init. Domyślnie ustawione na core: propose, explore, apply, update, sync oraz archive. Ustawienie custom instaluje dokładnie listę workflows zamiast tego.
delivery
Czy init instaluje workflow jako skills, jako polecenia slash lub oba. Domyślnie ustawione na both.
workflows
Workflowy instalowane przez profil custom; ignorowane, gdy profil to core. Poprawne identyfikatory: propose, explore, new, continue, apply, update, ff, sync, archive, bulk-archive, verify, onboard.
featureFlags
Przełączniki logiczne kluczone przez nazwę flagi, ustawiane za pomocą openspec config set featureFlags.<flaga> true. Obecnie żadna flaga nie jest odczytywana przez CLI.
defaultStore
Identyfikator zapasowego magazynu poziomu maszyny do rozwiązania ścieżki korzenia, konsultowany wyłącznie wtedy, gdy żadna z flag --store, lokalnego openspec/ lub wskaźnika store: projektu nie jest rozwiązana. Pełna hierarchia znajduje się w Rozwiązywanie ścieżki korzenia.
openers
Narzędzia, w których workset może być otwarty, kluczowane przez id narzędzia. Edytuj openers w globalnym config.json za pomocą openspec config edit w swoim terminalu.
| Pole | Kontrakt |
|---|---|
style | workspace-file lub attach-dirs. Wymagane dla nowego narzędzia; opcjonalne dla wbudowanych. |
label | Niedomyślnie pusty ciąg znaków wyświetlany w selektorze narzędzi. Domyślnie przyjmuje id dla nowego narzędzia. |
command | Niedomyślnie pusta nazwa lub ścieżka do wykonywalnego. Domyślnie przyjmuje id dla nowego narzędzia. Argumenty należy umieścić w args, a nie w tym ciągu znaków. |
args | Tablica ciągów znaków przekazywanych przed flagami pliku workspace lub attach. Domyślnie [] dla nowego narzędzia. |
attach_flag | Niedomyślnie pusty ciąg znaków parowany z każdą ścieżką członka dla attach-dirs. Domyślnie --add-dir dla nowego narzędzia. Ignorowany dla workspace-file. |
Nadpisywania wbudowanych: code, cursor, claude i codex zachowują dowolne pola, które zostały pominięte. Ustawienie args zastępuje całą listę argumentów; [] ją czyści.
Style uruchamiania: workspace-file przekazuje wygenerowaną ścieżkę .code-workspace do pliku wykonywalnego. attach-dirs przekazuje jedną parę flagi/ścieżki na każdego członka, w tym członka pierwotnego.
Dostępność: openers z attach-dirs, w tym Claude Code i Codex, są domyślnie nieaktywne. Nie można ich wybrać ani zapisać za pomocą --tool, a OpenSpec odmawia otwarcia worksetu, który już zawiera jedno z nich. Nadpisywanie konfiguracji nie aktywuje stylu uruchamiania attach-dirs.
Walidacja: nieznane pola, nieprawidłowe typy oraz nowe narzędzie bez style powodują błąd podczas odczytu tabeli openerów przez polecenie workset.
Ten przykład dodaje VS Code Insiders i przekazuje --new-window zawsze, gdy wbudowany opener VS Code jest uruchamiany:
{
"openers": {
"code-insiders": {
"style": "workspace-file",
"label": "VS Code Insiders"
},
"code": {
"args": ["--new-window"]
}
}
}Odpowiadający plik wykonywalny code-insiders lub code musi być zainstalowany i dostępny w PATH.
telemetry
CLI przechowuje Twój anonimowy identyfikator oraz informację, czy powiadomienie z pierwszego uruchomienia zostało wyświetlone. Ustaw telemetry.enabled na false, aby wyłączyć telemetrię. Możesz również zrezygnować z telemetrii, ustawiając OPENSPEC_TELEMETRY=0 lub DO_NOT_TRACK=1 w swoim środowisku.
Przykład
Wypełniony config.json:
{
"profile": "core",
"delivery": "both",
"featureFlags": {},
"telemetry": {
"anonymousId": "5f8a2c1e-4b6d-4f9a-9c3d-7e1b2a8d4c6f",
"noticeSeen": true
}
}