Plain documentation
One platform for code, issues, docs, chat, CI, packages, analytics, and AI agents. Learn how every surface of Plain works.
Plain is one platform for the whole software lifecycle. Code hosting, issues, pull requests, CI, docs, structured data, chat, calls, a package registry, web analytics, and AI agents share one product, one database, and one search index. Nothing is an integration; everything is a feature.
The product lives at alpha.plain.jxd.dev. These docs cover all of it.
The platform at a glance
- Code. Plain git underneath: push over SSH, browse the tree, review diffs, merge pull requests.
- Issues. A board and a table over the same issues, with priority, effort, labels, relations, and a conversation on every item.
- Docs and collections. Real-time collaborative documents, structured data tables, and shared whiteboards, all scoped to a repository.
- Chat and calls. Channels, DMs, and conversations attached to issues and PRs, with drop-in huddles and scheduled meetings.
- CI. Workflows are TypeScript files in your repository, type-checked before they run and runnable on your own machine.
- Packages. An npm-compatible registry scoped to your organisation, with one-command publishing.
- Analytics. Privacy-first web analytics for your own products, living next to the repo that builds them.
- Agents. AI team members with handles, instructions, and tool permissions, attributed on every action they take.
How these docs are organised
Getting started takes you from sign-up to a merged pull request. The surface sections (Code, Issues, CI, and the rest) explain day-to-day work, one feature at a time. Reference is the exhaustive lookup layer: every CLI command, the workflow API, the HTTP API, the MCP server, plans, and keyboard shortcuts.
The five-minute version
Sign up at alpha.plain.jxd.dev, create an organisation, then:
npm install -g @plainalpha/cli
export PLAIN_URL=https://alpha.plain.jxd.dev
pln login
Create a repository, add the SSH remote from its page, and push. Issues, CI, docs, chat, and the registry are already attached; there is nothing to enable.
If anything in these docs is unclear or wrong, that is a bug. Tell us and we will fix the page.