Model or dataset
danielmiessler/Fabric avatar
danielmiessler/Fabric

Fabric: AI Prompt Patterns for Engineers Who Work in the Terminal

Fabric organizes AI prompts into a crowdsourced library of reusable patterns for solving specific problems, callable from the CLI or its REST API.

44,108 stars4,287 forksGoMIT

At a glance

What is it?
Fabric is a Go CLI and optional REST server that organizes AI interactions into named, reusable patterns. It targets engineers who want AI in their shell workflow without writing custom prompt logic from scratch.
Who is it for?
Fabric suits engineers who live in the terminal and want a single tool to route text through many AI providers without maintaining custom scripts for each one. It is a poor fit for teams who need a graphical interface, strict JSON output schemas, or deterministic behavior across runs, because patterns produce freeform text and results vary by model.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly Go, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.

DEEP OPEN-SOURCE ANALYSIS

The AI Integration Problem Fabric Addresses

Since late 2022, engineers have accumulated dozens of AI tools: web interfaces, mobile apps, browser extensions, and custom scripts. Each one solves a narrow problem but none of them fit naturally into existing terminal workflows. The result is that engineers switch context constantly, copy-pasting text between chat interfaces and their actual work. Fabric's stated goal is to address this by treating the prompt itself as the unit of organization. Rather than building a new interface, Fabric makes the AI accessible from the shell and organizes all prompts into named patterns that can be invoked, chained, and shared. The target user is a developer or security professional who runs commands in a terminal and wants AI to behave like any other Unix tool: something you can pipe text into and get useful output out of.

How Fabric Organizes Prompts as Patterns

The core concept in Fabric is the pattern. A pattern is a text file that contains a system prompt for an AI model. Fabric ships with a library of crowdsourced patterns, each named for the task it performs. When you invoke a pattern, Fabric reads the pattern file, sends it as the system context to the selected AI provider, and returns the response. The pattern library covers tasks across many domains: extracting key points from long documents, summarizing meetings, analyzing security content, generating code explanations, and creating concept maps. Each pattern is stored in a dedicated directory, making them easy to inspect, copy, and modify. Custom patterns follow the same structure, so teams can build internal pattern libraries alongside the public ones. The go.mod file shows Fabric uses the anthropics/anthropic-sdk-go, openai-go, and ollama libraries directly, meaning provider calls go through native SDKs rather than a generic HTTP shim.

Getting Fabric Running and Using a Pattern

Fabric is a compiled Go binary. The repository's top-level entries include a .goreleaser.yaml file, which indicates that pre-built binaries for each release are generated automatically and published to the GitHub releases page. The go.mod file specifies Go 1.26.0 and the module path github.com/danielmiessler/fabric, so engineers who prefer to build from source can do so with the standard Go toolchain. The cmd/ directory in the repository root holds the main entry point. Once the binary is on your PATH, you run fabric followed by a pattern name and pipe the input text to it. For example, to use a pattern that summarizes content, you would pipe text from the clipboard or a file into the fabric command with the pattern flag. The setup command prompts you for your AI provider credentials. The project uses the joho/godotenv package, visible in go.mod, to load configuration from an .envrc file in the project root. For teams managing Fabric at scale, the REST API mode starts a local server with all patterns exposed as HTTP endpoints.

AI Backend Support and Enterprise Integrations

Fabric supports a wide set of AI providers. The go.mod file lists direct dependencies on the Anthropic Go SDK, OpenAI Go SDK, AWS SDK for Bedrock, the Ollama client, Perplexity Go SDK, and the Google API client. Beyond these core integrations, recent release notes document additional providers added over time. The v1.4.380 release (January 15, 2026) added Microsoft 365 Copilot, enabling enterprise users to call AI grounded in their organization's Microsoft 365 data. The v1.4.378 release (January 14, 2026) added Digital Ocean GenAI support. The v1.4.417 and v1.4.416 releases (February 21, 2026) added Azure AI Gateway and Azure Entra ID authentication respectively, with the Azure utilities extracted into a shared azurecommon package. The v1.4.437 release (March 16, 2026) added OpenAI Codex support. The v1.4.331 release (November 23, 2025) added GitHub Models. The i18n-related release notes from 2025 document setup prompts available in German, French, Italian, Japanese, Portuguese, Spanish, Persian, and Chinese, making first-time configuration accessible to non-English-speaking teams. This breadth of provider support is a deliberate design choice: Fabric treats the AI backend as a replaceable dependency, so pattern libraries remain stable even when the underlying model changes.

