The producer's eye.
A radar for your team's real work: branches, tasks and assets, living inside your own git repository.
No server. No accounts. No subscription.
Steel-eye is a local-first desktop app for software production in small teams (3 to 15 people). It brings together in one place what today lives spread across five separate tools:
- What each person is doing, straight from their git branch, without asking anyone for a status report.
- What tasks exist and who owns them, in a kanban that travels inside the repo.
- How healthy the project is: binary collisions, milestones, contributors.
- What newly uploaded assets look like: real previews for images, audio and 3D models, not just icons.
- A full git client in plain language, able to get anyone out of trouble.
All product state (tasks, boards, milestones, roster, claims) lives in an orphan branch (steel-eye/meta) inside your own repository: it syncs with the same push/pull you already use, works offline, and there is no third-party server or account to create. If you uninstall Steel-eye tomorrow, your data stays in your repo, as readable JSON.
It fits especially well in teams where technical and non-technical people work on the same repository, and in projects with heavy binaries (art, audio, models, design documents): games, apps, multimedia.
Today, the digest since your last visit: pending reviews, published work, moved tasks, upcoming milestones, blocked tasks and binary collisions, all at a glance.

Map, Timeline view: a vertical-lane commit graph across branches, with real commit messages and the ability to filter by person or branch.

Tasks: a multi-board kanban with custom columns, drag and drop, archiving and agent-created cards, living entirely inside the repo.

Health: verifiable, score-free facts about the project: milestones, real collaborators, binary collisions, LFS status and branch overview.

Assets: a grid of working-tree binaries with real thumbnails, browsable without opening the originating engine or editor.

Console: real git history, staged changes, branch comparison and the rescue recipe book, all in plain language.

