Fabric Installation and Setup Guide
Introduction
Fabric is a powerful tool designed to streamline various technical tasks by integrating AI vendors and tools. This guide will walk you through the installation and setup process on a Fedora 41 laptop.
Installation
Step 1: Download Fabric
First, download the Fabric binary from the GitHub releases page.
$ curl -L https://github.com/danielmiessler/fabric/releases/latest/download/fabric-linux-amd64 > fabric && chmod +x fabric && ./fabric --versionNote: Ensure that
/home/r3dact3d/bin/is included in your$PATH. You can check your current$PATHwith:$ echo $PATHIf not, add it by running:
$ cd $ mkdir bin $ mv fabric bin/ $ fabric --help
Setup
Step 2: Initial Setup
Run the initial setup to configure Fabric.
$ fabric --setupStep 3: Configure AI Vendors
Select the AI vendor you want to use. For this example, we'll use Mistral.
[Plugin Number] Enter the number of the plugin to setup (leave empty to skip): 9Enter your Mistral API key and base URL.
[Mistral]
Enter your Mistral API KEY (leave empty to skip): "***********************************Uni"
Enter your Mistral API BASE URL (leave empty for 'https://api.mistral.ai/v1' or type 'reset' to remove the value):Step 4: Configure Tools
Select the default AI vendor and model.
[Plugin Number] Enter the number of the plugin to setup (leave empty to skip): 10Choose the model you want to use.
Available models:
Mistral
[1] ministral-3b-2410
[2] ministral-3b-latest
[3] ministral-8b-2410
[4] ministral-8b-latest
[5] open-mistral-7b
[6] mistral-tiny
[7] mistral-tiny-2312
[8] open-mistral-nemo
[9] open-mistral-nemo-2407
[10] mistral-tiny-2407
[11] mistral-tiny-latest
[12] open-mixtral-8x7b
[13] mistral-small
[14] mistral-small-2312
[15] open-mixtral-8x22b
[16] open-mixtral-8x22b-2404
[17] mistral-small-2402
[18] mistral-small-2409
[19] mistral-small-latest
[20] mistral-medium-2312
[21] mistral-medium
[22] mistral-medium-latest
[23] mistral-large-2402
[24] mistral-large-2407
[25] mistral-large-2411
[26] mistral-large-latest
[27] pixtral-large-2411
[28] pixtral-large-latest
[29] codestral-2405
[30] codestral-latest
[31] codestral-mamba-2407
[32] open-codestral-mamba
[33] codestral-mamba-latest
[34] pixtral-12b-2409
[35] pixtral-12b
[36] pixtral-12b-latest
[37] mistral-embed
[38] mistral-moderation-2411
[39] mistral-moderation-latest
[Default]
Enter the index the name of your default model (leave empty to skip): 18
Enter model context length (leave empty to skip):Step 5: Download Patterns
Finally, download the patterns required for Fabric to function.
[Plugin Number] Enter the number of the plugin to setup (leave empty to skip): 11Enter the default Git repository URL for the patterns and the folder where they are stored.
[Patterns Loader]
Enter the default Git repository URL for the patterns (leave empty for 'https://github.com/danielmiessler/fabric.git' or type 'reset' to remove the value):
Enter the default folder in the Git repository where patterns are stored (leave empty for 'patterns' or type 'reset' to remove the value):Helpers
Step 6: Install Required Tools
Install the necessary tools and set up clipboard aliases.
$ sudo dnf install golang-bin
$ go install github.com/danielmiessler/fabric/plugins/tools/to_pdf@latest
$ sudo dnf install -y xclip xselAdd the following aliases to your .bashrc file:
alias pbcopy='xsel --clipboard --input'
alias pbpaste='xclip -selection clipboard -o'Examples
Step 7: Run Example Commands
Let's scrape a blog post landing page and see what the enrich_blog_post pattern returns.
fabric -p enrich_blog_post -o /home/r3dact3d/working/foamy-stuff/dump.md -u https://r3dact3d.github.ioThe output will be saved in a new markdown file in your Foam directory and synced with GitHub.
Step 8: Chain Patterns
Copy the output to your clipboard with pbcopy and use pbpaste to feed it into another pattern like create-mermaid-visualization.
pbpaste | fabric -p create-mermaid-visualizationThe output can be tweaked and added to your workflows for visual notetaking or storytelling.
graph TD;
A[Scrape Blog Post] --> B[Jina AI - Tool];
B --> C[enrich_blog_post - Pattern];
C --> D[Markdown Blog Site URL];
D --> E[Enrichments to Code];
E --> F[New Markdown File];
F --> G[Foam Directory];
G --> H[GitHub Sync];
subgraph Input
direction TB;
A;
D;
end
subgraph Process
direction TB;
B;
C;
end
subgraph Output
direction TB;
E;
F;
G;
H;
endMore Patterns to Try
analyze_logscreate_5_sentence_summaryhumanizecreate_formal_email[Uncle Duke](https://github.com/danielmiessler/fabric/blob/main/patterns/ask_uncle_duke/system.md)
Pattern Ideas
Prompt Prompts
summarize_promptsuggest_patterncreate_patternimprove_prompt