lumnik — defrost the enterprise
Documentation
Your information systems — the ERP, the LIMS, the exports nobody dares to touch — hold twenty years of history nobody can question any more. lumnik un-freezes that data, read-only.
Then someone asks it a question in plain language, from a phone. The answer cites its sources — or declines and says why.
Choose your starting path
See the WOW
Watch two legacy sources become one canonical customer, then ask it a question in French.
Deploy the hub
Run the self-host stack, wire OIDC, and get to a healthy local hub without guesswork.
Quickstart in 60 seconds
Build lm, point it at the hub, and show value on CSV, REST, or SFTP data.
Walk the full path
Go from an empty machine to scoped métier apps, dormancy alerts, and day-2 operations.
The system in one glance
Frozen data flows one way — left to right, read-only at the door. On the right it meets people, and it leaves again: what changed becomes an event, then a decision, then a message in your own tools. Every page in this documentation sits somewhere on this map:
flowchart LR
subgraph frozen["Frozen legacy systems"]
direction TB
erp[("ERP · JDBC")]
files[("CSV · SFTP · S3")]
apis[("REST · SOAP · GraphQL")]
end
subgraph hub["the lumnik hub — multi-tenant · RLS"]
direction TB
conn["Connectors — read-only ingestion"]
tables[("Raw tables, per tenant")]
ent["Entities — fused, conflicts kept"]
ask["Ask — five honesty guards"]
ev["Events → decisions"]
conn --> tables --> ent --> ask
tables -->|"new rows only ·<br/>REST/SOAP/GraphQL silent"| ev
end
subgraph metier["The métier"]
direction TB
chat["Chat"]
pwa["PWA · views · inbox"]
end
out["The roads out —<br/>webhook · email · pull"]
lm["lm CLI/TUI —<br/>the integrator operates the hub"]
erp --> conn
files --> conn
apis --> conn
ask --> chat
ent --> pwa
ev --> pwa
ev --> out
hub -.- lm
The product surface
The hub
Declarative connectors ingest JDBC, CSV, files, and REST (GraphQL and SOAP are request shapes on the same REST engine) — plus Kafka event brokers in lumnik Pro — into a multi-tenant PostgreSQL where isolation lives in the database (Row-Level Security), not in the URL. Transformers repair the freezer's damage — mojibake, legacy dates — right at the door.
Entities
N legacy sources become one canonical, queryable thing. Disagreements stay visible in the _conflicts ledger.
Answers that cite — or refuse
Per-métier chat and read-only text-to-SQL over the live hub, fenced by five deterministic honesty guards and métier scopes.
Apps, workflows, and the roads out
Views, processes, workflows, inbox, and the métier PWA turn the hub into operational surfaces — on a phone, where the work actually happens. And what changed leaves again: a decision reaches your own tools by signed webhook or email.
First session map
Watch first
Use the WOW before reading feature lists. Seeing one fused customer beats absorbing ten abstractions.
You know it landed when: you understand what a connector, an entity, and a sourced answer look like in one run.
Deploy and log in
Run the hub locally, point lm at it, and verify your first authenticated call succeeds.
You know it worked when: lm login succeeds and lm connector list answers.
Choose your shelf
Once the system is alive, branch into Connectors, Apps, Security, or Operations depending on what you need next.
Best next shelves: Connectors, Workflows, Security, Operations.
Reference shelves
Connectors
Overview · transformers · CSV & files · JDBC · REST · GraphQL and SOAP — both request shapes on the REST engine, not connector types of their own · Kafka (Pro)
Ask your data
Apps & outputs
Views · processes · workflows · inbox · PWA · the roads out · email · how lumnik breathes
If you want the full newcomer sequence rather than the shelf model, go straight to Parcours.