bilig

Create a Bilig WorkPaper starter

Use this path when you want a runnable project instead of a pasted snippet.

The starter package is @bilig/create-workpaper, exposed by npm create @bilig/workpaper@latest. Use it when you want the quote approval WorkPaper API shape without cloning the full monorepo.

The starter creates a quote approval API with @bilig/workpaper. It writes quote inputs through an API-style handler, recalculates workbook formulas, persists the WorkPaper as JSON, restores it, and verifies that the restored formula output still matches the live result.

Run It

Generated-project path:

npm create @bilig/workpaper@latest pricing-workpaper
cd pricing-workpaper
npm install
npm run smoke

Agent-ready MCP project:

npm create @bilig/workpaper@latest pricing-agent -- --agent
cd pricing-agent
npm install
npm run agent:verify
npm run mcp:server

Full-repo flagship example:

git clone --depth 1 https://github.com/proompteng/bilig.git
cd bilig
pnpm --dir examples/serverless-workpaper-api install --ignore-workspace
pnpm --dir examples/serverless-workpaper-api run smoke

Expected output includes:

{
  "verified": true,
  "star": "https://github.com/proompteng/bilig/stargazers",
  "watchReleases": "https://github.com/proompteng/bilig/subscription",
  "adoptionBlocker": "https://github.com/proompteng/bilig/discussions/new?category=general",
  "nextStep": "If this proof matches your workflow, open a concrete blocker or adoption note: https://github.com/proompteng/bilig/discussions/new?category=general"
}

The generated project also includes a local API server:

npm run dev
curl http://localhost:8788/api/quote/approval
curl -X POST http://localhost:8788/api/quote/approval \
  -H 'content-type: application/json' \
  -d '{"units":40,"listPrice":1200,"discount":0.05,"unitCost":760,"minimumMargin":0.3}'

What It Proves

Source

If this starter almost matches a service or agent workflow you maintain, open one concrete adoption blocker so the package becomes easier to evaluate: https://github.com/proompteng/bilig/discussions/new?category=general.