ifb-cli
v1.0.1
Published
Electron + React + Vite with hot reload
Readme
IFB
IFB is a keyboard-first interview assistant for live coding, system design, SQL, and behavioral rounds.
What it does
- Capture interview screenshots and send them to your AI provider
- Record voice context with Azure Speech
- Switch between interview modes with quick shortcuts
- Keep the workflow minimal, fast, and screen-share friendly
Quick Start
npm install
npm run devSetup
- Add your AI provider API key in the launcher
- Add your Azure Speech key and region for voice capture
- Grant screen and microphone permissions
- Activate your IFB license key to launch
Build
npm run buildCLI
The package now exposes a CLI entry point:
npx ifb-cli startThe CLI downloads the correct platform build into ~/.ifb/ if it is not already installed, then launches it detached from the terminal.
Release Hosting
The CLI expects a release endpoint that can serve either:
- a manifest JSON at
IFB_DOWNLOAD_MANIFEST_URLorpackage.json#ifb.downloadManifestUrl - a direct archive URL at
IFB_DOWNLOAD_URL
The default archive template is:
https://downloads.ifb.app/ifb/releases/{version}/ifb-{platform}-{arch}.zipSet these environment variables before publishing a real release host:
IFB_DOWNLOAD_MANIFEST_URLIFB_DOWNLOAD_BASE_URLIFB_DOWNLOAD_URLIFB_DOWNLOAD_SHA256IFB_DOWNLOAD_URL_TEMPLATE
Production Build Pipeline
npm run build
npm run obfuscate
npm run packagePipeline order:
buildgenerates the Electron renderer output intodist/obfuscatecopiesdist/todist-obf/and obfuscates only renderer/business JavaScriptpackagerunselectron-builderusing the obfuscated renderer assets
Local Testing
npm install
npm run devFor a local packaged-style run:
npm run build
npm startTo test the CLI locally against a staging archive:
IFB_DOWNLOAD_URL="http://localhost:8080/ifb-win32-x64.zip" npx ifb-cli startPublishing the npm Package
- Bump
versioninpackage.json - Verify
bin/cli.jsis executable - Run
npm publish --access public
Only the CLI/runtime files under bin/ and lib/ are included in the npm package payload.
