Skip to content

Repository files navigation

Kindred

A shared notebook for your team. You write. Every teammate's AI reads.

The problem

Two engineers. Same team. Same sprint. Both ask their Claude, "add a migration for a users.role column."

One gets back the pattern the team settled on last quarter: separate up/down, idempotent, backfill with a data guard. The other gets back something that works in isolation — but skips the backfill and ends up on staging with a typo'd column name.

Code review catches the drift. Someone reruns the migration. An hour goes sideways.

The model isn't the problem. Every AI on the team reasons from a different pile of context, re-deriving what the team already decided — and sometimes deriving it wrong.

What Kindred does

You write the routine once. Every agent on the team retrieves it, with provenance: who wrote it, when, and whether it's still blessed. Pages that no one touches for six months are flagged stale, so no agent can quietly act on decisions no one remembers making. When an answer turns out wrong, the caller reports it, and the retrieval gets less wrong next time.

Kindred doesn't generate. The backend retrieves, ranks, and frames; your agent does the reasoning — but over shared facts. Retrieval is deterministic lexical scoring by default (integer, in-process — no AI, no API key, no per-query cost); embeddings are opt-in (embedding_provider=openai) if you want cosine similarity instead.

Install

pip install kindred-client
kin install claude-code-patterns
kin ask claude-code-patterns "how do we structure commits?"

Three commands. You're reading four curated pages about Claude Code conventions — the same pages the next teammate's agent will see. Claude Code plugin (MCP + skill + PostToolUse hook): claude-code-plugin/README.md.

Live deployment

Kindred runs on Railway.

Service URL
Backend API https://kindred-backend-production-4024.up.railway.app
Web UI https://kindred-web-production.up.railway.app
KAF spec https://kindredformat-production.up.railway.app

Health: curl .../healthz{"status":"ok"}.

The backend also ships as a second, independent implementation — backend-workers/ (Cloudflare Workers + Neon Postgres) — serving the exact same HTTP contract over a shared database, for teams that want an edge/serverless deploy instead of (or alongside) the Railway path above. Both deploy paths, including how they share one database: see docs/deployment.md.

Repo layout

Path What it is
backend/ FastAPI — users, kindreds, artifacts, ask, audit. Sole schema owner (Alembic).
backend-workers/ Second backend implementation: Hono on Cloudflare Workers + Neon Postgres, same HTTP contract as backend/.
contract-tests/ HTTP contract suite run against both backends over one shared DB — the drift guard between them.
cli/ kin CLI (pip install kindred-client).
claude-code-plugin/ Claude Code plugin: MCP + skill + PostToolUse hook.
web/ Next.js 15 — dashboard, invite landing, audit view.
kindredformat/ KAF 0.1 spec site.
docs/seed-grimoires/ Five starter notebooks you can seed.
scripts/ Seed, invite mint, onboarding benchmark, smoke test.

Network health

Every kindred surfaces four indicators at /dashboard/<slug>/health:

  • Retrieval utility — success rate, top-1 precision, mean rank.
  • Time to first useful retrieval — p50/p90 from join to first reported success.
  • Trust propagation — p50/p90 from publish to threshold-th blessing.
  • Staleness cost — shadow hits plus soon-to-expire returns over 7 days.

JSON: GET /v1/kindreds/<slug>/health with a member's X-Agent-Pubkey.

Run locally

./scripts/integration_smoke.sh

Brings up Postgres, runs migrations, starts backend/ (FastAPI — this script doesn't stand up backend-workers/), seeds all five grimoires, joins with a test agent, asks a question, tears down. Step-by-step: docs/quick-start.md. Railway deploy: docs/deployment.md.

KAF spec

The Kindred Artifact Format 0.1 — how pages are stored and signed.

Security posture

Kindred maps to the OWASP Agentic Skills Top 10 (AST01–AST10): seven controls shipped, two P0-roadmapped for launch, one architecturally out of scope. Full mapping with code references: docs/owasp-ast-mapping.md.

STSS (Ken Huang) explicitly flags AST07 — Update Drift and AST09 — No Governance as open ecosystem gaps. Kindred closes both: auto-expiring artifacts (AST07) and kindred-scoped bless thresholds + audit log (AST09).

License

Multi-licensed by role. Apache-2.0 packages carry their own LICENSE (and NOTICE; redistribution must preserve it per §4(d)). AGPL-3.0 packages rely on the single root LICENSE rather than a per-package copy — this includes backend-workers/ (a second implementation of backend/'s logic) and contract-tests/ (which copies signing/canonicalization code straight out of backend-workers/src/crypto.ts, so it inherits the same license as what it copies).

Path License
backend/, web/, backend-workers/, contract-tests/, root AGPL-3.0
cli/, claude-code-plugin/, kindredformat/ (code) Apache-2.0
kindredformat/content/ (spec text) CC-BY-4.0

Contributing

Launch gate: docs/launch/checklist.md.

About

Kindred — a signed knowledge network for agents. Small trusted groups publish signed playbooks; members' agents retrieve them with cryptographic provenance and threshold-based trust.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages