Build and manage minimal viable context for your AI coding assistant from your terminal.
Pluqqy lets you create reusable components (contexts, prompts, and rules) and combine them into pipelines. When you set a pipeline, it generates a PLUQQY.md (configurable) file that contains all your composed instructions.
In Claude Code or other AI coding tools, just reference @PLUQQY.md instead of copying and pasting prompts. Need different instructions? Set a different pipeline - the file updates automatically, but you keep referencing the same @PLUQQY.md.
This approach keeps your context minimal and focused - only including what's relevant for the current task. Both you and the AI work from the same single source of truth, eliminating confusion about which instructions are active while preserving context space.
This will build and install pluqqy to $GOPATH/bin or $HOME/go/bin (if GOPATH is not set).
To update to the latest version:
Or manually:
This creates the following structure:
The examples command installs pre-built components and pipelines that demonstrate useful approaches and common patterns. All examples are prefixed with example- to distinguish them from your own components.
Pluqqy provides a comprehensive set of CLI commands for managing pipelines and components without the TUI. All commands support multiple output formats (--output json|yaml) and global flags (--quiet, --yes, --no-color).
All commands support these global flags:
When components share the same filename across different types:
Tab | Switch between pipelines and components panes |
↑↓ or j/k | Navigate items |
/ | Enter search mode (use ^a for archived, ^t to cycle types) |
e | Edit component in built-in editor / Edit pipeline in builder |
^x | Edit component with external editor (components pane only) |
t | Edit tags for selected component or pipeline |
u | Show which pipelines use the selected component (components pane) |
n | Create new pipeline/component (uses enhanced editor for content) |
a | Archive pipeline/component (with confirmation) |
^d | Delete pipeline/component (with confirmation) |
M | Generate interactive Mermaid diagram for selected pipeline |
S | Set selected pipeline (generates PLUQQY.md, customizable filename) |
y | Copy composed pipeline content to clipboard (pipelines pane only) |
s | Open settings editor |
p | Toggle preview pane |
^c | Quit (double ^c to confirm) |
Tab | Switch between panes (available components, pipeline components, preview) |
↑↓ | Navigate items |
/ | Enter search mode (use ^a for archived, ^t to cycle types) |
Enter | Add/remove component (toggles) |
n | Create new component |
e | Edit component in built-in editor |
^x | Edit component with external editor |
u | Show which pipelines use the selected component |
K/J or ^↑↓ | Reorder pipeline components (move up/down) |
p | Toggle preview pane |
^s | Save pipeline |
S | Save and set as active pipeline |
y | Copy composed pipeline content to clipboard |
Esc | Back to main list (with unsaved changes confirmation) |
When creating a new component (press n in the components pane):
- Select Type: Choose between Context, Prompt, or Rules
- Enter Name: Provide a descriptive name for your component
- Edit Content: Opens the enhanced editor with all features available:
- Multi-line editing with line numbers
- File references (@ to insert)
- Undo support (^z)
- External editor integration (^x)
- Save (^s) or cancel (Esc)
The enhanced editor provides a simple editing experience for both creating new components and editing existing ones.
Keyboard Shortcuts:
Type | Enter content in the editor |
↑↓ | Navigate through content |
^z | Undo last change |
^k | Clear all content (useful before pasting) |
^l | Clean pasted content (removes TUI artifacts) |
^s | Save component |
^x | Open in external editor (for extensive editing) |
@ | Insert file reference |
Esc | Cancel (with unsaved changes confirmation) |
Note: This editor is intentionally minimal. For writing new components from scratch or making substantial edits, press ^x to use your configured external editor (vim, VS Code, etc.)
Pluqqy uses the same keyboard shortcuts across all operating systems (macOS, Linux, Windows):
- All shortcuts use Ctrl (^) as the primary modifier key
- ^s for save, ^d for delete, ^x for external edit, etc.
- Single letter shortcuts (like n for new, e for edit) work everywhere
Linux Users:
- If you experience issues with Ctrl shortcuts (e.g., ^s pausing output), disable terminal flow control:
stty -ixon # Add to your .bashrc or .zshrc
- For clipboard support (y key), install xclip:
sudo apt install xclip # Ubuntu/Debian sudo dnf install xclip # Fedora/RHELSee Linux Clipboard Setup for details.
Tab | Switch between current tags pane and available tags cloud |
Enter | Add tag (from input field or tag cloud) |
←/→ | Navigate tags for selection |
^d | Remove tag from current item (main pane) / Delete from registry (tag cloud, with confirmation) |
^s | Save tag changes |
^t | Reload tags |
Esc | Cancel without saving |
Type directly | Add new tags with autocomplete suggestions |
Pluqqy can generate interactive HTML-based Mermaid diagrams to visualize your pipeline structure:
- Select any pipeline in the main list view
- Press M to generate an interactive diagram
- The diagram opens automatically in your default browser
The visualizer creates a flowchart showing:
- Pipeline name and total component count at the top
- Components organized into subgraphs by type
- Color coding: Contexts (blue), Prompts (green), Rules (red)
Generated diagrams are saved in .pluqqy/tmp/diagrams/ with timestamped filenames for easy reference.
Pluqqy includes a tagging system to help organize and find your components and pipelines:
Color-Coded Tags | Each tag gets a unique color for easy visual identification |
Tag Registry | Central registry (.pluqqy/tags.yaml) stores tag metadata |
Tag Editor | Interface for managing tags |
Usage Tracking | See how many components/pipelines use each tag before deletion |
Autocomplete | Smart suggestions as you type based on existing tags |
Components | Tags stored in YAML frontmatter at the top of markdown files |
Pipelines | Tags stored in the tags field of the YAML file |
Registry | Optional tag descriptions and custom colors in .pluqqy/tags.yaml |
The built-in search engine supports powerful queries with keyboard shortcuts:
tag:api | Find items with the "api" tag |
type:prompt | Find all prompt components |
type:context | Find all context components |
type:rule | Find all rule components |
type:pipeline | Find all pipelines |
status:archived | Show all archived items |
tag:api type:context | Combine filters |
content:"error handling" | Full-text search in content |
Search Shortcuts:
/ | Activate search mode |
^a | Toggle archived filter (adds/removes status:archived) |
^t | Cycle type filter (All → Pipelines → Prompts → Contexts → Rules) |
Esc | Clear search and exit search mode |
Note: In Pipeline Builder, ^t cycles through component types only (skips pipelines).
The set command generates a PLUQQY.md file in your project root. This naming convention is intentional:
Non-conflicting | Won't overwrite common files like AGENTS.md or CLAUDE.md |
Claude Code Integration | Simply reference @PLUQQY.md in Claude Code to load your entire pipeline |
Pipeline Agnostic | No need to remember specific pipeline names |
Chainable | Easily reference and combine multiple pipelines in Claude Code sessions |
Customizable | Change the default filename in settings (press s from main view) |
Yes, I know, the world already has plenty of AGENTS.md, CLAUDE.md, and README.md files. Adding PLUQQY.md might feel like contributing more noise. The good news is you don’t have to call it PLUQQY.md. You can name it whatever you like (AGENTS.md, WIZARD.md, BANANA.md, PLUQQYSUX.md), and you can customize exactly where Pluqqy generates it.
The file contains sections in your configured order:
- CONTEXT - Combined context components
- PROMPTS - Combined prompt components
- RULES - Combined rules components
Pluqqy includes a built-in library of example components and pipelines to help you get started quickly. These examples demonstrate useful patterns and approaches I've found helpful when working with AI coding assistants (they are not best practices).
general | General-purpose development | Feature implementation, bug fixing, code review, testing patterns |
web | Web development | React components, REST APIs, database schemas, accessibility |
ai | AI assistant optimization | Codebase overview, concise responses, code-first approach |
claude | CLAUDE.md migration | Tools to convert existing CLAUDE.md files into Pluqqy components |
All example components include:
- Placeholders: Replace {{PLACEHOLDER}} values with your project-specific information
- Clear documentation: Each component explains its purpose and usage
- Practical patterns: Approaches that have worked well in real projects
- Reusability: Designed to work across different projects
- Replace placeholders: Update {{PROJECT_NAME}}, {{LANGUAGE}}, etc.
- Modify content: Adapt examples to your specific needs
- Remove prefix: Rename files to remove the example- prefix when ready
- Create variations: Use examples as templates for project-specific components
- Initialize project: pluqqy init
- Launch TUI: pluqqy
- Press n to create new pipeline
- Name it "my-assistant"
- Add components using the builder
- Press ^s to save
- Press S to set the pipeline
- Check PLUQQY.md for the composed output
Pluqqy includes a built-in settings editor accessible from the TUI. Press s from the main list view to customize:
-
Output Settings
- Default filename for generated output (default: PLUQQY.md)
- Export path for pipeline output files (default: ./ - your project root)
- Output path for pipeline-generated files (default: .pluqqy/tmp/)
-
Formatting Options
- Toggle section headings in output
- Reorder sections using J/K keys
- Edit section types and headings
Changes take effect immediately upon saving with ^s.
Pluqqy uses your system's $EDITOR environment variable to determine which external editor to use. Set it in your shell configuration (.bashrc, .zshrc, etc.):
Important notes:
- GUI editors (VS Code, Cursor, Windsurf, Zed, Sublime) require a "wait" flag to block until the file is closed
- Different editors use different wait flags: --wait for VS Code/Cursor/Windsurf, -w for Zed/Sublime
- After setting $EDITOR, reload your shell config: source ~/.zshrc (or ~/.bashrc)
- Test your setting by running: echo $EDITOR
How External Editing Works:
- Press ^x in the enhanced editor to open your external editor
- A status message appears: "Editing in external editor - save your changes and close the editor window/tab to return here and continue"
- Make your changes and save the file in the external editor
- Close the editor window/tab to return to Pluqqy:
- Terminal editors (vim, nano): Exit normally and you'll return immediately
- GUI editors (VS Code, Zed, etc.): Close the specific tab or window to return
- Your changes will be automatically reloaded in Pluqqy
- Go 1.19 or higher (for building)
- Terminal with UTF-8 support
MIT