Skip to content

lumetrium/espanso-dynamic-forms

Repository files navigation

Espanso Dynamic Forms

GitHub

Powerful forms for Espanso.
Define rich, interactive forms in YAML. Insert templated output anywhere.

espanso-dynamic-forms-demo-form.mp4

See more examples

Why Espanso Dynamic Forms?

Espanso's built-in forms are great for quick input. But what if you need:

  • Validation — required fields, patterns, type checking
  • Advanced layouts — tabs, groups, conditional visibility
  • More input types — date pickers, file uploads, checkboxes, sliders
  • Powerful templating — conditionals, loops, filters with Liquid

Espanso Dynamic Forms fills that gap. Define your form in a YAML file, reference it in an Espanso trigger, and get a polished Material Design form every time.

Compare to Espanso Forms to see the full differences.

Espanso Forms (built-in) Espanso Dynamic Forms (this app)

Quick Start

1. Install — Download from Releases and install. (Installation Guide)

2. Add a trigger to your Espanso config (%APPDATA%\espanso\match\base.yml on Windows):

matches:
  - trigger: ":demo"
    replace: "{{output}}"
    force_mode: clipboard
    vars:
      - name: output
        type: script
        params:
          args:
            - C:/Program Files/Espanso Dynamic Forms/EDF.exe
            - --form-config
            - \{\{env.EDF_FORMS}}/demo.yml

3. Type :demo in any text field — fill the form, hit Submit, and watch the output appear.

Getting Started Guide for step-by-step setup.

How It Works

📝 You type a trigger → 📋 Form appears → ✍️ Fill fields → ✅ Submit → 📤 Formatted text inserted

Your forms are defined in YAML with four sections:

Section Purpose
schema Define fields and types (docs)
uischema Control layout and appearance (docs)
data Set default values, use {{clipboard}} (docs)
template Format output with Liquid syntax (docs)

Form Config Reference for complete documentation.

Ready-Made Forms

The app includes a library of pre-built forms:

Form Use Case
Code Get AI help with code
Email Draft follow-up emails
Reply Compose message replies
Files Batch file processing

Forms Library for all available forms and boilerplate snippets.

Need something custom? The Form Factory helps you describe what you need and generates the config with AI.

Features at a Glance

  • JSON Forms schema — industry-standard way to define form structure
  • Liquid templating — filters, conditionals, loops for flexible output
  • Material Design UI — clean, modern interface via Vuetify
  • Validation built-in — required fields, patterns, type checking
  • Environment variables{{env.VAR}} and {{clipboard}} tokens
  • File handling — upload files, read content, extract metadata
  • Tabbed interfaces — organize complex forms with categories
  • Conditional visibility — show/hide fields based on other values

Platforms

Platform Status
Windows ✅ Supported
Linux ✅ Supported
macOS ⚠️ Not tested (should work since it's Electron)

Documentation

Espanso Dynamic Forms Docs — The full documentation site:

Contributing

Interested in contributing? See the codebase overview:

Ask DeepWiki

Questions or issues? Open an issue on GitHub.

Check out my other project

Definer - Popup Translator & Dictionary
Instant definitions, translations, search, and AI results for words and phrases you select or type.

About

Advanced forms for Espanso with validation, file uploads, tabs, and Liquid templating

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors