# Promptfire [![Obsidian](https://img.shields.io/badge/Obsidian-Plugin-7C3AED?logo=obsidian&logoColor=white)](https://obsidian.md) [![TypeScript](https://img.shields.io/badge/TypeScript-5.8-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/) [![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [![Version](https://img.shields.io/badge/Version-1.0.0-blue.svg)](package.json) **Copy your vault's conventions, structure, and content to any LLM with a single hotkey.**
## The Problem When working with AI assistants on your Obsidian vault, you constantly re-explain your folder structure, link style, tag conventions, and frontmatter requirements. This is repetitive, error-prone, and wastes tokens. ## The Solution **Promptfire** stores your vault's conventions in a dedicated folder and copies everything to clipboard with one hotkey. Output adapts automatically for different LLMs (Claude, GPT-4, Gemini, etc.), and a built-in history tracks every context you generate. ## Key Features - **Multi-LLM output targets** with per-model token limits, formats (XML, Markdown, Plain), and truncation strategies - **Prompt templates** with placeholders and conditionals for reusable workflows - **Additional context sources** from freetext, external files, or shell commands - **Frontmatter presets** to configure context per-note via `ai-context` YAML - **Granular section selection** to include only the headings you need - **Context history** with diff, search, and one-click restore - **Context generator** that walks you through setting up vault conventions See the [full documentation](docs/) for details on each feature. ## Quick Start **1. Generate context files** ``` Ctrl+P > "Promptfire: Generate context files" ``` **2. Add output targets** Settings > Promptfire > Output Targets > "Add Built-in Targets" **3. Copy & paste** ``` Ctrl+P > "Promptfire: Copy context to clipboard" ``` Paste into Claude, ChatGPT, or any AI assistant. ## Documentation | Topic | Description | |-------|-------------| | [Getting Started](docs/getting-started.md) | Installation, first run, commands | | [Output Targets](docs/output-targets.md) | Multi-LLM formats and truncation | | [Templates](docs/templates.md) | Prompt templates, placeholders, conditionals | | [Context Sources](docs/context-sources.md) | Freetext, file, and shell sources | | [Frontmatter Presets](docs/frontmatter-presets.md) | Per-note ai-context YAML configuration | | [Section Selection](docs/section-selection.md) | Granular heading and block selection | | [History](docs/history.md) | Context history, diff, and restore | | [Settings](docs/settings.md) | Full settings reference | | [Advanced](docs/advanced.md) | Truncation strategies, priority order, XML format | ## Contributing Contributions welcome! Fork the repo, create a feature branch, run `npm run build` to verify, and submit a pull request. Report bugs and request features via [Codeberg Issues](https://codeberg.org/luca-tty/obsidian-promptfire/issues). ## License MIT License - see [LICENSE](LICENSE) for details.