On opening the app: what has shipped since your last visit, by author and branch. New or moved tasks, milestones within 14 days with real progress, your review queue (approve or request changes right there), blocked tasks and binary collisions.
Three views: List (full history per branch with media previews for each commit), Graph (branches with real attribution to people, computed from commit authors) and Timeline (topological lanes with the full diff of each commit). Tested against synthetic repos with 15,000 commits.
Multi-board with custom columns, drag and drop, per-item checklists, comments, functional blocking between tasks, review flow (pending, approved, changes requested), archiving, task-to-commit and task-to-milestone links. Roster built automatically from git authors. Field-level LWW merge: two people editing the same task offline never overwrite each other, and you will never see a git merge conflict in app data.
Binary collisions between branches (two people touching the same non-mergeable file), soft-claim on files ("I'm working on this", it warns but never blocks), milestones with a timeline and the commit that closes them, a Git LFS overview with one-click activation.
A grid with real thumbnails: standard images and pro formats (PSD, TGA, DDS, EXR, Aseprite) decoded in Rust, audio waveforms, and real 3D thumbnails for glb/gltf/obj/stl/fbx models rendered offscreen. Lightbox with an interactive 3D viewer, visual image diff between commits (before/after slider), open any file with the system's default app, and a search bar with filters (type:, ext:, larger:, heavy).
Stage/unstage per file and per hunk, branch comparison, a visual 3-way conflict resolver (per file or per block), a real integrated PTY terminal, and a rescue recipe book: 10 guided recipes ("I ended up in detached HEAD", "I want to move these changes to another branch"...) with guards that check they apply before touching anything. Your team can add its own recipes in .steel-eye/recipes/, shared through git, declarative, no arbitrary shell.
A local, embedded MCP server (opt-in, 127.0.0.1, token-protected) exposing 16 tools to external AI agents: project status, tasks (create/edit/comment with the caller's real identity), milestones, claims, commits and diffs. Anything an agent writes is attributed as "via agent" in the UI. No bridge through the frontend: the agent talks to the same Rust domain the app uses.
- Bilingual es/en with hot switching (backend errors included).
- Local notifications after auto-fetch: new work from others, reviews assigned to you, upcoming milestones, collisions.
- Global search Ctrl+K: tasks, branches, commits, assets, recipes and quick project switching.
- Startup doctor: sanity checks for git, identity, credentials, LFS and unusual repo states.
- Zero telemetry. Nothing leaves your machine except your own
git push.
Open a project. Click "Open project" and pick the root of any git repository (or a recent one from the sidebar / Ctrl+K). The startup doctor checks your environment the first time and only warns you if something is actually wrong. Steel-eye creates the steel-eye/meta branch on first use; the rest of the team gets it with a normal pull.
Work with tasks. In Tasks, create cards with each column's button and drag them across columns. Double click (or right click, view detail) opens the panel: assignee, reviewer, board, checklist, comments, blockers and linked commit. Changes save instantly locally and publish in batches: Ctrl+S, every 60 seconds, or on view change, so eventually it shares itself without you doing anything.
Follow the team. Today summarizes what shipped since your last visit. Map shows who is working on what branch (Graph), full history with per-commit previews (List) and per-commit detail (Timeline). The roster builds itself from git authors; in Health you can link emails to people and create milestones.
View and claim assets. In Assets, double click any file to open the lightbox (images, audio with waveform, browsable 3D models). Right click: open with the system's app, reveal in file explorer, or claim the file ("I'm on this") so everyone else sees it before stepping on your work.
Get out of a git mess. In Console, a banner for unusual repo states shows up only when the repo is mid-merge, detached HEAD or similar, and offers the exact recipe. The full recipe book is always available: each recipe explains the situation, checks it applies and runs the steps one by one. For everything else: stage per hunk, branch comparison, conflict resolver and an integrated terminal.
Connect an AI agent. Turn on the MCP server with the sidebar switch and copy the URL (it includes the token). Any MCP-compatible client can read project status and work with tasks; anything it writes is marked "via agent".
Change language. es/en selector at the bottom of the sidebar, switches instantly.
Requirements: Windows 10/11 with git on PATH. (WebView2 ships with Windows 11; on Windows 10 the installer resolves it.)
Download the installer from Releases. Since it is not code-signed yet, SmartScreen will show a warning: "More info, Run anyway".
macOS and Linux: the code is cross-platform (Tauri v2) but only tested on Windows for now. Building from source should work; there are no official builds.
# Requirements: stable Rust, Node 18+, and Tauri v2 prerequisites
# (Windows: VS Build Tools with C++; Linux: libwebkit2gtk-4.1 etc.)
# https://v2.tauri.app/start/prerequisites/
git clone <this-repo>
cd Steel-eye
npm install
npm run tauri dev # development
npm run tauri build # production installerRust domain tests (176) run with cargo test --workspace.
crates/ domain logic in pure Rust, no Tauri
├── eye-core entities + field-level LWW merge (Field<T>)
├── eye-git git2 reads + shell-out mutations
├── eye-meta the steel-eye/meta orphan branch: JSON store + conflict-free sync
├── eye-recipes declarative recipe book (TOML + guards + runner)
├── eye-previews PSD/TGA/DDS/EXR/Aseprite decoding and audio waveforms
└── eye-mcp local MCP server (axum, JSON-RPC 2.0)
src-tauri/ thin Tauri shell: 79 commands that only parse and delegate
src/ React 19 + TypeScript, Zustand, i18next, zero mock data
Design principles: local-first always, plain language across the whole UI (never raw git jargon), a single meaningful accent color, and the team's repo as the single source of truth.
PolyForm Noncommercial 1.0.0: you can use, copy, modify and share Steel-eye freely for any non-commercial purpose. Full text in LICENSE.
This means the code is source-available, not open source under the OSI definition: commercial use requires a separate license from the author. If you want to use Steel-eye commercially, open an issue and let's talk.
Issues and PRs are welcome. By contributing you agree your contribution is distributed under the project's license. Docs and UI are in Spanish (with translation in src/i18n/en.json); code identifiers are in English.