Bonfÿre DocumentationContact

Build with Bonfÿre

Building blocks

Bonfÿre is being cut into nine areas a developer can use without taking the rest. Each one works from source today. None is published as a package yet, so there is no version to pin and no support promise. This page says what each area does, where it lives and what to try first.

The nine areas

AreaWhat it doesWhere it lives
DataLocal SQL and vector search, with the source of every record keptcmd/BonfyreVec, cmd/BonfyreEmbed, cmd/BonfyreCMS
ContractsTyped schemas and the code generated from themschemas/control
ModelsServing, quantization and embeddingscmd/BonfyreQuant, cmd/BonfyreModel
WorkRequests, commitments and who may act on themcmd/BonfyreQueue, cmd/BonfyreAuth, cmd/BonfyreWorkflow
AppsFrappe and WordPress integrationintegrations/
MediaPreparing and transcribing recordingscmd/BonfyreMediaPrep, cmd/BonfyreTranscribe
CommerceMoving records between systems and checking them on arrivalcmd/BonfyreBridge
FinanceMeters, invoices and recorded paymentscmd/BonfyreFinance, cmd/BonfyrePay, cmd/BonfyreMeter
WebSites, pages and the assistant endpoint for eachcmd/BonfyreWebAddress, components/BonfyreServiceSite

Where to start

If you want to…ReadArea
Search your own documents on your own machineLocal-first applicationsData
Turn a recording into searchable pagesRecording to workspaceMedia, Data
Put up a site for a customerWhite-label deliveryWeb
Follow a request through to an invoiceRequest to booksWork, Finance
Move records out of WordPress, Frappe or a databaseIntegration and migrationApps, Commerce
Measure and compress a modelModels and compressionModels

What is not ready

These are limits in the code as it stands, not plans.

  • No packages. Nothing here is on npm, PyPI or a system package manager. You build from the repository.
  • One vector size per store. A store is made at one width: bonfyre-vec init store.db --dims 768 for a 768-dimension model, 384 if you say nothing. A body of another width is refused, not trimmed. Changing model means making a new store and embedding again.
  • Payments are records. The finance area records invoices and payments someone has entered. It does not charge a card or talk to a bank.
  • Hooks in the Frappe apps are listed, not matched. The integration reads the donor apps' document types; it does not claim their server-side behaviour.

See it used

The work samples are built from these areas: the document search uses Data, the training app uses Work and Web, and the three shop sites use Web.