openspec update --dry-run --json: say what an update would change, without changing it
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 38/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- cli, typescript
Direzione di ricerca
Start with the openspec update command, which the issue says has to report every file it would add, change or delete, including files outside the repo such as home-folder skills and the settings file. Find where the update step decides and writes those paths, and separate planning from writing. Done when openspec update --dry-run --json prints the planned list and writes nothing, and a test runs a dry run and a real update on the same fixture and checks that the lists match.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
The ask
Add a way to ask openspec update what it would change, without changing anything:
openspec update --dry-run --json
It prints the list of files it would add, change or delete. It writes nothing.
Why
OpenSpec Desktop shows people what an update will change before they agree to it.
Today the CLI can't tell us that. So the app does a workaround:
- Copy the repository's agent folders (
.claude,.cursor, …) into a temp folder - Run
openspec updateon the copy - Compare the copy before and after
This workaround keeps breaking:
- It's slow and can fail. Claude Code keeps whole copies of the repo in
.claude/worktrees(81 GB on one machine). The copy hit its size limit, and the update check failed for every repository. Fixed for now in Fission-AI/openspec-desktop#100 by skipping that folder. - It has to guess what to copy. If we copy too little, the preview is wrong and nobody notices. If we copy too much, it's slow or fails.
If the CLI tells us the plan itself, there's no copy, no size limit and no guessing.
What the output could look like
{
"changes": [
{ "path": ".claude/skills/openspec-explore/SKILL.md", "action": "update", "tool": "claude" },
{ "path": ".claude/commands/opsx/old-name.md", "action": "delete", "tool": "claude" },
{ "path": "~/.codex/skills/openspec-propose/SKILL.md", "action": "add", "tool": "codex" }
]
}
It needs to:
- Cover every file
updatewould touch, including files outside the repository (home-folder skills, OpenSpec's settings file). - Write nothing.
- Give the same answer the real
updatewould act on.
Done when
openspec update --dry-run --jsonexists and writes nothing- Its list matches what a real
openspec updatethen changes (a test runs both and compares) - OpenSpec Desktop can stop making scratch copies
- Lingua principale
- TypeScript
- Stelle
- 73.6k
- Fork
- 5k
- Merge medio
- 3g 13h
- PR unite (30g)
- 61
Preparare l'ambiente
Avvia il container di sviluppo del progetto nel browser, con il tuo account GitHub.
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Fission-AI/OpenSpec
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 76/100
Fission-AI/OpenSpec#2208 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation needs-triage
Difficoltà 1/5 1-3 ore Idoneità per principianti 88/100
Fission-AI/OpenSpec#2200 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 84/100
Fission-AI/OpenSpec#2199 ·
I maintainer di solito rispondono entro 1 giorno
-
Community schema: specwrightApertadocumentation needs-triage
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
Fission-AI/OpenSpec#2187 ·
I maintainer di solito rispondono entro 1 giorno
-
archive and sync skills merge every `specs/**/*.md` as a delta spec, including files `validate` rejectsForse già presa @clay-good l’ha presa 9 giorni fa. Apertabug needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Fission-AI/OpenSpec#2173 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Fission-AI/OpenSpec
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
langchain-ai/langchainjs#12157 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
activescott/home-infra-k8s-flux#511 ·
I maintainer di solito rispondono entro 1 giorno
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
lingdojo/kana-dojo#33753 · 1 commento · 5 reazioni ·
I maintainer di solito rispondono entro 1 giorno
-
android:player
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
follow-up needs-triage S3: minor
Difficoltà 1/5 1-3 ore Idoneità per principianti 85/100
manaflow-ai/cmux#38032 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno