Skip to main content
Glama

Portabler, git-gestützter Projektzustand für langlaufende KI-Arbeit — in Claude Code, Cursor oder allem, was MCP spricht.

Es ist kein Gedächtnis-Werkzeug. Ein Gedächtnis-Werkzeug beantwortet „Worüber haben wir gesprochen?" Continuity beantwortet eine andere Frage: „Was ist über dieses Projekt jetzt wahr, und was darf nicht angefasst werden?"

Warum es so gebaut ist

  • Der Zustand lebt als einfache Markdown-Dateien, die von git verfolgt werden. Git ist das Ereignisprotokoll: Verlauf = git log, Rollback = git revert, Audit = git blame. Jede Behauptung ist menschenlesbar, diffbar und von Hand bearbeitbar. Du prüfst, was die KI erfasst hat, genauso wie du generierten Code prüfst — als Diff, wann immer du willst. Es gibt kein Genehmigungs-Gate zum Zeitpunkt der Erfassung.

  • Zwei Speichermodi, eine API. Der Repo-Modus (<repo>/.continuity/, gefunden durch Aufwärtsgehen vom Arbeitsverzeichnis) passt für Editor-/Agent-Tools mit einem Projekt-CWD wie Claude Code. Der zentrale Modus (~/.continuity/projects/<name>/, benannte Projekte) passt für Tools ohne Projekt-CWD wie Claude Desktop — du beziehst dich einfach mit Namen auf ein Projekt.

  • Der Fortsetzungskontext ist eine deterministische Projektion dieser Dateien (kein LLM im Lesepfad) — eingefrorene Einschränkungen, aktive Entscheidungen mit den Gründen, warum sie ältere ersetzt haben, abgelehnte Wege, die du nicht erneut vorschlagen solltest, offene Fragen und der nächste Schritt.

  • Vertrauen entsteht aus Ehrlichkeit, nicht aus blindem Glauben. Jede Behauptung trägt confidence + provenance, sodass eine neue Sitzung weiß, was bestätigt vs. KI-abgeleitet ist, und kalibriert, statt allem zu vertrauen.

Siehe DESIGN.md für die vollständige Architektur und poc/ für die Validierung, die sie motiviert hat.

Related MCP server: KeepGoing MCP Server

Installation (als Claude-Plugin)

Continuity ist ein Claude-Code-Plugin, das als eigener Plugin-Marktplatz vertrieben wird — dieses Repo ist der Marktplatz. Es läuft überall dort, wo Claude Code läuft: im Terminal, in der Desktop-App und im Web. In Claude Code:

/plugin marketplace add vikcena01/ai-continuity-plugin
/plugin install continuity@continuity-marketplace

Das war's — der gebündelte MCP-Server, die continuity-Fähigkeit (Auto-Fortsetzen + Auto-Erfassen), der SessionStart-Hook und die /resume /freeze /why-Befehle installieren sich alle zusammen. dist/ ist eingecheckt und ohne Abhängigkeiten, daher gibt es keinen Build-Schritt bei der Installation.

Lokale Entwicklung

npm install
npm run build   # typecheck + bundle to dist/
npm test        # build + 69 assertions across four suites

Die Schleife (CLI)

continuity init "Build Snip, an internal URL shortener"
continuity record-decision "PostgreSQL is the source of truth" --body "ops knows it; volume is modest"
continuity reject "DynamoDB as primary store" --reason "KV overhead unjustified at our volume"
continuity record-constraint "Short codes are exactly 7-char base62" --body "printed in marketing + partner contract"
continuity freeze "7-char base62"     # lock an invariant — fuzzy: id OR title substring
continuity resume                     # <- the compact state a new session gets
continuity why "301"                  # <- what a decision replaced, and why
continuity resolve "8-char codes" --reject --reason "separate namespace"
continuity list                       # ids are short: d1k3, c2m9, x1p4, ...
continuity log                        # the git-backed event log

Behauptungen erhalten kurze, tippbare IDs — ein Typ-Präfix, eine Sequenznummer und ein Zwei-Zeichen-Suffix: d1k3, c2m9, x1p4. Das Suffix macht parallele Arbeit sicher: Ohne es schreiben zwei Entwickler, die jeweils die 16. Entscheidung aufzeichnen, beide claims/d16.md und kollidieren beim Merge. freeze / why / supersede / resolve akzeptieren eine ID oder einen Titel-Teilstring. Der Zustand wird unter claims/ geschrieben und bei jeder Änderung automatisch in git committet — aber nie automatisch gepusht, sodass resume dich warnt, wenn erfasste Commits ungepusht herumliegen.

