gstack: un processo di sviluppo completo, con ruoli e passaggi fissi, per far lavorare molti agenti insieme
Analisi della raccolta di skill di Garry Tan: scopo, architettura, test, sicurezza, dipendenze, componenti per agenti e licenze. Dati raccolti da una copia locale del repository, dai due file bun.lock, da deps.dev e da GitHub.
Presentazione e commento
Il nostro commento, ricavato da come Garry Tan presenta gstack: il README del repository e la pagina «Why gstack» (docs/why-gstack.md) al commit analizzato.
Un processo intero, per scelta
gstack si fa carico di tutto il ciclo di sviluppo: pensare, pianificare, costruire, rivedere, provare, rilasciare. Tan lo presenta come una squadra di ingegneria virtuale con ruoli distinti, dall'amministratore delegato che ripensa il prodotto al revisore che cerca i difetti destinati alla produzione, fino all'addetto al rilascio.
Molti agenti in parallelo
È la ragione dichiarata del processo. Tan fa girare abitualmente da dieci a quindici cicli insieme, ciascuno in una sessione separata, perché «senza un processo, dieci agenti sono dieci fonti di caos»: con un processo ogni agente sa che cosa fare e quando fermarsi, e chi dirige controlla solo le decisioni che contano.
La disciplina è nei passaggi
gstack si presenta come lo strato che fa rispettare per un ciclo intero le regole di Andrej Karpathy contro gli errori tipici degli agenti: /office-hours porta allo scoperto le assunzioni prima del codice, /review cerca la complessità inutile e le modifiche estranee al compito, /ship trasforma i compiti in obiettivi verificabili, con i test scritti prima.
Si comincia in piccolo. Il README non chiede di adottare tutto subito: propone tre comandi, /office-hours per l'idea, /review sul codice e /qa nel browser, e poi di fermarsi, perché a quel punto «saprai se fa per te». Il ciclo completo viene dopo, con /autoplan e /ship. Tan invita anche a copiare il progetto e a modificarlo: «fanne un fork, miglioralo, fallo tuo».
Il costo. Tan non presenta gstack come un modo per spendere meno token, cioè le unità in cui si misura il testo letto e scritto dal modello: la spesa compare in una sola skill, /runaway-stopper, che ferma le sessioni di agenti andate fuori controllo. Il prezzo che si legge nel README è un altro: un'installazione molto grande, un metodo che rende di più quando lo si adotta quasi per intero e, in modalità squadra, un controllo degli aggiornamenti all'avvio di ogni sessione.
La nostra lettura. gstack conviene a chi vuole un metodo già deciso e molti agenti al lavoro insieme; in cambio chiede di accettare il processo di un altro e di fidarsi dei suoi aggiornamenti.
Versione analizzata
| Repository | github.com/garrytan/gstack ↗ |
|---|---|
| Analisi eseguita il | 4 novembre 2026, ore 19:11 UTC+01:00 |
| Commit | b244e6d11a6466650c5147cd7dc023859968c4b5fix(review): collect stops turning a reader's no-defect closing sentence into a CRITICAL finding (#3990) |
| Data del commit | 4 novembre 2026, ore 09:55 UTC+00:00 |
| Ramo | main |
| Etichetta di versione più vicina | v1.92.55.0 (155 commit dopo l'etichetta) |
| Popolarità (al momento dell'analisi) | ★ 139.190 stelle · 20.624 fork · 16 contributori su GitHub · 14 autori umani nella storia Git |
| Ultima versione pubblicata | v1.92.55.0 (2026-11-02) non è l'ultima versione pubblicata |
Verifica allineamento. Per sapere quanto il repository è cambiato dopo questa analisi apri il confronto su GitHub o esegui in un clone aggiornato:
Confronta b244e6d11a64 con lo stato attuale di main ↗
git fetch origin && git rev-list --count b244e6d11a6466650c5147cd7dc023859968c4b5..origin/main
In breve
gstack è una raccolta di 72 skill per agenti di programmazione, pensata prima di tutto per Claude Code, che organizza il lavoro come un ciclo di sviluppo breve: l'idea (/office-hours), la revisione del piano da più punti di vista (amministratore delegato, ingegneria, design, esperienza degli sviluppatori), la revisione del codice, le prove nel browser, il rilascio. Attorno alle skill c'è molto codice, non solo istruzioni: un browser comandato da riga di comando (un processo Chromium sempre attivo, detto demone, guidato con Playwright, oppure il browser Aside dell'utente su macOS), un'estensione per Chrome, un generatore di PDF e diagrammi, un sistema di verifica della sicurezza che lavora in container isolati (/cso) e un demone per provare app iOS su un dispositivo.
Il progetto è enorme e molto curato nella forma: ~715 000 righe di codice, quasi tutte TypeScript, di cui circa 490 000 nei file di test; 33 procedure di integrazione continua, cioè i controlli automatici che partono a ogni modifica; azioni GitHub tutte fissate a una versione precisa tramite hash; un punteggio OpenSSF Scorecard di 7,7 su 10; avvisi sul codice di terzi completi dei testi di licenza. Il registro delle uscite di rete, in cui ogni invio fuori dalla macchina lascia una ricevuta legata alla precedente, e la telemetria spenta per impostazione predefinita sono scelte sopra la media.
I limiti stanno nel modo in cui gstack si aggiorna e nella dipendenza da una sola persona. Il 96 % dei commit porta il nome di un solo autore, il ritmo è di centinaia di modifiche al mese, e la modalità squadra aggiorna gstack da sola a ogni avvio di sessione e subito dopo esegue lo script di installazione appena scaricato, senza verificarne la firma. Chi lo adotta affida a un repository di terzi l'esecuzione automatica di codice con i propri permessi. L'installazione chiede anche di scrivere in CLAUDE.md la regola di non usare mai gli strumenti mcp__claude-in-chrome__* e registra hook globali in ~/.claude/settings.json.
Scopo e casi d'uso
A che cosa serve e dove rende di più.
Un ciclo di sviluppo completo guidato dalle skill
/office-hours scrive un documento di progetto che le revisioni successive leggono; /autoplan fa seguire una all'altra le revisioni dal punto di vista dell'amministratore delegato, del design, dell'esperienza degli sviluppatori e dell'ingegneria; /ship esegue i test e la revisione e apre la richiesta di modifica (pull request).
Revisione del codice e delle richieste di modifica
/review cerca i difetti che passano indenni i controlli automatici, /codex e /claude-code chiedono un secondo parere a un altro modello, /modernize riallinea al ramo principale le richieste di modifica rimaste indietro.
Prove nel browser e sulle API
/qa, /browse, /canary e /benchmark comandano un browser vero (Aside con le sessioni dell'utente, o il Chromium di gstack) e producono prove ripetibili; funzionano anche su programmi a riga di comando, processi pianificati e webhook.
Design e documenti
/design-shotgun, /design-html, /design-review, /make-pdf, /diagram: bozze grafiche, pagine HTML, PDF e diagrammi prodotti senza servizi esterni.
Verifica della sicurezza
/cso costruisce una mappa dell'applicazione, cerca le vulnerabilità e, con i profili che lo prevedono, esegue analizzatori e ambienti di esecuzione in container isolati.
Orchestrazione di più agenti
/captain, /pair-agent, /runaway-stopper: più agenti in parallelo, un browser condiviso attraverso un tunnel ngrok, l'arresto delle sessioni che consumano troppo. Sono pensati soprattutto per Capy.
Più utile per
- Fondatori e piccoli team che vogliono, sopra Claude Code, un processo di sviluppo completo con le scelte già fatte.
- Chi usa Claude Code da poco e preferisce ruoli strutturati a un prompt vuoto.
- Chi vuole studiare come si costruisce una grande raccolta di skill: file modello generati dal codice, test sulle skill, valutazioni a pagamento, registro delle uscite di rete.
Meno adatto a
- Ambienti in cui si deve sapere che cosa viene eseguito: la modalità squadra aggiorna ed esegue codice nuovo a ogni avvio di sessione.
- Progetti che hanno già un proprio metodo di lavoro con skill, istruzioni e hook (come Senso): gstack occupa nomi comuni (
/review,/investigate,/spec,/learn), registra hook globali e chiede di modificareCLAUDE.md. - Chi usa Claude in Chrome: l'installazione chiede di vietarne gli strumenti a favore di
/browse. - Windows come piattaforma principale: il supporto è dichiarato «minimo» e i programmi non firmati vengono bloccati da Smart App Control.
Architettura
Un solo repository installato in ~/.claude/skills/gstack (o nella cartella dell'agente scelto): skill in Markdown generate da file modello, programmi compilati con Bun, uno stato locale in ~/.gstack e alcuni servizi esterni facoltativi.
Soluzioni ricorrenti
- Skill generate dal codice e salvate nel repositoryLe parti delle skill che dipendono dal codice (elenco dei comandi, opzioni, preambolo) sono generate da
gen-skill-docs.ts; iSKILL.mdrisultanti sono salvati nel repository e controllati dai test, così le istruzioni per l'agente restano allineate al codice. - Un browser sempre accesoIl browser di riserva è un demone Chromium che resta acceso e riceve i comandi via HTTP sulla stessa macchina: ~100–200 ms per comando invece dei 3–5 s di un avvio.
- Due porte per il tunnelCon
/pair-agentil tunnel ngrok inoltra una sola porta, che risponde a un elenco chiuso di indirizzi; gli indirizzi riservati all'uso locale (token, cookie) esistono solo sull'altra porta. - Ricevute prima di ogni invioPrima di ogni invio fuori dalla macchina, gstack scrive in
~/.gstack/security/egress.jsonluna ricevuta legata alla precedente da un hash; per i canali sensibili, se la ricevuta non si può scrivere, l'invio non parte.
Dove sta il codice
Righe per area (test inclusi).
Linguaggi
File più grandi
| File | Righe |
|---|---|
bin/gstack-memory-ingest.ts | 3.294 |
lib/cso/cli.ts | 2.966 |
lib/cso/state.ts | 2.616 |
browse/src/browser-manager.ts | 2.577 |
browse/src/cli.ts | 2.318 |
bin/gstack-gbrain-sync.ts | 2.303 |
scripts/test-free-shards.ts | 2.219 |
browse/src/server.ts | 2.201 |
lib/cso/verification.ts | 2.183 |
scripts/ubicloud/ubi-runner.sh | 2.052 |
Scelte progettuali
Le scelte principali ricostruite da codice e documenti.
Skill generate da file modello e salvate nel repository
| Contesto | La documentazione per l'agente divergeva dal codice |
|---|---|
| Alternative | Skill scritte a mano; generazione al momento dell'installazione |
| Motivazione | Ciò che esiste nel codice compare nelle skill; il file salvato nel repository si legge e si rivede |
| Conseguenze | Ogni modifica passa da gen-skill-docs.ts; test che verificano l'allineamento |
| Evidenze | ARCHITECTURE.md, sezione «SKILL.md template system» |
Bun come ambiente di esecuzione e compilatore
| Contesto | Servono binari singoli e avvio rapido |
|---|---|
| Alternative | Node.js |
| Motivazione | Compilazione in un eseguibile, SQLite integrato, avvio veloce |
| Conseguenze | Su Windows serve anche Node.js per un difetto di Bun con Playwright |
| Evidenze | ARCHITECTURE.md «Why Bun»; README, note di piattaforma |
Browser dell'utente prima, demone proprio come riserva
| Contesto | Un agente lavora meglio con le sessioni reali dell'utente |
|---|---|
| Alternative | Solo Chromium senza interfaccia grafica, con i cookie importati |
| Motivazione | Aside offre sessioni reali senza far passare credenziali dall'agente |
| Conseguenze | Due motori da mantenere; la via preferita funziona solo su macOS 15 o successivi |
| Evidenze | ARCHITECTURE.md «The core idea» |
Aggiornamento automatico dal ramo stable
| Contesto | Team che devono restare allineati senza copie nel repository |
|---|---|
| Alternative | Copia nel repository; aggiornamento manuale |
| Motivazione | Tutti i membri del team usano la stessa versione |
| Conseguenze | Codice remoto eseguito senza verifica di firma a ogni avvio |
| Evidenze | bin/gstack-session-update, docs/install.md |
Ricevute legate fra loro prima di ogni invio
| Contesto | Molte funzioni mandano dati fuori dalla macchina |
|---|---|
| Alternative | Solo documentazione della privacy |
| Motivazione | Rendere verificabile a posteriori cosa è uscito |
| Conseguenze | Registra gli invii ma non li blocca, e non si accorge se qualcuno tronca la fine del registro o lo cancella |
| Evidenze | ARCHITECTURE.md «Egress receipt ledger»; lib/egress-receipt.ts |
Tecnologie
Le tecnologie principali e il ruolo di ciascuna (verificato su package.json, bun.lock e ARCHITECTURE.md).
| Ambito | Tecnologia | Uso nel progetto |
|---|---|---|
| Linguaggio ed esecuzione | TypeScript su Bun ≥ 1.4.2; Bash per i comandi in bin/ | Tutto il codice; i programmi sono compilati con bun build --compile sulla macchina dell'utente |
| Browser | playwright 1.64 (con una modifica locale), Chromium | Demone browse; la modifica locale nasconde le finestre su Windows e anticipa una correzione di Playwright 1.65 |
| Modelli | @anthropic-ai/sdk, @huggingface/transformers (ONNX) | Chiamate ai modelli e classificatore locale contro l'iniezione di prompt, cioè le istruzioni ostili nascoste nei contenuti che l'agente legge (BERT ridotto, 22 MB) |
| Documenti | marked, html-to-docx, sharp, mermaid ed excalidraw (in lib/diagram-render) | /make-pdf e /diagram: Markdown in PDF, HTML, DOCX; diagrammi disegnati senza servizi esterni |
| Rete | @ngrok/ngrok, socks | Tunnel per agenti remoti, ponte SOCKS |
| Estensione | JavaScript, xterm 5 (deprecato, copiato in extension/lib) | Pannello laterale e terminale nel browser |
| Telemetria | Supabase (funzioni edge, migrazioni SQL) | Raccolta facoltativa degli eventi d'uso |
| Altro | C, Swift, Docker | Programma di supporto di /cso, strumenti iOS, immagini container per analizzatori e ambienti di esecuzione |
Skill e altri componenti per agenti
Skill, istruzioni, hook e server MCP inclusi nel repository: provenienza, licenza e codice eseguibile.
| Skill | Origine | Licenza | Titolare / fonte | Cartelle | Script |
|---|---|---|---|---|---|
gstackRouter for the gstack skill suite. (gstack) | Derivata | MIT NOTICE.md | Garry Tan | . | 20 (745663 righe) cancella file, installa pacchetti, rete, esegue processi, variabili d'ambiente |
alphaFixture dispatcher with a mode table and forced-read references. | Propria | MIT (dal progetto) | — | repo | — |
autoplanAuto-review pipeline — reads the full CEO, design, eng, and DX review skills from disk and runs them sequentially with auto-decisions using 6 decision principles. (gstack) | Propria | MIT (dal progetto) | garrytan/gstack | repo | 6 (1127 righe) cancella file, esegue processi, variabili d'ambiente |
benchmarkWeb performance regression detection. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
benchmark-modelsCross-model benchmark for gstack skills. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
betaClean fixture tool skill with no forced reads and no mode table. | Propria | MIT (dal progetto) | — | repo | — |
browseDrive a real browser through Aside: open a page, read it, click through a flow, take screenshots, check console errors. (gstack) | Propria | MIT (dal progetto) | — | repo | 20 (77325 righe) cancella file, installa pacchetti, rete, esegue processi, variabili d'ambiente |
canaryPost-deploy canary monitoring. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
captainRun a crew of coding agents from one controller (also /crew): lanes send READY blocks and never merge; the controller merges through trains, keeps the digest, relays approvals, fixes flakes daily. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
carefulSafety guardrails for destructive commands. (gstack) | Propria | MIT (dal progetto) | — | repo | 2 (625 righe) cancella file, rete, esegue processi |
codexOpenAI Codex CLI wrapper — three modes. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
context-restoreRestore working context saved earlier by /context-save. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
context-saveSave working context. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
csoSecurity audit: supported static findings; qualified profiles add reproduction and repair candidates. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
design-consultationDesign consultation: understands your product, researches the landscape, proposes a complete design system (aesthetic, typography, color, layout, spacing, motion), and generates font+color preview... (gstack) | Propria | MIT (dal progetto) | — | repo | — |
design-htmlDesign finalization: generates production-quality Pretext-native HTML/CSS. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
design-motionDesign motion: animate an approved design into a seamless MP4 and GIF loop. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
design-reviewDesigner's eye QA: finds visual inconsistency, spacing issues, hierarchy problems, AI slop patterns, and slow interactions — then fixes them. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
design-shotgunDesign shotgun: generate multiple AI design variants, open a comparison board, collect structured feedback, and iterate. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
deslop-shared-libsFind worthwhile shared-code extractions in recent work. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
devex-reviewLive developer experience audit. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
diagramTurn an English description (or mermaid source) into a diagram triplet: the source, an editable .excalidraw file you can open on excalidraw.com, and rendered SVG + PNG. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
document-generateGenerate missing documentation from scratch for a feature, module, or entire project. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
document-releaseRelease documentation audit. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
eval-plan| Preregister a paid eval (bars, arms, decoys, stop rules), dry-run it at zero cost, then run a three-item priced pilot whose spend table gates approval. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
freezeRestrict file edits to a specific directory for the session. (gstack) | Propria | MIT (dal progetto) | — | repo | 2 (440 righe) |
gstackInstall and use gstack in Capy and Claude Code. Load at session start to check this machine, and for gstack planning, code review, debugging, QA, design, security, documentation, and shipping workflows. | Propria | MIT (dal progetto) | — | repo | 1 (195 righe) esegue processi |
gstack-openclaw-ceo-reviewUse when asked to review a plan, challenge a proposal, run a CEO review, poke holes in an approach, think bigger about scope, or decide whether to expand or reduce the plan. | Propria | MIT (dal progetto) | — | repo | — |
gstack-openclaw-investigateUse when asked to debug, fix a bug, investigate an error, or do root cause analysis, and when users report errors, stack traces, unexpected behavior, or say something stopped working. | Propria | MIT (dal progetto) | — | repo | — |
gstack-openclaw-office-hoursUse when asked to brainstorm, evaluate whether an idea is worth building, run office hours, or think through a new product idea or design direction before any code is written. | Propria | MIT (dal progetto) | — | repo | — |
gstack-openclaw-retroWeekly engineering retrospective. Analyzes commit history, work patterns, and code quality metrics with persistent history and trend tracking. Team-aware with per-person contributions, praise, and growth areas. Use when asked for weekly retro, what shipped this week, or engineering retrospective. | Propria | MIT (dal progetto) | — | repo | — |
gstack-upgradeUpgrade gstack to the latest version. | Propria | MIT (dal progetto) | — | repo | 16 (1513 righe) cancella file, rete, esegue processi |
guardFull safety mode: destructive command warnings + directory-scoped edits. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
hackernews-frontpageScrape the Hacker News front page (titles, points, comment counts). | Propria | MIT (dal progetto) | — | repo | 3 (505 righe) rete, esegue processi, variabili d'ambiente |
healthCode quality dashboard. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
investigateUse when a test fails, code errors or output is wrong: find the root cause, then fix it. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
ios-cleanRemove the DebugBridge SPM package and all #if DEBUG wiring from an iOS app. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
ios-design-reviewVisual design audit for iOS apps on real hardware. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
ios-fixAutonomous iOS bug fixer. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
ios-qaLive-device iOS QA for SwiftUI apps. (gstack) | Propria | MIT (dal progetto) | — | repo | 20 (8612 righe) cancella file, rete, esegue processi, variabili d'ambiente |
ios-syncRegenerate the iOS debug bridge against the latest upstream gstack templates. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
land-and-deployLand and deploy workflow. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
landing-reportRead-only queue dashboard for workspace-aware ship. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
learnManage project learnings. | Propria | MIT (dal progetto) | — | repo | — |
make-pdfTurn any markdown file into a publication-quality PDF. (gstack) | Propria | MIT (dal progetto) | — | repo | 20 (8284 righe) cancella file, installa pacchetti, rete, esegue processi, variabili d'ambiente |
modernizeBring an aging PR onto its current base and decide: MODERNIZE, REWORK or CLOSE. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
office-hoursYC Office Hours — two modes. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
open-gstack-browserLaunch GStack Browser — AI-controlled Chromium with the sidebar extension baked in. | Propria | MIT (dal progetto) | — | repo | — |
pair-agentPair a remote AI agent with your browser. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
plan-ceo-reviewCEO/founder-mode plan review. (gstack) | Propria | MIT (dal progetto) | — | repo | 2 (40 righe) |
plan-design-reviewDesigner's eye plan review — interactive, like CEO and Eng review. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
plan-devex-reviewInteractive developer experience plan review. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
plan-eng-reviewEng manager-mode plan review. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
plan-tuneSelf-tuning question sensitivity + developer psychographic for gstack (v1: observational). (gstack) | Propria | MIT (dal progetto) | — | repo | — |
qaUse when you test the site, API or CLI and fix bugs. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
qa-onlyReport browser/API/CLI/job/worker/webhook bugs. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
retroWeekly engineering retrospective. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
reviewUse when you review this PR's diff. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
runaway-stopperFind runaway Capy threads and subagents, stop or rotate them safely, and prevent repeats. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
scrapePull data from a web page through the Aside browser — your real, already signed-in sessions. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
setup-browser-cookiesImport cookies from your real Chromium browser into the headless browse session. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
setup-deployConfigure deployment settings for /land-and-deploy. | Propria | MIT (dal progetto) | — | repo | — |
setup-gbrainSet up gbrain for this coding agent: install the CLI, initialize a local PGLite or Supabase brain, register MCP, capture per-remote trust policy. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
shipShip it: merge the base, run tests, review the diff, bump VERSION and CHANGELOG, push and create a PR. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
skillifyCodify the most recent successful /scrape flow into a permanent browser-skill on disk. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
specTurn vague intent into a precise, executable spec in five phases. (gstack) | Propria | MIT (dal progetto) | garrytan/gstack | repo | — |
sync-gbrainKeep gbrain current with this repo's code and refresh agent search guidance in CLAUDE.md. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
test-auditFind low-value or duplicate tests and the test-only code they keep alive. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
ubicloudRun a heavy suite, build or eval on an ephemeral 16-vCPU Ubicloud VM: TTL-named VMs, a reaper, quota preflight and a hang watchdog. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
unfreezeClear the freeze boundary set by /freeze, allowing edits to all directories again. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
verifyUse when coding: run the checks and tests /ship picks until green. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
write-skillWrite a new agent skill or improve one without bloat: the edit ladder, levels, drift and size checks, full diets. (gstack) | Propria | MIT (dal progetto) | — | repo | — |
Altri componenti per agenti
| Tipo | Elemento | Dettaglio |
|---|---|---|
| Istruzioni | AGENTS.md | 321 righe |
| Istruzioni | CLAUDE.md | 628 righe |
Stato di salute
Giudizio sintetico per dimensione (1 = critico, 5 = eccellente).
Misura l'impatto positivo che il progetto può avere sul lavoro di chi lo adotta: tiene conto dei punteggi tecnici qui sotto, ma non ne è la media.
any, che rinuncia al controllo dei tipi; file fino a 3 300 righe; commenti di documentazione sul 47 % degli elementi pubblici../setup e nessuna versione pubblicata con firma.package.json, README e GitHub; NOTICE.md riporta origine, revisione e testo della licenza di ogni codice derivato.OpenSSF Scorecard — 7,7/10 (2026-11-04)
| Controllo | Punteggio | Motivo |
|---|---|---|
| CII-Best-Practices | 0 | no effort to earn an OpenSSF best practices badge detected |
| Fuzzing | 0 | project is not fuzzed |
| SAST | 0 | SAST tool is not run on all commits -- score normalized to 0 |
| Branch-Protection | 3 | branch protection is not maximal on development and all release branches |
| Contributors | 6 | project has 2 contributing companies or organizations -- score normalized to 6 |
| Token-Permissions | 7 | detected GitHub workflow tokens with excessive permissions |
| Pinned-Dependencies | 8 | dependency not pinned by hash detected -- score normalized to 8 |
| Vulnerabilities | 9 | 1 existing vulnerabilities detected |
| Code-Review | 10 | all changesets reviewed |
| Maintained | 10 | 30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10 |
| Dependency-Update-Tool | 10 | update tool detected |
| Security-Policy | 10 | security policy file detected |
| Dangerous-Workflow | 10 | no dangerous workflow patterns detected |
| Binary-Artifacts | 10 | no binaries found in the repo |
| Packaging | 10 | packaging workflow detected |
| License | 10 | license file detected |
| CI-Tests | 10 | 30 out of 30 merged PRs checked by a CI test -- score normalized to 10 |
| Signed-Releases | — | no releases found |
Commit settimanali (ultime 52 settimane)
Σ 926
Test e qualità
Strategia di test ricostruita dal codice e dalla CI; i test non sono stati eseguiti.
| File di test | ~1 440 in test/ più browse/test, design/test, make-pdf/test |
|---|---|
| Righe di test | ~490 000 su ~715 000 righe di codice (0,69) |
| Strumento di test | bun test; file di prova in vari linguaggi per le verifiche di /cso e degli scenari |
| Livelli | Test gratuiti divisi in gruppi che girano in parallelo (test-free-shards.ts); valutazioni a pagamento con modelli veri nei livelli gate e periodic |
| Sistemi dell'integrazione continua | Ubuntu, macOS, Windows; 33 procedure, fra cui OSV-Scanner, dependency review, Scorecard, actionlint |
| Test condizionali o saltati | 402 test.skipIf, 179 describe.skipIf, 102 skip espliciti: in gran parte prove legate a piattaforma o a chiavi di valutazione |
| Prove con input casuali e copertura dei test | Assenti (nessuna configurazione trovata) |
Punti di forza e debolezza
Valutazione basata su struttura, metriche, documentazione e configurazione del repository.
Punti di forza
- Processo completo e coerenteLe skill si passano documenti (progetto, piano di test, revisione) invece di essere comandi isolati.
- Documentazione per l'agente generata dal codiceLa generazione dai file modello impedisce che una skill citi un comando o un'opzione inesistente.
- Trasparenza sulle uscite di reteTelemetria disattivata per impostazione predefinita, schema dei dati pubblico in
supabase/migrations, ricevute verificabili congstack-egress verify. - Integrazione continua ben protetta289 azioni GitHub fissate per hash e nessuna lasciata libera; installazione con
bun install --frozen-lockfile --ignore-scripts, che rispetta le versioni bloccate e non esegue gli script dei pacchetti; controlli OSV-Scanner, dependency review, Scorecard e actionlint. - Attribuzioni esemplariNOTICE.md elenca ogni progetto da cui si è preso codice o idee, con revisione fissata e testo di licenza in
licenses/. - Analisi delle minacce scrittaARCHITECTURE.md descrive il perimetro del demone, i token, i cookie, il tunnel e le difese contro l'iniezione di prompt, dichiarando anche le parti rimosse.
Punti di debolezza
- Un solo autore914 commit su 952 a nome di Garry Tan; il resto è sparso fra pochi contributori. La continuità dipende da una persona (e dai suoi agenti).
- Aggiornamento automatico non firmatoIn modalità squadra l'hook
SessionStartscarica il ramostablee lancia./setup: chi controlla il repository controlla il codice eseguito su ogni macchina del team. - Interviene su tutto l'ambiente dell'agenteHook globali, una regola da aggiungere in
CLAUDE.mdcontro Claude in Chrome, 72 skill con nomi generici nello stesso spazio di altre raccolte. - Perimetro enorme e mutevole~600 commit negli ultimi 90 giorni, versioni a quattro numeri (
1.95.5.0), molte funzioni legate a prodotti specifici (Aside, Capy, GBrain, Ubicloud). - Una difesa dichiarata ma non più attivaLo stesso ARCHITECTURE.md ammette che il «canary», una stringa di controllo che serviva ad accorgersi dell'iniezione di prompt, non viene più inserito da nessuna parte del codice in uso.
Dipendenze
Pacchetti elencati nei due file delle versioni bloccate di Bun (bun.lock e lib/diagram-render/bun.lock), con licenze e avvisi da deps.dev.
Componenti principali e come vengono usati
| Componente | Licenza | Dove e perché | Valutazione |
|---|---|---|---|
playwright 1.64.1 | Apache-2.0 | browse: demone Chromium | Solido; la modifica locale è piccola e documentata |
sharp 0.35 + libvips | Apache-2.0 / LGPL-3.0-or-later | Ridimensionamento delle immagini per PDF e catture dello schermo | LGPL su binari precompilati non modificati: obblighi ordinari |
@huggingface/transformers 4.3 | Apache-2.0 | Classificatore locale contro l'iniezione di prompt (processo separato) | Pesante (onnxruntime), scarica un modello da 112 MB al primo uso |
@anthropic-ai/sdk 0.78 | MIT | Chiamate dirette ai modelli | Indietro di una versione principale (l'ultima è la 1.4.0); due versioni in bun.lock |
@ngrok/ngrok | MIT OR Apache-2.0 | Tunnel di /pair-agent | Espone il browser all'esterno: usato solo su richiesta |
xterm 5.3 + xterm-addon-fit | MIT | Terminale nell'estensione (copiato in extension/lib) | Deprecati: il successore è @xterm/xterm |
mermaid 11 + katex | MIT | lib/diagram-render: diagrammi disegnati senza servizi esterni | Mermaid indietro di una versione principale; un avviso di sicurezza su KaTeX, difficile da sfruttare |
@anthropic-ai/claude-agent-sdk | Termini commerciali Anthropic | Solo sviluppo (valutazioni) | Non distribuito agli utenti |
Vulnerabilità note (OSV)
| Pacchetto | Versione | CVSS massimo | Identificativi |
|---|---|---|---|
katex | 0.16.47 | — | GHSA-238p-pmpm-9mq7 KaTeX: Existing prototype pollution can bypass trust restrictions |
Tutte le dipendenze (506)
| Pacchetto | Versione | Ecosistema | Licenza | Categoria | Esito | OSV |
|---|---|---|---|---|---|---|
@anthropic-ai/claude-agent-sdk sviluppo | 0.2.141 | NPM | SEE LICENSE IN README.md | Sconosciuta | Da verificare | |
@anthropic-ai/claude-agent-sdk-darwin-arm64 sviluppo | 0.2.141 | NPM | SEE LICENSE IN LICENSE.md | Sconosciuta | Da verificare | |
@anthropic-ai/claude-agent-sdk-darwin-x64 sviluppo | 0.2.141 | NPM | SEE LICENSE IN LICENSE.md | Sconosciuta | Da verificare | |
@anthropic-ai/claude-agent-sdk-linux-arm64 sviluppo | 0.2.141 | NPM | SEE LICENSE IN LICENSE.md | Sconosciuta | Da verificare | |
@anthropic-ai/claude-agent-sdk-linux-arm64-musl sviluppo | 0.2.141 | NPM | SEE LICENSE IN LICENSE.md | Sconosciuta | Da verificare | |
@anthropic-ai/claude-agent-sdk-linux-x64 sviluppo | 0.2.141 | NPM | SEE LICENSE IN LICENSE.md | Sconosciuta | Da verificare | |
@anthropic-ai/claude-agent-sdk-linux-x64-musl sviluppo | 0.2.141 | NPM | SEE LICENSE IN LICENSE.md | Sconosciuta | Da verificare | |
@anthropic-ai/claude-agent-sdk-win32-arm64 sviluppo | 0.2.141 | NPM | SEE LICENSE IN LICENSE.md | Sconosciuta | Da verificare | |
@anthropic-ai/claude-agent-sdk-win32-x64 sviluppo | 0.2.141 | NPM | SEE LICENSE IN LICENSE.md | Sconosciuta | Da verificare | |
@img/sharp-libvips-darwin-arm64 | 1.3.4 | NPM | LGPL-3.0-or-later | Copyleft debole | Attenzione | |
@img/sharp-libvips-darwin-x64 | 1.3.4 | NPM | LGPL-3.0-or-later | Copyleft debole | Attenzione | |
@img/sharp-libvips-linux-arm | 1.3.4 | NPM | LGPL-3.0-or-later | Copyleft debole | Attenzione | |
@img/sharp-libvips-linux-arm64 | 1.3.4 | NPM | LGPL-3.0-or-later | Copyleft debole | Attenzione | |
@img/sharp-libvips-linux-ppc64 | 1.3.4 | NPM | LGPL-3.0-or-later | Copyleft debole | Attenzione | |
@img/sharp-libvips-linux-riscv64 | 1.3.4 | NPM | LGPL-3.0-or-later | Copyleft debole | Attenzione | |
@img/sharp-libvips-linux-s390x | 1.3.4 | NPM | LGPL-3.0-or-later | Copyleft debole | Attenzione | |
@img/sharp-libvips-linux-x64 | 1.3.4 | NPM | LGPL-3.0-or-later | Copyleft debole | Attenzione | |
@img/sharp-libvips-linuxmusl-arm64 | 1.3.4 | NPM | LGPL-3.0-or-later | Copyleft debole | Attenzione | |
@img/sharp-libvips-linuxmusl-x64 | 1.3.4 | NPM | LGPL-3.0-or-later | Copyleft debole | Attenzione | |
@img/sharp-wasm32 | 0.35.5 | NPM | Apache-2.0 AND LGPL-3.0-or-later AND MIT | Copyleft debole | Attenzione | |
@img/sharp-win32-arm64 | 0.35.5 | NPM | Apache-2.0 AND LGPL-3.0-or-later | Copyleft debole | Attenzione | |
@img/sharp-win32-ia32 | 0.35.5 | NPM | Apache-2.0 AND LGPL-3.0-or-later | Copyleft debole | Attenzione | |
@img/sharp-win32-x64 | 0.35.5 | NPM | Apache-2.0 AND LGPL-3.0-or-later | Copyleft debole | Attenzione | |
fractional-indexing | 3.2.0 | NPM | CC0-1.0 | Pubblico dominio | Compatibile | |
khroma | 2.1.0 | NPM | ? | Sconosciuta | Da verificare | |
robust-predicates | 3.0.3 | NPM | Unlicense | Pubblico dominio | Compatibile | |
tslib | 2.8.1 | NPM | 0BSD | Pubblico dominio | Compatibile | |
type-fest | 0.20.2 | NPM | CC0-1.0 OR MIT | Pubblico dominio | Compatibile | |
@antfu/install-pkg | 1.1.0 | NPM | MIT | Permissiva | Compatibile | |
@anthropic-ai/sdk | 0.78.0 | NPM | MIT | Permissiva | Compatibile | |
@anthropic-ai/sdk sviluppo | 0.93.0 | NPM | MIT | Permissiva | Compatibile | |
@babel/runtime | 7.29.7 | NPM | MIT | Permissiva | Compatibile | |
@braintree/sanitize-url | 6.0.2 | NPM | MIT | Permissiva | Compatibile | |
@braintree/sanitize-url | 7.1.2 | NPM | MIT | Permissiva | Compatibile | |
@chevrotain/cst-dts-gen | 11.0.3 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@chevrotain/gast | 11.0.3 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@chevrotain/regexp-to-ast | 11.0.3 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@chevrotain/types | 11.1.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@chevrotain/types | 11.0.3 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@chevrotain/utils | 11.0.3 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@emnapi/runtime | 1.11.3 | NPM | MIT | Permissiva | Compatibile | |
@excalidraw/excalidraw | 0.18.1 | NPM | MIT | Permissiva | Compatibile | |
@excalidraw/laser-pointer | 1.3.1 | NPM | MIT | Permissiva | Compatibile | |
@excalidraw/markdown-to-text | 0.1.2 | NPM | MIT | Permissiva | Compatibile | |
@excalidraw/mermaid-to-excalidraw | 2.2.2 | NPM | MIT | Permissiva | Compatibile | |
@excalidraw/random-username | 1.1.0 | NPM | MIT | Permissiva | Compatibile | |
@floating-ui/core | 1.8.0 | NPM | MIT | Permissiva | Compatibile | |
@floating-ui/dom | 1.8.0 | NPM | MIT | Permissiva | Compatibile | |
@floating-ui/react-dom | 2.1.9 | NPM | MIT | Permissiva | Compatibile | |
@floating-ui/utils | 0.2.12 | NPM | MIT | Permissiva | Compatibile | |
@hono/node-server sviluppo | 2.1.6 | NPM | MIT | Permissiva | Compatibile | |
@huggingface/jinja | 0.5.10 | NPM | MIT | Permissiva | Compatibile | |
@huggingface/tokenizers | 0.2.0 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@huggingface/transformers | 4.3.1 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@iconify/types | 2.0.0 | NPM | MIT | Permissiva | Compatibile | |
@iconify/utils | 3.1.4 | NPM | MIT | Permissiva | Compatibile | |
@img/colour | 1.1.0 | NPM | MIT | Permissiva | Compatibile | |
@img/sharp-darwin-arm64 | 0.35.5 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@img/sharp-darwin-x64 | 0.35.5 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@img/sharp-freebsd-wasm32 | 0.35.5 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@img/sharp-linux-arm | 0.35.5 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@img/sharp-linux-arm64 | 0.35.5 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@img/sharp-linux-ppc64 | 0.35.5 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@img/sharp-linux-riscv64 | 0.35.5 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@img/sharp-linux-s390x | 0.35.5 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@img/sharp-linux-x64 | 0.35.5 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@img/sharp-linuxmusl-arm64 | 0.35.5 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@img/sharp-linuxmusl-x64 | 0.35.5 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@img/sharp-webcontainers-wasm32 | 0.35.5 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@mermaid-js/parser | 0.6.3 | NPM | MIT | Permissiva | Compatibile | |
@mermaid-js/parser | 1.2.1 | NPM | MIT | Permissiva | Compatibile | |
@modelcontextprotocol/sdk sviluppo | 1.32.0 | NPM | MIT | Permissiva | Compatibile | |
@ngrok/ngrok | 1.7.0 | NPM | Apache-2.0 OR MIT | Permissiva | Compatibile | |
@ngrok/ngrok-android-arm64 | 1.7.0 | NPM | MIT | Permissiva | Compatibile | |
@ngrok/ngrok-darwin-arm64 | 1.7.0 | NPM | MIT | Permissiva | Compatibile | |
@ngrok/ngrok-darwin-universal | 1.7.0 | NPM | MIT | Permissiva | Compatibile | |
@ngrok/ngrok-darwin-x64 | 1.7.0 | NPM | MIT | Permissiva | Compatibile | |
@ngrok/ngrok-freebsd-x64 | 1.7.0 | NPM | MIT | Permissiva | Compatibile | |
@ngrok/ngrok-linux-arm-gnueabihf | 1.7.0 | NPM | MIT | Permissiva | Compatibile | |
@ngrok/ngrok-linux-arm64-gnu | 1.7.0 | NPM | MIT | Permissiva | Compatibile | |
@ngrok/ngrok-linux-arm64-musl | 1.7.0 | NPM | MIT | Permissiva | Compatibile | |
@ngrok/ngrok-linux-x64-gnu | 1.7.0 | NPM | MIT | Permissiva | Compatibile | |
@ngrok/ngrok-linux-x64-musl | 1.7.0 | NPM | MIT | Permissiva | Compatibile | |
@ngrok/ngrok-win32-arm64-msvc | 1.7.0 | NPM | MIT | Permissiva | Compatibile | |
@ngrok/ngrok-win32-ia32-msvc | 1.7.0 | NPM | MIT | Permissiva | Compatibile | |
@ngrok/ngrok-win32-x64-msvc | 1.7.0 | NPM | MIT | Permissiva | Compatibile | |
@oozcitak/dom | 1.15.6 | NPM | MIT | Permissiva | Compatibile | |
@oozcitak/dom | 1.15.5 | NPM | MIT | Permissiva | Compatibile | |
@oozcitak/infra | 1.0.5 | NPM | MIT | Permissiva | Compatibile | |
@oozcitak/infra | 1.0.3 | NPM | MIT | Permissiva | Compatibile | |
@oozcitak/url | 1.0.0 | NPM | MIT | Permissiva | Compatibile | |
@oozcitak/util | 8.3.4 | NPM | MIT | Permissiva | Compatibile | |
@oozcitak/util | 8.0.0 | NPM | MIT | Permissiva | Compatibile | |
@oozcitak/util | 1.0.2 | NPM | MIT | Permissiva | Compatibile | |
@oozcitak/util | 8.3.3 | NPM | MIT | Permissiva | Compatibile | |
@oozcitak/util | 1.0.1 | NPM | MIT | Permissiva | Compatibile | |
@protobufjs/aspromise | 1.1.2 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
@protobufjs/base64 | 1.1.2 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
@protobufjs/codegen | 2.0.5 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
@protobufjs/eventemitter | 1.1.1 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
@protobufjs/fetch | 1.1.1 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
@protobufjs/float | 1.0.2 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
@protobufjs/path | 1.1.2 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
@protobufjs/pool | 1.1.0 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
@protobufjs/utf8 | 1.1.2 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
@radix-ui/primitive | 1.1.1 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/primitive | 1.0.0 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-arrow | 1.1.2 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-collection | 1.0.1 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-compose-refs | 1.1.1 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-compose-refs | 1.0.0 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-context | 1.1.1 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-context | 1.0.0 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-direction | 1.0.0 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-dismissable-layer | 1.1.5 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-focus-guards | 1.1.1 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-focus-scope | 1.1.2 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-id | 1.1.0 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-id | 1.0.0 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-popover | 1.1.6 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-popper | 1.2.2 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-portal | 1.1.4 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-presence | 1.1.2 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-presence | 1.0.0 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-primitive | 2.0.2 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-primitive | 1.0.1 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-roving-focus | 1.0.2 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-slot | 1.1.2 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-slot | 1.0.1 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-tabs | 1.0.2 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-use-callback-ref | 1.1.0 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-use-callback-ref | 1.0.0 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-use-controllable-state | 1.1.0 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-use-controllable-state | 1.0.0 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-use-escape-keydown | 1.1.0 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-use-layout-effect | 1.1.0 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-use-layout-effect | 1.0.0 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-use-rect | 1.1.0 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/react-use-size | 1.1.0 | NPM | MIT | Permissiva | Compatibile | |
@radix-ui/rect | 1.1.0 | NPM | MIT | Permissiva | Compatibile | |
@types/bun sviluppo | 1.4.3 | NPM | MIT | Permissiva | Compatibile | |
@types/d3 | 7.4.3 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-array | 3.2.2 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-axis | 3.0.6 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-brush | 3.0.6 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-chord | 3.0.6 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-color | 3.1.3 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-contour | 3.0.6 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-delaunay | 6.0.4 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-dispatch | 3.0.7 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-drag | 3.0.7 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-dsv | 3.0.7 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-ease | 3.0.2 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-fetch | 3.0.7 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-force | 3.0.10 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-format | 3.0.4 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-geo | 3.1.1 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-hierarchy | 3.1.7 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-interpolate | 3.0.4 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-path | 3.1.1 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-polygon | 3.0.2 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-quadtree | 3.0.6 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-random | 3.0.4 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-scale | 4.0.9 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-scale-chromatic | 3.1.0 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-selection | 3.0.11 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-shape | 3.2.0 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-time | 3.0.4 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-time-format | 4.0.3 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-timer | 3.0.2 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-transition | 3.0.9 | NPM | MIT | Permissiva | Compatibile | |
@types/d3-zoom | 3.0.8 | NPM | MIT | Permissiva | Compatibile | |
@types/geojson | 7946.0.16 | NPM | MIT | Permissiva | Compatibile | |
@types/node | 26.4.0 | NPM | MIT | Permissiva | Compatibile | |
@types/trusted-types | 2.0.7 | NPM | MIT | Permissiva | Compatibile | |
@typescript/typescript-aix-ppc64 sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-darwin-arm64 sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-darwin-x64 sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-freebsd-arm64 sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-freebsd-x64 sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-linux-arm sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-linux-arm64 sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-linux-loong64 sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-linux-mips64el sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-linux-ppc64 sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-linux-riscv64 sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-linux-s390x sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-linux-x64 sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-netbsd-arm64 sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-netbsd-x64 sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-openbsd-arm64 sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-openbsd-x64 sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-sunos-x64 sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-win32-arm64 sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@typescript/typescript-win32-x64 sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
@upsetjs/venn.js | 2.0.0 | NPM | MIT | Permissiva | Compatibile | |
accepts sviluppo | 2.0.0 | NPM | MIT | Permissiva | Compatibile | |
adm-zip | 0.6.1 | NPM | MIT | Permissiva | Compatibile | |
ajv sviluppo | 8.20.0 | NPM | MIT | Permissiva | Compatibile | |
ajv-formats sviluppo | 3.0.1 | NPM | MIT | Permissiva | Compatibile | |
aria-hidden | 1.2.6 | NPM | MIT | Permissiva | Compatibile | |
body-parser sviluppo | 2.4.0 | NPM | MIT | Permissiva | Compatibile | |
browser-fs-access | 0.29.1 | NPM | Apache-2.0 | Permissiva | Compatibile | |
browser-split | 0.0.1 | NPM | MIT | Permissiva | Compatibile | |
bun-types sviluppo | 1.4.3 | NPM | MIT | Permissiva | Compatibile | |
bytes sviluppo | 3.1.2 | NPM | MIT | Permissiva | Compatibile | |
call-bind-apply-helpers | 1.0.2 | NPM | MIT | Permissiva | Compatibile | |
call-bound | 1.0.4 | NPM | MIT | Permissiva | Compatibile | |
camelize | 1.0.1 | NPM | MIT | Permissiva | Compatibile | |
canvas-roundrect-polyfill | 0.0.1 | NPM | MIT | Permissiva | Compatibile | |
chevrotain | 11.0.3 | NPM | Apache-2.0 | Permissiva | Compatibile | |
chevrotain-allstar | 0.3.1 | NPM | MIT | Permissiva | Compatibile | |
chokidar | 4.0.3 | NPM | MIT | Permissiva | Compatibile | |
clsx | 1.1.1 | NPM | MIT | Permissiva | Compatibile | |
color-name | 1.1.4 | NPM | MIT | Permissiva | Compatibile | |
commander | 8.3.0 | NPM | MIT | Permissiva | Compatibile | |
commander | 7.2.0 | NPM | MIT | Permissiva | Compatibile | |
content-disposition sviluppo | 1.1.0 | NPM | MIT | Permissiva | Compatibile | |
content-type sviluppo | 1.0.5 | NPM | MIT | Permissiva | Compatibile | |
content-type sviluppo | 2.1.0 | NPM | MIT | Permissiva | Compatibile | |
cookie sviluppo | 0.7.2 | NPM | MIT | Permissiva | Compatibile | |
cookie-signature sviluppo | 1.2.2 | NPM | MIT | Permissiva | Compatibile | |
core-util-is | 1.0.3 | NPM | MIT | Permissiva | Compatibile | |
cors sviluppo | 2.8.6 | NPM | MIT | Permissiva | Compatibile | |
cose-base | 1.0.3 | NPM | MIT | Permissiva | Compatibile | |
cose-base | 2.2.0 | NPM | MIT | Permissiva | Compatibile | |
crc-32 | 0.3.0 | NPM | Apache-2.0 | Permissiva | Compatibile | |
cross-env | 7.0.3 | NPM | MIT | Permissiva | Compatibile | |
cross-spawn | 7.0.6 | NPM | MIT | Permissiva | Compatibile | |
cytoscape | 3.34.2 | NPM | MIT | Permissiva | Compatibile | |
cytoscape-cose-bilkent | 4.1.0 | NPM | MIT | Permissiva | Compatibile | |
cytoscape-fcose | 2.2.0 | NPM | MIT | Permissiva | Compatibile | |
d3 | 7.9.0 | NPM | ISC | Permissiva | Compatibile | |
d3-array | 3.2.4 | NPM | ISC | Permissiva | Compatibile | |
d3-array | 2.12.1 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
d3-axis | 3.0.0 | NPM | ISC | Permissiva | Compatibile | |
d3-brush | 3.0.0 | NPM | ISC | Permissiva | Compatibile | |
d3-chord | 3.0.1 | NPM | ISC | Permissiva | Compatibile | |
d3-color | 3.1.0 | NPM | ISC | Permissiva | Compatibile | |
d3-contour | 4.0.2 | NPM | ISC | Permissiva | Compatibile | |
d3-delaunay | 6.0.4 | NPM | ISC | Permissiva | Compatibile | |
d3-dispatch | 3.0.1 | NPM | ISC | Permissiva | Compatibile | |
d3-drag | 3.0.0 | NPM | ISC | Permissiva | Compatibile | |
d3-dsv | 3.0.1 | NPM | ISC | Permissiva | Compatibile | |
d3-ease | 3.0.1 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
d3-fetch | 3.0.1 | NPM | ISC | Permissiva | Compatibile | |
d3-force | 3.0.0 | NPM | ISC | Permissiva | Compatibile | |
d3-format | 3.1.2 | NPM | ISC | Permissiva | Compatibile | |
d3-geo | 3.1.1 | NPM | ISC | Permissiva | Compatibile | |
d3-hierarchy | 3.1.2 | NPM | ISC | Permissiva | Compatibile | |
d3-interpolate | 3.0.1 | NPM | ISC | Permissiva | Compatibile | |
d3-path | 3.1.0 | NPM | ISC | Permissiva | Compatibile | |
d3-path | 1.0.9 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
d3-polygon | 3.0.1 | NPM | ISC | Permissiva | Compatibile | |
d3-quadtree | 3.0.1 | NPM | ISC | Permissiva | Compatibile | |
d3-random | 3.0.1 | NPM | ISC | Permissiva | Compatibile | |
d3-sankey | 0.12.3 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
d3-scale | 4.0.2 | NPM | ISC | Permissiva | Compatibile | |
d3-scale-chromatic | 3.1.0 | NPM | ISC | Permissiva | Compatibile | |
d3-selection | 3.0.0 | NPM | ISC | Permissiva | Compatibile | |
d3-shape | 3.2.0 | NPM | ISC | Permissiva | Compatibile | |
d3-shape | 1.3.7 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
d3-time | 3.1.0 | NPM | ISC | Permissiva | Compatibile | |
d3-time-format | 4.1.0 | NPM | ISC | Permissiva | Compatibile | |
d3-timer | 3.0.1 | NPM | ISC | Permissiva | Compatibile | |
d3-transition | 3.0.1 | NPM | ISC | Permissiva | Compatibile | |
d3-zoom | 3.0.0 | NPM | ISC | Permissiva | Compatibile | |
dagre-d3-es | 7.0.14 | NPM | MIT | Permissiva | Compatibile | |
dayjs | 1.11.23 | NPM | MIT | Permissiva | Compatibile | |
debug sviluppo | 4.4.3 | NPM | MIT | Permissiva | Compatibile | |
define-data-property | 1.1.4 | NPM | MIT | Permissiva | Compatibile | |
define-properties | 1.2.1 | NPM | MIT | Permissiva | Compatibile | |
delaunator | 5.1.0 | NPM | ISC | Permissiva | Compatibile | |
depd sviluppo | 2.0.0 | NPM | MIT | Permissiva | Compatibile | |
detect-libc | 2.1.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
detect-node-es | 1.1.0 | NPM | MIT | Permissiva | Compatibile | |
diff | 9.0.0 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
dom-serializer | 0.2.2 | NPM | MIT | Permissiva | Compatibile | |
dom-walk | 0.1.2 | NPM | MIT | Permissiva | Compatibile | |
domelementtype | 1.3.1 | NPM | BSD-2-Clause | Permissiva | Compatibile | |
domelementtype | 2.3.0 | NPM | BSD-2-Clause | Permissiva | Compatibile | |
domhandler | 2.4.2 | NPM | BSD-2-Clause | Permissiva | Compatibile | |
dompurify | 3.4.17 | NPM | Apache-2.0 OR MPL-2.0 | Permissiva | Compatibile | |
domutils | 1.7.0 | NPM | BSD-2-Clause | Permissiva | Compatibile | |
dunder-proto | 1.0.1 | NPM | MIT | Permissiva | Compatibile | |
ee-first sviluppo | 1.1.1 | NPM | MIT | Permissiva | Compatibile | |
encodeurl sviluppo | 2.0.0 | NPM | MIT | Permissiva | Compatibile | |
ent | 2.2.2 | NPM | MIT | Permissiva | Compatibile | |
entities | 1.1.2 | NPM | BSD-2-Clause | Permissiva | Compatibile | |
entities | 2.2.0 | NPM | BSD-2-Clause | Permissiva | Compatibile | |
error | 4.4.0 | NPM | MIT | Permissiva | Compatibile | |
es-define-property | 1.0.1 | NPM | MIT | Permissiva | Compatibile | |
es-errors | 1.3.0 | NPM | MIT | Permissiva | Compatibile | |
es-object-atoms | 1.1.2 | NPM | MIT | Permissiva | Compatibile | |
es-toolkit | 1.52.0 | NPM | MIT | Permissiva | Compatibile | |
es6-promise-pool | 2.5.0 | NPM | MIT | Permissiva | Compatibile | |
escape-html sviluppo | 1.0.3 | NPM | MIT | Permissiva | Compatibile | |
escape-string-regexp | 4.0.0 | NPM | MIT | Permissiva | Compatibile | |
etag sviluppo | 1.8.1 | NPM | MIT | Permissiva | Compatibile | |
ev-store | 7.0.0 | NPM | MIT | Permissiva | Compatibile | |
eventsource sviluppo | 3.0.7 | NPM | MIT | Permissiva | Compatibile | |
eventsource-parser sviluppo | 3.1.1 | NPM | MIT | Permissiva | Compatibile | |
express sviluppo | 5.2.1 | NPM | MIT | Permissiva | Compatibile | |
express-rate-limit sviluppo | 8.7.0 | NPM | MIT | Permissiva | Compatibile | |
fast-deep-equal sviluppo | 3.1.3 | NPM | MIT | Permissiva | Compatibile | |
fast-uri sviluppo | 3.1.9 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
finalhandler sviluppo | 2.1.1 | NPM | MIT | Permissiva | Compatibile | |
flatbuffers | 25.9.23 | NPM | Apache-2.0 | Permissiva | Compatibile | |
forwarded sviluppo | 0.2.0 | NPM | MIT | Permissiva | Compatibile | |
fresh sviluppo | 2.0.0 | NPM | MIT | Permissiva | Compatibile | |
function-bind | 1.1.2 | NPM | MIT | Permissiva | Compatibile | |
fuzzy | 0.1.3 | NPM | MIT | Permissiva | Compatibile | |
get-intrinsic | 1.3.0 | NPM | MIT | Permissiva | Compatibile | |
get-nonce | 1.0.1 | NPM | MIT | Permissiva | Compatibile | |
get-proto | 1.0.1 | NPM | MIT | Permissiva | Compatibile | |
global | 4.4.0 | NPM | MIT | Permissiva | Compatibile | |
global-agent | 4.1.3 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
globalthis | 1.0.4 | NPM | MIT | Permissiva | Compatibile | |
glur | 1.1.2 | NPM | MIT | Permissiva | Compatibile | |
gopd | 1.2.0 | NPM | MIT | Permissiva | Compatibile | |
guid-typescript | 1.0.9 | NPM | ISC | Permissiva | Compatibile | |
hachure-fill | 0.5.2 | NPM | MIT | Permissiva | Compatibile | |
has-property-descriptors | 1.0.2 | NPM | MIT | Permissiva | Compatibile | |
has-symbols | 1.1.0 | NPM | MIT | Permissiva | Compatibile | |
has-tostringtag | 1.0.2 | NPM | MIT | Permissiva | Compatibile | |
hasown | 2.0.4 | NPM | MIT | Permissiva | Compatibile | |
hono sviluppo | 4.13.13 | NPM | MIT | Permissiva | Compatibile | |
html-entities | 2.6.0 | NPM | MIT | Permissiva | Compatibile | |
html-to-docx | 1.8.0 | NPM | MIT | Permissiva | Compatibile | |
html-to-vdom | 0.7.0 | NPM | ISC | Permissiva | Compatibile | |
htmlparser2 | 3.10.1 | NPM | MIT | Permissiva | Compatibile | |
http-errors sviluppo | 2.0.1 | NPM | MIT | Permissiva | Compatibile | |
iconv-lite sviluppo | 0.7.3 | NPM | MIT | Permissiva | Compatibile | |
iconv-lite | 0.6.3 | NPM | MIT | Permissiva | Compatibile | |
image-blob-reduce | 3.0.1 | NPM | MIT | Permissiva | Compatibile | |
image-size | 2.0.4 | NPM | MIT | Permissiva | Compatibile | |
image-to-base64 | 2.2.0 | NPM | MIT | Permissiva | Compatibile | |
immediate | 3.0.6 | NPM | MIT | Permissiva | Compatibile | |
immutable | 4.3.9 | NPM | MIT | Permissiva | Compatibile | |
import-meta-resolve | 4.2.0 | NPM | MIT | Permissiva | Compatibile | |
individual | 3.0.0 | NPM | MIT | Permissiva | Compatibile | |
inherits | 2.0.4 | NPM | ISC | Permissiva | Compatibile | |
internmap | 2.0.3 | NPM | ISC | Permissiva | Compatibile | |
internmap | 1.0.1 | NPM | ISC | Permissiva | Compatibile | |
ip-address | 10.7.4 | NPM | MIT | Permissiva | Compatibile | |
ipaddr.js sviluppo | 1.9.1 | NPM | MIT | Permissiva | Compatibile | |
is-object | 1.0.2 | NPM | MIT | Permissiva | Compatibile | |
is-promise sviluppo | 4.0.0 | NPM | MIT | Permissiva | Compatibile | |
is-regex | 1.2.1 | NPM | MIT | Permissiva | Compatibile | |
isarray | 1.0.0 | NPM | MIT | Permissiva | Compatibile | |
isexe | 2.0.0 | NPM | ISC | Permissiva | Compatibile | |
jose sviluppo | 6.2.10 | NPM | MIT | Permissiva | Compatibile | |
jotai | 2.11.0 | NPM | MIT | Permissiva | Compatibile | |
jotai-scope | 0.7.2 | NPM | MIT | Permissiva | Compatibile | |
js-tokens | 4.0.0 | NPM | MIT | Permissiva | Compatibile | |
json-schema-to-ts | 3.1.1 | NPM | MIT | Permissiva | Compatibile | |
json-schema-traverse sviluppo | 1.0.0 | NPM | MIT | Permissiva | Compatibile | |
json-schema-typed sviluppo | 8.0.2 | NPM | BSD-2-Clause | Permissiva | Compatibile | |
jszip | 3.10.1 | NPM | GPL-3.0-or-later OR MIT | Permissiva | Compatibile | |
katex | 0.16.47 | NPM | MIT | Permissiva | Compatibile | 1 |
langium | 3.3.1 | NPM | MIT | Permissiva | Compatibile | |
layout-base | 1.0.2 | NPM | MIT | Permissiva | Compatibile | |
layout-base | 2.0.1 | NPM | MIT | Permissiva | Compatibile | |
lie | 3.3.0 | NPM | MIT | Permissiva | Compatibile | |
lodash | 4.18.1 | NPM | MIT | Permissiva | Compatibile | |
lodash-es | 4.18.1 | NPM | MIT | Permissiva | Compatibile | |
lodash.debounce | 4.0.8 | NPM | MIT | Permissiva | Compatibile | |
lodash.throttle | 4.1.1 | NPM | MIT | Permissiva | Compatibile | |
long | 5.3.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
loose-envify | 1.4.0 | NPM | MIT | Permissiva | Compatibile | |
marked | 18.1.1 | NPM | MIT | Permissiva | Compatibile | |
marked | 16.4.2 | NPM | MIT | Permissiva | Compatibile | |
matcher | 4.0.0 | NPM | MIT | Permissiva | Compatibile | |
math-intrinsics | 1.1.0 | NPM | MIT | Permissiva | Compatibile | |
media-typer sviluppo | 1.1.1 | NPM | MIT | Permissiva | Compatibile | |
merge-descriptors sviluppo | 2.0.0 | NPM | MIT | Permissiva | Compatibile | |
mermaid | 11.16.1 | NPM | MIT | Permissiva | Compatibile | |
mime-db | 1.52.0 | NPM | MIT | Permissiva | Compatibile | |
mime-db sviluppo | 1.54.0 | NPM | MIT | Permissiva | Compatibile | |
mime-types | 2.1.35 | NPM | MIT | Permissiva | Compatibile | |
mime-types sviluppo | 3.0.2 | NPM | MIT | Permissiva | Compatibile | |
min-document | 2.19.2 | NPM | MIT | Permissiva | Compatibile | |
ms sviluppo | 2.1.3 | NPM | MIT | Permissiva | Compatibile | |
multimath | 2.0.0 | NPM | MIT | Permissiva | Compatibile | |
nanoid | 3.3.18 | NPM | MIT | Permissiva | Compatibile | |
nanoid | 5.1.16 | NPM | MIT | Permissiva | Compatibile | |
negotiator sviluppo | 1.1.0 | NPM | MIT | Permissiva | Compatibile | |
next-tick | 0.2.2 | NPM | MIT | Permissiva | Compatibile | |
node-fetch | 2.7.0 | NPM | MIT | Permissiva | Compatibile | |
object-assign | 4.1.1 | NPM | MIT | Permissiva | Compatibile | |
object-inspect sviluppo | 1.13.4 | NPM | MIT | Permissiva | Compatibile | |
object-keys | 1.1.1 | NPM | MIT | Permissiva | Compatibile | |
on-finished sviluppo | 2.4.1 | NPM | MIT | Permissiva | Compatibile | |
once sviluppo | 1.4.0 | NPM | ISC | Permissiva | Compatibile | |
onnxruntime-common | 1.30.0 | NPM | MIT | Permissiva | Compatibile | |
onnxruntime-common | 1.31.0-dev.20260911-2a43ec07e | NPM | MIT | Permissiva | Compatibile | |
onnxruntime-node | 1.30.0 | NPM | MIT | Permissiva | Compatibile | |
onnxruntime-web | 1.31.0-dev.20260914-8d85527a0 | NPM | MIT | Permissiva | Compatibile | |
open-color | 1.9.1 | NPM | MIT | Permissiva | Compatibile | |
package-manager-detector | 1.8.0 | NPM | MIT | Permissiva | Compatibile | |
pako | 1.0.11 | NPM | MIT AND Zlib | Permissiva | Compatibile | |
pako | 2.0.3 | NPM | MIT AND Zlib | Permissiva | Compatibile | |
parseurl sviluppo | 1.3.3 | NPM | MIT | Permissiva | Compatibile | |
path-data-parser | 0.1.0 | NPM | MIT | Permissiva | Compatibile | |
path-key | 3.1.1 | NPM | MIT | Permissiva | Compatibile | |
path-to-regexp sviluppo | 8.4.2 | NPM | MIT | Permissiva | Compatibile | |
perfect-freehand | 1.2.0 | NPM | MIT | Permissiva | Compatibile | |
pica | 7.1.1 | NPM | MIT | Permissiva | Compatibile | |
pkce-challenge sviluppo | 5.0.1 | NPM | MIT | Permissiva | Compatibile | |
platform | 1.3.6 | NPM | MIT | Permissiva | Compatibile | |
playwright | 1.64.1 | NPM | Apache-2.0 | Permissiva | Compatibile | |
playwright-core | 1.64.1 | NPM | Apache-2.0 | Permissiva | Compatibile | |
png-chunk-text | 1.0.0 | NPM | MIT | Permissiva | Compatibile | |
png-chunks-encode | 1.0.0 | NPM | MIT | Permissiva | Compatibile | |
png-chunks-extract | 1.0.0 | NPM | MIT | Permissiva | Compatibile | |
points-on-curve | 1.0.1 | NPM | MIT | Permissiva | Compatibile | |
points-on-curve | 0.2.0 | NPM | MIT | Permissiva | Compatibile | |
points-on-path | 0.2.1 | NPM | MIT | Permissiva | Compatibile | |
prettier sviluppo | 3.9.10 | NPM | MIT | Permissiva | Compatibile | |
process | 0.11.10 | NPM | MIT | Permissiva | Compatibile | |
process-nextick-args | 2.0.1 | NPM | MIT | Permissiva | Compatibile | |
protobufjs | 7.6.6 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
proxy-addr sviluppo | 2.0.8 | NPM | MIT | Permissiva | Compatibile | |
punycode | 1.4.1 | NPM | MIT | Permissiva | Compatibile | |
pwacompat | 2.0.17 | NPM | Apache-2.0 | Permissiva | Compatibile | |
qs sviluppo | 6.16.2 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
range-parser sviluppo | 1.3.0 | NPM | MIT | Permissiva | Compatibile | |
raw-body sviluppo | 3.0.2 | NPM | MIT | Permissiva | Compatibile | |
react | 18.3.1 | NPM | MIT | Permissiva | Compatibile | |
react-dom | 18.3.1 | NPM | MIT | Permissiva | Compatibile | |
react-remove-scroll | 2.7.2 | NPM | MIT | Permissiva | Compatibile | |
react-remove-scroll-bar | 2.3.8 | NPM | MIT | Permissiva | Compatibile | |
react-style-singleton | 2.2.3 | NPM | MIT | Permissiva | Compatibile | |
readable-stream | 2.3.8 | NPM | MIT | Permissiva | Compatibile | |
readable-stream | 3.6.2 | NPM | MIT | Permissiva | Compatibile | |
readdirp | 4.1.2 | NPM | MIT | Permissiva | Compatibile | |
require-from-string sviluppo | 2.0.2 | NPM | MIT | Permissiva | Compatibile | |
roughjs | 4.6.4 | NPM | MIT | Permissiva | Compatibile | |
roughjs | 4.6.6 | NPM | MIT | Permissiva | Compatibile | |
router sviluppo | 2.2.0 | NPM | MIT | Permissiva | Compatibile | |
rw | 1.3.3 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
safe-buffer | 5.1.2 | NPM | MIT | Permissiva | Compatibile | |
safe-buffer | 5.2.1 | NPM | MIT | Permissiva | Compatibile | |
safe-regex-test | 1.1.0 | NPM | MIT | Permissiva | Compatibile | |
safer-buffer | 2.1.2 | NPM | MIT | Permissiva | Compatibile | |
sass | 1.51.0 | NPM | MIT | Permissiva | Compatibile | |
scheduler | 0.23.2 | NPM | MIT | Permissiva | Compatibile | |
semver | 7.8.5 | NPM | ISC | Permissiva | Compatibile | |
send sviluppo | 1.2.1 | NPM | MIT | Permissiva | Compatibile | |
serialize-error | 8.1.0 | NPM | MIT | Permissiva | Compatibile | |
serve-static sviluppo | 2.2.1 | NPM | MIT | Permissiva | Compatibile | |
setimmediate | 1.0.5 | NPM | MIT | Permissiva | Compatibile | |
setprototypeof sviluppo | 1.2.0 | NPM | ISC | Permissiva | Compatibile | |
sharp | 0.35.5 | NPM | Apache-2.0 | Permissiva | Compatibile | |
shebang-command | 2.0.0 | NPM | MIT | Permissiva | Compatibile | |
shebang-regex | 3.0.0 | NPM | MIT | Permissiva | Compatibile | |
side-channel sviluppo | 1.1.1 | NPM | MIT | Permissiva | Compatibile | |
side-channel-list sviluppo | 1.0.1 | NPM | MIT | Permissiva | Compatibile | |
side-channel-map sviluppo | 1.0.1 | NPM | MIT | Permissiva | Compatibile | |
side-channel-weakmap sviluppo | 1.0.2 | NPM | MIT | Permissiva | Compatibile | |
sliced | 1.0.1 | NPM | MIT | Permissiva | Compatibile | |
smart-buffer | 4.2.0 | NPM | MIT | Permissiva | Compatibile | |
socks | 2.8.10 | NPM | MIT | Permissiva | Compatibile | |
source-map-js | 1.2.2 | NPM | BSD-3-Clause | Permissiva | Compatibile | |
statuses sviluppo | 2.0.2 | NPM | MIT | Permissiva | Compatibile | |
string-template | 0.2.1 | NPM | MIT | Permissiva | Compatibile | |
string_decoder | 1.1.1 | NPM | MIT | Permissiva | Compatibile | |
string_decoder | 1.3.0 | NPM | MIT | Permissiva | Compatibile | |
stylis | 4.4.0 | NPM | MIT | Permissiva | Compatibile | |
tinyexec | 1.3.0 | NPM | MIT | Permissiva | Compatibile | |
toidentifier sviluppo | 1.0.1 | NPM | MIT | Permissiva | Compatibile | |
tr46 | 0.0.3 | NPM | MIT | Permissiva | Compatibile | |
ts-algebra | 2.0.0 | NPM | MIT | Permissiva | Compatibile | |
ts-dedent | 2.3.0 | NPM | MIT | Permissiva | Compatibile | |
tunnel-rat | 0.1.2 | NPM | MIT | Permissiva | Compatibile | |
type-is sviluppo | 2.1.0 | NPM | MIT | Permissiva | Compatibile | |
typescript sviluppo | 7.0.2 | NPM | Apache-2.0 | Permissiva | Compatibile | |
undici-types | 8.3.0 | NPM | MIT | Permissiva | Compatibile | |
unpipe sviluppo | 1.0.0 | NPM | MIT | Permissiva | Compatibile | |
use-callback-ref | 1.3.3 | NPM | MIT | Permissiva | Compatibile | |
use-sidecar | 1.1.3 | NPM | MIT | Permissiva | Compatibile | |
use-sync-external-store | 1.6.0 | NPM | MIT | Permissiva | Compatibile | |
util-deprecate | 1.0.2 | NPM | MIT | Permissiva | Compatibile | |
uuid | 14.0.2 | NPM | MIT | Permissiva | Compatibile | |
vary sviluppo | 1.1.2 | NPM | MIT | Permissiva | Compatibile | |
virtual-dom | 2.1.1 | NPM | MIT | Permissiva | Compatibile | |
vscode-jsonrpc | 8.2.0 | NPM | MIT | Permissiva | Compatibile | |
vscode-languageserver | 9.0.1 | NPM | MIT | Permissiva | Compatibile | |
vscode-languageserver-protocol | 3.17.5 | NPM | MIT | Permissiva | Compatibile | |
vscode-languageserver-textdocument | 1.0.14 | NPM | MIT | Permissiva | Compatibile | |
vscode-languageserver-types | 3.17.5 | NPM | MIT | Permissiva | Compatibile | |
vscode-uri | 3.0.8 | NPM | MIT | Permissiva | Compatibile | |
webidl-conversions | 3.0.1 | NPM | BSD-2-Clause | Permissiva | Compatibile | |
webworkify | 1.5.0 | NPM | MIT | Permissiva | Compatibile | |
whatwg-url | 5.0.0 | NPM | MIT | Permissiva | Compatibile | |
which | 2.0.2 | NPM | ISC | Permissiva | Compatibile | |
wrappy sviluppo | 1.0.2 | NPM | ISC | Permissiva | Compatibile | |
x-is-array | 0.1.0 | NPM | MIT | Permissiva | Compatibile | |
x-is-string | 0.1.0 | NPM | MIT | Permissiva | Compatibile | |
xmlbuilder2 | 2.1.2 | NPM | MIT | Permissiva | Compatibile | |
xtend | 4.0.2 | NPM | MIT | Permissiva | Compatibile | |
xterm | 5.3.0 | NPM | MIT | Permissiva | Compatibile | |
xterm-addon-fit | 0.8.0 | NPM | MIT | Permissiva | Compatibile | |
zod | 4.6.7 | NPM | MIT | Permissiva | Compatibile | |
zod-to-json-schema sviluppo | 3.25.2 | NPM | ISC | Permissiva | Compatibile | |
zustand | 4.5.7 | NPM | MIT | Permissiva | Compatibile |
File delle versioni bloccate analizzati: bun.lock, lib/diagram-render/bun.lock
Licenze e coerenza
Licenza unica MIT, coerente in tutte le fonti; le dipendenze sono quasi tutte permissive. Questo rapporto non è un parere legale.
Licenze del progetto
- MITLICENSE (Copyright 2026 Garry Tan),
package.json, README e GitHub concordano. - Codice derivatoNOTICE.md: impeccable e DESIGN.md (Apache-2.0), Elaya, hallmark, skill-diet, tstack, pstack (MIT), ognuno con revisione fissata; testi in
licenses/. Le porzioni di «GStack 2» di Sina Matian sono dichiarate nell'intestazione dibrowse/src/session-persist.ts. - Nessun accordo per i contributoriAi contributori non si chiede di cedere diritti con un accordo (CLA); non esiste una versione a pagamento accanto a quella aperta.
- Pacchetto interno senza licenza
lib/diagram-render/package.jsonnon dichiara la licenza; è privato e ricade sotto la MIT del repository.
Distribuzione delle licenze
Per categoria di rischio
Compatibilità con la licenza del progetto (MIT)
| Licenza | Pacchetti | Esito | Obblighi principali |
|---|---|---|---|
| MIT | 353 | Compatibile | Nota di copyright e testo della licenza |
| Apache-2.0 | 52 | Compatibile | Copia della licenza, file NOTICE, indicare le modifiche |
| ISC | 43 | Compatibile | Nota di copyright |
| BSD | 30 | Compatibile | Nota di copyright; clausola di non-endorsement (3-Clause) |
| LGPL | 14 | Attenzione | Collegamento sostituibile dall'utente; sorgente della libreria |
| Unknown | 10 | Da verificare | Da verificare |
| Public domain | 3 | Compatibile | Nessuno |
| MIT / Apache-2.0 | 1 | Compatibile | Nota di copyright e testo della licenza scelta |
Licenze dei pacchetti interni
| Licenza | # | Pacchetto |
|---|---|---|
| MIT | 1 | gstack |
| (none) | 1 | @gstack/diagram-render |
File di licenza trovati (2)
LICENSE | MIT | MIT License |
NOTICE.md | Apache-2.0 | # Third-Party Notices |
Categorie di licenza:
Risultati
Valutazione dell'analista, in ordine di gravità; sotto, i controlli automatici.
Valutazione
La modalità squadra esegue codice nuovo a ogni avvio di sessione, senza firma
bin/gstack-session-update, registrato come hook SessionStart, scarica il ramo stable (o main), porta la copia locale all'ultima versione e lancia ./setup -q --refresh-registered. I controlli presenti riguardano la versione di Bun e la sintassi degli hook, non l'autenticità: nessuna verifica di firma o di tag. Con l'impostazione required ogni membro del team esegue ciò che arriva sul repository di una sola persona.
Raccomandazione: Per un'adozione prudente: niente modalità squadra, installazione fissata a un tag e aggiornamenti manuali dopo aver letto le differenze (gstack-config set update_check false).
Il progetto dipende da una persona
914 commit su 952 (96 %) a nome dello stesso autore, 600 negli ultimi 90 giorni; Scorecard «Contributors» 6/10. Il progetto è legato anche agli altri strumenti dello stesso autore (Capy, Aside, GBrain).
L'installazione modifica la configurazione globale dell'agente
./setup registra hook in ~/.claude/settings.json (Stop sempre, SessionStart in modalità squadra, PreToolUse/PostToolUse dopo conferma) e il README chiede all'agente di aggiungere in CLAUDE.md il divieto di usare mcp__claude-in-chrome__*. Le skill hanno nomi generici che possono sovrapporsi ad altre raccolte installate.
Raccomandazione: Installare con --local o per un solo agente, saltare la regola su Claude in Chrome, verificare le sovrapposizioni di nome prima dell'uso.
Controllo di aggiornamento attivo per impostazione predefinita
Ogni avvio di una skill interattiva esegue gstack-update-check (fino a tre richieste a GitHub, con risultati conservati da 10 minuti a 12 ore). Nessun dato sul codice viene inviato, ma GitHub vede l'indirizzo IP. Anche le revisioni esterne (Codex o Claude Code) sono attive per impostazione predefinita e inviano modifiche e piani all'altro fornitore con l'account dell'utente.
Raccomandazione: gstack-config set update_check false e gstack-config set codex_reviews disabled dove servono.
Versioni pubblicate senza firma e permessi di scrittura in tre procedure automatiche
Scorecard: Signed-Releases non valutabile, Token-Permissions 7/10, Branch-Protection 3/10, analisi statica del codice (SAST) 0. I permessi contents/pull-requests/actions: write sono confinati alle procedure che costruiscono le immagini di /cso.
Dipendenze deprecate o indietro
xterm e xterm-addon-fit deprecati; @anthropic-ai/sdk, mermaid e react indietro di una versione principale; 39 pacchetti presenti in più versioni.
«Google Analytics» segnalato dallo script non si trova nel codice
Nessuna occorrenza di gtag o googletagmanager nel repository; la segnalazione viene da un pacchetto fra le dipendenze. La telemetria vera è quella su Supabase, facoltativa e documentata in docs/privacy.md.
I 50 «segreti» trovati sono falsi positivi
49 sono nei test; l'unico fuori dai test, in lib/redact-patterns.ts, è un'espressione regolare che riconosce chiavi private, non una chiave.
Estensione: i dati presi dalla pagina vengono neutralizzati prima di entrare nell'HTML
In extension/sidepanel.js i valori presi dalla pagina passano da escapeHtml, che neutralizza anche le virgolette per gli attributi; i numeri passano da fmtBoxVal.
Controlli automatici
Skill di terze parti con codice eseguibile
Questi script vengono eseguiti dall'agente con i permessi dell'utente: gstack (cancella file, installa pacchetti, rete, esegue processi, variabili d'ambiente).
Raccomandazione: Fissare la revisione importata e rivedere gli script a ogni aggiornamento.
Pacchetti interni senza licenza dichiarata
@gstack/diagram-render.
Valutazione dell'analista: @gstack/diagram-render è privato e coperto dalla MIT del repository; manca solo il campo della licenza nel suo package.json.
Dipendenze con vulnerabilità note
1 versioni di dipendenze hanno vulnerabilità note e non ancora risolte nel database OSV (0 con punteggio CVSS ≥ 7). Le più gravi: katex 0.16.47 (CVSS ?).
Valutazione dell'analista: GHSA-238p-pmpm-9mq7 su KaTeX 0.16.47 (dentro mermaid, per /diagram e /make-pdf) serve ad aggirare le restrizioni di fiducia solo se è già presente un'alterazione dei prototipi JavaScript (prototype pollution): difficile da raggiungere, e l'input è dell'utente stesso.
Raccomandazione: Aggiornare alle versioni corrette; dove non è possibile, documentare perché la vulnerabilità non riguarda il progetto.
Dipendenze con licenza che impone obblighi
14 dipendenze richiedono attenzione perché hanno una licenza copyleft debole, che obbliga a rendere disponibili le modifiche al loro codice, oppure una licenza non open source: @img/sharp-libvips-darwin-arm64 1.3.4 (LGPL-3.0-or-later), @img/sharp-libvips-darwin-x64 1.3.4 (LGPL-3.0-or-later), @img/sharp-libvips-linux-arm 1.3.4 (LGPL-3.0-or-later), @img/sharp-libvips-linux-arm64 1.3.4 (LGPL-3.0-or-later), @img/sharp-libvips-linux-ppc64 1.3.4 (LGPL-3.0-or-later), @img/sharp-libvips-linux-riscv64 1.3.4 (LGPL-3.0-or-later), @img/sharp-libvips-linux-s390x 1.3.4 (LGPL-3.0-or-later), @img/sharp-libvips-linux-x64 1.3.4 (LGPL-3.0-or-later), @img/sharp-libvips-linuxmusl-arm64 1.3.4 (LGPL-3.0-or-later), @img/sharp-libvips-linuxmusl-x64 1.3.4 (LGPL-3.0-or-later), @img/sharp-wasm32 0.35.5 (Apache-2.0 AND LGPL-3.0-or-later AND MIT), @img/sharp-win32-arm64 0.35.5 (Apache-2.0 AND LGPL-3.0-or-later), @img/sharp-win32-ia32 0.35.5 (Apache-2.0 AND LGPL-3.0-or-later), @img/sharp-win32-x64 0.35.5 (Apache-2.0 AND LGPL-3.0-or-later).
Valutazione dell'analista: Le voci LGPL sono i binari precompilati di libvips distribuiti da sharp, usati senza modifiche e collegati dinamicamente: obblighi ordinari (avviso e possibilità di sostituire la libreria). Il pacchetto npm di gstack non è pubblicato: si installa da sorgente.
Dipendenze con licenza non determinata
10 dipendenze senza licenza riconoscibile: @anthropic-ai/claude-agent-sdk 0.2.141 (SEE LICENSE IN README.md), @anthropic-ai/claude-agent-sdk-darwin-arm64 0.2.141 (SEE LICENSE IN LICENSE.md), @anthropic-ai/claude-agent-sdk-darwin-x64 0.2.141 (SEE LICENSE IN LICENSE.md), @anthropic-ai/claude-agent-sdk-linux-arm64 0.2.141 (SEE LICENSE IN LICENSE.md), @anthropic-ai/claude-agent-sdk-linux-arm64-musl 0.2.141 (SEE LICENSE IN LICENSE.md), @anthropic-ai/claude-agent-sdk-linux-x64 0.2.141 (SEE LICENSE IN LICENSE.md), @anthropic-ai/claude-agent-sdk-linux-x64-musl 0.2.141 (SEE LICENSE IN LICENSE.md), @anthropic-ai/claude-agent-sdk-win32-arm64 0.2.141 (SEE LICENSE IN LICENSE.md), @anthropic-ai/claude-agent-sdk-win32-x64 0.2.141 (SEE LICENSE IN LICENSE.md), khroma 2.1.0 (?).
Valutazione dell'analista: Nove voci sono @anthropic-ai/claude-agent-sdk e i suoi binari: solo sviluppo, termini commerciali Anthropic, non distribuiti agli utenti. khroma (dipendenza di mermaid) non ha licenza nei metadati letti; non verificata a mano.
Raccomandazione: Verificare manualmente la licenza (file LICENSE nel pacchetto o nel repository sorgente).
Nessuna incompatibilità di licenza rilevata
Tutte le 496 dipendenze con licenza nota sono compatibili con MIT.
Rischi per chi adotta
Probabilità e impatto stimati per un singolo sviluppatore o un piccolo team.
| # | Rischio | Probabilità × Impatto | Mitigazione |
|---|---|---|---|
| 1 | Codice malevolo o difettoso arriva con l'aggiornamento automatico | bassa × alta | Niente modalità squadra; installazione fissata a un tag |
| 2 | Una modifica rompe il flusso di lavoro (ritmo di centinaia di commit al mese) | alta × media | Canale stable o versione fissata; leggere il registro delle modifiche (CHANGELOG) |
| 3 | Conflitti con altre skill, hook o istruzioni già presenti | alta × media | Installazione selettiva; non modificare CLAUDE.md come suggerito |
| 4 | Codice o modifiche inviati a un secondo fornitore senza volerlo | media × media | codex_reviews disabled; controllo con gstack-egress list |
| 5 | Abbandono o cambio di direzione del progetto | media × media | Licenza MIT: si può tenere un fork delle sole skill utili |
Alternative
Altre strade per ottenere parte delle stesse funzioni.
Skill selezionate a mano
Prendere da gstack solo le skill utili (licenza MIT) e mantenerle nel proprio metodo, senza hook né aggiornamenti automatici.
Strumenti nativi dell'agente
Revisione, sottoagenti, Claude in Chrome o Playwright via MCP coprono revisione e QA nel browser senza un livello in più.
Raccolte più piccole
pstack e tstack, citati in NOTICE.md come fonti di idee e codice, sono raccolte analoghe di altri autori; non sono state analizzate qui.
Raccomandazioni
Per chi valuta di adottarlo, in ordine di impatto.
| # | Azione | Ambito | Sforzo |
|---|---|---|---|
| 1 | Non usare la modalità squadra; fissare l'installazione a un tag e aggiornare a mano dopo aver letto le differenze | Filiera | Basso |
| 2 | Disattivare controllo di aggiornamento e revisioni esterne dove il codice non deve uscire | Privacy | Basso |
| 3 | Provarlo prima con un account utente separato o su un'altra macchina: hook globali e regole in CLAUDE.md toccano tutto l'ambiente dell'agente | Integrazione | Basso |
| 4 | Adottare solo le skill utili (per esempio /browse, /qa, /make-pdf) invece della raccolta intera, controllando le sovrapposizioni con le skill già installate | Integrazione | Medio |
| 5 | Al progetto: firmare i tag di rilascio e far verificare la firma all'aggiornamento automatico | Filiera | Medio |
| 6 | Al progetto: passare a @xterm/xterm e aggiornare SDK Anthropic e mermaid | Dipendenze | Basso |
Metodo e limiti
- Sorgente analizzata: una copia locale del repository al commit indicato nel blocco «Versione analizzata», letta senza modificarla: README, ARCHITECTURE.md, SECURITY.md, NOTICE.md,
docs/install.md,docs/privacy.md,bin/gstack-session-update,extension/sidepanel.js, le procedure di integrazione continua, la modifica locale a Playwright. - Dipendenze: lo script di inventario della skill non legge
bun.lock; i due file sono stati convertiti con uno script scritto per l'occasione (tools/bunlock-inventory.mjs, conservato con le prove della scheda), che separa le dipendenze di esecuzione da quelle di sviluppo seguendo l'albero a partire dalle dipendenze dichiarate. Licenze e avvisi vengono da deps.dev e, dove mancano, dai registri dei pacchetti. - Metriche: conteggi di righe e ricerche testuali, indicativi. La segnalazione «moduli senza test» è un falso positivo: i test stanno in
test/ebrowse/test(circa 1 440 file) e citanolib/cso,bin,hosts,extension. - Test, build e
./setupnon eseguiti: il repository è trattato come non fidato. - Le skill sono state lette per descrizione e struttura, non una per una; i loro script sono stati classificati automaticamente.
- La distinzione fra dipendenze di sviluppo e di esecuzione deriva dalla conversione di bun.lock e può sbagliare per i pacchetti opzionali legati alla piattaforma.
- Licenza di
khromanon verificata a mano. - Questo rapporto non è un parere legale.