-
-
Notifications
You must be signed in to change notification settings - Fork 1
Description
Problem statement
Creating blueprints requires YAML knowledge and has no UI support, making it inaccessible to users who build automations entirely in the visual editor. Additionally, optional inputs require unsupported workarounds (e.g. input_boolean.none, empty arrays), resulting in fragile blueprints. This limits who can contribute blueprints and reduces their quality across the ecosystem.
Lowering this barrier supports OHF's approachability goal by enabling more users to create and share reusable automations. It also supports the community contributor experience goal by expanding the pool of people who can meaningfully contribute to the blueprint ecosystem.
This is a first step. The way users discover and consume blueprints isn't great either, but we believe solving the creation experience is the right place to start.
Scope & Boundaries
In scope
- A UI for creating and editing blueprints (mapping from a regular automation to a blueprint with exposed inputs)
- Native support for optional entity/selector inputs in the blueprint schema
Not in scope
- Blueprint discovery or sharing
- Blueprint consumption UI
Foreseen solution
A blueprint editor that lets users define input types, defaults, and whether they're optional (with optional inputs handled properly in the schema rather than via workarounds). Alternatively (or both), an "Export as blueprint" flow in the automation editor that guides the user in choosing which values to expose as inputs.
Community signals
- Optional input workarounds are widespread in community blueprints and flagged as a consistent pain point
- Blueprint authoring is done almost exclusively in YAML today, making it inherently less approachable (thus conflicting with our goals)
Risks & open questions
- How do we handle blueprints that reference advanced features not expressible in the visual editor?
Appetite
Medium โ ~1โ2 cycles. Core schema changes + frontend editor work.
Execution issues
No response
Decision log
| Date | Decision | Outcome |
|---|---|---|
Metadata
Metadata
Assignees
Labels
Type
Projects
Status