ChecklistFabrik - Simple Process Management

news tools

ChecklistFabrik ("clf") helps to standardise processes and to-do lists in teams and organisations and to answer questions such as "What needs to be done next?" or "Where am I in the process?". All you need is a YAML file that defines the workflow as a checklist, Python to run ChecklistFabrik, and a browser to display the interactive HTML checklist generated by clf.

ChecklistFabrik can be installed with pip install --user checklistfabrik. It was developed in the Linuxfabrik, is open source, and is licensed under the UNLICENSE.

Details and documentation can be found at github.com/linuxfabrik.

Step 1: Create a checklist as a YAML template

Checklists are defined with YAML. Features such as Jinja templating and various controls allow ChecklistFabrik to create complex and dynamic processes. Markdown is supported for designing elements such as questions and answers. Checklists can be modular and imported from other checklists.

Example (extract):

title: 'Deploy Red Hat Build of Keycloak 22.0'
version: '2025050701'
report_path: '$HOME/deploy-keycloak-{{ now().strftime("%Y%m%d") }}.yml'
pages:

  - title: 'Questionnaire'
    tasks:
      - linuxfabrik.clf.checkbox_input:
          label: 'Target Platform?'
          values:
            - value: 'Linux'
            - value: 'Windows'
          fact_name: 'platform'

  - title: 'Before you start'
    tasks:
      - linuxfabrik.clf.checkbox_input:
          values:
            - label: 'Make sure you have [OpenJDK 17](https://openjdk.java.net/) installed'
          required: true

  - title: 'Start Red Hat Build of Keycloak'
    tasks:
      - linuxfabrik.clf.checkbox_input:
          values:
            - label: 'On Linux: `bin/kc.sh start-dev`'
        when:
          - '"linux" in (platform | map("lower"))'

Step 2: Running the checklist

The Python tool clf-play interprets the YAML file, renders it into interactive HTML, starts a local Python web server and displays the checklist in the browser.

clf-play --template examples/deploy-keycloak.yml

ChecklistFabrik at work

Step 3: Save the checklist

Progress through the checklist can be saved at any time. Saving the templates and results ("reports") in Git repositories allows team collaboration, easy monitoring of process progress, a rollback function, and an audit trail.

Previous Post