Show HN: Pluqqy – Terminal based context management tool for AI coding

2 hours ago 2

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.

Main List View

Pipeline Builder View


git clone https://github.com/pluqqy/pluqqy-terminal cd pluqqy-terminal make install

This will build and install pluqqy to $GOPATH/bin or $HOME/go/bin (if GOPATH is not set).


To update to the latest version:

cd pluqqy-terminal make update

Or manually:


This creates the following structure:

.pluqqy/ ├── pipelines/ ├── components/ │ ├── contexts/ │ ├── prompts/ │ └── rules/ ├── archive/ │ ├── pipelines/ │ └── components/ │ ├── contexts/ │ ├── prompts/ │ └── rules/ ├── tmp/ # For pipeline-generated output files └── .gitignore # Ignores tmp directory

Add Example Components and Pipelines

# Add general development examples pluqqy examples # Add specific category examples pluqqy examples web # Web development (React, APIs) pluqqy examples ai # AI assistant optimization pluqqy examples claude # CLAUDE.md migration tool # Add all examples pluqqy examples all # List available examples without installing pluqqy examples --list

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).

Set Active Pipeline or Component

# Set a pipeline as active (generates output file) pluqqy set cli-development # Set a specific component as active pluqqy set contexts/api-docs pluqqy set prompts/user-story # Set with custom output filename pluqqy set cli-development --output-file MY_PROMPT.md pluqqy set contexts/api-docs --output-file CONTEXT.md
# List all items (pipelines and components) pluqqy list # List specific types pluqqy list pipelines pluqqy list components pluqqy list contexts pluqqy list prompts pluqqy list rules # Show only archived items pluqqy list --archived # Show file paths pluqqy list --paths # Output as JSON or YAML pluqqy list -o json pluqqy list pipelines -o yaml
# Show composed pipeline output (what the AI sees) pluqqy show cli-development # Show component content pluqqy show api-docs pluqqy show contexts/api-docs # Show with metadata header pluqqy show cli-development --metadata # Output pipeline/component structure as JSON/YAML pluqqy show cli-development -o json pluqqy show api-docs -o yaml
# Export composed pipeline to stdout pluqqy export cli-development # Export component to stdout pluqqy export contexts/api-docs # Export to file pluqqy export cli-development --file output.md pluqqy export prompts/user-story --file prompt.md # Export structure as JSON/YAML pluqqy export cli-development -o json pluqqy export contexts/api-docs -o yaml --file context.yaml
# Copy pipeline content to clipboard pluqqy clipboard cli-development # Copy component content to clipboard pluqqy clipboard contexts/api-docs pluqqy clipboard prompts/user-story # Using aliases pluqqy clip cli-development pluqqy copy contexts/api-docs
# Create a new component (opens editor) pluqqy create context api-docs pluqqy create prompt user-story pluqqy create rule security # Create with tags pluqqy create context api-docs --tags api,documentation
# Edit a component in your external editor pluqqy edit api-docs pluqqy edit prompts/user-story # Handle ambiguous names by specifying type pluqqy edit contexts/api-docs
# Archive a component or pipeline pluqqy archive api-docs pluqqy archive my-pipeline # Archive without confirmation pluqqy archive old-component -y # Restore from archive pluqqy restore api-docs pluqqy restore my-pipeline -y # List archived items pluqqy list --archived
# Delete with confirmation pluqqy delete old-component # Force delete without confirmation pluqqy delete old-component --force # Skip confirmation with -y flag pluqqy delete old-component -y # Delete specific type when ambiguous pluqqy delete contexts/old-component
# Show which pipelines use a component pluqqy usage coding-standards # Specify component type for disambiguation pluqqy usage prompts/greeting pluqqy usage contexts/api-docs # Include archived pipelines in the search pluqqy usage coding-standards --all # Output as JSON or YAML pluqqy usage api-docs -o json pluqqy usage prompts/greeting -o yaml
# Search with query syntax pluqqy search "tag:api" pluqqy search "type:prompt" pluqqy search "content:authentication" # Complex searches pluqqy search "tag:api AND type:context" pluqqy search "status:archived" # Output search results as JSON pluqqy search "tag:api" -o json

