P

Plain

A Django fork rebuilt for AI agents — typed, predictable, agent-readable

PriceOpen Source / FreeReviewed2026-04-17
Verdict — Ship
3 Ships1 Skips
Visit github.com

The Panel's Take

Plain is a full-stack Python web framework that forks Django with one overriding goal: make the codebase maximally readable and understandable by AI coding agents. Built by Dropseed (Adam Engebretson), it started in 2023 and has quietly matured into a production-ready framework — today's Show HN submission (93 points) brought it to wider attention. The design philosophy is radical clarity over magic. Plain eliminates Django's more implicit behaviors, adds strict typing throughout, and includes built-in AI integration hooks: a `.claude/rules/` directory for Claude Code context, a CLI command for on-demand documentation retrieval, and OpenTelemetry instrumentation out of the box. The idea is that when a coding agent touches your codebase, it should be able to understand what's happening without fighting through Django's layers of metaclass magic. This represents a genuine philosophical bet: as AI agents write more of our code, the framework's readability to machines matters as much as its readability to humans. Plain is ahead of the curve on this — most frameworks were designed for human ergonomics first. The Show HN traction suggests senior engineers are taking the concept seriously, even if migration from Django remains a real cost.

Share this verdict

Plain verdict: SHIP 🚀

3 ships · 1 skip from the expert panel

Full review: shiporskip.io/tool/plain-python-framework-django-fork-ai-agent-native-opentelemetry-2026

Weekly AI Tool Verdicts

Get the next verdict in your inbox

7 critics review a new AI tool every day. Weekly digest — free.

Embed this verdict

Tool makers can add a live ShipOrSkip badge to their site. Badge loads track impressions; clicks route back to this review.

Ship · 7.5/10
HTML badge
<a href="https://shiporskip.io/api/badge-click/plain-python-framework-django-fork-ai-agent-native-opentelemetry-2026" target="_blank" rel="noopener"><img src="https://shiporskip.io/api/badge/plain-python-framework-django-fork-ai-agent-native-opentelemetry-2026" alt="Plain Ship verdict on ShipOrSkip" width="360" height="90" /></a>
Markdown badge
[![Plain Ship verdict on ShipOrSkip](https://shiporskip.io/api/badge/plain-python-framework-django-fork-ai-agent-native-opentelemetry-2026)](https://shiporskip.io/api/badge-click/plain-python-framework-django-fork-ai-agent-native-opentelemetry-2026)
Iframe widget
<iframe src="https://shiporskip.io/embed/plain-python-framework-django-fork-ai-agent-native-opentelemetry-2026" title="Plain ShipOrSkip verdict" width="360" height="260" style="border:0;border-radius:16px;max-width:100%;" loading="lazy"></iframe>

The reviews

The `.claude/rules/` integration and typed APIs are exactly what you want when you're letting agents modify your codebase. OTel built-in is a legitimate win — no more strapping on tracing as an afterthought. If you're starting a new Python project in 2026, Plain is worth serious consideration.

Helpful?

Django's 'magic' is also its ecosystem — 20 years of packages, tutorials, and institutional knowledge. Plain's ecosystem is tiny. For any non-trivial project, you'll hit the ecosystem wall fast. 'Designed for agents' is a compelling narrative but the migration cost from Django is real and steep.

Helpful?

The question 'is this codebase understandable to an AI agent?' is going to be central to framework design by 2027. Plain is three years ahead of that conversation. Frameworks that don't add agent-readability features will be retrofitting them later at significant cost.

Helpful?

As someone who ships products, not just writes code, I care about the full stack being coherent. Plain's opinionated structure means less time arbitrating between packages and more time building. The built-in OTel means I can debug AI-assisted changes without adding another tool.

Helpful?

Bookmarks

Loading bookmarks...

No bookmarks yet

Bookmark tools to save them for later