No description
  • TypeScript 76.6%
  • Vue 15%
  • CSS 5.3%
  • JavaScript 2.9%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-29 21:19:53 +01:00
.forgejo/workflows Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
.storybook Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
app Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
docs Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
electron Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
i18n Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
packages Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
plugins Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
public Kanbot logo: three columns, the bot in the middle one 2026-09-11 23:43:14 +02:00
scripts Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
server Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
shared Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
test Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
.dockerignore Headless hub image: Dockerfile, compose example, docs 2026-10-16 21:19:02 +02:00
.env.example Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
.gitignore @kanbot/plugin-sdk is publishable to the Forgejo npm registry 2026-10-08 12:23:12 +02:00
.nuxtrc Storybook with the themes, and component tests inside Nuxt 2026-09-28 16:35:19 +02:00
.nvmrc Run dev and CI on Node 24, the Node the desktop app ships 2026-09-28 15:48:43 +02:00
CLAUDE.md Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
docker-compose.yml Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
Dockerfile Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
electron-builder.yml Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
eslint-suppressions.json Drop drizzle: Kanbot's migrator alone brings a database up to date 2026-10-08 11:35:41 +02:00
eslint.config.mjs Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
nuxt.config.ts Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
package-lock.json Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
package.json Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
README.md Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
ROADMAP.md Internal names are Overlight's too 2026-10-29 21:16:57 +01:00
tsconfig.json Initial import of Agent Taskmaster 2026-09-11 12:18:00 +02:00
vitest.config.ts Storybook with the themes, and component tests inside Nuxt 2026-09-28 16:35:19 +02:00

Overlight

Direct a team of AI agents from one board.
Drop a ticket in a column and an agent plans it, builds it on its own branch, reviews it and hands it back to you, with screenshots and a merge request description ready.

Get started · Features · Desktop app · Documentation

The Overlight board: tickets moving from Backlog through Plan, In progress, Blocked and Review to Done, with cost, time and branch on every card


Why Overlight

You already know how to run a team with a board. Overlight lets you run AI agents the same way, from above: you decide what gets done and when, and the agents do the work.

  • It runs on your machine. Overlight is a local app (Nuxt + SQLite) that drives the AI tools you already use, with their login, settings, skills and MCP servers. There is no account and no cloud service, and your code never leaves your computer.
  • Bring your AI provider. Agents run through runtime plugins, so the board, workflows and guard rails stay the same whichever provider does the work.
  • Agents work like teammates. Each task gets its own git worktree and branch. The agent reads the ticket, asks when something is unclear, commits its work, attaches screenshots and writes the merge request description.
  • You stay in control. Plans wait for your approval, risky commands wait for your OK, and a second agent reviews every change before it reaches Done. Nothing moves to In progress unless you move it.
  • You can see everything. Every tool call, question, answer, cost and minute is recorded, so you always know what an agent did and what it cost.

How it works

Backlog  →  Todo  →  Plan  →  In progress  ⇄  Blocked  →  Review  →  Done
  you        you     agent      agent         agent asks,   agent      branch committed,
                     studies    builds it     you answer    reviews    screenshots + MR text
                     the ticket
  1. Write a ticket, or import it from your tracker.
  2. Move it to Todo. An agent studies the ticket and the repository, then writes a plan with acceptance criteria, an estimate, risks and the questions it needs answered.
  3. Answer and start the work. The agent builds the change in an isolated worktree and stops to ask you when it needs a decision.
  4. Review the result. A reviewer agent checks the diff. You get the verdict, the findings, the screenshots and a ready-to-paste merge request description.

Features

Every ticket is planned before anyone codes

The Plan tab: summary, acceptance criteria, open questions, risks and the files it expects to touch

An agent reads the ticket and the code, then writes a summary, acceptance criteria, a size and estimate, the risks, the files it expects to touch, and the questions the ticket leaves open. Answer them inline and they travel with the ticket to the agent that builds it. In plan-first projects the agent also proposes an implementation plan and waits for your approval before it edits anything.

→ How agents work a task

Agents ask instead of guessing

An agent asking a multiple-choice question about a component API An agent asking for approval before running npm install

When an agent needs a decision, the task moves to Blocked and the question appears on the card, on the task page, in your notifications and, if you like, on Discord. Answer it and the agent picks up exactly where it stopped, even after a restart.

Command approvals hold risky shell commands until you allow them: recursive deletes, pushes, publishing, installing packages, touching infrastructure, reading secrets. Allow a command once, allow it for the rest of the task, or deny it with a reason.

→ When the agent needs you · Command approvals

A second pair of eyes on every change

A review with a blocker, a major, a minor and a nit, each with file, line and suggestion

Before a task is Done, a reviewer agent reads the diff, runs the cheap checks, and records a verdict with findings ranked blocker, major, minor or nit, each with a file, a line and a suggestion. Tick findings off, dismiss them, or send the task back. In "review and fix" mode, blocking findings go straight back to the implementer.

→ Guard rails

See everything the agent did

A task's timeline: tool calls with durations, agent messages, notes, and totals for cost, tokens and time

Every status change, message, tool call (with its duration), question, answer and note is stored with a timestamp. Each task shows its tracked time, agent time, cost, turns and tokens. Tabs for the plan, review, screenshots, merge request, questions and time are one click away.

→ What Done means, and the task's history

Workflows you draw

The workflow editor: triggers and actions wired on a canvas, with the selected Review node configured on the right