The REST API Server and Interactive Documentation

When the volume of Fabric calls or the number of users grows beyond a single engineer's terminal, the REST API mode becomes relevant. The v1.4.350 release (December 18, 2025) added a Swagger/OpenAPI UI at the /swagger/index.html path, providing interactive documentation for all exposed API endpoints. This means developers can discover available patterns, test them directly in the browser, and integrate Fabric into other systems without reading source code. The underlying HTTP server uses the gin-gonic/gin framework, as listed in go.mod. The REST server exposes patterns as HTTP endpoints, making Fabric usable from any language or environment that can issue HTTP requests. This server mode is the documented path for teams integrating Fabric into larger automation pipelines or internal tooling.

Limitations and When Fabric Is the Wrong Choice

Fabric's pattern-based design has a concrete limitation: patterns produce freeform text. If you need structured JSON output with a guaranteed schema, Fabric offers no enforcement mechanism out of the box. Every response depends on the model's interpretation of the pattern's system prompt, and the same pattern may produce differently structured output across different models or across different runs of the same model. A second limitation is coupling to provider availability. Each provider credential must be set up individually, and if a provider's API is unavailable, the corresponding pattern calls fail. There is no local fallback processing. A third limitation applies to reproducibility. Because Fabric routes calls to live models, outputs are not deterministic. Using Fabric in a continuous integration pipeline or in any context requiring bit-for-bit identical output is not supported. For use cases that require structured output or offline processing, a dedicated LLM orchestration library with output validation would fit better. Haystack and Instructor are two tools in that space, each offering typed response schemas that Fabric does not provide.

Maintenance Status and License

Fabric is under active development. The last push to the main branch was on 2026-09-27, and the three most recent releases at the time of writing were v1.4.486, v1.4.485, and v1.4.484, all published on September 26-27, 2026. The release cadence has been high throughout 2025 and 2026, with numbered versions incrementing almost daily. The repository is not archived. The code is released under the MIT License, which permits use, modification, and redistribution with attribution. The go.mod file lists no packages with restrictive licenses at the dependency level for the core module path. The DeepWiki documentation referenced in the README provides an additional source of architectural information that is regularly updated alongside the project.

Editorial conclusion

Fabric suits engineers who live in the terminal and want a single tool to route text through many AI providers without maintaining custom scripts for each one. It is a poor fit for teams who need a graphical interface, strict JSON output schemas, or deterministic behavior across runs, because patterns produce freeform text and results vary by model. Before committing, verify your preferred AI backend is in the supported list and that the pattern library contains patterns relevant to your actual work tasks.

Frequently asked questions

What AI providers does Fabric support?

Fabric's go.mod file lists direct dependencies on the Anthropic SDK, OpenAI Go SDK, AWS SDK for Bedrock, Ollama, Perplexity, and Google API libraries. Recent release notes add Microsoft 365 Copilot, Digital Ocean GenAI, Azure AI Gateway, Azure Entra ID, GitHub Models, OpenAI Codex, Z AI, and Abacus as additional supported backends.

Can Fabric patterns be shared or custom-built?

Yes. The README describes Fabric's pattern library as crowdsourced, meaning the community contributes patterns to a shared collection. Custom patterns follow the same file structure as public patterns, so engineers can create and store their own in the same directory layout without modifying Fabric itself.

Does Fabric produce structured JSON output?

No. Fabric patterns are system prompts that produce freeform text responses. There is no built-in output schema or validation layer, and responses vary depending on the model and its interpretation of the pattern at the time of the call.

Does Fabric require a running server?

No. Fabric runs as a local CLI binary that makes direct API calls to the configured AI provider. The REST API server mode is optional and is documented as the path for teams that want to integrate Fabric into HTTP-based automation pipelines.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
For maintainers

Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/danielmiessler-fabric.svg)](https://hysenlabs.com/projects/danielmiessler-fabric)
Community notes

Community notes