# Latch documentation

Operator and developer reference under `source/docs/`. Published to the forum Documentation board via `scripts/post-documentation.php` (operator tree only).

## Core

| Document | Topic |
|----------|-------|
| [INSTALL.md](INSTALL.md) | Fresh install and requirements |
| [INSTALL-FEDORA.md](INSTALL-FEDORA.md) | Fedora COPR RPM — paths, configure, **backups/restore**, fail2ban |
| [UPGRADE.md](UPGRADE.md) | Version upgrades and migrations |
| [CLI.md](CLI.md) | `bin/latch` commands (migrate, backup, test, import, …) |
| [TESTING.md](TESTING.md) | PHPUnit suites, smoke/security gates, theme JS + plugin audit tests, OIDC E2E |
| [SECURITY.md](SECURITY.md) | Hardening, static analysis gates, backups, operator checklist |
| [CLOUDFLARE.md](CLOUDFLARE.md) | Free plan, DNS/proxy, Tunnel, Turnstile, IP trust, cache links |
| [MARKUP.md](MARKUP.md) | Post markup + composer live preview reference |

## Features

| Document | Topic |
|----------|-------|
| [API.md](API.md) | REST API and OAuth |
| [OIDC.md](OIDC.md) | Google/GitHub sign-in |
| [EMAIL.md](EMAIL.md) | Outbound mail |
| [WEBHOOKS.md](WEBHOOKS.md) | Outbound webhooks |
| [THEMING.md](THEMING.md) | Themes and `theme.json` |
| [PLUGINS.md](PLUGINS.md) | Plugin API, cached audits, `ignore` flag, examples |
| [PERFORMANCE.md](PERFORMANCE.md) | Guest cache, SQLite PRAGMAs, query hot paths |

## Plugin examples

Sample plugins live under [plugins/](plugins/) (not auto-loaded). Copy into `plugins/{slug}/` to try them.

## Related

- Release notes: `CHANGELOG.md` at repo root
- Screenshots: `docs/images/` at repo root