Skip to main content
Glama

spar

Lerne weiter, während KI den Code schreibt.

npm license node

Fertigen, überzeugenden Code zu reviewen, lehrt dich fast nichts. Du hast keine Position, von der aus du ihn beurteilen könntest, also liest du ihn, nickst und machst weiter.

spar gibt dir die Position zurück. Bevor der Agent irgendetwas schreibt, sagst du, wo die Änderung hingehört, wie du es machen würdest und wo es brechen wird. Dann implementiert er, zeigt dir den Unterschied und notiert jede Stelle, an der dein Modell falsch lag.

Diese Lücken türmen sich zu einem Lehrplan auf, den du nie wählen musstest. Das Konzept, das du am häufigsten verfehlst, steigt von selbst an die Spitze, und die Reibung folgt ihm dorthin, sodass du nie entscheiden musst, hart zu arbeiten.

Wie es aussieht

› add an endpoint for cancelling an order

  spar: level 2 (skeleton), 2 open gaps on "transaction boundaries in an ORM"

  Before I write anything:
    1. Where does this belong, and why there?
    2. How would you approach it? (two sentences)
    3. Where will this go wrong?

› 1. Orders controller, calling into the service
  2. load the order, set status, save
  3. no idea

  [writes the controller, the DI wiring and the error handling,
   and leaves the one line that matters]

  // TODO(spar: decide the transaction boundary. Who opens it,
  //             and what happens if the refund call fails halfway?)

Diese fünf Zeilen schreibst du selbst. Dann vergleicht spar done sie mit dem, was der Agent geschrieben hätte, und sortiert jeden Unterschied in einen von drei Eimern: Du hast etwas missverstanden, du hast dich vertippt, oder deine Version ist besser. Nur die ersten beiden werden als Lücken protokolliert.

Drei Wochen später, mitten in unzusammenhängender Arbeit:

spar: one gap has come due. Ask them to explain "transaction boundaries in an ORM"
in their own words at the next natural pause. Do not show them the answer first.

Übrigens ist die Antwort „keine Ahnung“ völlig in Ordnung. Sie wird so aufgezeichnet, wie sie ist, und ist ein stark genuges Signal, dass die nächste Aufgabe, die dieses Konzept berührt, mehr von dir verlangt, nicht weniger.

Related MCP server: Learning Assistant MCP Server

Installieren

npm i -g spar-agent
spar install                                       # finds your agents, backs up, merges
spar setup --project /path/to/repo --stack ".NET"

Diese letzte Zeile ist wichtig: In einem Verzeichnis, das du nicht benannt hast, passiert nichts. Eine frische Installation ist völlig inert. Sie erstellt nicht einmal ~/.spar, bis du sie auf ein Projekt zeigst.

spar install geht vorsichtig mit Dateien um, die es nicht geschrieben hat. Es führt in das Vorhandene zusammen, sichert die Datei zuerst und ersetzt nur Einträge, die es selbst dort platziert hat. Führe es zweimal aus, und der zweite Lauf ändert nichts. Verwende --dry-run, um zu sehen, was es tun würde.

Wo du stehst

spar stats        # in the terminal
spar dashboard    # one self-contained HTML file
CALIBRATION, share of predictions that held, by week
  2026-07-13  ███████▁▁▁   67%     4/6   clean   mean level 2.3
  2026-07-20  ████▁▁▁▁▁▁   44%     4/9   clean   mean level 2.3
  2026-08-03  ████████▁▁   83%    10/12  clean   mean level 0.8
  2026-08-17  ██████████  100%     9/9   clean   mean level 0.3

CURRICULUM, concepts by weakness. The top row is what to learn next.
  * idempotency in webhooks              3 open / 3   box 1.3
    transaction boundaries in an ORM     8 open / 8   box 2.0
    EF change tracking                   0 open / 3   box 5.0

Die Zahl, die zählt, ist die Kalibrierung: der Anteil deiner Vorhersagen, die überhaupt kein Missverständnis erzeugt haben. Bewusst keine Lückenzählung, denn eine Zählung steigt nur an und würde genau dann als Rückgang gelesen, wenn du besser wirst.

The spar dashboard

Sechs Wochen eines fiktiven .NET-Onboardings. Die Seite folgt deinem Systemdesign.

Das Dashboard ist eine einzelne Datei, die nie das Netzwerk berührt. Kein CDN, keine Webfonts, keine Chart-Bibliothek, und die Diagramme sind handgeschriebenes SVG. Jede Zahl sitzt im Markup, sodass die Seite mit deaktiviertem Skripting, hinter einer strengen CSP oder in einer Anhangs-Vorschau gleich gelesen wird. Skript fügt nur Mehrfachauswahl zur Fokusleiste hinzu. Sie wird in fünf Jahren immer noch offline per Doppelklick geöffnet.

