Skip to content

Referensi CLI ​

CLI OpenSpec (openspec) menyediakan perintah terminal untuk penyiapan proyek, validasi, pemeriksaan status, dan manajemen. Perintah-perintah ini melengkapi perintah slash AI (seperti /opsx:propose) yang didokumentasikan di Commands.

Ringkasan ​

KategoriPerintahTujuan
Penyiapaninit, updateInisialisasi dan perbarui OpenSpec dalam proyek Anda
Store (repositori OpenSpec mandiri)store setup, store register, store unregister, store remove, store list, store doctorKelola store — repositori OpenSpec mandiri yang telah Anda daftarkan
KesehatandoctorLaporkan kesehatan hubungan untuk root yang telah diselesaikan
Konteks kerjacontextSusun set kerja (root + store yang dirujuk)
Set kerja pribadiworkset create, workset list, workset open, workset removeSimpan dan buka tampilan kerja pribadi, lokal dalam alat Anda
Penjelajahanlist, view, showJelajahi perubahan dan spesifikasi
ValidasivalidatePeriksa perubahan dan spesifikasi untuk masalah
Siklus hiduparchiveFinalisasi perubahan yang selesai
Alur kerjanew change, status, instructions, templates, schemasDukungan alur kerja berbasis artefak
Skemaschema init, schema fork, schema validate, schema whichBuat dan kelola alur kerja kustom
KonfigurasiconfigLihat dan ubah pengaturan
Utilitasfeedback, completionUmpan balik dan integrasi shell

Perintah Manusia vs Agen ​

Sebagian besar perintah CLI dirancang untuk penggunaan manusia di terminal. Beberapa perintah juga mendukung penggunaan agen/script melalui output JSON.

Perintah Khusus Manusia ​

Perintah-perintah ini bersifat interaktif dan dirancang untuk penggunaan di terminal:

PerintahTujuan
openspec initInisialisasi proyek (prompt interaktif)
openspec viewDashboard interaktif
openspec workset open <name>Membuka workset yang disimpan (jendela editor atau sesi agen terminal)
openspec config editMembuka konfigurasi di editor
openspec feedbackMengirim umpan balik melalui GitHub
openspec completion installMenginstal shell completions

Perintah Kompatibel Agen ​

Perintah-perintah ini mendukung output --json untuk penggunaan programatik oleh agen AI dan script:

PerintahPenggunaan ManusiaPenggunaan Agen
openspec listMenjelajah perubahan/spec--json untuk data terstruktur
openspec show <item>Membaca konten--json untuk parsing
openspec validateMengecek masalah--all --json untuk validasi massal
openspec statusMelihat kemajuan artefak--json untuk status terstruktur
openspec instructionsMendapatkan langkah berikutnya--json untuk instruksi agen
openspec templatesMencari jalur template--json untuk resolusi jalur
openspec schemasDaftar skema yang tersedia--json untuk penemuan skema; --store <id> untuk memilih root terdaftar
openspec store setup <id>Membuat dan mendaftarkan store lokal--json dengan input eksplisit untuk output setup terstruktur
openspec store register <path>Mendaftarkan store yang sudah ada--json untuk output registrasi terstruktur
openspec store unregister <id>Melupakan registrasi store lokal--json untuk output pembersihan terstruktur
openspec store remove <id>Menghapus folder store lokal terdaftar--yes --json untuk penghapusan non-interaktif
openspec store listMenjelajah store terdaftar--json untuk registrasi terstruktur
openspec store doctorMengecek setup store lokal--json untuk diagnostik terstruktur
openspec new change <id>Membuat scaffolding perubahan lokal repo--json, plus --store <id> untuk menggunakan store terdaftar sebagai root OpenSpec
openspec workset create [name]Menyusun tampilan kerja pribadi--member <path> --json untuk komposisi non-interaktif
openspec workset listMenjelajah workset yang disimpan--json untuk tampilan terstruktur
openspec workset remove <name>Menghapus tampilan yang disimpan--yes --json untuk penghapusan non-interaktif

Opsi Global ​

Opsi-opsi ini berlaku untuk semua perintah:

OpsiDeskripsi
--version, -VMenampilkan nomor versi
--no-colorMenonaktifkan output berwarna
--help, -hMenampilkan bantuan untuk perintah

Perintah Setup ​

openspec init ​

Menginisialisasi OpenSpec di proyek Anda. Membuat struktur folder dan mengonfigurasi integrasi alat AI.

Perilaku default menggunakan nilai default konfigurasi global: profile core, delivery both, workflows propose, explore, apply, update, sync, archive.

openspec init [path] [options]

Gunakan --language <language> untuk menambahkan instruksi bahasa ke openspec/config.yaml proyek baru. Untuk proyek yang sudah ada, edit field context pada konfigurasi agar OpenSpec tidak menimpa panduan yang spesifik proyek.

Argumen:

ArgumenWajibDeskripsi
pathTidakDirektori target (default: direktori saat ini)

Opsi:

OpsiDeskripsi
--tools <list>Mengonfigurasi alat AI secara non-interaktif. Gunakan all, none, atau daftar dipisah koma
--language <language>Menulis artefak dalam bahasa ini saat membuat konfigurasi baru
--forceBersihkan file legacy secara otomatis tanpa prompt
--profile <profile>Menimpa profile global untuk eksekusi init ini (core atau custom)
--no-animationMenampilkan layar sambutan statis alih-alih yang beranimasi
--copilot-cloudMengatur file coding-agent cloud GitHub Copilot cloud coding-agent files tanpa prompt
--no-copilot-cloudLewati file coding-agent cloud GitHub Copilot tanpa prompt

--profile custom menggunakan workflow apa pun yang saat ini dipilih di konfigurasi global (openspec config profile).

Animasi sambutan juga dilewati ketika variabel lingkungan OPENSPEC_NO_ANIMATION diset (nilai apa pun, termasuk kosong), ketika NO_COLOR diset ke nilai non-kosong, atau ketika preferensi reduced-motion OS diaktifkan (macOS Reduce Motion, animasi GNOME dinonaktifkan).

ID alat yang didukung (--tools) — windsurf juga diterima, sebagai alias untuk devin: amazon-q, antigravity, auggie, bob, claude, cline, command-code, codeartsagent, codex, devin, forgecode, codebuddy, continue, costrict, crush, cursor, factory, gemini, github-copilot, hermes, iflow, junie, kilocode, kimi, kiro, lingma, minimax-code, vibe, oh-my-pi, opencode, pi, codeassistant, qoder, qwen, rovodev, roocode, trae, zed, zcode, agents

