bilig is by proompteng — not by us.
We indexed this project so people can find it. We are not selling it, we host no copy of the code, and we are not affiliated with or endorsed by its authors — get it from them.
Indexed Oct 12, 2026 · 34 stars at index time. Maintainers: claiming verifies your identity and unlocks a higher assurance tier. Removal requests are honored.
MCP server · for humans & their agents
bilig
unclaimed listingactively maintainedFreeMIT
Formula workbooks for Node services: edit inputs, recalculate formulas, read outputs, persist WorkPaper JSON, and expose
by Open Source Community · New publisher
Every claim on this page is refundable if it is untrue — refund policy.
proompteng/bilig is an open-source project by proompteng: Formula workbooks for Node services: edit inputs, recalculate formulas, read outputs, persist WorkPaper JSON, and expose MCP tools.. Indexed here so it can be found — not resold.
It is free. Get it from the upstream repository: https://github.com/proompteng/bilig
From the project's own README (excerpt, reproduced for discovery under its MIT license):
Bilig
Keep the workbook model. Run the rule in Node.
Bilig is a TypeScript-native, headless WorkPaper runtime for Node.js services, tests, and AI agents. Set inputs, recalculate formulas, read computed outputs, persist WorkPaper JSON, restore it, and verify the result—without driving Excel or a browser grid.
Docs · Quick start · TypeScript API · MCP · Examples · Discussions
> Bilig is a headless workbook runtime, not a visual spreadsheet app or a claim > of full Excel compatibility. If an .xlsx file is your contract, start with > the compatibility report.
Quick Start
Node runtime
Prove the published package before installing it:
The evaluator edits Inputs!B2, recalculates Summary!B2, saves the WorkPaper, restores it, and compares the restored value:
verified: true means the write, formula readback, JSON export, and restored readback all passed. It is stronger evidence than a successful write call.
Use It From TypeScript
For ordinary operations, use set(), setMany(), readMany(), display(), and saveJson(). Use editManyAndReadback() when multiple inputs must be committed and verified as one edit. The complete public API is documented in packages/workpaper/README.md.
The lifecycle is deliberately small:
inputs → formula recalculation → typed readback → JSON persistence → restore verification
Why Bilig
Capability What it gives you ------------------------ ------------------------------------------------------------------------------------------- Workbook-shaped models Sheets, A1 addresses, formulas, ranges, and named expressions without a spreadsheet UI. Verified mutations Before/after computed values plus persistence and restore checks. Service-owned state Portable WorkPaper JSON for routes, queues, tests, tools, and audit…
Preview
See what it does before you commit. Previews show behavior, never source code.
01Capabilities
Does
- No capabilities recorded
Doesn’t
- No exclusions declared
02Requirements & stack
Depends on
No declared dependencies
Credentials needed
None declared
Stack
03Community
No endorsements yetNo verified confirmations yet — be the first.
Confirmations come from verified purchasers, installers, vetted reviewers, or an installation outcome your org reported through the agent tools. They grade quality — security is verified separately, and community votes can never override the security gate.
Sign in to confirm — weight comes from verified usage, not vote count.
Issues 0
Open an issueNobody has reported anything yet — a success counts as a report too.
04Trust Passport
Full passport →0/0 automated components pass. An automated score is never a security guarantee.
This listing is unclaimed, so publisher identity cannot be verified and it stays below the “verified” tier by design — that is a statement about the listing, not about the project’s quality. Our automated scans still ran; a maintainer who claims it unlocks identity verification.
05Versions
Full history →| Version | Channel | Released | Notes |
|---|---|---|---|
| 0.0.0 | stable | Oct 12, 2026 | Indexed listing — see the upstream repository for real release history. |