| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
A free, realtime, keyboard-first task manager.
Issues, boards, sprints, projects and docs that update the moment anyone changes anything. The polish you expect from a paid task manager, with no per-seat bill at the end of the month.
No pricing. No billing. No paid tiers. Not now, not later.
Live demo · Documentation · Quick start · Self-host · Contribute · Roadmap
Self-hosting status: Preview. The repository supports local evaluation, but it is not yet a supported production release. Review the current limitations in the readiness tracker.
A task manager costs around 18 dollars per person per month. For a team of twenty that is over four thousand dollars a year to keep a list of tasks in order.
The alternatives were not a real answer. The free ones are slow and feel like filling in a form. The self-hosted ones are heavy to run. The cheap ones are cheap for a reason, and every one of them eventually asks for a card.
So we built the task manager we wanted, made it free and open-sourced it. Not free-with-an-asterisk, not free-for-three-users, not free-until-we-raise. There is no billing code in this repository and there is no plan to add any.
Orbit is sponsored by Noveum AI, who pay for the hosted instance and the engineering time. Everything is Apache-2.0, so you can run it yourself and never depend on us at all.
More in docs/assets/screenshots, every screen in both themes.
| Issues | Priorities, labels, states, estimates, assignees and relations. Fast list or drag and drop board |
| Sprints and cycles | Timeboxed planning with scope, points, burndown and carryover |
| Projects and milestones | Group work that spans teams and sprints |
| Docs | Rich editor, collections, comments, public share links |
| Standup | The whole workspace as a Kanban, filtered to one person by clicking their tile |
| Analytics | Scope, throughput, churn, and distribution by assignee, project, label and estimate |
| Search and views | Filters over everything, saved and shared or kept private |
| Realtime | Every change fans out over a websocket to exactly the people allowed to see it |
| Keyboard first | Cmd K for everything, g to navigate, single keys to act. Press ? |
| MCP server | AI agents read the board and file work, with your permissions, over OAuth |
| Notifications | In-app inbox, with per-event preferences and quiet hours |
| GitHub | Pull requests linked to the issues they close |
| Auth | Passkeys, Google, GitHub, email OTP. Password optional and off by default |
| Roles | Admin, member, contributor and guest, enforced on the server |
| Themes | Light and dark, both first class |
You need Bun 1.3 or newer and Docker. That is the whole list.
git clone https://github.com/Noveum/orbit.git
cd orbit
bun install
cp .env.example .env
bun run infra:up # postgres, redis and minio
bun run db:push # create the schema
bun run db:test-setup # create the test databases
bun run db:seed # load a demo workspace
bun run dev # http://localhost:3000Sign in as alex@orbit.example. The seed loads three teams, seven people, thirty two issues, projects, sprints and docs, so there is something to click on straight away.
Then press Cmd K, and open a second tab and change something in one to watch the other update.
| Service | Port |
|---|---|
| web | 3000 |
| realtime (development only) | 3100 |
| postgres | 5434 |
| redis | 6380 |
| minio | 9010 |
Full walkthrough in docs/getting-started.md.
The setup below describes the Noveum AI deployment profile. It is not a provider-neutral production support commitment.
Orbit is one Next.js app. It needs Postgres, Redis and an S3-compatible bucket, all of which have free tiers, so a small team can run it for nothing.
The button prompts for Resend so a fresh deployment can send sign-in codes. You can instead configure password, Google or GitHub sign-in. Production refuses to build or start without one complete method; see Authentication.
Two things that are not optional and produce confusing failures if you get them wrong:
Supabase for Postgres, Upstash for Redis, Cloudflare R2 for files and Resend for email is the combination we run. Other providers have not yet been certified by this project.
Full guide, including running it on your own server behind nginx: docs/self-hosting.md.
Orbit ships an MCP server, so Claude, Cursor, VS Code or anything else that speaks MCP can read your board and do work in it.
claude mcp add --transport http orbit https://orbit.example.com/mcpOAuth only, no API keys. You pick the workspace, re-verify a passkey and approve the scopes, and the grant is revocable from settings. An agent never has more permission than the person who authorised it, because the tools run through the same policy as everything else. A token with only orbit.read is not shown the write tools at all.
Sixty odd tools covering issues, sprints, projects and docs. Things that work today:
"What is blocking the Realtime Sync Engine project?"
"File a bug on Engineering: passkey sign-in fails on Safari when no credential is registered. High priority, assign it to me."
"Summarise what each person closed yesterday."
docs/mcp.md has the setup and the full tool list.
| Getting started | Run it locally in five minutes |
| Concepts | Workspaces, teams, issues, sprints, projects, docs, views |
| Self-hosting | Vercel, Supabase, Upstash, R2, or your own server |
| Configuration | Every environment variable |
| Keyboard shortcuts | All of them |
| MCP server | Connect an AI assistant |
| Integrations | GitHub |
| Architecture | How a change reaches every screen |
| Testing | Running and writing tests |
| Troubleshooting | The failures we actually hit |
| Roadmap | What is next, and what we will not do |
apps/web Next.js 16: UI, REST handlers, auth, /api/ws, /mcp apps/realtime Websocket host, local development only, never deployed packages/realtime-server Connection hub: tickets, scopes, presence, Redis fan-out packages/realtime-client Browser client: subscribe, patch, reconnect packages/mcp-server MCP tools and the handler behind /mcp packages/core Domain operations shared by REST, MCP and the hub packages/services Markdown, storage, email, notifications, Slack, GitHub packages/db Drizzle schema, migrations, client, seed packages/shared Zod validators, domain types, event contracts, policy
TypeScript throughout, in strict mode with any as a lint error. Next.js 16 and React 19. Postgres through Drizzle. Redis for realtime fan-out. Bun as the toolchain, node as the runtime, because a Vercel function can only upgrade a websocket on node.
A change writes to Postgres, bumps a monotonic sync_id, publishes to Redis, and the hub fans it out to the connections whose scope entitles them to see it. The client patches its cache rather than refetching, so your scroll position and selection survive. docs/architecture.md has the detail.
Contributions are wanted, and not only code. Docs, bug reports, translations, accessibility and design all count.
bun run verify # lint, comment policy, types, tests. The same four CI runsGood places to start:
A few house rules that will otherwise surprise you in review: Bun only, no npm or pnpm. No comments in code, the build fails on them, so put the meaning in names and the prose in the pull request. No any, no non-null assertions. No em-dashes. And a feature is not done until it has a test that would fail if the feature broke.
Full guide in CONTRIBUTING.md. The repository carries its own context files, CLAUDE.md and AGENTS.md, so your editor picks up the conventions without you explaining them each time.
Your face goes here. Genuinely, even for a typo fix.
If Orbit is useful to you, a star helps other people find it.
Noveum AI builds evaluation and observability tooling for AI systems, and pays for Orbit's hosting and engineering time. Orbit is not a funnel for it. There is no upsell, no "contact sales" and no gated feature. We needed a task manager, we could not find a free one that was good, so we built one and gave it away.
Apache License 2.0. Use it, run it, change it, ship it, commercially or otherwise. The patent grant protects you, and the NOTICE asks only that a public fork picks its own name so nobody confuses your build with this one.
| Back | FazBrowse Home | New Git URL |