Daftar ini mencerminkan AI_TOOLS di src/core/config.ts. Lihat Supported Tools untuk jalur skill dan perintah setiap alat.

Contoh:

bash
# Inisialisasi interaktif
openspec init

# Inisialisasi di direktori tertentu
openspec init ./my-project

# Non-interaktif: konfigurasi untuk Claude dan Cursor
openspec init --tools claude,cursor

# Non-interaktif: konfigurasi skill global MiniMax Code
openspec init --tools minimax-code

# Konfigurasi untuk semua alat yang didukung
openspec init --tools all

# Timpa profile untuk eksekusi ini
openspec init --profile core

# Lewati prompt dan bersihkan file legacy secara otomatis
openspec init --force

Yang dibuat:

openspec/
├── specs/              # Spesifikasi Anda (sumber kebenaran)
├── changes/            # Perubahan yang diusulkan
└── config.yaml         # Konfigurasi proyek

.claude/skills/         # Skill Claude Code (jika claude dipilih)
.cursor/skills/         # Skill Cursor (jika cursor dipilih)
.cursor/commands/       # Perintah OPSX Cursor (jika delivery mencakup commands)
.agents/skills/         # Skill bersama untuk alat yang kompatibel dengan AGENTS.md (jika agents dipilih)
... (konfigurasi alat lain)

openspec update ​

Memperbarui file instruksi OpenSpec setelah upgrade CLI. Membuat ulang file konfigurasi alat AI menggunakan profile global saat ini, workflow yang dipilih, dan mode delivery.

openspec update [path] [options]

Argumen:

ArgumenWajibDeskripsi
pathTidakDirektori target (default: direktori saat ini)

Opsi:

OpsiDeskripsi
--forcePaksa pembaruan meskipun file sudah up to date

Contoh:

bash
# Perbarui file instruksi setelah upgrade npm
npm install -g @fission-ai/openspec@latest
openspec update

Upgrade paket terlebih dahulu. File instruksi dibuat oleh CLI yang terinstal, jadi menjalankan openspec update terhadap instalasi yang sudah lama akan melaporkan semuanya up to date tanpa menambahkan workflow yang dibawa oleh rilis baru.

Untuk membuat hal itu terlihat, openspec update menanyakan ke registry npm apakah CLI yang lebih baru telah diterbitkan. Ketika versi Anda tertinggal, ia menawarkan untuk upgrade:

text
A newer OpenSpec CLI is available (v1.6.0 → v1.7.0).
  Running from: /usr/local/lib/node_modules/@fission-ai/openspec
? Upgrade to v1.7.0 now? (Y/n)

Jawab ya dan ia akan menjalankan npm install -g @fission-ai/openspec@latest, kemudian menjalankan ulang update dengan CLI baru sehingga workflow baru masuk dalam perintah yang sama. Ia mengonfirmasi upgrade dengan menanyakan versi biner yang terinstal alih-alih mempercayai exit code npm, jadi jika instalasi lain sebelumnya di PATH Anda masih menjawab, ia memberitahu Anda alih-alih mengklaim sukses. Jawab tidak dan ia mencetak perintahnya serta memperbarui dengan CLI yang Anda miliki. Ctrl-C menghentikan perintah.

Penawaran ini hanya muncul di terminal interaktif, dan hanya ketika npm yang memiliki instalasi — satu kasus di mana npm install -g benar-benar memperbaikinya. Semua yang lain mendapatkan perintah yang sesuai dengan cara instalasinya:

Cara OpenSpec diinstalYang Anda dapatkan
Instalasi global npmPrompt tersebut, dan upgrade dijalankan untuk Anda — di terminal interaktif; output yang di-pipe mendapatkan perintah yang dicetak
Instalasi global pnpm, bun, yarn, atau voltaPerintah manajer tersebut sendiri: pnpm add -g …@latest, bun add -g …@latest, yarn global add …@latest, atau volta install …@latest
Dependensi proyekCatatan untuk memperbarui dependensi, karena package manager-nya yang memiliki lockfile
Cache npx / dlxnpx @fission-ai/openspec@latest update — perintah itu adalah update-nya, jadi tidak ada langkah kedua
Git cloneTidak ada — versi Anda adalah apa yang dikatakan branch

Kapan pun sesuatu dicetak, ia menyebutkan direktori tempat CLI yang berjalan dimuat — hal yang perlu diperiksa ketika Anda sudah upgrade tetapi shim lama masih memiliki PATH Anda.

Ia menanyakan registry di npm_config_registry ketika npm mengekspornya, dan https://registry.npmjs.org jika tidak. Tidak ada .npmrc yang dibaca: membiarkan isi file memilih ke mana permintaan keluar pergi adalah alur yang sebaiknya dihindari, dan .npmrc proyek ikut berpindah dengan repositori. Di mirror privat, ekspor npm_config_registry — atau set OPENSPEC_NO_UPDATE_CHECK untuk melewatkan pengecekan sepenuhnya. Pengecekan dilewati ketika CI diset ke apa pun selain nilai off eksplisit (false, 0, no, off, atau kosong), di bawah NODE_ENV=test, dan kapan pun OPENSPEC_NO_UPDATE_CHECK (nilai apa pun), DO_NOT_TRACK=1, atau OPENSPEC_TELEMETRY=0 diset. Ia berjalan sebelum update dan dapat menunda hingga maksimal 1,5 detik — ia menyerah setelah itu meskipun jaringan kehilangan paket secara diam-diam, dan tetap diam ketika registry tidak terjangkau.

Bagaimana "up to date" ditentukan: file skill mencatat versi yang membuatnya, jadi OpenSpec membandingkannya dengan CLI yang terinstal. File perintah tidak membawa stempel versi, jadi untuk alat yang memiliki perintah tetapi tidak skill (delivery commands), OpenSpec membandingkan isi file dengan apa yang akan dibuatnya sekarang — edit pada file-file itu dihitung sebagai drift dan akan ditimpa. Dengan delivery skills atau both, hanya versi yang tercatat yang diperiksa, jadi file yang diedit manual tetapi versinya masih cocok akan dibiarkan; gunakan --force untuk menulis ulang. Dalam kedua kasus, file yang dibuat adalah milik OpenSpec — simpan instruksi Anda sendiri di tempat lain.


Stores (repositori OpenSpec mandiri) ​

Beta. Stores dan fitur yang dibangun di atasnya (referensi, konteks kerja, workset) masih baru; nama perintah, flag, format file, dan output JSON dapat berubah antar rilis. Untuk panduan berbasis masalah pertama, lihat panduan stores.

