Una guida Pajamas per i flussi di lavoro tecnici: token semantici effettivi, tipografia e spaziatura fluide, un ispettore di pipeline a fasi, messaggi di errore leggibili e una simulazione esplicitamente locale dei nuovi tentativi.
Guida OpenDesign8 capitoli43 voci di riferimentoGuida applicativa originale
01
Anteprima dell’interfaccia del sistema di design GitLab Pajamas
Filtra i job in base allo stato, selezionane uno per leggerne l’output, simula il completamento del controllo dei link non riuscito e ripristina la fixture originale.
@gitlab/ui 138.0.0 CSS nativo; layout a fasi originale, HTML e logica di stato locale. Nessuna attività CI reale. · Riferimento per l’implementazione
02
Riferimento di progettazione del sistema di design GitLab Pajamas
Esportazione nativa dei token light di @gitlab/ui 138.0.0 e CSS nativo. I nomi GL_* sono esportazioni di JavaScript; i corrispondenti nomi in minuscolo --gl-* compaiono nel CSS compilato. L’esempio usa il foglio di stile nativo con logica originale di HTML e di stato; non monta componenti Vue.
Architettura informativa della pipeline nel sistema di design GitLab Pajamas
Mostra il contesto dell’errore prima del ripristino
L’intestazione indica una pipeline, un branch e un commit fittizi, così l’ispezione del job ha un contesto. Build, Test e Publish sono raggruppati in modo visibile; selezionando un job si apre il relativo output. Per il controllo dei link non riuscito vengono indicati il percorso e la condizione di uscita che spiegano l’errore prima di mostrare l’azione di nuovo tentativo.
Mantieni leggibile un grafo compatto
Questo esempio usa colonne per le fasi e pulsanti, senza fingere di implementare un grafo completo delle dipendenze. Su uno schermo stretto, le fasi si dispongono in colonna seguendo l’ordine del documento. Una pipeline di produzione può richiedere job paralleli, dipendenze e stati in attesa, manuali o annullati: è meglio modellarli esplicitamente, anziché dedurli dai tre titoli di esempio.
Colori semantici e stati del sistema di design GitLab Pajamas
Usa ruoli semantici dell’interfaccia per l’area di lavoro
L’esportazione light offre superfici neutre calde, diversi livelli di contrasto del testo e bordi discreti. L’esempio usa la superficie predefinita per le schede dei job, una superficie blu per quello selezionato e un’area scura per i log. La guida riporta i valori esatti del pacchetto, così è possibile riprodurre queste relazioni senza campionare i pixel di uno screenshot.
Affida alle etichette di stato il compito di comunicare il significato
Ogni riga e badge dei job riporta Passed o Failed. Un segno di spunta o una croce integra il testo; i soli badge colorati sarebbero ambigui. Il viola del brand non viene usato come indicatore generico di esito positivo. I riferimenti di stato nella tabella sono intenzionalmente distinti dal blu di selezione.
Scala tipografica e testo tecnico del sistema di design GitLab Pajamas
Mantieni le espressioni fluide dove sono previste
Il pacchetto espone ruoli piccoli con valori fissi e ruoli più grandi basati su clamp. Sostituire un clamp con il suo valore massimo modifica il comportamento responsivo. L’esempio originale usa un titolo da 24px, dimensionato per l’applicazione, e ruoli secondari compatti da 12–14px; queste scelte sono indicate come decisioni di layout, non come token aggiuntivi del pacchetto.
Usa un carattere monospaziato per gli identificatori e l’output
Branch e commit usano lo stile del codice, mentre i nomi dei job restano testo d’interfaccia leggibile. L’output è mostrato in un blocco monospaziato con testo a capo e un punto di attivazione per il focus da tastiera. I percorsi lunghi possono andare a capo, evitando di allargare l’intera pagina oltre lo schermo di un telefono; la selezione sostituisce il testo invece di inserire HTML grezzo.
Spaziatura e ritmo dei bordi nel sistema di design GitLab Pajamas
Non calcolare i valori dei token a partire dal loro numero
GL_SPACING_SCALE_3 corrisponde a 0.5rem e scale_5 a 1rem; l’indice è una chiave, non un moltiplicatore diretto. Per implementare la scala, usa il valore esportato. La tabella di riferimento mantiene le unità esatte, incluso lo scatto da zero pixel.
Usa i bordi per distinguere le aree
Selezione e filtri dei job nel sistema di design GitLab Pajamas
Mantieni l’identità del job selezionato indipendente dalla posizione nel filtro
Lo script usa ID stringa stabili come links e accessibility. Il filtro modifica l’elenco dei job e, se possibile, seleziona un job corrispondente. Facendo clic su un job, vengono aggiornati insieme lo stato premuto, la fase, il badge di stato e il log. In questo modo il titolo di un job non viene mostrato insieme all’output di un altro.
Mantieni il contesto di ripristino quando il risultato scompare
Dopo aver simulato il completamento del job non riuscito, il filtro Failed jobs non restituisce risultati. Il messaggio di elenco vuoto spiega come ripristinare l’elenco, mentre il pannello di ispezione conserva il risultato appena completato. Questa scelta intenzionale aiuta a capire perché la riga è scomparsa, senza perdere la conferma.
Nuovo tentativo e ripristino nel sistema di design GitLab Pajamas
Descrivi la simulazione con chiarezza
L’azione è denominata Simulate successful retry: modifica solo la fixture locale e sostituisce il log con il resoconto scritto della simulazione. Non accoda un runner, non crea un job e non ispeziona un repository. Il badge della pipeline viene ricalcolato in base allo stato di tutti i job, anziché impostare ciecamente l’esito positivo dopo un clic qualsiasi.
Ripristina l’intera fixture iniziale
Reset crea una nuova copia dei dati iniziali dei job, seleziona il job dei link non riuscito, ripristina All jobs e ridisegna entrambi i pannelli. La simulazione viene cancellata senza ricaricare la pagina. In questo modo l’esempio può essere ripetuto e chi lo visualizza in seguito non scambia un esito positivo simulato in precedenza per la condizione iniziale.
Seleziona Failed jobs e ispeziona il percorso che ha causato l’errore.
Simula l’esito positivo e leggi il pannello di ispezione mantenuto insieme all’elenco filtrato vuoto.
Ripristina l’esempio e verifica che ricompaiano l’errore e l’output originale.
Controlli accessibili dei job nel sistema di design GitLab Pajamas
Usa pulsanti per la selezione locale
Ogni job è un vero pulsante con aria-pressed. Lo stato è riportato accanto alla durata e il focus da tastiera visibile è distinto dall’aspetto selezionato. Il filtro ha un’etichetta visibile. Questi semplici controlli non dichiarano di offrire una navigazione personalizzata del grafo riservata alla tastiera.
Comunica il risultato senza spostare il focus del lettore
Dopo un nuovo tentativo o un ripristino, il risultato viene scritto in un’area di stato. Il log è testo selezionabile e può ricevere il focus da tastiera per essere letto, ma l’applicazione non sposta automaticamente il focus al suo interno a ogni selezione. In questo modo, il confronto ripetuto tra i job resta prevedibile.
Confini dell’integrazione con CSS e Vue nel sistema di design GitLab Pajamas
Scegli in modo esplicito un livello d’integrazione
Questo sorgente importa la distribuzione pubblicata di CSS e fornisce un comportamento originale di HTML/JavaScript. Non istanzia GlButton, GlFormSelect né altre esportazioni Vue. Un’applicazione Vue dovrebbe usare i componenti nativi corrispondenti e le relative props/eventi aggiornati, anziché considerare questa implementazione DOM un esempio Vue.
Distribuzione di CSS: aspetto nativo e variabili semantiche.
HTML originale: controlli accessibili e struttura delle aree.
JavaScript originale: dati della fixture, selezione, filtri e simulazione.
Mantieni i token allineati alla versione importata
Esempi di componenti del sistema di design GitLab Pajamas
index.html — area di lavoro della pipeline
Layout semantico e controlli completi.
html
<!doctype html>
<html lang="en">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>Pipeline specimen</title>
<body>
<main class="pipeline-example">
<header>
<p class="eyebrow">sample-team / documentation</p>
<div class="title-row">
<div>
<h1>Pipeline #1842</h1>
<p>
Preview build for <code>docs/update-navigation</code> ·
<code>7c31a82</code>
</p>
</div>
<span id="pipeline-state" class="state failed">Failed</span>
</div>
</header>
<div class="toolbar">
<label for="job-filter">Show jobs</label
><select id="job-filter" class="gl-form-select">
<option value="all">All jobs</option>
<option value="failed">Failed jobs</option>
<option value="passed">Passed jobs</option></select
><button id="reset" class="btn btn-default gl-button">
Reset specimen
</button>
</div>
<div class="pipeline-layout">
<section aria-label="Pipeline stages">
<div id="stages" class="stages"></div>
<p id="empty" hidden>
No jobs match this filter. Choose All jobs to restore the pipeline.
</p>
</section>
<section class="job-detail" aria-labelledby="job-title">
<div class="detail-heading">
<h2 id="job-title"></h2>
<span id="job-state" class="state"></span>
</div>
<dl>
<dt>Stage</dt>
<dd id="job-stage"></dd>
<dt>Runner</dt>
<dd>local-example-runner</dd>
<dt>Execution</dt>
<dd>Simulated in this page</dd>
</dl>
<h3>Job output</h3>
<pre id="job-log" tabindex="0" aria-label="Selected job output"></pre>
<button id="retry" class="btn btn-confirm gl-button">
Simulate successful retry
</button>
<p id="feedback" role="status"></p>
</section>
</div>
<footer>
Native @gitlab/ui 138.0.0 CSS with original HTML and state logic. Fictional
pipeline; no runner, repository or CI job is started.
</footer>
</main>
<script type="module" src="/src/main.js"></script>
</body></html>
Salva come src/pajamas.css. È indicato esplicitamente un font di sistema come alternativa; non è incluso alcun font brandizzato GitLab.
04
Configurazione dell’agente per il sistema di design GitLab Pajamas
Punto di partenza per l’implementazione
Questa integrazione importa solo la distribuzione nativa di CSS. Se si adottano i componenti Vue di GitLab UI, seguire separatamente i requisiti per le dipendenze peer.
sh
npm create vite@latest pajamas-pipeline -- --template vanilla
cd pajamas-pipeline
npm install
npm install @gitlab/[email protected]
# Replace index.html; add src/main.js and src/pajamas.css from the complete examples.
npm run dev
Un prompt per il tuo progetto
Prompt per l’agente
Crea uno strumento tecnico per ispezionare i job, usando le superfici semantiche di Pajamas, riferimenti autentici per spaziatura e tipografia, ID stabili per i job e una selezione accessibile. Usa il sorgente completo della fixture, mantieni visibile il contesto dell’errore, rendi comprensibili gli stati filtrati senza risultati e indica chiaramente ogni simulazione locale. Non suggerire che CSS o il nuovo tentativo di esempio creino un job GitLab CI.
05
Fonti e ambito del sistema di design GitLab Pajamas
Guida applicativa OpenDesign a GitLab Pajamas e @gitlab/ui 138.0.0. Gli stili nativi del pacchetto CSS definiscono l’aspetto di questo esempio originale con HTML/JavaScript. La pipeline è fittizia e non viene eseguita alcuna azione GitLab API, runtime Vue, runner CI o repository.