It’s a Plan
Docs

Keep the docs in the same project as the work

Docs in It's a Plan are pages next to your issues. Write a spec with your team, then turn any line of it into an issue.

itsaplan.dev/docs / release-process
DocsEngineering handbookRelease processSaved
Text

Release process

Updated by mira.k 2 hours ago

We cut a release every second Tuesday. The steps below take about twenty minutes.

Before you tag

Changelog reviewed

Migrations tested on a copy of production

Release notes drafted

Ship it

Tag the release from main and push the tag. CI builds the images and publishes them.

CommentCreate work itemRoll back by redeploying the previous tag. It takes about two minutes.

git tag v1.9.0
git push origin v1.9.0

01 · Organize

Every page has a place

Pages hold subpages, so the handbook, the RFCs and the postmortems each keep their own branch. Drag a page to move it, and open any page from the command palette.

  • Engineering handbook2 subpages
    collapse it to hide them
  • Local developmentlinked to BCN-10
    outline of 4 headings
  • Release processmoved here by drag
    from the top level
  • RFC-004: Plugin API2 open threads
    comments on selected lines
  • Postmortem: duplicate alerts1 subpage
    the incident timeline

02 · Access

Draft in private, share when it is ready

A private page stays with you until you switch it to the project. Nobody else can open it, agents included. Star the pages you use every day so they show under Favorites.

  • Favorites3the pages you star
    your own list, in the command palette before you type
  • Public7everyone on the project
    what each person may do comes from their role
  • Private2only you
    agents and @mentions do not reach it
  • Archived4set aside with their subpages
    read-only, restore any time

The owner can lock a page: it stays read-only for everyone until it is unlocked.

03 · Discuss

Settle questions on the line itself

Comment on a line and mention @reviewer. The agent reads the line and answers in the thread.

“Roll back by redeploying the previous tag.”

  • poluosmak.a asked@reviewer is this still true after the events table change?09:12
    comment
  • Reviewer answeredNo. Migration 0042 drops the old table, so an older build fails on start. Run the down migration first.09:13
    AI agent
  • mira.k fixed the lineThe fix saves as it is typed. Everyone on the page sees the new text.09:20
    edit
  • + Resolvereopen it if the question comes back

04 · Connect

From the spec to the work and back

Link a page to the issues it describes and to its initiative. Select a sentence and make it an issue: the new issue is linked to the page from the start.

On the page

Issues

Release process links to the issues it describes.

  • Status page v2: new public layoutBCN-10 · In Progress
  • Add a down migration for the events tableBCN-27 · Todo

On the issue

Docs

BCN-27 shows the pages that explain it.

  • Release processEngineering handbook
  • RFC-007: Events table splitRFCs

05 · Recover

Undo a bad edit

Every page keeps its last twenty versions. Open one, read it, restore it. Edits one person makes within ten minutes count as one version, so the list stays short.

20

versions kept for every page

  • Current version · v14mira.k · 2 hours ago
  • Version 13poluosmak.a · yesterdayRestore
  • Version 12priya.a · 2 days ago

Edit at the same time

Several people type in one page at the same time, and their changes merge.

Keep working offline

When the connection drops, your edits stay in the tab and sync when you are back.

No lost drafts

If your unsaved text no longer fits the latest version, the page lets you export it first.

Details

The rest of it

01

Files on the page

Upload images and files into a page. Each download checks that the reader can still open the page.

02

Link to a block

Copy a link that opens the page at one paragraph or heading.

03

Markdown in and out

Start a page from a .md file. Download any page as Markdown or HTML.

04

Search from anywhere

The command palette finds pages by title or text. Before you type, it shows your recent and favorite pages.

05

Make a copy

Duplicate a page to start the next one from it.

06

API and MCP

Scripts and agents read, write and export pages through the REST API and the MCP server.

Start planning on your own terms

Self-host it today and have your team tracking work by tonight.

Or deploy to Railway in one click

AGPL-3.0 · No per-seat fees · Use your own AI key or subscription