Workflows are Just Lists.
NOTE: Language is WorkflowAsList DSL (file extension: .workflow.list)
A thinking constraint DSL for structuring LLM interactions.
Filter noise, focus thinking, prevent divergence.
NOTE: This DSL is for thinking constraint, not for execution.
Users (pipx):
pipx install git+https://github.com/tracer-mohist/workflow-as-list.gitContributors (uv):
git clone https://github.com/tracer-mohist/workflow-as-list.git
cd workflow-as-list
uv syncCLI:
workflow --help # All commands
workflow <cmd> --help # Command detailsServer API:
http://localhost:8080/docs # OpenAPI UI
http://localhost:8080/openapi.json # OpenAPI schema
See SYNTAX.md for DSL syntax.
See examples/ for example workflows.
workflow-as-list is a reader, not an executor.
Like reading a book:
- Read current step
- Understand and execute
- Advance to next step
- Cannot skip unread steps
Agent workflow:
workflow run <name> # Create execution
workflow exec read <id> # Read step (mark as read)
[Agent executes operations] # Using own tools
workflow exec next <id> # Advance (must read first)
Default location: ~/.workflow-as-list/
config.ini— Configurationregistry.jsonl— Registered workflowsstate/executions/— Execution instancesstate/outputs/— Step outputs
Reset all state:
rm -rf ~/.workflow-as-list/- Syntax:
SYNTAX.md,SYNTAX.ebnf - Design:
docs/design/ - Contributing:
CONTRIBUTING.md - Commit convention:
.github/COMMIT_CONVENTION.md
Author: Tracer (Chinese: 迹,Ji) Created: 2026-03-08 Last Updated: 2026-03-13