Was es ist und warum es zählt
Du bittest Claude um eine neue Funktion, er schreibt sie voller Selbstvertrauen, und die App startet nicht mehr. Du liest den Fehler und siehst: Er hat eine Option benutzt, die es in der installierten Version der Bibliothek nicht mehr gibt, oder eine Datei mit ihrem alten Namen. Der Code sah richtig aus. Und er war richtig, für die Bibliothek von vor ein paar Monaten.
Genau dafür ist stalemap da. Es schaut sich die Versionen der Bibliotheken in deinem Projekt an, findet, was sich nach dem Datum geändert hat, bis zu dem Claude gelernt hat, und gibt Claude eine kurze Liste, bevor er anfängt. Nach jeder Änderung prüft es dann den Code: Hat Claude etwas Veraltetes benutzt, sagt es ihm, was jetzt richtig ist.
Es ist für alle, die mit Claude Code eine App in JavaScript oder TypeScript bauen, mit Bibliotheken, die sich oft ändern. Eins vorweg: Es ist nicht von Anthropic. Es ist ein Open-Source-Projekt aus der Community unter MIT-Lizenz, entstanden am 19. Oktober 2026. Es ist jung und wird von einer einzigen Person gepflegt: Sieh es als zusätzliche Hilfe, nicht als Garantie.
1. Warum Claude veralteten Code schreibt
Ein Modell wie Claude lernt aus einem Berg von Texten und Code, die bis zu einem bestimmten Datum gesammelt wurden. Dieses Datum heißt Trainings-Cutoff. Was danach passiert, weiß Claude nicht.
Bibliotheken dagegen bleiben nicht stehen. Die neueste Version erscheint, eine Option verschwindet, eine Funktion wird umbenannt, eine Datei heißt plötzlich anders. Claude weiß das nicht und benutzt die Namen, die er beim Lernen tausendmal gesehen hat. Die README von stalemap nennt drei Beispiele:
- maxSteps, eine Option von streamText im AI SDK, die neuere Versionen nicht mehr akzeptieren.
- required_error, eine Option von zod, die neuere Versionen geändert haben.
- middleware.ts in Next.js, die in neueren Versionen proxy.ts heißt.
stalemap rechnet ganz einfach. Es liest, welches Modell du benutzt, und findet dessen Cutoff-Datum. Für jede Bibliothek, die dein Code importiert, schätzt es, welche Version das Modell kannte: die neueste, die mindestens 30 Tage vor diesem Datum erschienen ist. Dann vergleicht es sie mit der Version, die du wirklich installiert hast, anhand der Typen der Bibliothek und ihrer Release Notes, also der Liste der Neuerungen, die die Maintainer veröffentlichen. Was sich dazwischen geändert hat, wird zu einer Notiz.
2. Installiere es in Claude Code
Du brauchst Node.js 20 oder neuer und ein JavaScript- oder TypeScript-Projekt mit einer package.json. Dann gibst du in einer Claude-Code-Sitzung zwei Befehle ein:
/plugin marketplace add Umair/stalemap /plugin install stalemap@stalemap
- Der erste fügt den Marketplace von stalemap hinzu, also den Katalog, aus dem Claude Code das Plugin holt. Das machst du nur einmal.
- Der zweite installiert nicht sofort: Er öffnet das /plugin-Panel mit den Details des Plugins, wo du wählst, wo es aktiv sein soll, zum Beispiel nur für dich oder für das ganze Projekt.
- Bevor du bestätigst, lies die Details. Ein Plugin kann Befehle und einen MCP-Server auf deinem Rechner ausführen: Du solltest wissen, was du installierst.
- Um es später auszuschalten oder zu entfernen, öffne /plugin und geh zum Tab Installed.
Das Plugin fügt zwei Hooks hinzu, also Befehle, die Claude Code von selbst zu einem bestimmten Zeitpunkt ausführt: einen beim Start der Sitzung und einen nach jeder Änderung. Dazu kommen ein MCP-Server, über den Claude die Änderungen einer Bibliothek mit eigenen Worten nachschlagen kann, und zwei Skills. Wir gehen sie einzeln durch.
3. Was Claude beim Start einer Sitzung sieht
Wenn du eine Sitzung öffnest, legt stalemap die Notizen zu den geänderten Bibliotheken in Claudes Kontext, berechnet für das Modell dieser Sitzung. Das wiederholt es nach /clear und nach der Kompaktierung, wenn Claude Code ein langes Gespräch zusammenfasst. Es schreibt keine Dateien: Die Notizen gibt es nur in der Sitzung.
Die Notizen sind eine kurze, sortierte Liste. Zuerst kommen die Änderungen, die betreffen, was dein Projekt wirklich nutzt: die Funktionen, die du importierst, die Konfigurationsoptionen, die Dateinamen. Jede Notiz sagt, was entfernt oder umbenannt wurde und was du stattdessen nimmst.
Wenn du die Notizen in der CLAUDE.md willst
Mit dem Skill /stalemap:sync landen die Notizen auch in der CLAUDE.md oder der AGENTS.md, der Datei mit den Regeln deines Projekts. So bleiben sie im Repository, und alle, die mit dir arbeiten, sehen sie auch. Der Block steht zwischen zwei Markierungen, <!-- stalemap:start --> und <!-- stalemap:end -->, und der Rest der Datei bleibt unberührt.
Ein Detail: Claude Code liest die CLAUDE.md, nicht die AGENTS.md. Wenn deine Notizen in der AGENTS.md stehen, füg der CLAUDE.md die Zeile @AGENTS.md hinzu.
4. Die Prüfung nach jeder Änderung
Jedes Mal, wenn Claude eine Datei schreibt oder ändert, läuft der zweite Hook, der Wächter. Er startet die Typprüfung deines Projekts, also tsc, den TypeScript-Compiler, und meldet Claude, was er findet, in dieser Reihenfolge:
- Fehler, die von einer Bibliothek kommen, die sich nach dem Cutoff geändert hat, mit der Notiz, die sagt, wie man sie behebt.
- Dinge, die noch kompilieren, sich aber geändert haben: verschobene Konfigurationsschlüssel und Member, umbenannte Dateien, wie middleware.ts, das zu proxy.ts wurde.
- Die übrigen Fehler des Compilers, in der geänderten Datei und in denen, die sie benutzen. Die behaupten nicht, dass sich eine Bibliothek geändert hat: Es sind ganz normale Fehler.
So sieht Claude den Fehler und die Korrektur sofort, während er arbeitet, statt dass du es erst beim Öffnen der App merkst. Eine Grenze solltest du kennen: Veralteten Code, der noch kompiliert, findet der Wächter nur zum Teil. Den Rest erwischt er nur, wenn eine Notiz davon spricht.
Bevor du eine Bibliothek aktualisierst
Das Plugin hat auch einen Skill, upgrade, der Claude sagt, die Änderungen eines Pakets nachzuschlagen, bevor er es benutzt oder aktualisiert. Ich frage so:
Ich will [Name der Bibliothek] auf die neueste Version aktualisieren. Bevor du den Code anfasst, schau mit stalemap nach, was sich in dieser Bibliothek geändert hat: entfernte oder umbenannte Funktionen, neue Pflichtoptionen, Dateien mit neuem Namen. Dann gib mir eine Liste der Stellen in meinem Projekt, die geändert werden müssen, jeweils mit dem Dateinamen. Ändere nichts, bis ich ok sage.
Und wenn das Update erledigt ist:
Ich habe [Name der Bibliothek] aktualisiert. Führ die Typprüfung und die Tests aus und sag mir, was kaputtgegangen ist und warum. Behebe eins nach dem anderen.
5. Im Terminal und in automatischen Prüfungen
Du kannst stalemap auch ohne das Plugin benutzen, im Terminal, im Projektordner:
- npx stalemap: eine Vorschau. Zeigt, was sich geändert hat, und den Block, den es schreiben würde.
- npx stalemap sync: schreibt den Block in die CLAUDE.md oder die AGENTS.md.
- npx stalemap check: prüft, ob der Block da und aktuell ist.
check ist für die CI gedacht, also die automatischen Prüfungen, die bei jedem Push laufen, zum Beispiel mit GitHub Actions. Fehlt der Block oder ist er veraltet, endet es mit einem Fehler und die Prüfung schlägt fehl. Wenn also jemand eine Bibliothek aktualisiert und die Notizen vergisst, merkst du es sofort. In der README gibt es auch eine fertige GitHub Action.
Denk daran, dass die Notizen Platz in Claudes Kontext belegen, also zusätzliche Tokens in jeder Sitzung. Standardmäßig hält stalemap sie bei etwa 1.800 Tokens und setzt die zu deinem genutzten Code nach vorne.
6. Was deinen Rechner verlässt
Das ist der Teil, den ich zuerst prüfen würde, deshalb hier ganz klar. Bei der normalen Nutzung:
- Dein Code verlässt nie den Rechner. Welche Bibliotheken du importierst, prüft es lokal auf deinem Computer.
- Nur Paketnamen und Versionen gehen raus: an die npm-Registry, an GitHub für die Release Notes und an models.dev für die Cutoff-Daten der Modelle.
- Du brauchst keinen API-Schlüssel, und stalemap hat keinen eigenen Server und sammelt keine Telemetrie.
Dann gibt es drei Optionen, --llm, --guides und --examples, mit denen Claude Zusammenfassungen, Notizen aus Upgrade-Guides und Vorher-nachher-Beispiele schreibt. Damit gehen an Claude die Typ-Unterschiede, Auszüge aus den Release Notes und die Namen der Funktionen, die du importierst. Dein Code nicht. Aber sie verbrauchen Tokens: Nutz sie, wenn du sie brauchst, nicht aus Gewohnheit.
Häufige Fehler
- Es in einem Flutter-, Python- oder Swift-Projekt installieren. Es funktioniert nur mit JavaScript und TypeScript.
- Die Installation bestätigen, ohne die Details des Plugins zu lesen. Es führt Befehle auf deinem Rechner aus: Schau vorher, was es tut.
- Glauben, dass es die Tests ersetzt. Die Notizen helfen, aber Claude ignoriert sie manchmal. Tests und Typprüfung bleiben dein Sicherheitsnetz.
- Es in einem Monorepo mit mehreren package.json-Dateien benutzen. Im Moment liest es nur eine, ohne Workspaces.
- --llm, --guides oder --examples bei jedem Lauf einschalten. Sie schicken Daten an Claude und verbrauchen Tokens.
Checkliste
- Das Projekt ist JavaScript oder TypeScript, mit einer einzigen package.json
- Ich habe Node.js 20 oder neuer
- Ich habe die Details des Plugins vor der Installation gelesen
- Ich habe die zwei Befehle in Claude Code ausgeführt
- Ich habe mir die Notizen mit npx stalemap angesehen
- Wenn ich die Notizen im Repository will, habe ich /stalemap:sync ausgeführt
- Meine CI führt npx stalemap check aus
- Ich nutze --llm, --guides und --examples nur, wenn ich sie brauche
Häufige Fragen
Funktioniert es mit Flutter oder Python?
Nein. Im Moment liest stalemap nur JavaScript- und TypeScript-Projekte mit einer package.json. In einem Flutter-, Python- oder Swift-Projekt hat es nichts zu lesen.
Ist das ein Tool von Anthropic?
Nein. Es ist ein Open-Source-Projekt aus der Community unter MIT-Lizenz, kein offizielles Produkt von Anthropic. Es ist im Oktober 2026 entstanden und wird von einer einzigen Person gepflegt. Lies die Details des Plugins vor der Installation, wie bei jedem Plugin von Dritten.
Kostet es mich etwas?
Das Projekt ist kostenlos, und für die normale Nutzung brauchst du keinen API-Schlüssel. Die Notizen landen aber in Claudes Kontext, also kommen in jeder Sitzung Tokens dazu. Und die Optionen --llm, --guides und --examples lassen Claude arbeiten, sie verbrauchen also Tokens.