FAQ
Can I use Rungs today?
Section titled “Can I use Rungs today?”Yes. Rungs is on npm since 0.1.0: npm install @rungsjs/core @rungsjs/store-postgres, and
Getting started takes it from there. Every package is published from the
repository’s release workflow with npm provenance. Until 1.0, the API may still change; every
change is recorded in the changelog and the
release notes.
How is it different from a workflow engine such as Camunda or Temporal?
Section titled “How is it different from a workflow engine such as Camunda or Temporal?”Rungs does one thing: approvals. It is a library that runs inside your Node.js application, on your database, with no server to operate and no diagram language. In return it handles the approval-specific cases those engines leave to you: requesters who are also approvers, delegation without double votes, steps that end up with nobody to approve, four eyes, return and resubmit. See the edge case catalog.
Does it include a user interface?
Section titled “Does it include a user interface?”No. Rungs gives you the data (inbox, timeline, previews, lists) and you build the screens. The example app shows one way. Ready-made React components are planned.
Which databases does it support?
Section titled “Which databases does it support?”PostgreSQL 15 or newer through @rungsjs/store-postgres, with node-postgres, postgres.js or
PGlite, and an in-memory store for tests. Other databases need a store adapter; the
store contract describes what it must do.
Does it know my org chart?
Section titled “Does it know my org chart?”Not by itself. Approvers come from your application through roles and resolvers you write, for
example “the requester’s manager” from your user table. Resolvers that understand organization
structure (department heads, acting holders of vacant positions) are planned.
Who may approve, withdraw or administer?
Section titled “Who may approve, withdraw or administer?”Rungs checks routing: whether an actor has a task on a request, or is its requester. It does not authenticate anyone or decide who is an administrator. Your application does that before calling a command.
Can it run on serverless platforms or the edge?
Section titled “Can it run on serverless platforms or the edge?”On serverless Node.js runtimes, yes, with a PostgreSQL connection pool; run tick from a
scheduled function. Not on edge runtimes, which cannot open database connections the store needs.
What happens to requests in progress when I change a flow?
Section titled “What happens to requests in progress when I change a flow?”Nothing. Each request keeps the flow version it was submitted with (EC-37); new requests use the new version.
Business days and holidays?
Section titled “Business days and holidays?”Durations are absolute time by default. Pass a calendar to createRungs to count business days
with your own holidays (EC-30).
What is the license?
Section titled “What is the license?”The packages documented here are MIT licensed.
Where do I report a bug or ask a question?
Section titled “Where do I report a bug or ask a question?”In the GitHub issues. For a bug, the playground scenario that shows it is the most useful report.