[ Live alpha ]

One platform to build, ship, and run software.

Code, issues, docs, chat, CI, packages, and AI agents in a single product with one source of truth, so you can just build. No stack to assemble, no tools to glue, no context lost between them.

Join nowBook a callfig. 1 · the unified developer platform
plain#482Merge

#482 · opened by Jamie Davenport · 6 hours ago

Stream replica writes through a regional cursor

feat/edge-syncmain
src/sync/replica.ts+2 −1
40·async function pull(region, since) {
41· await replica.connect(region)
42return replica.pull({ since })
43+const cursor = await replica.cursor(since)
44+return replica.stream(cursor, { mirror: true })
45·}
Atlasagenton line 43

replica.cursor(since) returns null right after a region fails over. Guard it before the stream call or the mirror write throws.

Conversation2 replies
Atlasagent3h

Read the whole diff. The cursor swap keeps the mirror in a single round trip. Nice. I left one blocking comment on the failover path and opened PLN-491 to backfill the reconnect test before this merges.

Leave a comment. Markdown works.

Comment

// The platform

Seven surfaces, one source of truth.

Today each one is a separate tool you pick, wire up, and pay for. Six products that don't know about each other. In Plain they share one graph, one search index, and one permission model, so your work connects automatically instead of needing glue.

01

Code

A Git host that keeps up with you. Repositories are mirrored to every region and synced in milliseconds, so clone, push, and fetch feel local no matter where your team sits.

Replaces
  • GitHub
  • GitLab
  • Bitbucket
plain · git
TSplain.config.tsmain
1import { defineConfig } from "@plain/sdk"
2import { site } from "./config/site"
3
4export default defineConfig({
5 repo: site.repo,
6 surfaces: ["code", "issues", "ci"],
7 agents: { review: true },
8})

02

Issues

Planning that never makes you wait. Every keystroke lands instantly and works offline, then syncs the moment you reconnect. Issues, cycles, and roadmaps feel like a local app.

Replaces
  • Linear
  • Jira
  • Asana
plain · issues

Cycle 24

May 6 – May 20

18 / 27
  • PLN-482

    Edge-region sync for stacked diffs

    JD
  • PLN-486

    Warm runner pool autoscaling

    MK
  • PLN-491

    Backlink index for docs blocks

    AR
  • PLN-494

    Signed provenance on artifacts

    JD

Sub-50ms · pressCto create

03

Docs

Documentation that lives next to the code it describes. Specs, runbooks, and decisions are versioned with every release and one keystroke away from the work they explain.

Replaces
  • Notion
  • Confluence
  • Google Docs
plain · docs
specs / edge-syncv2.4

Edge Sync Spec

Goals

Replicas resolve conflict-free and stream from the nearest region. A cursor lets clients resume mid-flight without a full pull.

Decision

Stream over cursor; mirror writes to all regions.

filter…
  • Heading##
  • Code block```
  • Callout
backlinksPLN-482replica.ts

04

Chat

Team chat that lives where the work does. Channels and threads attach to the issue, PR, or doc they're about, so a conversation is never stranded from its context, and every message is searchable in the same index as your code.

Replaces
  • Slack
  • Discord
  • Google Chat
plain · chat
edge-sync2 threads
  • MK

    Maya Klein11:02

    Failover on us-east just flapped. Mirror writes are throwing. Anyone looking?

  • JD

    Jamie Davenport11:04

    On it. replica.cursor returns null right after failover. Pushing a guard.

    #482 · Edge-region sync
  • Atlasagent11:05

    Opened PLN-491 to backfill the reconnect test. I'll post here when CI is green.

Message #edge-syncSend

05

CI

Continuous integration with no cold start. Pipelines begin the instant you push, runners are always warm, and caches are shared across your whole organisation.

Replaces
  • GitHub Actions
  • CircleCI
  • Jenkins
plain · ci
a1b2c3d· feat/edge-sync
47s total
  • install3s
  • build18s
  • test21s
  • deploy5s
cache hit · 1.2 GB restoredno cold start

06

Packages

A registry for everything you ship. Packages and build outputs are content-addressed, edge-cached worldwide, and carry signed provenance back to the commit that produced them.

Replaces
  • npm
  • Docker
  • PyPI
plain · artifacts

@plain/edge-sync

published 2 min ago

v2.4.1
$plain add @plain/edge-sync⌘C
  • Content hashsha256:9f3a…e21
  • Provenancesigned → a1b2c3d
  • Served from7 edge regions

07

AI Agents

Agents are a first-class primitive, not a bolted-on chatbot. Because every surface lives in Plain, an agent can read and write across all of them with full context, and a complete audit trail.

Replaces your busywork

plain · agents
triage-botrunning
  • Issues · Triaged PLN-482, labelled bug

    0:00

  • Docs · Updated the edge-sync runbook

    0:06

  • Code · Opened PR #483 with the fix

    0:11

  • CI · Pipeline green in 44s

    0:55

full audit trailrollback run

// What we optimise for

<50ms

Fast

Local-first sync. Every action lands before you lift your finger.

99.9%

Reliable

Uptime backed by a real SLA, not a status page apology.

Built in

AI-first

Agents are a primitive, woven through every surface from day one.

⌘K

Keyboard-native

Every command a keystroke away. The mouse is optional.

// Pricing

Per-user pricing, no surprises.

Start free and upgrade when your team does. The whole platform is on every tier; higher plans lift the limits and add team controls. Hard caps, never a surprise bill.

Free

$0/ user / mo

For trying Plain out, solo projects, and open source.

  • Up to 2 users
  • 2 repositories
  • 100 MB storage
  • 50 CI minutes / mo
  • Public feedback pages
  • Community support
Start free

Hobby

$8/ user / mo

For solo devs and side projects growing past free.

  • Up to 10 users
  • 50 repositories
  • 10 GB storage
  • 1,500 CI minutes / user
  • Team chat, analytics & private packages
  • Branch protection & webhooks
Get started

Pro

Recommended

$24/ user / mo

The flagship team plan — capacity grows with your team.

  • Unlimited users
  • 1,000 repositories
  • 10 GB storage / user
  • 3,000 CI minutes / user
  • Everything in Hobby
  • 1-year analytics retention
Get started

Enterprise

Custom

For organizations that need SSO, audit, and an SLA.

  • Everything in Pro
  • Custom resource limits
  • SSO / SAML
  • Audit logs
  • Priority support & SLA
  • Onboarding & dedicated contact
Contact sales

Billed per user, monthly. Agents don’t count as a seat. Alpha pricing, subject to change. Early-stage startup? Get 50% off Pro for 6 months.

What does your current stack cost? Try the savings calculator

[ Get started ]

Start building on Plain today.

The alpha is open. Create your first repo, issue, and pipeline in minutes. No stack to assemble.