Repo of the Day
danielmiessler/fabric
Published: Jan 7, 2025
Open repository ↗fabric is an open-source framework for augmenting humans using AI. It provides a modular framework for solving specific problems using a crowdsourced set of AI prompts that can be used anywhere.
Summary
Fabric is an open-source framework written in Go that organizes reusable AI prompts called "Patterns" around real-world tasks. It exposes a single command-line interface, a REST API server, and integrations with many AI providers so engineers can run the same prompt against different models without rewriting their tooling. The repository is licensed under MIT and is not archived.
What it is useful for
Fabric helps when you keep re-typing or re-engineering the same AI instructions for recurring jobs. The README lists examples such as summarizing long content, extracting insights from YouTube or podcast transcripts, explaining code, rating article quality, generating social media posts, and turning bad documentation into something usable. Because patterns are just files in a directory, teams can version-control, share, and reuse them across projects. The REST API mode and Ollama-compatible endpoint also let Fabric act as a local proxy in front of various model providers, which is handy when you want to swap backends without touching client code.
How engineers can use it
The README documents several install paths. On macOS, brew install fabric-ai installs the binary as fabric-ai, and the README suggests adding alias fabric='fabric-ai' to your shell. On Linux or macOS, the recommended path is a one-line installer:
curl -fsSL https://raw.githubusercontent.com/danielmiessler/fabric/main/scripts/installer/install.sh | bash
From source, with Go installed:
go install github.com/danielmiessler/fabric/cmd/fabric@latest
After installing, run fabric --setup to pick a provider and store keys. A workflow shown in the README pipes a YouTube transcript into a pattern:
yt https://www.youtube.com/watch?v=4b0iet22VIk | fabric -p extract_wisdom
A shell snippet in the README auto-generates aliases so you can invoke patterns by name, for example summarize instead of fabric --pattern summarize. You can also start the server with fabric --serve and call it from other tools, or drop custom pattern directories under ~/.config/fabric/patterns/.
Documented limitations to be aware of: provider features differ. For example, the README notes that the local Apple Foundation Models backend requires macOS 27 or later and a one-time sudo fm license step, and helper utilities such as to_pdf have separate installation instructions not covered in the main README.