Sebuah store adalah repositori OpenSpec mandiri yang telah Anda daftarkan di mesin ini — misalnya repositori perencanaan atau repositori kontrak. Mendaftarkan sebuah store memungkinkan perintah normal (list, show, status, validate, new change, archive, ...) beroperasi di dalamnya dari mana saja dengan meneruskan --store <id>.

openspec store setup ​

Buat dan daftarkan store lokal. Tanpa argumen di terminal, OpenSpec akan memandu pengguna melalui proses penyiapan. Agen dan skrip harus meneruskan input eksplisit dan menggunakan --json.

bash
openspec store setup [id] [options]

Opsi:

OpsiDeskripsi
--path <path>Folder tempat store harus berada (misalnya ~/openspec/<id>)
--remote <url>Catat remote kanonik dalam store.yaml dari store baru
--init-gitInisialisasi repositori Git dengan commit awal (default)
--no-init-gitLewati semua tindakan Git: tidak ada inisialisasi, tidak ada commit awal
--jsonOutput JSON

Jalankan non-interaktif (--json, skrip, agen) harus meneruskan id store dan --path. Di terminal interaktif, penyiapan meminta lokasi dengan saran yang dapat diedit di tempat yang terlihat dan dimiliki pengguna (misalnya ~/openspec/<id>); ini tidak pernah menggunakan direktori data terkelola OpenSpec sebagai default.

Contoh:

bash
openspec store setup
openspec store setup team-context
openspec store setup team-context --path ~/openspec/team-context --no-init-git
openspec store setup team-context --path ~/openspec/team-context --no-init-git --json

openspec store register ​

Daftarkan folder store lokal yang sudah ada. Selama beta stores, root dapat didaftarkan sebelum perubahan apa pun ada, spesifikasi telah diterapkan, atau perubahan telah diarsipkan; dalam kasus tersebut openspec/changes/, openspec/specs/, dan openspec/changes/archive/ mungkin tidak ada hingga perintah normal membuatnya. Repositori hanya-konfigurasi yang mendeklarasikan store: <id> tetap menjadi penunjuk ke store lain dan tidak didaftarkan sebagai root store kecuali penunjuk tersebut dihapus.

bash
openspec store register [path] [options]

Opsi:

OpsiDeskripsi
--id <id>Id store; default ke metadata store atau nama folder
--yesKonfirmasi pembuatan metadata identitas store untuk root OpenSpec yang sehat
--jsonOutput JSON

openspec store unregister ​

Lupakan pendaftaran store lokal tanpa menghapus file.

bash
openspec store unregister <id> [--json]

Gunakan ini ketika store dipindahkan, dikloning ke tempat lain, atau seharusnya tidak lagi ditampilkan oleh OpenSpec di mesin ini.

openspec store remove ​

Lupakan pendaftaran store lokal dan hapus folder lokalnya.

bash
openspec store remove <id> [--yes] [--json]

remove menampilkan folder yang tepat sebelum menghapus di terminal interaktif. Agen, skrip, dan pemanggil JSON harus meneruskan --yes untuk mengkonfirmasi penghapusan. OpenSpec menolak menghapus folder yang tidak berisi metadata store yang cocok.

openspec store list ​

Daftar store yang terdaftar secara lokal.

bash
openspec store list [--json]
openspec store ls [--json]

openspec store doctor ​

Periksa pendaftaran store lokal, metadata, dan keberadaan Git.

bash
openspec store doctor [id] [--json]

Doctor hanya bersifat diagnostik; ia melaporkan root yang hilang, ketidaksesuaian metadata, dan status registri lokal yang tidak valid tanpa memodifikasi store.

Merujuk store dari proyek ​

Repositori proyek dapat mendeklarasikan store mana yang digunakan karyanya di openspec/config.yaml:

yaml
schema: spec-driven
references:
  - team-context

Mulai saat itu, output openspec instructions di repositori tersebut (baik permukaan per-artefak maupun apply, mode JSON dan manusia) membawa indeks spesifikasi dari setiap store yang dirujuk — id spesifikasi, ringkasan satu baris dari bagian Tujuan setiap spesifikasi, dan perintah pengambilan (openspec show <spec-id> --type spec --store <id>). Indeks dibuat secara langsung dari checkout yang terdaftar pada setiap jalankan; konten spesifikasi tidak pernah disalin ke dalam output.

Referensi adalah konteks baca-saja. Referensi tidak pernah mengubah tempat perintah beroperasi: pekerjaan tetap berada di root repositori sendiri, dan menulis ke store yang dirujuk tetap merupakan tindakan eksplisit --store. Referensi yang tidak dapat diselesaikan (misalnya, store yang tidak terdaftar di mesin ini) menurun menjadi peringatan di indeks dengan perbaikan yang tepat, dan instruksi tetap dihasilkan. openspec doctor melaporkan kesehatan referensi di satu tempat.

Mencatat sumber kloning store ​

Sebuah store dapat mencatat sumber kloning kanoniknya dalam file identitas yang dikomitmnya, sehingga onboarding tidak pernah buntu di "daftarkan store":

bash
openspec store setup team-context --path ~/openspec/team-context \
  --remote git@github.com:acme/team-context.git

Remote masuk ke .openspec-store/store.yaml di dalam commit awal, sehingga setiap klon lahir dengan pengetahuan tentang hal tersebut. Untuk store yang sudah ada, edit store.yaml secara manual dan komitm. store doctor menunjukkan remote yang dicatat (dan asal Git yang diamati dari checkout); panduan setup/register menamainya; dan register mencatat asal checkout di registri lokal mesin.

Deklarasi referensi juga dapat membawa sumber kloning, sehingga rekan tim yang belum memiliki store mendapatkan perbaikan lengkap yang dapat ditempel (git clone <remote> <path> && openspec store register <path> --id <id>):

yaml
references:
  - { id: team-context, remote: "git@github.com:acme/team-context.git" }

Mencatat remote tidak sinkron: OpenSpec tidak pernah mengkloning, menarik, atau mendorong secara mandiri.

Mendeklarasikan store default ​

Repositori yang perencanaannya sepenuhnya dieksternalisasi — tanpa openspec/specs/ atau openspec/changes/ lokal — dapat mendeklarasikan store-nya sekali alih-alih meneruskan --store pada setiap perintah:

yaml
# openspec/config.yaml (satu-satunya file di bawah openspec/)
store: team-context

Perintah normal kemudian secara otomatis menyelesaikan ke store yang dideklarasikan; banner root dan blok JSON root melaporkan source: "declared" dengan id store, dan petunjuk yang dicetak tetap membawa --store <id>. Deklarasi ini adalah cadangan, bukan pengganti: --store eksplisit selalu menang, dan direktori dengan folder perencanaan nyata mengabaikan penunjuk (dengan peringatan). Untuk mengkonversi repositori penunjuk menjadi root OpenSpec lokal, hapus baris store: dan jalankan openspec init — init menolak membuat kerangka kerja sementara deklarasi hadir.

Varian tingkat mesin mencakup semua repositori sekaligus: openspec config set defaultStore <id> (lihat Konfigurasi). Ini hanya dipertimbangkan setelah --store, root lokal, dan penunjuk proyek semuanya gagal diselesaikan; banner root dan blok JSON root kemudian melaporkan source: "global_default".

Doctor (kesehatan hubungan) ​

Satu pertanyaan read-only, satu tempat: apakah root OpenSpec sehat, dan apakah store yang dirujuk tersedia di mesin ini?

bash
openspec doctor [--store <id>] [--json]

Laporan memisahkan kesehatan root, kesehatan metadata store (termasuk catatan ketika remote yang tercatat dan origin checkout menyimpang, serta catatan ketika checkout store telah menyimpang di belakang ref tracking upstream yang terakhir diambil), dan kesehatan referensi (diagnostik yang sama yang ditampilkan instruksi, dengan perbaikan clone untuk referensi yang belum terurai). Temuan kesehatan dengan tingkat keparahan apa pun keluar dengan kode 0 — agen membaca array status; hanya kegagalan perintah (tidak ada root, store tidak dikenal) yang keluar dengan kode 1. Doctor tidak pernah melakukan clone, sync, atau perbaikan. Untuk mendapatkan set yang dirakit itu sendiri, bukan kesehatannya, gunakan openspec context.

Konteks kerja (set yang dirakit) ​

Semua yang berkaitan dengan pekerjaan ini melalui deklarasi OpenSpec, dalam satu set kerja: root OpenSpec dan store yang dirujuknya.

bash
openspec context [--store <id>] [--json] [--code-workspace <path> [--force]]

Brief JSON dapat dikonsumsi oleh agen (setiap store referensi yang tersedia membawa resep fetch-nya; anggota yang belum terurai membawa instruksi perbaikan yang sama dan doctor show). --code-workspace juga menulis file workspace VS Code yang berisi root ditambah store referensi yang tersedia (folder ref:<id>) — satu-satunya penulisan yang dilakukan perintah ini, ditolak tanpa --force jika file sudah ada. Anggota yang tidak tersedia dilaporkan, tidak pernah ditebak.

"Konteks kerja" adalah set yang dirakit; field context: dalam openspec/config.yaml adalah latar belakang proyek yang disuntikkan ke instruksi — dua hal yang berbeda. openspec doctor menjawab apakah set tersebut sehat; openspec context menjawab apa isi set tersebut.

Workset pribadi ​

Beta. Workset adalah bagian dari permukaan beta baru; perintah, flag, dan format file dapat berubah bentuk antar rilis. Untuk walkthrough, lihat panduan stores.

Workset adalah tampilan pribadi bernama dari folder yang Anda kerjakan bersama — root perencanaan ditambah apa pun yang Anda pilih — disimpan di mesin Anda dan dibuka kembali berdasarkan nama di tool Anda. Ini sepenuhnya lokal: tidak pernah di-commit, tidak pernah dibagikan, tidak pernah diturunkan dari deklarasi, dan menghapus satu tidak pernah menyentuh folder anggota.

bash
openspec workset create [name] [--member <path> | --member <name>=<path>]... [--tool <id>] [--json]
openspec workset list [--json]
openspec workset open <name> [--tool <id>]
openspec workset remove <name> [--yes] [--json]

create menjalankan alur panduan singkat (atau menerima flag --member secara non-interaktif; anggota pertama adalah primer — sesi dimulai di sana). open meluncurkan tool yang dipilih: editor (VS Code, Cursor) membuka jendela dengan setiap anggota dan kembali; agen CLI (Claude Code, codex) mengambil alih terminal ini sebagai sesi dengan setiap anggota terlampir dan tanpa prompt yang diisi sebelumnya, berakhir ketika Anda keluar. Folder anggota yang hilang saat dibuka dilewati dengan catatan; sisanya dibuka. Preferensi tool yang disimpan dapat ditimpa per buka dengan --tool.

Mendukung tool baru adalah konfigurasi, bukan kode. Setiap tool adalah salah satu dari dua gaya peluncuran — workspace-file (diluncurkan dengan .code-workspace yang dihasilkan) atau attach-dirs (satu flag attach per anggota) — dan kunci openers dalam config.json global (buka dengan openspec config edit) menambah tool atau menyesuaikan bawaan per field:

json
{
  "openers": {
    "zed": { "style": "workspace-file" },
    "claude": { "attach_flag": "--dir" }
  }
}

Seluruh state workset berada di bawah folder worksets/ di data dir global (tampilan yang disimpan ditambah file <name>.code-workspace yang dihasilkan, dibuat ulang setiap kali dibuka); menghapus folder tersebut menghilangkan setiap jejak.


Perintah Penjelajahan ​

openspec list ​

Menampilkan daftar perubahan atau spesifikasi dalam proyek Anda.

openspec list [options]

Opsi:

OpsiDeskripsi
--specsTampilkan daftar spesifikasi alih-alih perubahan
--changesTampilkan daftar perubahan (default)
--sort <order>Urutkan berdasarkan recent (default) atau name
--jsonOutput sebagai JSON

Contoh:

bash
# Tampilkan semua perubahan aktif
openspec list

# Tampilkan semua spesifikasi
openspec list --specs

# Output JSON untuk skrip
openspec list --json

Output (teks):

Changes:
  add-dark-mode     No tasks      just now

openspec view ​

Menampilkan dashboard interaktif untuk menjelajahi spesifikasi dan perubahan.

openspec view

Membuka antarmuka berbasis terminal untuk menavigasi spesifikasi dan perubahan proyek Anda.


openspec show ​

Menampilkan detail perubahan atau spesifikasi.

openspec show [item-name] [options]

Argumen:

ArgumenWajibDeskripsi
item-nameTidakNama perubahan atau spesifikasi (muncul prompt jika diabaikan)

Opsi:

OpsiDeskripsi
--type <type>Tentukan tipe: change atau spec (terdeteksi otomatis jika tidak ambigu)
--jsonOutput sebagai JSON
--no-interactiveNonaktifkan prompt