What happens to a task is a graph you can change. Triggers say when (a task enters a column, an issue is imported, a question is answered); actions say what runs (run an agent with your skills, plan, take screenshots, review, wait for you, notify); branches split on the review verdict, the priority, a custom field and more.

Three presets are included: Plan, approve, develop, review (the default), Straight to work, and Research and document. Each project picks a workflow, and any single task can use a different one.

→ Workflows

All your repositories in one place

The Projects page: cards with the checked-out branch, uncommitted changes, open and waiting tasks, and buttons to open the editor or a terminal

The Projects page is where your day starts. Each card shows the checked-out branch, uncommitted changes, what is running and what is waiting for you, with one click to open the project in your editor or a terminal. Pin your favourites, group projects by category, and set guard rails per project:

  • Git mode: a worktree per task, a branch in place, or manual git, where the agent edits files but cannot commit.
  • Review mode: off, review and report, or review and fix once.
  • Plan first and command approvals, for repositories where you want to sign off on everything.
  • Project memory: agents propose one-line lessons about the repository, and the ones you accept are added to its instructions file so the next agent knows them.

→ Projects · Guard rails

Built for the keyboard

The command bar searching tasks and views The list view: a sortable table of every task with cost, time and custom fields

Press Ctrl+K (⌘+K on a Mac) to search every task, jump anywhere, or run any action. Use J/K to move between cards, 1–6 to move a card to another column, and V to switch to a sortable list view. Press ? for the full list of shortcuts.

Jira-style advanced filters cover text, status, priority, project, agent state, date ranges, custom fields and flags such as "waiting for an answer". Filters live in the URL and can be saved as named views.

→ Finding your way around · The board and tasks

Time tracking and reports, done for you

The timesheet: the week at a glance and the tracked time per task for the day Reports: booked and tracked hours, lead and cycle times, agent runs, cost and reviews, by project

Agent runs are timed automatically, and a timer covers your own work. Fill the day spreads your workday over the tasks you actually touched, rounded to your step, ready to copy into your tracker. Reports show hours, lead and cycle times, agent runs, cost and review outcomes for any period. A morning standup summary arrives every workday without calling a model.

→ Time, reports and standups

Make it yours: 25 themes

Twelve of Overlight's themes: Liquid glass, Cyberpunk, Windows XP, Medieval, Minecraft, Terminal, Paper & ink, Synthwave, Visual Studio Code, Halloween, Pokémon and Mac OS X Tiger

Each theme has a light and a dark side and changes the whole feel, not just the colours: Windows XP windows, Minecraft oak planks, sticky notes on a ruled notebook, a Pokédex, a CRT terminal, and more. Each theme also animates in its own way. Preview them live from the command bar, as in VS Code. Overlight is available in English and Spanish.

Windows XP, light and dark Cyberpunk, light and dark Stardew Valley, light and dark

→ All 25 themes, in light and dark

Works with what you already use

  • AI providers: agents run through runtime plugins. Turn on the ones you have and pick which one each task runs on.
  • Trackers: import Redmine issues by hand, or link a tracker project to auto-import new issues into Backlog. Other trackers can be added as plugins.
  • Discord: a bot keeps a channel up to date and lets you approve plans, allow commands and answer questions from your phone with one tap.
  • Notifications: a bell in the app and native desktop notifications, with a switch for each kind.
  • Your editor and terminal: open any project or task worktree in VS Code, Cursor, Zed, WebStorm or a command of your own.

→ Trackers · Notifications and Discord · Open with


Get started

You need: Node.js 24 and the command-line tool of an AI provider that Overlight has a runtime plugin for, installed and signed in. The setup checks which runtimes it can find and tells you what is missing.

npm install
npm run dev        # open http://localhost:3000

The first launch opens a short setup (language, theme, AI runtime, trackers, notifications, first project), followed by a guided tour. Every step can be skipped and changed later in Settings. The getting started guide walks through each step.

For a long-running instance:

npm run build && npm start

Run both from the project root. Data lives in ./data; set OVERLIGHT_DATA_DIR to change that. See .env.example for the other options.

The first-run setup: language, light or dark, and the theme picker

Desktop app

Overlight also ships as a standalone app for macOS, Windows and Linux. A menu-bar tray shows running agents and lets you answer what's waiting without opening the window, and on macOS you can approve a plan or a command straight from the notification.

npm run desktop:build        # dmg on macOS, installer on Windows, AppImage + deb on Linux → dist/
npm run desktop:build:win    # Windows installer and portable exe, no admin rights needed

Builds aren't notarized, so macOS and Windows ask you to allow them on first launch. Signing, first launch on each platform and other details are in docs/desktop.md.

Run it as a shared hub (Docker)

Overlight can also run headless on a server or VM: browsers pair with it to use the board, and the machines that run agents join it as nodes.

docker compose up -d --build                                   # HTTPS on 7433, data in the overlight-data volume
docker compose exec overlight overlight-hub offer --kind browser     # pairing code, then open https://<host>:7433/pair

See docs/headless-hub.md for pairing, backups, upgrades and security.

Learn more

  • Documentation: every feature in detail, by topic: the board, agents, guard rails, workflows, projects, trackers, Discord, time tracking, themes.
  • Desktop app: building, signing and first launch on each platform.
  • Headless hub: running Overlight on a server.
  • Plugin SDK: write your own AI runtime, tracker or channel.
  • Roadmap: what could come next.
  • Code organisation: how the codebase is laid out, for contributors.

The name comes from the idea of a plane above the everyday one, from which everything below can be seen and guided. You stay up there; the agents do the work.