Devtron[!NOTE] This project is under development and subject to change.
This project uses Yarn 4 to manage dependencies.
To get started:
yarn install to install dependenciesyarn build to build the project// main.js
const { devtron } = require('@electron/devtron');
// or import { devtron } from '@electron/devtron'
devtron.install(); // call this function at the top of your file
const { app } = require('electron');
const isDev = !app.isPackaged;
async function installDevtron() {
const { devtron } = await import('@electron/devtron');
await devtron.install();
}
if (isDev) {
installDevtron().catch((error) => {
console.error('Failed to install Devtron:', error);
});
}
await devtron.install(options)Installs Devtron into the Electron app. Refer to Configuring an Electron App to use Devtron for installation instructions.
Options| Option | Type | Default | Description |
|---|---|---|---|
logLevel |
'debug' \| 'info' \| 'warn' \| 'error' \| 'none' |
'warn' |
Sets the minimum log level for the logger. Messages below this level are ignored. |
Levels:
• debug — logs: debug, info, warn, error
• info — logs: info, warn, error
• warn — logs: warn, error
• error — logs: error only
• none — disables all logging |
Examples:
// Only 'warn' and 'error' logs will appear in the terminal
await devtron.install({ logLevel: 'warn' });
await devtron.getEvents()Returns a Promise that resolves to the array of IPC events recorded by the Devtron service worker since installation.
If the Clear all events button in the Devtron UI is clicked, this array will be cleared.
If the array size exceeds 20,000 events, it will be truncated to the most recent 20,000 events.
Here's a usage example that keeps logging IPC events every 2 seconds:
// main.js
import { devtron } from '@electron/devtron';
// Ensure Devtron is installed before calling getEvents()
devtron.install();
setInterval(async () => {
const ipcEvents = await devtron.getEvents();
console.log('IPC Events:', ipcEvents);
}, 2000);
devtron.install() before they are created.devtron.install() is called early, because Devtron may take a short time to initialize after starting the app.ipcRenderer.once will be tracked as two separate events: ipcRenderer.on and ipcRenderer.removeListener.If Devtron is installed correctly, it should appear as a tab in the Developer Tools of your Electron app.
$ claude mcp add devtron \
-- python -m otcore.mcp_server <graph>