All commands support these global flags:

# Output format (text, json, yaml) pluqqy list -o json pluqqy show api-docs -o yaml # Quiet mode (suppress non-error output) pluqqy set cli-development -q # Skip confirmations pluqqy delete old-component -y pluqqy archive api-docs --yes # Disable colored output pluqqy list --no-color # Verbose output pluqqy search "tag:api" -v

When components share the same filename across different types:

# If you have both prompts/api.md and contexts/api.md pluqqy show api # Error: multiple components found pluqqy show prompts/api # Shows the prompt version pluqqy show contexts/api # Shows the context version # Same applies to all commands pluqqy edit prompts/api pluqqy archive contexts/api pluqqy delete prompts/api
# Typical workflow pluqqy init # Initialize project pluqqy create context project-architecture # Create a context pluqqy create prompt implement-feature # Create a prompt pluqqy create rule coding-standards # Create rules pluqqy list components # See all components pluqqy set contexts/project-architecture # Set just the context pluqqy clipboard prompts/implement-feature # Copy prompt to clipboard # Pipeline workflow pluqqy list pipelines # See available pipelines pluqqy show cli-development --metadata # Preview with metadata pluqqy set cli-development # Set as active pluqqy clipboard cli-development # Copy to clipboard # Maintenance workflow pluqqy list --archived # See archived items pluqqy archive old-component -y # Archive without confirmation pluqqy restore old-component # Restore from archive pluqqy delete contexts/deprecated --force # Force delete

Key Action
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)

Key Action
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):

  1. Select Type: Choose between Context, Prompt, or Rules
  2. Enter Name: Provide a descriptive name for your component
  3. 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)

Component Editor (Enhanced Editor)

The enhanced editor provides a simple editing experience for both creating new components and editing existing ones.


Keyboard Shortcuts:

Key Action
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/RHEL
    See Linux Clipboard Setup for details.

Key Action
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:

Pipeline Visualizer

  1. Select any pipeline in the main list view
  2. Press M to generate an interactive diagram
  3. 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:


Feature Description
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

Location Description
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:

Query Description
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:

Key Action
/ 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:

Benefit Description
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).

Available Example Categories

Category Description Includes
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
# Install examples for a specific category pluqqy examples general # Install all examples pluqqy examples all # List available examples without installing pluqqy examples --list # Force overwrite existing examples pluqqy examples general --force

Example Components Structure

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
  1. Replace placeholders: Update {{PROJECT_NAME}}, {{LANGUAGE}}, etc.
  2. Modify content: Adapt examples to your specific needs
  3. Remove prefix: Rename files to remove the example- prefix when ready
  4. Create variations: Use examples as templates for project-specific components

  1. Initialize project: pluqqy init
  2. Launch TUI: pluqqy
  3. Press n to create new pipeline
  4. Name it "my-assistant"
  5. Add components using the builder
  6. Press ^s to save
  7. Press S to set the pipeline
  8. Check PLUQQY.md for the composed output

Workflow


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.):

# For vim users export EDITOR=vim # For nano users export EDITOR=nano # For VS Code users export EDITOR="code --wait" # For Cursor users export EDITOR="cursor --wait" # For Windsurf users export EDITOR="windsurf --wait" # For Zed users export EDITOR="zed -w" # For Sublime Text users export EDITOR="subl -w"

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:

  1. Press ^x in the enhanced editor to open your external editor
  2. A status message appears: "Editing in external editor - save your changes and close the editor window/tab to return here and continue"
  3. Make your changes and save the file in the external editor
  4. 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
  5. Your changes will be automatically reloaded in Pluqqy

  • Go 1.19 or higher (for building)
  • Terminal with UTF-8 support

MIT

Read Entire Article