docs: CLAUDE.md light expansion (repo purpose, deploy contract, pointers)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PSK5g6qYLknKj8u3QAFEr6
This commit is contained in:
2026-07-03 11:26:12 +02:00
parent c5a3d1b15b
commit 15cdf7b090
4 changed files with 43 additions and 36 deletions
+26 -5
View File
@@ -1,8 +1,29 @@
# CLAUDE.md — `app-catalog-felhom.eu`
> Minimal for now (created with the REUSE.md rollout; a full CLAUDE.md refresh is a separate task).
> Cross-repo orientation lives in the workspace-root `e:\git\CLAUDE.md`; catalog format spec in `README.md`.
> Loads when Claude Code touches this repo. Current state: `CONTEXT.md` + `CHANGELOG.md` top.
> Cross-repo orientation: workspace-root `e:\git\CLAUDE.md`.
- See `REUSE.md` before adding or editing an app (conventions, healthcheck families, traps).
- Update `REUSE.md` if you added/changed/deprecated a catalog-wide convention (same commit).
- Update `CHANGELOG.md` (newest on top) and overwrite `REPORT.md` with every pushed change, per workspace convention.
## What this repo is
The Felhom **app catalog**: one directory per app under `templates/<app>/`, each holding exactly
`docker-compose.yml` + `.felhom.yml` (deploy fields, resources, healthcheck probe, app_info — all
customer-facing text in Hungarian). The felhom-controller git-syncs these to every customer box;
`.felhom.yml` drives the deploy wizard. `templates.json` + `scripts/generate-customer.sh` are LEGACY
(Portainer-era) — new apps don't touch them.
## Deploy contract
**Push to `main` = deploy.** The controller's sync picks changes up within 15 minutes (or trigger via
the dashboard "Sablonok frissítése" button / `POST /api/sync`). Only the two template files sync;
deployed `app.yaml` (customer secrets) is never overwritten. Full deploy details: the
`felhom-build-deploy` skill.
## Conventions
- **See `REUSE.md` before adding or editing an app** — canonical example app (paperless-ngx),
required `.felhom.yml` fields, healthcheck family per image type, memory-limit rules, traps.
- Update `REUSE.md` in the same commit that changes a catalog-wide convention.
- `README.md` is the format spec — update its app tables when adding an app.
- Update `CHANGELOG.md` (newest on top) and overwrite `REPORT.md` with every pushed change.
- No secrets in any committed file; secrets are generated at deploy time via `deploy_fields`
`generate:` specs.