seed
Initial content lives next to the config: seed/<table>.json — a JSON array of row objects, keys are column names. At startup, after auto-migration, the engine checks every table declared in settings.json: if the table is empty and its seed file exists, the rows are inserted once. A non-empty table is never touched, so seeding cannot overwrite real data.
- Values are typed by the column: text — string, int/id — number, bool — true/false or 0/1, real — number.
- The id column may be omitted — missing ids are assigned in file order starting from 1.
- Delete a seed file to disable it; there is no config switch.
This documentation is seeded from seed/doc_groups.json and seed/docs.json. The feedback table has no seed file — it starts empty and fills from the contact form.