Getting Started
Build from Source
Set up the dev environment and build Bushido locally
Prerequisites
Clone and Run
git clone https://github.com/visualstudioblyat/bushido.git
cd bushido
npm install
npx tauri devtauri dev starts the Vite dev server and launches the Tauri window with hot reload. Changes to React code update instantly. Changes to Rust code trigger a recompile.
Production Build
npx tauri buildOutputs an installer to src-tauri/target/release/bundle/.
Project Structure
bushido-browser/
├── src/ # React frontend
│ ├── App.tsx # Main app component
│ ├── components/ # Sidebar, settings, NTP, command palette, etc.
│ ├── styles/ # Global CSS
│ └── types.ts # TypeScript interfaces
├── src-tauri/
│ ├── src/
│ │ ├── lib.rs # All Rust commands (tab management, blocking, persistence)
│ │ ├── blocker.rs # Ad/tracker domain list
│ │ ├── content_blocker.js # Injected into pages for JS-level blocking
│ │ ├── cookie_blocker.js # Injected to auto-reject cookie banners
│ │ └── shortcut_bridge.js # Keyboard shortcut forwarding from webviews
│ └── tauri.conf.json # Tauri config (CSP, window settings)
└── package.json