updated docs

This commit is contained in:
2026-04-14 10:32:05 -03:00
parent 2e5a304181
commit a80b72a9b1
67 changed files with 3260 additions and 5005 deletions

View File

@@ -0,0 +1,75 @@
# Atlas Templates
A template is a documentation pattern. It defines the structure that content must follow. Templates turn unstructured knowledge into consistent, browsable documentation.
---
## How Templates Work
A template defines fields, layout, and validation rules. Content that follows the template gets rendered through Atlas with consistent formatting and navigation.
Templates live in `soleprint/atlas/templates/` (core) or inside a book's `template/` subdirectory.
Data templates -- the schema files that define structure -- live in `cfg/<room>/data/template/`.
## The Feature Form Example
The feature form template captures user flows in a structured format:
| Field | Purpose |
|-------|---------|
| User Type | Who performs this flow |
| Entry Point | Where the flow starts |
| User Goal | One-sentence objective |
| Steps | Numbered sequence of actions |
| Expected Result | What success looks like |
| Common Problems | Known failure modes |
| Special Cases | Edge cases and exceptions |
| Related Flows | Connected user flows |
| Technical Notes | Developer-facing details |
This template is served at `/book/feature-form-samples/template/` as a styled HTML form with placeholder fields. Non-technical team members can understand the structure without reading code.
## Depots and Larders
A **depot** is data storage connected to a template. In Atlas, the depot pattern is called a **larder** -- a directory that holds content conforming to a template.
The connection works like this:
```
Template (structure) + Larder (data) = Templated Book
```
A larder directory contains a `.larder` marker file and organizes content in subdirectories. For feature forms, the larder groups entries by user type:
```
feature-form/
├── .larder
├── pet-owner/
│ ├── register-pet.html
│ └── book-appointment.html
├── veterinarian/
│ └── review-history.html
└── backoffice/
└── manage-users.html
```
Each file in the larder follows the template's field structure. Atlas renders them through a detail view that reads the content and applies consistent styling.
## The Larder Pattern
Larders enforce a constraint: all content in a larder must match the connected template. This keeps documentation consistent even when multiple people contribute.
The landing page of a templated book links to both:
- The **template** -- so you can see the pattern
- The **larder** -- so you can browse the actual content
This separation means the template can evolve independently from the data. Update the template, and all larder entries get the new rendering.
## Adding a Template
1. Define the template structure (HTML or markdown) in `soleprint/atlas/templates/` or inside a book's `template/` directory
2. Create a larder directory with a `.larder` marker
3. Add content files that follow the template structure
4. Register the book in `books.json` with `template` metadata
5. Add routes in `main.py` for the landing page, template view, and larder browser