Recipes: create a workflow's linked boxes from a recipe, with the level of theory chosen in a dialog

Open
#710 5 comments 0 reactions 1 assignee View on GitHub

@ohlincha is already working on this.

Since Nov 1, 2026.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
20/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
c
Domain
backend, desktop

Research direction

Read the workflow designs in #341 and #674 and inspect docs/design/recipes/recipe-flow-v2.png first. The issue proposes recipe files, rule-based recommendations, workflow creation and links, and several future recipe features, but does not identify implementation files or tests. Agree on the proposed scope before starting; done means the agreed recipe flow works and its workflow boxes and links remain editable.

Written by the indexing model from the issue text.

Description

Design agreed so far (maintainer, 2026-10-30). Builds on workflows (#341, #674).

Flow. Open a workflow (or select a box in one) → Apply Recipe → choose a recipe → the recipe creates the job boxes, already linked. Mock-up of the flow (docs/design/recipes/recipe-flow-v2.png):

Recipes flow: empty workflow, set-up panel with live preview, boxes on the canvas

Decisions

  • A recipe applies to a new workflow and from a selected box (the chain is appended after it).
  • Structures are not asked for in the dialog: the boxes are placeholders, and the user clicks a box marked "needs structure" to build or import it. All other settings come from the dialog; each box stays editable like any calculation.
  • The level of theory is chosen per role (e.g. "geometry and frequencies", "final energies", solvent), with a recommendation and the reason shown next to it.
  • Recommendations come from rules, not a fixed table: the recipe's defaults in the dialog, and the rules applied again when a structure is set in a box (anion → diffuse functions; elements beyond Kr → an ECP; size → RI or a smaller basis; codes registered on the chosen machine), as warnings in that box. Never blocking.

Proposed, to settle

  • Recipe file: a templated workflow.txt (steps with code, run type and ES.* settings; links for geometry, orbitals, Hessian, join roles and scan point) plus a description and the rules, so that a site (central server) can supply its own recipes with fixed levels of theory for a class.
  • Code variants per recipe (e.g. G16 QST3 or ORCA NEB-TS), unregistered codes greyed out.
  • Built-in recipes per field: TS search with IRC; conformers (CREST → xTB → DFT, #682); gas → solvent with the Hessian carried over; redox potential; pKa.
  • Save Workflow as Recipe (settings and links kept, structures and results dropped).
  • An optional final analysis box (ΔG with its low-frequency spread #692, rate constants #330).
  • Later: fan-out (one box per conformer pattern, #708).
Dominant language
C
Stars
10
Forks
8
Avg merge
21m
Merged PRs (30d)
1

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from FriendsofECCE/ECCE

All issues in FriendsofECCE/ECCE

Similar issues

More C issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.