# What Tack is

> A GitHub-native whiteboard for open source planning, and the rules it keeps.

Tack is a collaborative whiteboard for planning open source work. You put GitHub issues and pull requests on a freeform board as **live cards**, next to stickies, stacks, sections, connectors and decisions, and work through them with your team, live or over days, on a computer, a tablet or a phone.

Arranging a board never touches GitHub. When the session has produced something worth keeping (new issues, labels, a milestone, links between issues, a decision record), you **stage** it, review it as one batch, and **push** it. Until then, nothing changes on GitHub.

![A planning board: issue and pull request cards with labels, CI and review state, and four stickies from the session.](https://tack.social/_astro/planning-light.CLoAo_JK_Z1BoAHQ.webp)

A planning board: live cards from two repositories, and stickies from the session.

Tack is open source (MIT) and self-hosted: each instance is one Cloudflare Worker and a GitHub App you own. There’s no hosted service. See [Deploy Tack](https://tack.social/self-hosting/deploy.md), or [try it in your browser](https://tack.social/try/) first.

> **Early days**
>
> Tack is an early prototype. It’s used for real planning, but expect rough edges and changes between versions.

## The rules Tack keeps

These decide how every feature behaves:

1. **GitHub is the source of truth; the board is a lens.** Tack stores the layout, the stickies and the things GitHub has no home for (votes, decisions in progress, comments on the board). It never keeps its own copy of an issue’s state: a card shows what GitHub says, and updates when GitHub changes.
2. **Moving things never changes GitHub.** Only explicit actions do, and they’re staged, previewed and pushed as a batch. See [Writing back to GitHub](https://tack.social/writing-back/overview.md).
3. **Automation adds, people arrange.** [Inboxes](https://tack.social/automation/inboxes.md) and [rules](https://tack.social/automation/rules.md) can put cards on a board, but never move or delete what someone placed.
4. **Async first.** Everything that works in a live session also works across time zones over days: votes stay open, comments thread, and [since you were here](https://tack.social/facilitation/since-you-were-here.md) shows what changed while you were away.
5. **Boards aren’t owned by a repository.** A board can hold items from any repository. Public repositories work with no setup; installing the GitHub App on a repository makes its cards live and lets Tack write to it.

## Who sees what

You sign in with GitHub, and **GitHub decides what you can see and do**:

- Cards from a private repository only show their details to people who can read that repository on GitHub. Everyone else on the board sees a “Private” placeholder. Being on a board never grants access to a repository’s data.
- Pushing writes to GitHub with your own permissions: if you can’t write to a repository, you can stage changes there but not push them.
- Board roles (owner, editor, viewer) decide who can change the board itself. See [Boards and sharing](https://tack.social/boards/boards-and-sharing.md).

## What’s on a board

| Thing                                                                | What it’s for                                                                                                                 |
| -------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| [Cards](https://tack.social/boards/cards.md)                         | Live GitHub issues and pull requests: state, labels, assignees, CI and reviews                                                |
| [Stickies and text](https://tack.social/boards/stickies-and-text.md) | Ideas, notes and headings. Stickies can become issues                                                                         |
| [Stacks](https://tack.social/boards/stacks.md)                       | Stickies, issues and pull requests gathered into a named theme. A stack can become a parent issue                             |
| [Sections](https://tack.social/boards/sections.md)                   | Frames that hold things. A section can become a parent issue, an inbox, a silent brainstorm or a vote                         |
| [Connectors](https://tack.social/boards/connectors.md)               | Arrows between things. A connector between two issues can become a blocked-by link                                            |
| [Decisions](https://tack.social/boards/decisions.md)                 | Proposals people vote on, decided, then written back as an ADR pull request or a Discussion                                   |
| [Action items](https://tack.social/facilitation/action-items.md)     | Who’ll do what by when, following their issues, and carried into the next session                                             |
| [History](https://tack.social/boards/history.md)                     | The board over time: replay it, see who changed what, bring back what was removed                                             |
| [Widgets](https://tack.social/widgets/overview.md)                   | Live searches and views: lists, a timeline, a release draft, a dependency map, a review queue, a milestone and a stale finder |
| [Custom widgets](https://tack.social/widgets/custom.md)              | Your own code, in a sandbox, drawing the board’s data                                                                         |

Cards can also come from [GitLab, Codeberg, Forgejo and Tangled](https://tack.social/self-hosting/forges.md), and [AI](https://tack.social/boards/ai.md) can name stacks, set up a widget from a sentence, summarise and draft decisions, always shown to you first.

Next, take [the two-minute tour](https://tack.social/start/tour.md).
