# Sandloom

**Sandloom is a Python backend framework designed for AI-driven development.** You can write the code by hand, but the framework is built for coding agents: generators give them a starting point, project rules tell them how to work, and automated checks stop them when they break a rule. Your backend stays quick to change as it grows, runs reliably, and can scale from a single application to microservices without a rewrite.

## Why agents need a framework

Coding agents write features quickly, but that speed fades as a backend grows. In [a study of GitHub projects adopting Cursor](<https://arxiv.org/abs/2511.04427>), the gain lasted two months, while code complexity rose 41% and stayed there. The agent has to design the architecture, remember it and obey rules nothing enforces, so in a big project it misses what depends on what. Each change reaches into other parts, so every feature costs more than the last and agents working in parallel collide. Rules written in a prompt are only requests.

Sandloom keeps your business logic atomic, isolated from other parts of the product and from the infrastructure. Automated checks hold those boundaries, however large the backend gets. An agent only has to understand the part it is changing, several agents can work side by side, and a broken rule fails a check instead of slipping through.

Sandloom also handles the hard edge cases an agent rarely thinks about, from security to failures halfway through a change. They are built into the framework, so the agent does not have to remember them.

> [!TIP]
>
> **Start here**
>
> Tell your agent what to build and point it at the docs. It needs Python 3.11+, uv and Docker.
>
> ```
> Build this backend with Sandloom: <what my product does>
>
> Follow https://sandloom.dev/docs/getting-started/index.md to create the project,
> then follow the AGENTS.md it generates.
> Finish only when `uv run sandloom test` prints `sandloom test: OK`.
> ```
>
> New to Sandloom? The **[quickstart](<https://sandloom.dev/docs/getting-started/index.md>)** takes you from an empty folder to a backend running on your machine, with its tests and checks passing.
>
> Then follow **[Tutorial: your first feature](<https://sandloom.dev/docs/getting-started/tutorial/index.md>)**. Step by step, you build a small task list: statistics count each new task, and the task list asks them whether the quota allows another.

Agents can read these docs directly: [`llms.txt`](<https://sandloom.dev/docs/llms.txt>) is the index, and every page is also served as Markdown when you append `index.md` to its URL.

## Who Sandloom fits

Sandloom fits a backend with several business areas that people and coding agents keep changing. It suits a product that needs each customer's data kept separate, access control and reliable events, and that may later split into services.

It is probably not for a tiny endpoint or a short script, where the structure is more work than it saves. The same goes for an existing application that can't be divided into separate parts, and for a team that doesn't want to follow the rules and run the checks in CI.

## Where to look next

- **[How Sandloom works](<https://sandloom.dev/docs/architecture/index.md>)**

  See how the parts fit together, and which piece you write for each need.
- **[Examples](<https://github.com/Sandloom-dev/sandloom/tree/main/examples>)**

  Read real applications: a minimal app, a SaaS with billing, a process with rollback.
- **[Standard modules](<https://sandloom.dev/docs/modules/standard/index.md>)**

  Add ready-made identity, tenancy and billing, and an [admin console](<https://sandloom.dev/docs/admin-console/index.md>).
- **[Reference](<https://sandloom.dev/docs/reference/index.md>)**

  Look up a name, a command or an error.
