Thanks for being here. Slash is open source because the app that sees everything should be one anyone can read, audit, and improve. Contributions of all sizes are welcome.
- Report a bug: open an issue with the bug report form. Detail makes it fixable.
- Request a feature: use the feature request form. Tell us the problem, not just the solution.
- Ask or share: questions, setups, and ideas go in Discussions.
- Send a pull request: fixes, features, docs, all good.
Requires Node.js 20 or newer.
git clone https://github.com/PythonLuvr/slash.git
cd slash
npm install
npm startTo build an installer: npm run dist (local only). See
RELEASING.md for the release process.
src/main.jsis the Electron main process: windows, tabs, views, IPC, and the privacy/security wiring.src/lib/holds the focused modules:settings,store,migrate,vault,favicons,api,mcp-server.- Each UI surface is an HTML/CSS/JS trio plus a sandboxed preload that exposes a
narrow IPC bridge (
hero.*,ai.*,settings.*,overlay.*, ...). DESIGN.mdis the visual system,PRIVACY.mdis the security model and roadmap,mockups/holds the HTML used for the README art.
These are what make Slash Slash. PRs that hold to them merge faster:
- Private by default, local-first. No telemetry, no account, no cloud sync.
New data stays on the user's machine; secrets are encrypted at rest with the
OS keystore (
safeStorage). - Nothing hardcoded to one person or machine. No keys, no personal paths. AI is bring-your-own-key or a local CLI.
- Keep the shell hardened. Web content stays sandboxed and context-isolated with no Node access. Trusted UI views never navigate themselves.
- Be honest in the UI and docs. If something is best-effort or has limits, say so plainly (see the README's "What Slash does not do").
- Branch from
main. - Keep changes focused; match the style of the surrounding code.
- Run
npm startand confirm the app still launches and your change works. - Describe what changed and why. Link the issue it closes.
By contributing you agree your work is licensed under the project's MIT License.