Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

LSP: quick fixes for the common requirement findings (create test, set parent, create ADR, create child, fix id)

Aperta
#384 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
35/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
javascript, rust

Direzione di ricerca

Start by reading the LSP scope and ADR-SYS-LSP-001/002/003, then inspect the existing E310 and W090 quick fixes and the shared next-id allocator. The issue names syscribe lsp, scaffold-gherkin, and acceptance tests that apply edits and re-validate; use those as entry points. Done means each listed action removes its finding without introducing another, created ids follow [ids], and unavailable candidates produce no action.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Part of #380.

Current state

Quick fixes exist for E310 (set breakdownAdr:) and W090 (accept a suspect link). The findings new users hit most have no fix: a requirement without "shall", a leaf with no test, an orphan, a missing ADR, a dangling reference, a wrong id pattern.

Proposal

All fixes return a WorkspaceEdit (the server never writes; ADR-SYS-LSP-002/003), using CreateFile resource operations where a file must be created, and isPreferred for the safest choice.

Finding Action
W001 (no shall) "Rephrase with shall": inserts the word at a sensible place only when the body is a single sentence; otherwise offers the guideline in the lens message
W002 / W305 (no verifying test) "Create TestCase": a new TC-… file with the next free id, verifies: set, a scenario skeleton (the existing scaffold-gherkin), level from the requirement's verificationMethod
W300 (leaf with no satisfier) "Add satisfies: to…" listing candidate architecture elements of the right domain (E313 aware)
W005 (orphan) "Set derivedFrom: to…" listing candidate parents, plus the breakdown ADR via the E310 flow
E310 existing action plus "Create ADR and set it" (new ADR-… file, status proposed)
E102/E110-class (unresolved reference) "Create element X" (skeleton of the expected type) and "Did you mean…" using the closest id/qname (the CLI already suggests)
E006/E200-class (id pattern) "Fix id" to the nearest valid pattern
W304-class status/lifecycle "Set status to…" for the allowed transitions
(refactor) "Create child requirement" (refactor.extract): new REQ-… with derivedFrom: set to this requirement

Ids come from the same allocator as next-id. Each action states its consequence in the title ("creates TC-ABC-004").

Acceptance (tests first)

  • Each action, applied, removes its finding and introduces no new one (a test applies the edit and re-validates).
  • Created ids are unique and match the project's [ids] configuration.
  • No edit when no sensible candidate exists (the action is simply absent).

Part of #272. Scope: syscribe lsp only (standard LSP, ADR-SYS-LSP-001).


Generated by Claude Code

Lingua principale
JavaScript
Stelle
8
Fork
1
Merge medio
1h
PR unite (30g)
83

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di sjames/syscribe

Tutte le issue di sjames/syscribe

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.