Skip to content

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 ​

KluczTypWymaganyEfekt
profilestring: core lub customNieOkreśla zestaw workflow instalowany przez openspec init
deliverystring: both, skills lub commandsNieCzy init instaluje skills, polecenia slash lub oba
workflowslista ciągów znakówNieLista workflow instalowana przez profil custom
featureFlagsmapa: flaga → wartość logicznaNiePrzełączniki funkcji o wartościach logicznych
defaultStorestringNieMagazyn zapasowy poziomu maszyny do rozwiązania ścieżki korzenia
openersmapa: id narzędzia → ustawieniaNieNarzędzia, w których worksets otwierają się, oraz sposób ich uruchamiania
telemetrymapaNieOpcja 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.

PoleKontrakt
styleworkspace-file lub attach-dirs. Wymagane dla nowego narzędzia; opcjonalne dla wbudowanych.
labelNiedomyślnie pusty ciąg znaków wyświetlany w selektorze narzędzi. Domyślnie przyjmuje id dla nowego narzędzia.
commandNiedomyś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.
argsTablica ciągów znaków przekazywanych przed flagami pliku workspace lub attach. Domyślnie [] dla nowego narzędzia.
attach_flagNiedomyś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:

json
{
  "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:

json
{
  "profile": "core",
  "delivery": "both",
  "featureFlags": {},
  "telemetry": {
    "anonymousId": "5f8a2c1e-4b6d-4f9a-9c3d-7e1b2a8d4c6f",
    "noticeSeen": true
  }
}