{"id":50267957,"url":"https://github.com/sudomichael/continuum","last_synced_at":"2026-05-27T15:00:57.735Z","repository":{"id":360272110,"uuid":"1249397699","full_name":"sudomichael/continuum","owner":"sudomichael","description":"A living project brain that ingests Claude Code and Codex sessions and synthesizes operational docs per project.","archived":false,"fork":false,"pushed_at":"2026-05-25T17:34:04.000Z","size":214,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-25T19:27:59.560Z","etag":null,"topics":["agent-tools","ai-tools","claude-code","codex-cli","developer-tools","go","mcp-server","nextjs","project-management","self-hosted","typescript"],"latest_commit_sha":null,"homepage":"https://getcontinuum.dev","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sudomichael.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-25T16:52:49.000Z","updated_at":"2026-05-25T17:34:08.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/sudomichael/continuum","commit_stats":null,"previous_names":["sudomichael/continuum"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/sudomichael/continuum","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudomichael%2Fcontinuum","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudomichael%2Fcontinuum/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudomichael%2Fcontinuum/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudomichael%2Fcontinuum/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sudomichael","download_url":"https://codeload.github.com/sudomichael/continuum/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sudomichael%2Fcontinuum/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33570993,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-27T02:00:06.184Z","response_time":53,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-tools","ai-tools","claude-code","codex-cli","developer-tools","go","mcp-server","nextjs","project-management","self-hosted","typescript"],"created_at":"2026-05-27T15:00:56.523Z","updated_at":"2026-05-27T15:00:57.722Z","avatar_url":"https://github.com/sudomichael.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# Continuum\n\n**A living project brain for founders running many AI-assisted projects.**\n\n[![Release](https://img.shields.io/github/v/release/sudomichael/continuum?label=release\u0026color=4b8eff)](https://github.com/sudomichael/continuum/releases)\n[![CI](https://img.shields.io/github/actions/workflow/status/sudomichael/continuum/release.yml?label=release%20build)](https://github.com/sudomichael/continuum/actions)\n[![License: AGPL-3.0](https://img.shields.io/badge/license-AGPL--3.0-green.svg)](./LICENSE)\n[![Discussions](https://img.shields.io/github/discussions/sudomichael/continuum?color=adc6ff)](https://github.com/sudomichael/continuum/discussions)\n\n[**getcontinuum.dev**](https://getcontinuum.dev) · [Install](#install) · [How it works](#how-it-works) · [Self-host](#self-hosting) · [Contributing](./CONTRIBUTING.md)\n\n\u003c/div\u003e\n\n---\n\nContinuum continuously synthesizes a tight operational document for each of your AI-assisted projects — what it is, where it stands, what's blocking, what's next — from your **Claude Code** and **Codex** sessions, manual captures, and decisions. Stop work for three weeks, come back, regain full context in under 30 seconds.\n\n\u003e AI coding sessions act like isolated managers. Continuum is the executive layer above them.\n\n## Install\n\n**On your dev machine** (one line, after you've stood up a Continuum server):\n\n```bash\ncurl -fsSL https://get.getcontinuum.dev/install.sh | sh\n```\n\nThat downloads the `continuum` CLI, verifies its SHA256, drops it into `~/.continuum/bin/`, wires your shell, and drops you straight into `continuum connect` — the browser-pairing flow that authorizes this machine and installs hooks into every coding agent it finds (Claude Code, Codex CLI).\n\nAlternate install paths:\n\n- **Homebrew** (macOS / Linux): `brew install sudomichael/tap/continuum`\n- **Go**: `go install github.com/sudomichael/continuum/cli@latest`\n- **Binary download**: grab a release from [the releases page](https://github.com/sudomichael/continuum/releases)\n\nTo install Continuum the **server**, see [Self-hosting](#self-hosting).\n\n## How it works\n\n```\n┌──────────────┐       SessionEnd / Stop hook       ┌─────────────────┐\n│ Claude Code  │ ─────── transcript via POST ─────▶ │   Continuum     │\n│ Codex CLI    │                                    │   (your server) │\n│ (any agent)  │ ◀─── tools via MCP server ─────── │                 │\n└──────────────┘                                    └────────┬────────┘\n                                                             │\n                                                             ▼\n                                                   ┌─────────────────┐\n                                                   │ Brain synthesis │\n                                                   │ (SMART + CHEAP  │\n                                                   │  AI tiers)      │\n                                                   └─────────────────┘\n```\n\n1. **Hooks fire automatically** on session events. SessionStart auto-registers any git repo as a project. SessionEnd / Stop POSTs the transcript to your Continuum server.\n2. **Continuum summarizes** the session via a cheap model and **synthesizes a brain doc** via a smart model: what changed, decisions made, blockers, next actions.\n3. **The dashboard surfaces it** — one row per project showing state, focus, momentum, blockers. Open a project to see its full brain, threads, decisions, and timeline.\n4. **MCP tools** give agents a way to talk back: *\"register this with continuum,\"* *\"what's blocking parcelwise?\"* etc.\n\n## Surfaces\n\n| Path | What |\n| --- | --- |\n| `/` | Executive dashboard — one row per project |\n| `/projects/[slug]` | Project Brain — synthesized sections + threads + decisions + recent updates |\n| `/timeline` | Chronological operational memory stream |\n| `/settings` | AI provider, password, connected CLI devices |\n| `CMD+K` | Quick Capture — paste a thought; AI classifies + re-synthesizes |\n\n## AI provider flexibility\n\nTwo model tiers, each independently configurable:\n\n- **SMART** — brain synthesis (low volume, strategic)\n- **CHEAP** — session summarization + capture classification (high volume)\n\nBuilt-in presets:\n\n| Provider | Notes |\n| --- | --- |\n| Anthropic (Claude) | Native SDK, top quality |\n| OpenAI (GPT) | |\n| **Ollama** | Local, free OSS models. $0/mo. |\n| **OpenRouter** | One key, 100+ models including OSS |\n| Custom | Any OpenAI-compatible endpoint (vLLM, llama-cpp-server, LM Studio, Groq, Together, DeepSeek, …) |\n\nConfigure in `/settings`. Mix-and-match freely — e.g. Anthropic SMART + Ollama CHEAP keeps quality up where it matters and costs near zero where it doesn't.\n\n## Self-hosting\n\nContinuum the **server** is a Next.js app + Postgres. Three install options, in order of effort:\n\n### Option A — Docker Compose (recommended)\n\n```bash\ngit clone https://github.com/sudomichael/continuum\ncd continuum\ndocker compose up -d           # spins up Postgres\ncp .env.example .env\n# Edit .env — paste the docker postgres URL or a Neon URL\nnpm install\nnpm run build \u0026\u0026 npm start\n```\n\n### Option B — Build from source against your own Postgres\n\nSame as A but skip `docker compose up`. Point `DATABASE_URL` at whatever Postgres you've already got — [Neon](https://neon.tech) free tier is the lowest-effort path.\n\n### Option C — One-click deploy\n\n[![Deploy on Railway](https://railway.com/button.svg)](https://railway.com/new/template?template=https%3A%2F%2Fgithub.com%2Fsudomichael%2Fcontinuum)\n[![Deploy to Render](https://render.com/images/deploy-to-render-button.svg)](https://render.com/deploy?repo=https://github.com/sudomichael/continuum)\n\nBoth will provision Postgres + an app instance from this repo. Generate `ENCRYPTION_KEY` and `CONTINUUM_TOKEN` yourself:\n\n```bash\nopenssl rand -hex 32   # ENCRYPTION_KEY\nopenssl rand -hex 24   # CONTINUUM_TOKEN\n```\n\n…and paste them into the env-var step.\n\n### Option D — Pre-built Docker image\n\n```bash\ndocker run -p 3000:3000 \\\n  -e DATABASE_URL='postgresql://...' \\\n  -e ENCRYPTION_KEY=\"$(openssl rand -hex 32)\" \\\n  -e CONTINUUM_TOKEN=\"$(openssl rand -hex 24)\" \\\n  ghcr.io/sudomichael/continuum:latest\n```\n\n`ghcr.io/sudomichael/continuum:latest` always tracks `main`. Tagged versions (`:v0.1.1`, `:0.1`) are published on every release.\n\nAfter `npm start`, open `http://localhost:3000` and log in with password **`continuum`** (change it immediately at `/settings`). Then install the CLI on every machine where you use Claude Code / Codex — they all point at the same Continuum.\n\n## Bring your own agent\n\nContinuum officially supports Claude Code and Codex CLI hooks. **Anything else** that can run a shell command at session end can plug in via the universal ingest endpoint:\n\n```bash\ncurl -X POST \"$CONTINUUM_URL/api/ingest\" \\\n  -H \"Content-Type: application/json\" \\\n  -H \"X-Continuum-Token: $CONTINUUM_TOKEN\" \\\n  -d '{ \"cwd\": \"'\"$(pwd)\"'\", \"source\": \"custom\", \"sessionId\": \"...\", \"transcript\": \"...\" }'\n```\n\nIf `sessionId` is included, Continuum dedupes per-session so per-turn hooks work too. Works with Cursor, Aider, Cline, Gemini CLI, custom shell wrappers.\n\n## Privacy + telemetry\n\nContinuum does **not** collect telemetry by default. The CLI can ping an aggregate-count endpoint when explicitly opted in (`CONTINUUM_TELEMETRY=1`); without that env var, no network calls beyond your own Continuum server are ever made. Your transcripts go only to *your* server and *your* AI provider.\n\n## Env vars\n\nSee [.env.example](./.env.example). Headlines:\n\n| Var | What |\n| --- | --- |\n| `DATABASE_URL` | Postgres connection string (required) |\n| `ENCRYPTION_KEY` | 32-byte hex; auto-generated on first run. Encrypts AI provider keys at rest. |\n| `CONTINUUM_TOKEN` | Legacy shared secret for hooks. New installs should use per-device CLI tokens (browser pairing). |\n| `CONTINUUM_PASSWORD_HASH` | Optional pre-seeded scrypt hash for stateless deploys. |\n| `ANTHROPIC_API_KEY` / `OPENAI_API_KEY` | Fallbacks if `/settings` is empty for that provider. |\n| `DEMO_MODE=1` | Run with a canned mock provider (no real AI calls). |\n\n## License\n\n[AGPL-3.0](./LICENSE). Self-hosting is free forever. If you modify Continuum and run it as a service for others, your changes must be released under the same license. A managed hosted version is planned — same codebase, paid features gated behind env flags.\n\n## Contributing\n\n[CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines. Security reports: [SECURITY.md](./SECURITY.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsudomichael%2Fcontinuum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsudomichael%2Fcontinuum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsudomichael%2Fcontinuum/lists"}