Es gibt darin keine Serien, Punkte oder Abzeichen. In einem Werkzeug, in dem „keine Ahnung“ eine nützliche Antwort ist, würde ein Zähler dir nur beibringen, Kompetenz vorzutäuschen.

Die Stufen

Stufe

Der Agent tut

Du tust

0 rush

alles

eine 30-Sekunden-Frage danach

1 standard

implementiert

erst vorhersagen, danach vergleichen

2 skeleton

Verdrahtung und Signaturen, wobei TODO(spar:) übrig bleibt

die 5 bis 10 Zeilen schreiben, die die Entscheidung tragen

3 transcript

liefert im Chat, schreibt nichts

selbst schreiben und platzieren

Es gibt keinen Ausschalter, nur Stufe 0. Dein eigenes Lückenprotokoll schlägt die Stufe vor und sagt dir warum, und du kannst es jederzeit überstimmen. Überstimmungen werden gezählt, denn jemand, der den Vorschlag ständig korrigiert, sagt dir, dass die Schwellenwerte falsch sind.

Was jeder Agent bekommt

Claude Code

Cursor

Any MCP client

Any skills client

Die drei Fragen

Lückenprotokoll, verteilte Wiederholung, Statistiken

über scripts/log.sh

Das Tor, tatsächliche Durchsetzung

MCP ist standardisiert, wo Hooks es nicht sind, sodass der Server jeden MCP-Client ohne Adapter erreicht. Das Einzige, was er nicht kann, ist das Tor, denn ein MCP-Server bietet Werkzeuge an und fängt die eigenen Schreibvorgänge des Hosts nie ab. Diese Einschränkung ist das ganze Argument für die Pflege von Hook-Adaptern pro Agent und der Grund, warum die freiwilligen Stufen einen guten Test, aber einen schlechten Ersatz darstellen.

Was es nicht tun wird

Alles bleibt auf deinem Rechner, in ~/.spar/. Kein Konto, keine Telemetrie, keine Netzwerkaufrufe, kein eigener API-Schlüssel. Das Protokoll enthält Konzepte und Missverständnisse statt deiner Geschäftslogik, was es sicher macht, es für einen Kollegen zu screenshoten.

Und es versagt offen, immer. Eine fehlende Binärdatei, eine beschädigte Konfiguration, ein Fehler im eigenen Code: Das Tor öffnet sich und du machst weiter. Ein Lernwerkzeug sollte nie der Grund sein, warum du nicht ausliefern kannst.

Einmal pro Aufgabe, nicht einmal pro Datei. Fünfzehn Bearbeitungen hinter einer Vorhersage sind ein Tor.

Eine Aufgabe bleibt am Leben, solange Bewegung darin ist, und verfällt nach 30 Minuten Stille (idleMinutes in ~/.spar/config.json). Das misst Untätigkeit statt Alter, sodass eine lange, sorgfältige Aufgabe nie mittendrin unterbrochen wird. Wenn du etwas Neues beginnst, bevor der Timer abläuft, aktiviert spar next --session <id> ihn sofort wieder.

Die Voreingenommenheit ist beabsichtigt. Das erneute Aktivieren bei einer Folgeaufgabe kostet dich dreißig Sekunden und stößt dich in Richtung spar rush, und so sterben diese Werkzeuge. Eine verpasste Aufgabe kostet eine einzige Lücke, und dieses Konzept kommt wieder.

Eine Lücke kehrt zu Sitzungsbeginn zurück, formuliert als Frage für die nächste natürliche Pause. Nie eine Warteschlange, nie eine Unterbrechung. Beantworte sie gut, und sie rückt ein Feld auf (1, 3, 7, 16 und 35 Tage). Beantworte sie schlecht, und sie beginnt morgen von vorn.

Es gibt keine separate App und kein Postfach zum Ignorieren, denn sie kommt in der Sitzung an, in der du bereits gearbeitet hast.

npm install
npm test          # 118 tests
npm run build
npm run emit      # regenerate the checked-in hook configs

Dieselbe Hook-Definition ist dreimal eingecheckt: Claude Codes Plugin-Layout, der Agent-Plugins-Namespace und Cursors. Die beiden Standards sind sich uneinig, wo clientspezifische Dateien hingehören, sodass es keinen einzigen Ort gibt, der beide zufriedenstellt. Alle drei werden aus src/core/hookconfig.ts von npm run emit generiert, und ein Test schlägt fehl, sobald sie auseinanderdriften.

Lizenz

MIT

A
license - permissive license
Not graded
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Lander-Parren/spar'

If you have feedback or need assistance with the MCP directory API, please join our Discord server