{"id":47708149,"url":"https://github.com/norrietaylor/distillery","last_synced_at":"2026-05-20T22:13:44.806Z","repository":{"id":346271183,"uuid":"1188498732","full_name":"norrietaylor/distillery","owner":"norrietaylor","description":"Team knowledge evaporates daily — pairing sessions, debugging context, architectural rationale lost to Slack. Distillery captures it at the point of creation, connects it into a living graph, and surfaces it conversationally. It monitors feeds, tracks what matters to your projects, and alerts you before you know to ask. A team brain that learns.","archived":false,"fork":false,"pushed_at":"2026-04-03T03:08:15.000Z","size":6271,"stargazers_count":3,"open_issues_count":15,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-03T04:31:19.632Z","etag":null,"topics":["claude-code","duckdb","embeddings","knowledge-base","mcp","mcp-server","second-brain","semantic-search","team-knowledge","vector-search"],"latest_commit_sha":null,"homepage":"https://norrietaylor.github.io/distillery/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/norrietaylor.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"docs/roadmap.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-22T06:47:56.000Z","updated_at":"2026-04-03T03:08:17.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/norrietaylor/distillery","commit_stats":null,"previous_names":["norrietaylor/distillery"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/norrietaylor/distillery","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norrietaylor%2Fdistillery","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norrietaylor%2Fdistillery/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norrietaylor%2Fdistillery/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norrietaylor%2Fdistillery/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/norrietaylor","download_url":"https://codeload.github.com/norrietaylor/distillery/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/norrietaylor%2Fdistillery/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31501903,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["claude-code","duckdb","embeddings","knowledge-base","mcp","mcp-server","second-brain","semantic-search","team-knowledge","vector-search"],"created_at":"2026-04-02T18:07:33.896Z","updated_at":"2026-05-20T22:13:44.798Z","avatar_url":"https://github.com/norrietaylor.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/norrietaylor/distillery/main/docs/assets/distillery-logo-dark-512.png\" width=\"180\"\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/norrietaylor/distillery/main/docs/assets/distillery-logo-512.png\" width=\"180\"\u003e\n    \u003cimg alt=\"Distillery\" src=\"https://raw.githubusercontent.com/norrietaylor/distillery/main/docs/assets/distillery-logo-512.png\" width=\"180\"\u003e\n  \u003c/picture\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eDistillery\u003c/h1\u003e\n\n\u003c!-- mcp-name: io.github.norrietaylor/distillery-mcp --\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eTeam Knowledge, Distilled\u003c/strong\u003e\n  \u003cbr\u003e\n  Capture, classify, connect, and surface team knowledge through conversational commands.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://norrietaylor.github.io/distillery/\"\u003eDocumentation\u003c/a\u003e \u0026middot;\n  \u003ca href=\"#skills\"\u003eSkills\u003c/a\u003e \u0026middot;\n  \u003ca href=\"#quick-start\"\u003eQuick Start\u003c/a\u003e \u0026middot;\n  \u003ca href=\"https://norrietaylor.github.io/distillery/roadmap/\"\u003eRoadmap\u003c/a\u003e \u0026middot;\n  \u003ca href=\"https://norrietaylor.github.io/distillery/presentation.html\"\u003eSlides\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://pypi.org/project/distillery-mcp/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/v/distillery-mcp\" alt=\"PyPI version\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://pypi.org/project/distillery-mcp/\"\u003e\u003cimg src=\"https://img.shields.io/pypi/dm/distillery-mcp\" alt=\"PyPI downloads\"\u003e\u003c/a\u003e\n  \u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/license-Apache%202.0-blue\" alt=\"License\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.python.org/downloads/\"\u003e\u003cimg src=\"https://img.shields.io/badge/python-3.11%2B-blue\" alt=\"Python version\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n---\n## What is Distillery?\n\nDistillery is a team knowledge base accessed through Claude Code skills. It refines raw information from working sessions, meetings, bookmarks, and conversations into concentrated, searchable knowledge — stored as vector embeddings in DuckDB and retrieved through natural language. Runs locally over stdio or as a hosted HTTP service with GitHub OAuth for team access.\n\nDistillery captures the highest-value transformation — from noise to signal — and makes it a tool the whole team can use.\n\n\u003e **Full documentation:** [norrietaylor.github.io/distillery](https://norrietaylor.github.io/distillery/)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/norrietaylor/distillery/main/docs/assets/distillery-demo.gif\" alt=\"Distillery demo — /distill captures a decision, /pour synthesizes it\" width=\"600\"\u003e\n\u003c/p\u003e\n\n## Skills\n\nDistillery provides 14 Claude Code slash commands:\n\n| Skill | Purpose | Example |\n|-------|---------|---------|\n| `/distill` | Capture session knowledge with dedup detection | `/distill \"We decided to use DuckDB for local storage\"` |\n| `/recall` | Semantic search with provenance | `/recall distributed caching strategies` |\n| `/pour` | Multi-entry synthesis with citations | `/pour how does our auth system work?` |\n| `/bookmark` | Store URLs with auto-generated summaries | `/bookmark https://example.com/article #caching` |\n| `/minutes` | Meeting notes with append updates | `/minutes --update standup-2026-03-22` |\n| `/classify` | Classify entries and triage review queue | `/classify --inbox` |\n| `/watch` | Manage monitored feed sources | `/watch add github:duckdb/duckdb` |\n| `/radar` | Ambient feed digest with source suggestions | `/radar --days 7` |\n| `/tune` | Adjust feed relevance thresholds | `/tune relevance 0.4` |\n| `/digest` | Team activity summary from internal entries | `/digest --days 7 --project myapp` |\n| `/gh-sync` | Sync GitHub issues/PRs into the knowledge base | `/gh-sync owner/repo --issues` |\n| `/investigate` | Deep context builder with relationship traversal | `/investigate distributed caching` |\n| `/briefing` | Team knowledge dashboard with metrics | `/briefing --days 7` |\n| `/setup` | Onboarding wizard for MCP connectivity and config | `/setup` |\n\n## Quick Start\n\n### Step 1: Install the Plugin\n\n```bash\nclaude plugin marketplace add norrietaylor/distillery\nclaude plugin install distillery\n```\n\nThis installs all 14 skills and configures the MCP server to run **locally** via `uvx distillery-mcp` — a private, self-contained knowledge base on your machine. Requires Python 3.11+ and [`uv`](https://docs.astral.sh/uv/) (install: `curl -LsSf https://astral.sh/uv/install.sh | sh`).\n\n### Step 2: Set Your Embedding API Key (Optional but Recommended)\n\n```bash\n# Get a free API key from jina.ai\nexport JINA_API_KEY=jina_...\n```\n\n`uvx` inherits this from your shell environment. Without a key, Distillery falls back to a stub embedding provider (search quality degraded).\n\nFor fully offline operation with no API key, install the optional `[fastembed]` extra and set `embedding.provider: fastembed` in your config — see [`distillery.yaml.example`](distillery.yaml.example) (Option C) for the full block.\n\nRestart Claude Code and run the onboarding wizard:\n\n```text\n/setup\n```\n\n### Try the Hosted Demo (Opt-In)\n\nWant to evaluate without installing anything locally? Override the plugin default with the hosted demo at `distillery-mcp.fly.dev`:\n\n```bash\nclaude mcp add distillery --scope user --transport http --url https://distillery-mcp.fly.dev/mcp\n```\n\n\u003e **Demo Server:** `distillery-mcp.fly.dev` is for evaluation only. Do not store sensitive or confidential data.\n\nSee the [Local Setup Guide](https://norrietaylor.github.io/distillery/getting-started/local-setup/) for full configuration options, or [deploy your own instance](https://norrietaylor.github.io/distillery/team/deployment/) for team use.\n\n## Development\n\n```bash\nuv pip install -e \".[dev]\"\n# or\npip install -e \".[dev]\"\npytest                              # run tests\nmypy --strict src/distillery/       # type check\nruff check src/ tests/              # lint\n```\n\nSee [Contributing](https://norrietaylor.github.io/distillery/contributing/) for the full guide.\n\n## License\n\nApache 2.0 — see [LICENSE](LICENSE) for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnorrietaylor%2Fdistillery","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnorrietaylor%2Fdistillery","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnorrietaylor%2Fdistillery/lists"}