Opsi khusus perubahan:

OpsiDeskripsi
--deltas-onlyTampilkan hanya spesifikasi delta (mode JSON)

Opsi khusus spesifikasi:

OpsiDeskripsi
--requirementsTampilkan hanya persyaratan, kecualikan skenario (mode JSON)
--no-scenariosKecualikan konten skenario (mode JSON)
-r, --requirement <id>Tampilkan persyaratan spesifik berdasarkan indeks berbasis 1 (mode JSON)

Contoh:

bash
# Seleksi interaktif
openspec show

# Tampilkan perubahan tertentu
openspec show add-dark-mode

# Tampilkan spesifikasi tertentu
openspec show auth --type spec

# Output JSON untuk parsing
openspec show add-dark-mode --json

Perintah Validasi ​

openspec validate ​

Memvalidasi perubahan dan spesifikasi untuk masalah struktural, serta memeriksa persyaratan MODIFIED dari suatu perubahan terhadap spesifikasi utama yang akan digantikannya.

openspec validate [item-name] [options]

Perubahan tanpa delta spesifikasi akan gagal divalidasi kecuali file .openspec.yaml-nya mendeklarasikan skip_specs: true (untuk refaktor murni, perkakas, atau pekerjaan dokumentasi — lihat Resep 5).

Argumen:

ArgumenWajibDeskripsi
item-nameTidakItem spesifik yang akan divalidasi (akan meminta jika dihilangkan)

Opsi:

OpsiDeskripsi
--allValidasi semua perubahan dan spesifikasi
--changesValidasi semua perubahan
--specsValidasi semua spesifikasi
--archivedValidasi bahwa perubahan yang diarsipkan telah menyelesaikan semua tugas (untuk linting pre-commit)
--type <type>Tentukan tipe ketika nama ambigu: change atau spec
--strictAktifkan mode validasi ketat
--jsonKeluarkan sebagai JSON
--concurrency <n>Validasi paralel maksimum (default: 6, atau env OPENSPEC_CONCURRENCY)
--no-interactiveNonaktifkan prompt

--archived adalah cakupannya sendiri: ia tidak memvalidasi delta spesifikasi (sudah diterapkan saat pengarsipan), ia memverifikasi bahwa setiap perubahan di bawah changes/archive/ memiliki semua kotak centang tasks.md-nya tercentang, keluar dengan kode non-nol jika ada yang tidak dicentang. Ini mendeteksi perubahan yang diarsipkan dengan pekerjaan yang belum selesai — berguna dalam hook pre-commit.

Contoh:

bash
# Validasi interaktif
openspec validate

# Validasi perubahan tertentu
openspec validate add-dark-mode

# Validasi semua perubahan
openspec validate --changes

# Validasi semuanya dengan keluaran JSON (untuk CI/skrip)
openspec validate --all --json

# Validasi ketat dengan paralelisme lebih tinggi
openspec validate --all --strict --concurrency 12

# Gagal jika ada perubahan yang diarsipkan masih memiliki tugas yang tidak dicentang
openspec validate --archived

Output (teks):

Memvalidasi add-dark-mode...
  ✓ proposal.md valid
  ✓ specs/ui/spec.md valid
  ⚠ design.md: bagian "Pendekatan Teknis" tidak ada

1 peringatan ditemukan

Output (JSON):

json
{
  "version": "1.0.0",
  "results": {
    "changes": [
      {
        "name": "add-dark-mode",
        "valid": true,
        "warnings": ["design.md: bagian 'Pendekatan Teknis' tidak ada"]
      }
    ]
  },
  "summary": {
    "total": 1,
    "valid": 1,
    "invalid": 0
  }
}

Perintah Siklus Hidup ​

openspec archive ​

Arsipkan perubahan yang telah selesai dan gabungkan delta spesifikasi ke dalam spesifikasi utama.

openspec archive [change-name] [options]

Argumen:

ArgumenWajibDeskripsi
change-nameTidakPerubahan yang akan diarsipkan (akan meminta jika dihilangkan; wajib jika tidak ada yang dapat menjawab prompt)

Opsi:

OpsiDeskripsi
-y, --yesLewati prompt konfirmasi. Wajib jika tidak ada yang dapat menjawabnya — agen AI, pekerjaan CI, atau eksekusi dengan stdin tertutup
--skip-specsLewati pembaruan spesifikasi untuk satu kali pengarsipan. Perubahan yang secara permanen tidak memiliki delta spesifikasi sebaiknya mendeklarasikan skip_specs: true di .openspec.yaml-nya — perubahan tersebut diarsipkan tanpa flag
--no-validateLewati validasi (memerlukan konfirmasi). Juga menonaktifkan penghapusan kapabilitas — tanpa keputusan validator, tidak ada yang dihapus

Contoh:

bash
# Pengarsipan interaktif (bertanya perubahan mana, lalu konfirmasi)
openspec archive

# Arsipkan perubahan tertentu
openspec archive add-dark-mode

# Arsipkan tanpa prompt (agen, CI, skrip)
openspec archive add-dark-mode --yes

# Arsipkan perubahan perkakas yang tidak memengaruhi spesifikasi
openspec archive update-ci-config --skip-specs

Pensiunkan kapabilitas: Tambahkan penanda pensiun ke metadata perubahan:

yaml
# openspec/changes/retire-legacy/.openspec.yaml
schema: spec-driven
retire_capabilities: true

Kemudian arsipkan perubahan secara normal:

bash
openspec archive retire-legacy --yes

Ketika perubahan menghapus persyaratan terakhir dari kapabilitas, OpenSpec menghapus spec.md langsung miliknya. Delta kapabilitas lainnya dalam perubahan yang sama tetap memperbarui spesifikasi utamanya. Tanpa penanda, pengarsipan berhenti sebelum mengubah berkas apa pun dan memberi tahu Anda untuk menambahkannya.

Apa yang dilakukannya:

  1. Memvalidasi perubahan (kecuali --no-validate)
  2. Meminta konfirmasi (kecuali --yes)
  3. Mengklaim tujuan arsip sebelum mengubah spesifikasi utama apa pun
  4. Memvalidasi dan menggabungkan delta spesifikasi aktif ke dalam openspec/specs/ — kapabilitas yang persyaratan terakhirnya dihapus oleh perubahan akan dipensiunkan, dan berkas spesifikasinya dihapus, tetapi hanya jika .openspec.yaml perubahan tersebut mendeklarasikan retire_capabilities: true di samping schema:-nya
  5. Memindahkan folder perubahan ke openspec/changes/archive/YYYY-MM-DD-<name>/
  6. Jika mutasi spesifikasi atau pemindahan akhir gagal sebelum arsip lengkap terjamin, pulihkan spesifikasi dan biarkan atau kembalikan perubahan ke jalur aktifnya
  7. Jika salinan fallback terverifikasi selesai tetapi pembersihan sumber bertahap gagal, pertahankan arsip lengkap dan status spesifikasi yang dikomit untuk pemulihan