Eine Behauptung abschließen

resolve ist der einzige Weg, auf dem eine Behauptung einen Endstatus erreicht, und der Grund ist Pflicht — eine Behauptung, die einfach verschwindet, lehrt die nächste Sitzung nichts:

continuity resolve <id-or-text> --accept --reason "..."   # a parked conflict wins
continuity resolve <id-or-text> --reject --reason "..."   # it becomes a guardrail
continuity resolve <id-or-text> --close  --reason "..."   # a settled risk/question

Das Annehmen einer Behauptung, die gegen eine eingefrorene geparkt ist, erfordert zusätzlich --unfreeze. Einfrieren ist die einzige menschliche Handlung im Modell, daher muss das Überschreiben eine zweite bewusste Handlung sein.

Verwendung in Claude Desktop (MCP)

Jeder Host, der MCP spricht, aber kein Projekt-CWD hat, kann den MCP-Server mit benannten Projekten verwenden. (Hinweis: Die Claude-Desktop-App führt Claude Code darin aus, sodass das vollständige Plugin — Hooks, Befehle, Fähigkeit — dort funktioniert; dieser Pfad ist für reine MCP-Hosts.) Baue (npm run build), dann füge zu claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "continuity": {
      "command": "node",
      "args": ["/absolute/path/to/ai-continuity-plugin/dist/mcp.js"],
      "env": { "CONTINUITY_HOME": "/Users/you/.continuity/projects" }
    }
  }
}

Dann im Chat: „Erstelle ein Continuity-Projekt namens snip"create_project; „Setze snip fort"resume_context; das Modell zeichnet Entscheidungen/Einschränkungen/Ablehnungen auf, während du arbeitest. Ein vom Benutzer aufrufbarer resume-Prompt ist der Desktop-Ersatz für den Auto-Fortsetzen-Hook von Claude Code. Werkzeuge: list_projects, create_project, resume_context, record_decision, record_constraint, record_rejection, record_open, capture, resolve_claim, freeze_claim, why.

Als Claude-Code-Plugin (Bonus)

Dieses Repo ist auch ein Claude-Code-Plugin (Manifest unter .claude-plugin/plugin.json). Dort bekommst du zusätzlich zum MCP-Server Dinge, die Claude Desktop nicht kann:

  • einen SessionStart-Hook (hooks/hooks.json), der resume_context bei neuen / fortgesetzten / nach-Kompaktierung-Sitzungen automatisch einfügt — du musst nie fragen;

  • einen Stop-Hook, der am Ende jeder Runde eine Erfassungsprüfung ausführt, sodass Entscheidungen aufgezeichnet werden, ohne dass jemand daran denkt zu fragen. Zwei unabhängige Schutzmechanismen (stop_hook_active plus eine Zeit-Drossel) machen eine Endlosschleife unmöglich;

  • Slash-Befehle /resume, /freeze, /why.

Das Repo enthält außerdem .claude/settings.json, das dieselben Hooks gegen sein eigenes eingechecktes dist/ registriert. Ein Mitarbeiter, der nur git clone ausführt, erhält daher Auto-Fortsetzen und Auto-Erfassen, ohne etwas zu installieren. Beide Hooks deduplizieren pro Sitzung, sodass es harmlos ist, das Plugin installiert zu haben und das Repo zu klonen.

Behauptungsformat

Jede .continuity/claims/<id>.md:

---
id: d4k7
type: decision            # decision | constraint | rejected_alternative | mission | milestone | question | next_action | ...
status: accepted          # accepted | frozen | superseded | rejected | open | needs_review | resolved | done
resolution:               # set by `resolve`: why this claim was closed
confidence: confirmed     # confirmed | tentative | unverified
provenance:
  origin: manual
  created: 2026-08-04T00:00:00.000Z
supersedes: []
superseded_by: null
depends_on: []
tags: []
---
Postgres is the primary datastore; a Redis read cache may come later.

Das Behauptungsformat (ein Vertrag)

Sobald das Repo eines anderen Behauptungen enthält, ist das Dateiformat ein Vertrag — daher trägt es eine Version:

---
schema: 1              # absent means 1
id: d16k3              # <type prefix><n><2-char suffix>; the suffix keeps concurrent clones from colliding
type: decision         # mission requirement decision constraint architecture milestone
                       # hypothesis experiment risk question next_action rejected_alternative
