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
| Kategori | Perintah | Tujuan |
|---|---|---|
| Penyiapan | init, update | Inisialisasi dan perbarui OpenSpec dalam proyek Anda |
| Store (repositori OpenSpec mandiri) | store setup, store register, store unregister, store remove, store list, store doctor | Kelola store — repositori OpenSpec mandiri yang telah Anda daftarkan |
| Kesehatan | doctor | Laporkan kesehatan hubungan untuk root yang telah diselesaikan |
| Konteks kerja | context | Susun set kerja (root + store yang dirujuk) |
| Set kerja pribadi | workset create, workset list, workset open, workset remove | Simpan dan buka tampilan kerja pribadi, lokal dalam alat Anda |
| Penjelajahan | list, view, show | Jelajahi perubahan dan spesifikasi |
| Validasi | validate | Periksa perubahan dan spesifikasi untuk masalah |
| Siklus hidup | archive | Finalisasi perubahan yang selesai |
| Alur kerja | new change, status, instructions, templates, schemas | Dukungan alur kerja berbasis artefak |
| Skema | schema init, schema fork, schema validate, schema which | Buat dan kelola alur kerja kustom |
| Konfigurasi | config | Lihat dan ubah pengaturan |
| Utilitas | feedback, completion | Umpan 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:
| Perintah | Tujuan |
|---|---|
openspec init | Inisialisasi proyek (prompt interaktif) |
openspec view | Dashboard interaktif |
openspec workset open <name> | Membuka workset yang disimpan (jendela editor atau sesi agen terminal) |
openspec config edit | Membuka konfigurasi di editor |
openspec feedback | Mengirim umpan balik melalui GitHub |
openspec completion install | Menginstal shell completions |
Perintah Kompatibel Agen
Perintah-perintah ini mendukung output --json untuk penggunaan programatik oleh agen AI dan script:
| Perintah | Penggunaan Manusia | Penggunaan Agen |
|---|---|---|
openspec list | Menjelajah perubahan/spec | --json untuk data terstruktur |
openspec show <item> | Membaca konten | --json untuk parsing |
openspec validate | Mengecek masalah | --all --json untuk validasi massal |
openspec status | Melihat kemajuan artefak | --json untuk status terstruktur |
openspec instructions | Mendapatkan langkah berikutnya | --json untuk instruksi agen |
openspec templates | Mencari jalur template | --json untuk resolusi jalur |
openspec schemas | Daftar 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 list | Menjelajah store terdaftar | --json untuk registrasi terstruktur |
openspec store doctor | Mengecek 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 list | Menjelajah 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:
| Opsi | Deskripsi |
|---|---|
--version, -V | Menampilkan nomor versi |
--no-color | Menonaktifkan output berwarna |
--help, -h | Menampilkan 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:
| Argumen | Wajib | Deskripsi |
|---|---|---|
path | Tidak | Direktori target (default: direktori saat ini) |
Opsi:
| Opsi | Deskripsi |
|---|---|
--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 |
--force | Bersihkan file legacy secara otomatis tanpa prompt |
--profile <profile> | Menimpa profile global untuk eksekusi init ini (core atau custom) |
--no-animation | Menampilkan layar sambutan statis alih-alih yang beranimasi |
--copilot-cloud | Mengatur file coding-agent cloud GitHub Copilot cloud coding-agent files tanpa prompt |
--no-copilot-cloud | Lewati 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_TOOLSdisrc/core/config.ts. Lihat Supported Tools untuk jalur skill dan perintah setiap alat.
Contoh:
# 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 --forceYang 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:
| Argumen | Wajib | Deskripsi |
|---|---|---|
path | Tidak | Direktori target (default: direktori saat ini) |
Opsi:
| Opsi | Deskripsi |
|---|---|
--force | Paksa pembaruan meskipun file sudah up to date |
Contoh:
# Perbarui file instruksi setelah upgrade npm
npm install -g @fission-ai/openspec@latest
openspec updateUpgrade 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:
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 diinstal | Yang Anda dapatkan |
|---|---|
| Instalasi global npm | Prompt tersebut, dan upgrade dijalankan untuk Anda — di terminal interaktif; output yang di-pipe mendapatkan perintah yang dicetak |
| Instalasi global pnpm, bun, yarn, atau volta | Perintah manajer tersebut sendiri: pnpm add -g …@latest, bun add -g …@latest, yarn global add …@latest, atau volta install …@latest |
| Dependensi proyek | Catatan untuk memperbarui dependensi, karena package manager-nya yang memiliki lockfile |
Cache npx / dlx | npx @fission-ai/openspec@latest update — perintah itu adalah update-nya, jadi tidak ada langkah kedua |
| Git clone | Tidak 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.
openspec store setup [id] [options]Opsi:
| Opsi | Deskripsi |
|---|---|
--path <path> | Folder tempat store harus berada (misalnya ~/openspec/<id>) |
--remote <url> | Catat remote kanonik dalam store.yaml dari store baru |
--init-git | Inisialisasi repositori Git dengan commit awal (default) |
--no-init-git | Lewati semua tindakan Git: tidak ada inisialisasi, tidak ada commit awal |
--json | Output 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:
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 --jsonopenspec 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.
openspec store register [path] [options]Opsi:
| Opsi | Deskripsi |
|---|---|
--id <id> | Id store; default ke metadata store atau nama folder |
--yes | Konfirmasi pembuatan metadata identitas store untuk root OpenSpec yang sehat |
--json | Output JSON |
openspec store unregister
Lupakan pendaftaran store lokal tanpa menghapus file.
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.
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.
openspec store list [--json]
openspec store ls [--json]openspec store doctor
Periksa pendaftaran store lokal, metadata, dan keberadaan Git.
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:
schema: spec-driven
references:
- team-contextMulai 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":
openspec store setup team-context --path ~/openspec/team-context \
--remote git@github.com:acme/team-context.gitRemote 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>):
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:
# openspec/config.yaml (satu-satunya file di bawah openspec/)
store: team-contextPerintah 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?
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.
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.
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:
{
"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:
| Opsi | Deskripsi |
|---|---|
--specs | Tampilkan daftar spesifikasi alih-alih perubahan |
--changes | Tampilkan daftar perubahan (default) |
--sort <order> | Urutkan berdasarkan recent (default) atau name |
--json | Output sebagai JSON |
Contoh:
# Tampilkan semua perubahan aktif
openspec list
# Tampilkan semua spesifikasi
openspec list --specs
# Output JSON untuk skrip
openspec list --jsonOutput (teks):
Changes:
add-dark-mode No tasks just nowopenspec view
Menampilkan dashboard interaktif untuk menjelajahi spesifikasi dan perubahan.
openspec viewMembuka antarmuka berbasis terminal untuk menavigasi spesifikasi dan perubahan proyek Anda.
openspec show
Menampilkan detail perubahan atau spesifikasi.
openspec show [item-name] [options]Argumen:
| Argumen | Wajib | Deskripsi |
|---|---|---|
item-name | Tidak | Nama perubahan atau spesifikasi (muncul prompt jika diabaikan) |
Opsi:
| Opsi | Deskripsi |
|---|---|
--type <type> | Tentukan tipe: change atau spec (terdeteksi otomatis jika tidak ambigu) |
--json | Output sebagai JSON |
--no-interactive | Nonaktifkan prompt |
Opsi khusus perubahan:
| Opsi | Deskripsi |
|---|---|
--deltas-only | Tampilkan hanya spesifikasi delta (mode JSON) |
Opsi khusus spesifikasi:
| Opsi | Deskripsi |
|---|---|
--requirements | Tampilkan hanya persyaratan, kecualikan skenario (mode JSON) |
--no-scenarios | Kecualikan konten skenario (mode JSON) |
-r, --requirement <id> | Tampilkan persyaratan spesifik berdasarkan indeks berbasis 1 (mode JSON) |
Contoh:
# 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 --jsonPerintah 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:
| Argumen | Wajib | Deskripsi |
|---|---|---|
item-name | Tidak | Item spesifik yang akan divalidasi (akan meminta jika dihilangkan) |
Opsi:
| Opsi | Deskripsi |
|---|---|
--all | Validasi semua perubahan dan spesifikasi |
--changes | Validasi semua perubahan |
--specs | Validasi semua spesifikasi |
--archived | Validasi bahwa perubahan yang diarsipkan telah menyelesaikan semua tugas (untuk linting pre-commit) |
--type <type> | Tentukan tipe ketika nama ambigu: change atau spec |
--strict | Aktifkan mode validasi ketat |
--json | Keluarkan sebagai JSON |
--concurrency <n> | Validasi paralel maksimum (default: 6, atau env OPENSPEC_CONCURRENCY) |
--no-interactive | Nonaktifkan 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:
# 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 --archivedOutput (teks):
Memvalidasi add-dark-mode...
✓ proposal.md valid
✓ specs/ui/spec.md valid
⚠ design.md: bagian "Pendekatan Teknis" tidak ada
1 peringatan ditemukanOutput (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:
| Argumen | Wajib | Deskripsi |
|---|---|---|
change-name | Tidak | Perubahan yang akan diarsipkan (akan meminta jika dihilangkan; wajib jika tidak ada yang dapat menjawab prompt) |
Opsi:
| Opsi | Deskripsi |
|---|---|
-y, --yes | Lewati prompt konfirmasi. Wajib jika tidak ada yang dapat menjawabnya — agen AI, pekerjaan CI, atau eksekusi dengan stdin tertutup |
--skip-specs | Lewati 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-validate | Lewati validasi (memerlukan konfirmasi). Juga menonaktifkan penghapusan kapabilitas — tanpa keputusan validator, tidak ada yang dihapus |
Contoh:
# 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-specsPensiunkan kapabilitas: Tambahkan penanda pensiun ke metadata perubahan:
# openspec/changes/retire-legacy/.openspec.yaml
schema: spec-driven
retire_capabilities: trueKemudian arsipkan perubahan secara normal:
openspec archive retire-legacy --yesKetika 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:
- Memvalidasi perubahan (kecuali
--no-validate) - Meminta konfirmasi (kecuali
--yes) - Mengklaim tujuan arsip sebelum mengubah spesifikasi utama apa pun
- 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.yamlperubahan tersebut mendeklarasikanretire_capabilities: truedi sampingschema:-nya - Memindahkan folder perubahan ke
openspec/changes/archive/YYYY-MM-DD-<name>/ - Jika mutasi spesifikasi atau pemindahan akhir gagal sebelum arsip lengkap terjamin, pulihkan spesifikasi dan biarkan atau kembalikan perubahan ke jalur aktifnya
- 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.
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:
| Opsi | Deskripsi |
|---|---|
--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) |
--json | Output JSON |
Contoh:
openspec new change add-billing-api
openspec new change add-billing-api --store team-context --jsonopenspec status
Menampilkan status penyelesaian artefak untuk suatu perubahan.
openspec status [options]Opsi:
| Opsi | Deskripsi |
|---|---|
--change <id> | Nama perubahan (akan meminta input jika diabaikan) |
--schema <name> | Override skema (terdeteksi otomatis dari konfigurasi perubahan) |
--json | Output sebagai JSON |
Contoh:
# 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 --jsonOutput (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):
{
"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:
| Argumen | Wajib | Deskripsi |
|---|---|---|
artifact | Tidak | ID artefak, atau permukaan input workflow: apply atau archive |
Opsi:
| Opsi | Deskripsi |
|---|---|
--change <id> | Nama perubahan (wajib dalam mode non-interaktif) |
--schema <name> | Override skema |
--json | Output 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:
# 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 --jsonOutput 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:
| Opsi | Deskripsi |
|---|---|
--schema <name> | Skema untuk diperiksa (default: spec-driven) |
--json | Output sebagai JSON |
Contoh:
# Tampilkan jalur template untuk skema default
openspec templates
# Tampilkan template untuk skema custom
openspec templates --schema my-workflow
# JSON untuk penggunaan programatik
openspec templates --jsonOutput (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.mdopenspec schemas
Menampilkan daftar skema workflow yang tersedia beserta deskripsi dan aliran artefaknya.
openspec schemas [options]Opsi:
| Opsi | Deskripsi |
|---|---|
--json | Output sebagai JSON |
--store <id> | Gunakan store terdaftar sebagai root OpenSpec |
Contoh:
openspec schemasOutput:
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 → tasksPerintah Skema
Perintah untuk membuat dan mengelola skema alur kerja kustom.
openspec schema init
Buat skema lokal proyek baru.
openspec schema init <name> [options]Argumen:
| Argumen | Diperlukan | Deskripsi |
|---|---|---|
name | Ya | Nama skema (kebab-case) |
Opsi:
| Opsi | Deskripsi |
|---|---|
--description <text> | Deskripsi skema |
--artifacts <list> | ID artefak dipisahkan koma (default: proposal,specs,design,tasks) |
--default | Tetapkan sebagai skema default proyek |
--no-default | Jangan tanya untuk menetapkan sebagai default |
--force | Timpa skema yang ada |
--json | Keluaran sebagai JSON |
Contoh:
# Pembuatan skema interaktif
openspec schema init research-first
# Non-interaktif dengan artefak tertentu
openspec schema init rapid \
--description "Rapid iteration workflow" \
--artifacts "proposal,tasks" \
--defaultYang dibuat:
openspec/schemas/<name>/
├── schema.yaml # Definisi skema
└── templates/
├── proposal.md # Template untuk setiap artefak
├── specs.md
├── design.md
└── tasks.mdopenspec schema fork
Salin skema yang ada ke proyek Anda untuk kustomisasi.
openspec schema fork <source> [name] [options]Argumen:
| Argumen | Diperlukan | Deskripsi |
|---|---|---|
source | Ya | Skema untuk disalin |
name | Tidak | Nama skema baru (default: <source>-custom) |
Opsi:
| Opsi | Deskripsi |
|---|---|
--force | Timpa tujuan yang ada |
--json | Keluaran sebagai JSON |
Contoh:
# Fork skema spec-driven bawaan
openspec schema fork spec-driven my-workflowopenspec schema validate
Validasi struktur dan template skema.
openspec schema validate [name] [options]Argumen:
| Argumen | Diperlukan | Deskripsi |
|---|---|---|
name | Tidak | Skema untuk divalidasi (memvalidasi semua jika dihilangkan) |
Opsi:
| Opsi | Deskripsi |
|---|---|
--verbose | Tampilkan langkah validasi terperinci |
--json | Keluaran sebagai JSON |
Contoh:
# Validasi skema tertentu
openspec schema validate my-workflow
# Validasi semua skema
openspec schema validateopenspec schema which
Tampilkan dari mana skema diselesaikan (berguna untuk debugging prioritas).
openspec schema which [name] [options]Argumen:
| Argumen | Diperlukan | Deskripsi |
|---|---|---|
name | Tidak | Nama skema |
Opsi:
| Opsi | Deskripsi |
|---|---|
--all | Daftar semua skema dengan sumbernya |
--json | Keluaran sebagai JSON |
Contoh:
# Periksa dari mana skema berasal
openspec schema which spec-drivenOutput:
spec-driven resolves from: package
Source: /usr/local/lib/node_modules/@fission-ai/openspec/schemas/spec-drivenPrioritas skema:
- Proyek:
openspec/schemas/<name>/ - Pengguna:
~/.local/share/openspec/schemas/<name>/ - Paket: Skema bawaan
Perintah Konfigurasi
openspec config
Lihat dan ubah konfigurasi global OpenSpec.
openspec config <subcommand> [options]Subperintah:
| Subperintah | Deskripsi |
|---|---|
path | Tampilkan lokasi file konfigurasi |
list | Tampilkan semua pengaturan saat ini |
get <key> | Dapatkan nilai tertentu |
set <key> <value> | Tetapkan nilai |
unset <key> | Hapus kunci |
reset | Atur ulang ke default |
edit | Buka di $EDITOR |
profile [preset] | Konfigurasi profil alur kerja secara interaktif atau melalui preset |
Contoh:
# 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 coreOpt-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:
# 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 konfirmasiPerintah Utilitas
openspec feedback
Kirim umpan balik tentang OpenSpec. Membuat masalah GitHub.
openspec feedback <message> [options]Argumen:
| Argumen | Diperlukan | Deskripsi |
|---|---|---|
message | Ya | Ringkasan umpan balik; teks panjang dipersingkat dalam judul masalah dan dipertahankan dalam badan |
Opsi:
| Opsi | Deskripsi |
|---|---|
--body <text> | Detail tambahan yang disertakan setelah ringkasan |
Persyaratan: GitHub CLI (gh) harus diinstal dan diautentikasi.
Contoh:
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:
| Subperintah | Deskripsi |
|---|---|
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:
# 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 uninstallWindows (PowerShell): Instal penyelesaian untuk host PowerShell saat ini:
$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:
$env:PROFILE = $PROFILE
openspec completion uninstall powershellMulai 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
| Kode | Arti |
|---|---|
0 | Sukses |
1 | Kesalahan (kegagalan validasi, file hilang, dll.) |
Variabel Lingkungan
| Variabel | Deskripsi |
|---|---|
OPENSPEC_TELEMETRY | Setel ke 0 untuk menonaktifkan telemetri dan pemeriksaan versi openspec update (menggantikan telemetry.enabled dalam konfigurasi global) |
DO_NOT_TRACK | Setel ke 1 untuk menonaktifkan telemetri dan pemeriksaan versi openspec update (sinyal DNT standar; menggantikan konfigurasi) |
OPENSPEC_CONCURRENCY | Konkurensi default untuk validasi massal (default: 6) |
EDITOR atau VISUAL | Editor untuk openspec config edit |
NO_COLOR | Nonaktifkan output warna saat disetel |
OPENSPEC_NO_ANIMATION | Nonaktifkan animasi selamat datang openspec init saat disetel |
OPENSPEC_NO_COMPLETIONS | Setel ke 1 untuk menekan tip satu kali tentang penyelesaian shell |
OPENSPEC_NO_UPDATE_CHECK | Nonaktifkan 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_registry | Registry 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