Tanpa terminal: agen AI, pekerjaan CI, atau eksekusi apa pun dengan stdin tertutup tidak dapat menjawab langkah 2, sehingga pengarsipan berhenti sebelum menyentuh apa pun, keluar dengan kode 1, dan menyebutkan perintah untuk dijalankan ulang — openspec archive <name> --yes, dengan membawa flag lain yang Anda lewatkan. Berikan --yes (dan nama perubahan) di awal untuk melewati perjalanan bolak-balik.

Perintah Workflow ​

Perintah-perintah ini mendukung workflow OPSX yang didorong oleh artefak. Mereka berguna baik untuk manusia yang memeriksa kemajuan maupun agen yang menentukan langkah berikutnya.

openspec new change ​

Membuat direktori perubahan dan metadata opsional yang dicatat di root OpenSpec yang di-resolve.

bash
openspec new change <name> [options]

Nama perubahan harus menggunakan lowercase kebab-case: huruf kecil, angka, dan tanda hubung tunggal. Tidak boleh mengandung spasi, underscore, huruf kapital, tanda hubung berurutan, atau tanda hubung di awal/akhir. Angka di awal diizinkan, sehingga Anda dapat menambahkan awalan untuk mengurutkan atau mengelompokkan perubahan, misalnya 100-add-feature atau 00001-add-auth.

Opsi:

OpsiDeskripsi
--description <text>Deskripsi untuk ditambahkan ke index.md
--goal <text>Metadata tujuan opsional untuk disimpan bersama perubahan
--schema <name>Skema workflow yang akan digunakan
--store <id>ID store untuk digunakan sebagai root OpenSpec (store adalah repo OpenSpec mandiri yang telah Anda daftarkan)
--jsonOutput JSON

Contoh:

bash
openspec new change add-billing-api
openspec new change add-billing-api --store team-context --json

openspec status ​

Menampilkan status penyelesaian artefak untuk suatu perubahan.

openspec status [options]

Opsi:

OpsiDeskripsi
--change <id>Nama perubahan (akan meminta input jika diabaikan)
--schema <name>Override skema (terdeteksi otomatis dari konfigurasi perubahan)
--jsonOutput sebagai JSON

Contoh:

bash
# Pemeriksaan status interaktif
openspec status

# Status untuk perubahan tertentu
openspec status --change add-dark-mode

# JSON untuk penggunaan agen
openspec status --change add-dark-mode --json

Output (teks):

Change: add-dark-mode
Schema: spec-driven
Progress: 2/4 artifacts complete

[x] proposal
[x] specs
[ ] design
[-] tasks (blocked by: design)

Perubahan yang mendeklarasikan skip_specs: true menampilkan tahap specs-nya sebagai [~] specs (skipped: change declares skip_specs) dan mengecualikannya dari penghitungan kemajuan.

Output (JSON):

json
{
  "changeName": "add-dark-mode",
  "schemaName": "spec-driven",
  "isPlanningComplete": false,
  "isComplete": false,
  "applyRequires": ["tasks"],
  "artifacts": [
    {"id": "proposal", "outputPath": "proposal.md", "status": "done", "requires": []},
    {"id": "specs", "outputPath": "specs/**/*.md", "status": "done", "requires": ["proposal"]},
    {"id": "design", "outputPath": "design.md", "status": "ready", "requires": ["proposal"]},
    {"id": "tasks", "outputPath": "tasks.md", "status": "blocked", "requires": ["specs", "design"], "missingDeps": ["design"]}
  ]
}

isPlanningComplete melaporkan apakah setiap artefak perencanaan yang tidak di-skip sudah ada; artefak yang di-skip dihitung sebagai terpenuhi tanpa dibuat. Nilai ini tidak melaporkan apakah tugas implementasi sudah selesai. isComplete dipertahankan sebagai alias kompatibilitas dengan nilai yang sama.

Artefak diurutkan berdasarkan urutan dependensi — sebuah dependensi tidak pernah muncul setelah sesuatu yang membutuhkannya — dan artefak yang menjadi ready pada waktu yang sama (specs dan design pada spec-driven keduanya hanya membutuhkan proposal) mempertahankan urutan sebagaimana yang dideklarasikan oleh skema, bukan urutan alfabetis. Jadi entri ready pertama adalah artefak yang harus ditulis berikutnya.


openspec instructions ​

Mendapatkan instruksi yang diperkaya untuk membuat artefak atau menerapkan tugas. Digunakan oleh agen AI untuk memahami apa yang harus dibuat berikutnya.

openspec instructions [artifact] [options]

Argumen:

ArgumenWajibDeskripsi
artifactTidakID artefak, atau permukaan input workflow: apply atau archive

Opsi:

OpsiDeskripsi
--change <id>Nama perubahan (wajib dalam mode non-interaktif)
--schema <name>Override skema
--jsonOutput sebagai JSON

Kasus khusus: Gunakan apply untuk mendapatkan instruksi implementasi tugas. Gunakan archive untuk mengambil input arsip saat ini yang read-only (context dan operationGuidance) untuk perubahan yang valid; perintah ini tidak mengarsipkan atau mengubah apa pun.

Contoh:

bash
# Dapatkan instruksi untuk artefak berikutnya
openspec instructions --change add-dark-mode

# Dapatkan instruksi artefak tertentu
openspec instructions design --change add-dark-mode

# Dapatkan instruksi apply/implementasi
openspec instructions apply --change add-dark-mode

# Dapatkan input operasi arsip saat ini tanpa mengarsipkan
openspec instructions archive --change add-dark-mode --json

# JSON untuk konsumsi agen
openspec instructions design --change add-dark-mode --json

Output mencakup:

  • Konten template untuk artefak tersebut
  • Konteks proyek dari konfigurasi
  • Konten dari artefak dependensi
  • Aturan per-artefak dari konfigurasi
  • Konteks proyek saat ini dan panduan operasi yang cocok untuk apply/archive

