Edulia Docs

Edulia Docs

Internal documentation for Edulia — PRDs, ADRs, guides and domain docs for every product.

Guide

This site is published from eduliait/edulia-docs, the single source of truth for Edulia documentation. Code repos keep only their module README.md files and agent instructions (CLAUDE.md, AGENTS.md).

How the docs are organised

Documents are grouped by product domain, not by repo. Code for a feature often spans several repos, and the repos field on each document says where it lives.

DomainContents
ssoSingle sign-on, Cognito, wp-login
lmsLMS, including the LRS
treccaniscuolaTreccani Scuola, including the agent (edulia-agents)
displayDisplay
adminThe admin dashboard (edulia-admin)
pipelinesData pipelines, one folder per pipeline (directory-pipeline, transcription-pipeline)
itInternal IT documentation, not tied to a product (device setup, management tools)
sharedDocumentation that genuinely spans more than one domain

Every domain uses the same categories. A category exists only once it has content.

CategoryContentsChanges when
prds/What to build and whyOnce per feature
adr/Why we chose X — numbered architectural decisionsA decision is taken or superseded
guides/How to do it — runbooks, setup, integrations, architectureProcedures change
domain/How the domain works — stable business rules, invariants, modelsBusiness logic changes

Each page shows its type, status and repos. To find the documents about one repo, open search (⌘ K) and filter by repo.

How to contribute

Pick the place

Create the file at content/docs/<domain>/<category>/:

  • prds/NNN-prd-<slug>.md, numbered sequentially per domain (per pipeline under pipelines/)
  • adr/NNNN-<slug>.md
  • guides/<slug>.md and domain/<slug>.md, in kebab-case

Add the frontmatter

---
title: Corso Sincrono
description: Gestione dei corsi sincroni in LMS
type: prd            # prd | adr | guide | domain
status: draft        # prd and adr only: draft | approved | implemented | superseded
author: Federico Vezzoli
date: 2026-05-06
repos: [edulia-api, edulia-frontend]
---

title and type are required, and status is required for PRDs and ADRs. The build fails if the frontmatter is invalid, if type doesn't match the category folder, or if the filename doesn't follow the naming convention.

Write plain markdown

Use .md: <, { and HTML in the text are safe and render like on GitHub. Use .mdx only for pages that need Fumadocs components (Callout, Tabs, Cards…), like this one.

Open a pull request

Run pnpm dev to preview locally, then open a PR. When a documentation change goes with a code change, open both PRs and link the edulia-docs PR in the description of the code PR.

Working with coding agents

Clone edulia-docs next to the code repos, so an agent can read the code and write the docs in the same session:

Projects/
  edulia-api/
  edulia-frontend/
  edulia-docs/
  …

With Claude Code, add the docs repo to a session started in a code repo:

cd edulia-api
claude --add-dir ../edulia-docs

To make it permanent, add it to .claude/settings.json of the code repo:

{
  "permissions": {
    "additionalDirectories": ["../edulia-docs"]
  }
}

Conventions for agents

CLAUDE.md in this repo describes the taxonomy, naming, frontmatter and the PRD/ADR templates, so an agent can write a document in the right place without extra instructions.

On this page