MCPcopy Index your code
hub / github.com/buntralino/buntralino

github.com/buntralino/buntralino @v1.0.2

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.0.2 ↗ · + Follow
38 symbols 96 edges 9 files 0 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Buntralino logo

Buntralino library for the Bun side

Buntralino unites Bun and Neutralino.js to make a simpler, lighter alternative to Electron and NW.js. Use Neutralino.js API at client and send harder tasks to Bun while keeping your development process easy.

Buntralino is a hybrid app development framework that lets you use web technologies (HTML, CSS, JavaScript, TypeScript) to make desktop apps. Buntralino applications work by creating a Bun application that launches and manages Neutralino.js windows. Neutralino.js windows can exchange information with Bun and each other in a client-server model through websockets, with you using a nice promise-based API. Bun is a faster alternative to Node.js or Deno, while Neutralino.js uses native OS' browser and augments it with native functions.

Usage

bun install --save buntralino
import * as buntralino from 'buntralino';

/**
 * Function map that allows running named functions with `buntralino.run` on the client (Neutralino) side.
 */
const functionMap = {
    sayHello: async (payload: {
        message: string
    }) => {
        await Bun.sleep(1000);
        return `Bun says "${payload.message}"!`;
    }
};

buntralino.registerMethodMap(functionMap);
// or buntralino.registerMethod('sayHello', functionMap.sayHello);

await buntralino.create('/', {
    // Name windows to easily manipulate them and distinguish them in events
    name: 'main'
    // Any options for Neutralino.window.create can go here
});

// Exit the app completely when the main window is closed without the `shutdown` command.
buntralino.events.on('close', (windowName: string) => {
    if (windowName === 'main') {
        // eslint-disable-next-line no-process-exit
        process.exit();
    }
});

Docs on all the functions coming SOON! But the sources are readable and straightforward, you can read them in window.ts.

Development

git clone https://github.com/CosmoMyzrailGorynych/buntralino.git
cd ./buntralino
bun install
# And you're ready to code!

Extension points exported contracts — how you extend this code

WindowOptions (Interface)
(no doc)
index.ts

Core symbols most depended-on inside this repo

ensureConnection
called by 16
lib/window.ts
sendNeuMethod
called by 13
lib/window.ts
ensureName
called by 4
lib/window.ts
dropConnection
called by 3
lib/connections.ts
awaitConnection
called by 3
lib/connections.ts
getUid
called by 3
lib/utils.ts
sendEvent
called by 3
lib/window.ts
getConnectionByName
called by 2
lib/connections.ts

Shape

Function 37
Interface 1

Languages

TypeScript100%

Modules by API surface

lib/window.ts20 symbols
lib/connections.ts6 symbols
index.ts5 symbols
lib/methodLibrary.ts3 symbols
lib/utils.ts1 symbols
lib/spawnNeutralino.ts1 symbols
lib/requests.ts1 symbols
lib/logger.ts1 symbols

For agents

$ claude mcp add buntralino \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page