Input operasi dibaca dari repo yang di-resolve atau store yang dipilih pada setiap pemanggilan. Konteks proyek adalah input level-prompt yang wajib: agen membacanya dan menerapkan fakta proyek, konvensi, dan batasan yang relevan. Panduan operasi adalah nasihat tambahan opsional: agen mempertimbangkan setiap entri dan hanya mengikuti entri yang relevan dan kompatibel dengan workflow bawaan. Kedua field tetap terpisah dari pilihan pengguna eksplisit, state yang dikendalikan CLI, instruksi bawaan, dan aturan artefak. Konteks yang bertentangan akan dilaporkan; panduan yang bertentangan atau tidak berlaku tidak akan diikuti dan alasannya akan dijelaskan. Ini adalah kontrak perilaku untuk agen yang dihasilkan, bukan pemeriksaan CLI yang dapat dipaksakan. instructions archive hanya mengembalikan perubahan yang dipilih, input opsional, dan metadata root; tidak mencakup workflow arsip statis.

Untuk artefak yang di-skip melalui skip_specs: true, output hanya berupa peringatan (JSON menambahkan field skipped/warning) — artefak tersebut tidak boleh dibuat.


openspec templates ​

Menampilkan jalur template yang di-resolve untuk semua artefak dalam suatu skema.

openspec templates [options]

Opsi:

OpsiDeskripsi
--schema <name>Skema untuk diperiksa (default: spec-driven)
--jsonOutput sebagai JSON

Contoh:

bash
# Tampilkan jalur template untuk skema default
openspec templates

# Tampilkan template untuk skema custom
openspec templates --schema my-workflow

# JSON untuk penggunaan programatik
openspec templates --json

Output (teks):

Schema: spec-driven

Templates:
  proposal  → ~/.openspec/schemas/spec-driven/templates/proposal.md
  specs     → ~/.openspec/schemas/spec-driven/templates/specs.md
  design    → ~/.openspec/schemas/spec-driven/templates/design.md
  tasks     → ~/.openspec/schemas/spec-driven/templates/tasks.md

openspec schemas ​

Menampilkan daftar skema workflow yang tersedia beserta deskripsi dan aliran artefaknya.

openspec schemas [options]

Opsi:

OpsiDeskripsi
--jsonOutput sebagai JSON
--store <id>Gunakan store terdaftar sebagai root OpenSpec

Contoh:

bash
openspec schemas

Output:

Available schemas:

  spec-driven (package)
    The default spec-driven development workflow
    Flow: proposal → specs → design → tasks

  my-custom (project)
    Custom workflow for this project
    Flow: research → proposal → tasks

Perintah Skema ​

Perintah untuk membuat dan mengelola skema alur kerja kustom.

openspec schema init ​

Buat skema lokal proyek baru.

openspec schema init <name> [options]

Argumen:

ArgumenDiperlukanDeskripsi
nameYaNama skema (kebab-case)

Opsi:

OpsiDeskripsi
--description <text>Deskripsi skema
--artifacts <list>ID artefak dipisahkan koma (default: proposal,specs,design,tasks)
--defaultTetapkan sebagai skema default proyek
--no-defaultJangan tanya untuk menetapkan sebagai default
--forceTimpa skema yang ada
--jsonKeluaran sebagai JSON

Contoh:

bash
# Pembuatan skema interaktif
openspec schema init research-first

# Non-interaktif dengan artefak tertentu
openspec schema init rapid \
  --description "Rapid iteration workflow" \
  --artifacts "proposal,tasks" \
  --default

Yang dibuat:

openspec/schemas/<name>/
├── schema.yaml           # Definisi skema
└── templates/
    ├── proposal.md       # Template untuk setiap artefak
    ├── specs.md
    ├── design.md
    └── tasks.md

openspec schema fork ​

Salin skema yang ada ke proyek Anda untuk kustomisasi.

openspec schema fork <source> [name] [options]

Argumen:

ArgumenDiperlukanDeskripsi
sourceYaSkema untuk disalin
nameTidakNama skema baru (default: <source>-custom)

Opsi:

OpsiDeskripsi
--forceTimpa tujuan yang ada
--jsonKeluaran sebagai JSON

Contoh:

bash
# Fork skema spec-driven bawaan
openspec schema fork spec-driven my-workflow

openspec schema validate ​

Validasi struktur dan template skema.

openspec schema validate [name] [options]

Argumen:

ArgumenDiperlukanDeskripsi
nameTidakSkema untuk divalidasi (memvalidasi semua jika dihilangkan)

Opsi:

OpsiDeskripsi
--verboseTampilkan langkah validasi terperinci
--jsonKeluaran sebagai JSON

Contoh:

bash
# Validasi skema tertentu
openspec schema validate my-workflow

# Validasi semua skema
openspec schema validate

openspec schema which ​

Tampilkan dari mana skema diselesaikan (berguna untuk debugging prioritas).

openspec schema which [name] [options]

Argumen:

ArgumenDiperlukanDeskripsi
nameTidakNama skema

Opsi:

OpsiDeskripsi
--allDaftar semua skema dengan sumbernya
--jsonKeluaran sebagai JSON

Contoh:

bash
# Periksa dari mana skema berasal
openspec schema which spec-driven

Output:

spec-driven resolves from: package
  Source: /usr/local/lib/node_modules/@fission-ai/openspec/schemas/spec-driven

Prioritas skema:

  1. Proyek: openspec/schemas/<name>/
  2. Pengguna: ~/.local/share/openspec/schemas/<name>/
  3. Paket: Skema bawaan

Perintah Konfigurasi ​

openspec config ​

Lihat dan ubah konfigurasi global OpenSpec.

openspec config <subcommand> [options]

Subperintah:

SubperintahDeskripsi
pathTampilkan lokasi file konfigurasi
listTampilkan semua pengaturan saat ini
get <key>Dapatkan nilai tertentu
set <key> <value>Tetapkan nilai
unset <key>Hapus kunci
resetAtur ulang ke default
editBuka di $EDITOR
profile [preset]Konfigurasi profil alur kerja secara interaktif atau melalui preset

Contoh:

bash
# Tampilkan jalur file konfigurasi
openspec config path

# Daftar semua pengaturan
openspec config list

# Dapatkan nilai tertentu
openspec config get telemetry.enabled

# Tetapkan nilai (nonaktifkan telemetri penggunaan anonim)
openspec config set telemetry.enabled false

# Tetapkan nilai string secara eksplisit
openspec config set user.name "My Name" --string

# Hapus pengaturan kustom
openspec config unset user.name

# Tetapkan penyimpanan default tingkat mesin (root fallback saat tidak ada --store,
# root lokal, atau penyimpanan proyek: pointer diselesaikan)
openspec config set defaultStore team-plans

