The first developer tool that knows when to get out of your way.
FlowState is a cognitive state management system that contains an editor — not an editor that manages cognitive state as a feature. The editor, terminal, and Git integration are the substrate. The product's identity is the layer on top: flow detection, programmatic interruption blocking, and a dynamic UI that reconfigures itself based on your measured cognitive load.
No current tool does this. VS Code doesn't know when you're in flow. Cursor doesn't block Slack. Zed doesn't simplify its interface when your error rate climbs.
A single-window, local-first workspace that replaces 9–12 fragmented developer tools:
- Editor & Explorer — Monaco-based editing surface with AI inline completion (Ollama) and a native file tree.
- Terminal — Embedded PTY shell (zsh / bash / cmd) that automatically targets your active workspace.
- Source Control — Full interactive Git GUI (stage, commit, branch, merge, push/pull) powered natively by
libgit2. - DevOps — Integrated GitHub Actions CI/CD dashboard with real-time job log streaming.
- Data — Read-only SQLite inspection panel to query and export your local cognitive signal data.
- Knowledge — Embedded GitHub-flavored Markdown renderer with auto-generated, scroll-synced Table of Contents.
- Extensions — A strictly sandboxed plugin system with runtime permission gating and immutable audit logs.
- Deep Work Engine — Behavioral signal collection, cognitive load scoring, and OS-level Focus Mode integration (macOS/Windows).
All local. No cloud. No telemetry.
FlowState features a community plugin architecture designed with privacy and focus as the top priorities. Plugins run inside isolated <iframe> sandowns and cannot access your file system, database, or network without explicit, user-granted permissions. Every permission grant is permanently recorded in an immutable SQLite audit log.
To build your own extensions, read the Plugin Development Guide.
- Rust (stable, 1.77+)
- Node.js (20+)
- Tauri CLI —
cargo install tauri-cli - macOS only: Xcode Command Line Tools —
xcode-select --install - macOS only:
brew install openssl libgit2
# Clone the repository
git clone https://github.com/<you>/flowstate.git
cd flowstate
# Install frontend dependencies
npm install
# Start the dev server + Tauri window
npm run tauri devFirst run compiles the Rust backend from scratch — expect 2–3 minutes. Subsequent runs are fast.
# Production build for your current platform
npm run tauri buildOutput artifacts are placed in src-tauri/target/release/bundle/.
| Phase | Timeline | Goal |
|---|---|---|
| 1 — Foundation ✅ | Months 1–3 | Unified workspace skeleton: editor, PTY terminal, read-only Git panel, SQLite state persistence, cross-platform CI. |
| 2 — Local AI ✅ | Months 4–6 | Fully local AI via Ollama. Inline code completion, AI chat panel, model switcher. Zero network required. |
| 3 — Deep Work Engine ✅ | Months 7–10 | The cognitive layer. Flow state detection, OS-level interruption blocking, progressive UI simplification, cognitive load dashboard. |
| 4 — Tool Embedding & Git Polish ✅ | Months 11–13 | Full interactive Git, database viewer, CI/CD status panel, Markdown docs viewer, sandboxed plugin system. |
| 5 — Polish & Public Release 🔄 | Months 14–16 | UI Activity Bar refactor, accessibility audit, performance profiling, v1.0 signed binary release. |
- Frontend: React 18 · TypeScript · Tailwind CSS v4 · Monaco Editor · xterm.js
- Backend: Tauri 2 · Rust · libgit2 · portable-pty · SQLite (sqlx)
- Build: Vite · GitHub Actions (macOS + Windows)
| Platform | Status |
|---|---|
| macOS (Apple Silicon) | ✅ Supported |
| macOS (Intel) | ✅ Supported |
| Windows (x64) | ✅ Supported |
| Linux | 🗓 Planned (v1.x) |
We welcome contributions to FlowState Desktop! Whether you are fixing a bug, improving the cognitive scoring algorithm, or building a community plugin, your help is appreciated.
- Fork the repository and create your branch (
git checkout -b feature/amazing-feature). - Commit your changes using conventional commits (
git commit -m 'feat: add amazing feature'). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request and ensure the GitHub Actions CI matrix passes on both macOS and Windows.
Building an extension instead of modifying core? Check out docs/PLUGIN_DEV.md to learn about the sandbox API and manifest schema.
MIT © FlowState Desktop Contributors