title: One crisp fact
status: accepted       # accepted active frozen open superseded invalidated rejected
                       # needs_review completed done resolved
confidence: confirmed  # unverified tentative confirmed
provenance: { origin: auto, created: ... }
supersedes: []
superseded_by: null
superseded_reason: ""  # why the replacement happened — travels with the claim
resolution: ""         # why it was closed, set by `continuity resolve`
---

Prose body. The reason, the context, whatever a future session needs.

Stabilitätsversprechen. Eine Behauptung, die von einem älteren Continuity geschrieben wurde, ist immer lesbar: fehlendes schema bedeutet 1, und ältere Formen migrieren im Speicher vorwärts, ohne deine Dateien umzuschreiben. Eine Behauptung, die von einem neueren Continuity geschrieben wurde, wird beim Namen verweigert, laut, statt halb geparst zu werden — eine Form zu erraten, die wir nicht verstehen, ist, wie Zustand stillschweigend degradiert. continuity migrate schreibt Dateien im aktuellen Schema um, wenn du die Version explizit auf der Platte haben willst.

Prüfen, was erfasst wurde

Die Erfassung ist autonom, daher ist die Sicherheitsvorkehrung, dass du sehen kannst, was geschrieben wurde:

continuity review            # semantic diff: what appeared, changed status, or was edited — and why
continuity review --accept   # mark it reviewed

Es fängt sowohl Handbearbeitungen als auch Werkzeug-Schreibvorgänge ab, und der Fortsetzungskontext sagt dir, wann Änderungen warten.

Status

v1.0 — deterministischer Kern + CLI + MCP-Server + Claude-Code-Plugin. Versionierte Behauptungsdateien, kollisionssichere IDs, Fuzzy-Suche, eine budgetierte Fortsetzungsprojektion, git-gestütztes Ereignisprotokoll und 124 Assertions über sieben Suiten (npm test).

Heute funktionierend:

  • Autonome Erfassung, gesteuert durch einen Stop-Hook am Ende jeder Runde — nicht dadurch, dass das Modell daran denkt.

  • Ein Abgleicher hinter jeder Batch-Erfassung: Deduplizierung, Abstammung erhaltende Ersetzung und ein Einfrier-Schutz, der alles, was einer eingefrorenen Behauptung widerspricht, als needs_review parkt, statt es anzuwenden.

  • Ein resolve-Verb, um zu schließen, was der Abgleicher parkt, und um Risiken/Fragen zu schließen, sobald sie geklärt sind.

Bekannte Grenzen, als Behauptungen im eigenen .continuity/ dieses Repos verfolgt: Die Erfassungsprüfung des Stop-Hooks ist auf höchstens einmal pro 10 s gedrosselt, sodass eine in einem sehr schnellen Austausch geklärte Entscheidung immer noch verpasst werden kann (q3); und die zuverlässige Statusextraktion aus unordentlichen Sitzungen bleibt das offene technische Risiko (q2).

Das Zeichen

Ein C, gezeichnet als ein einziger ununterbrochener Bogen — der Faden, der zwischen Sitzungen überlebt —, der in einem Knoten endet, einer einzelnen erfassten Behauptung. assets/icon.svg ist dasselbe Zeichen auf einer abgerundeten Kachel für einen Avatar oder ein Favicon; assets/logo-light.svg und assets/logo-dark.svg sind die Wortmarken-Lockups, ausgewählt durch prefers-color-scheme, sodass beide GitHub-Designs funktionieren.

Lizenz

MIT — siehe LICENSE. Copyright (c) 2026 Vikash.

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

Maintenance

Maintainers
Response time
Release cycle
Releases (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

  • A
    license
    B
    quality
    D
    maintenance
    Gives AI coding assistants persistent memory, safety controls, and project awareness by tracking coding sessions, protecting critical files from modifications, and managing approval workflows with automatic changelog generation.
    19
    13
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Provides AI coding assistants with persistent project memory by capturing development checkpoints during git commits, branch switches, and inactivity. It enables seamless task resumption through tools that retrieve session history, momentum, and synthesized re-entry briefings.
    93
    3
    MIT

View all related MCP servers

Related MCP Connectors

  • Give your AI agent a persistent map of your project's structure, dependencies, and bugs.

  • Git-backed platform for skills, tools, and context for AI agents

  • The project brain for AI coding agents — memory, decisions, sprints, knowledge base via MCP.

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/vikcena01/ai-continuity-plugin'

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