# Atur ulang semua konfigurasi
openspec config reset --all --yes

# Edit konfigurasi di editor Anda
openspec config edit

# Konfigurasi profil dengan wizard berbasis tindakan
openspec config profile

# Preset cepat: alihkan alur kerja ke inti (mempertahankan mode pengiriman)
openspec config profile core

Opt-out telemetri: telemetry.enabled defaultnya aktif saat tidak disetel (model opt-out). Setel ke false untuk menonaktifkan statistik penggunaan anonim dan pemeriksaan versi openspec update. Variabel lingkungan lebih diutamakan daripada konfigurasi: OPENSPEC_TELEMETRY=0, DO_NOT_TRACK=1, dan nilai CI yang truthy (mis. true/1/ya) selalu menonaktifkan telemetri terlepas dari nilai konfigurasi.

openspec config profile dimulai dengan ringkasan status saat ini, lalu memungkinkan Anda memilih:

  • Ubah pengiriman + alur kerja
  • Ubah pengiriman saja
  • Ubah alur kerja saja
  • Pertahankan pengaturan saat ini (keluar)

Jika Anda mempertahankan pengaturan saat ini, tidak ada perubahan yang ditulis dan tidak ada prompt pembaruan yang ditampilkan. Jika tidak ada perubahan konfigurasi tetapi file proyek saat ini tidak sinkron dengan profil/pengiriman global Anda, OpenSpec akan menampilkan peringatan dan menyarankan openspec update. Menekan Ctrl+C juga membatalkan alur dengan bersih (tanpa jejak tumpukan) dan keluar dengan kode 130. Dalam daftar periksa alur kerja, [x] berarti alur kerja dipilih dalam konfigurasi global. Untuk menerapkan pilihan tersebut ke file proyek, jalankan openspec update (atau pilih Terapkan perubahan ke proyek ini sekarang? saat diminta di dalam proyek).

Contoh interaktif:

bash
# Pembaruan khusus pengiriman
openspec config profile
# pilih: Ubah pengiriman saja
# pilih pengiriman: Skills only

# Pembaruan khusus alur kerja
openspec config profile
# pilih: Ubah alur kerja saja
# alihkan alur kerja dalam daftar periksa, lalu konfirmasi

Perintah Utilitas ​

openspec feedback ​

Kirim umpan balik tentang OpenSpec. Membuat masalah GitHub.

openspec feedback <message> [options]

Argumen:

ArgumenDiperlukanDeskripsi
messageYaRingkasan umpan balik; teks panjang dipersingkat dalam judul masalah dan dipertahankan dalam badan

Opsi:

OpsiDeskripsi
--body <text>Detail tambahan yang disertakan setelah ringkasan

Persyaratan: GitHub CLI (gh) harus diinstal dan diautentikasi.

Contoh:

bash
openspec feedback "Add support for custom artifact types" \
  --body "I'd like to define my own artifact types beyond the built-in ones."

openspec completion ​

Kelola penyelesaian shell untuk CLI OpenSpec.

openspec completion <subcommand> [shell]

Subperintah:

SubperintahDeskripsi
generate [shell]Keluarkan skrip penyelesaian ke stdout
install [shell]Instal penyelesaian untuk shell Anda
uninstall [shell]Hapus penyelesaian yang terinstal

Shell yang didukung: bash, zsh, fish, powershell

Contoh:

bash
# Instal penyelesaian (mendeteksi shell secara otomatis)
openspec completion install

# Instal untuk shell tertentu
openspec completion install zsh

# Buat skrip untuk instalasi manual (bash)
openspec completion generate bash > ~/.bash_completion.d/openspec

# Hapus instalasi
openspec completion uninstall

Windows (PowerShell): Instal penyelesaian untuk host PowerShell saat ini:

powershell
$env:PROFILE = $PROFILE
openspec completion install powershell
. $PROFILE

$env:PROFILE memberi tahu OpenSpec profil mana yang akan dikonfigurasi dalam sesi ini. Penginstal membuat direktori profil yang hilang dan menambahkan blok terkelola yang memuat OpenSpecCompletion.ps1. Memuat ulang profil memungkinkan penyelesaian segera.

Untuk menghapus instalasi dari host saat ini, jalankan:

powershell
$env:PROFILE = $PROFILE
openspec completion uninstall powershell

Mulai ulang PowerShell setelah menghapus instalasi untuk membersihkan penyelesaian dari sesi saat ini.

Penyelesaian bersifat opt-in. CLI menyebutkannya sekali, di stderr, pertama kali Anda menjalankan perintah di terminal interaktif, dan tidak pernah lagi — juga tetap diam jika Anda sudah memiliki penyelesaian yang terinstal. Setel OPENSPEC_NO_COMPLETIONS=1 untuk menekan tip itu sepenuhnya.


Kode Keluar ​

KodeArti
0Sukses
1Kesalahan (kegagalan validasi, file hilang, dll.)

Variabel Lingkungan ​

VariabelDeskripsi
OPENSPEC_TELEMETRYSetel ke 0 untuk menonaktifkan telemetri dan pemeriksaan versi openspec update (menggantikan telemetry.enabled dalam konfigurasi global)
DO_NOT_TRACKSetel ke 1 untuk menonaktifkan telemetri dan pemeriksaan versi openspec update (sinyal DNT standar; menggantikan konfigurasi)
OPENSPEC_CONCURRENCYKonkurensi default untuk validasi massal (default: 6)
EDITOR atau VISUALEditor untuk openspec config edit
NO_COLORNonaktifkan output warna saat disetel
OPENSPEC_NO_ANIMATIONNonaktifkan animasi selamat datang openspec init saat disetel
OPENSPEC_NO_COMPLETIONSSetel ke 1 untuk menekan tip satu kali tentang penyelesaian shell
OPENSPEC_NO_UPDATE_CHECKNonaktifkan pemeriksaan openspec update untuk CLI yang lebih baru saat disetel (nilai apa pun, termasuk kosong). Juga dilewati saat CI disetel (kecuali false/0/no/off) atau NODE_ENV=test
npm_config_registryRegistry yang diminta oleh pemeriksaan versi openspec update. Harus berupa URL http(s) atau akan kembali ke https://registry.npmjs.org. Tidak ada file .npmrc yang dibaca

Dokumentasi Terkait ​

  • Perintah - Perintah slash AI (/opsx:propose, /opsx:apply, dst.)
  • Alur Kerja - Pola umum dan kapan menggunakan setiap perintah
  • Kustomisasi - Buat skema dan template kustom
  • Memulai - Panduan penyiapan pertama kali