Field authoring guidelines
Rules for maintainers documenting new Entry UI fields.
When you add a field
-
Add the field to
CONFIG_FIELDSinsrc/core/web/config-schema.tswith a shortdescription,options,min/max/step, andrisk. -
Add a docs entry to
website/src/data/entryFields.tswithshortDescription,useCases, andguidelinesat minimum. -
Document the field on the Construct tab page and in the Complete field reference.
-
Run the field docs coverage check:
npm --prefix website run check:entry-fields -
If the field is risky, add at least one recovery/troubleshooting note.
Required doc items per field
| Item | Required |
|---|---|
| Plain-language description | Yes |
| Use cases | Yes (1+) |
| Recommended default | Yes |
| Allowed values / range | Yes |
| Risk level | Yes |
| Side effects | When relevant |
| CLI equivalent | When relevant |
| Example values | For text/path fields |
| Troubleshooting notes | For risky fields |
Writing rules
- Write for a user configuring an AI-agent memory system, not a maintainer reading source code.
- Name the real effect on memory ownership, routing, context size, privacy, or Git sync.
- Prefer examples from Engram workflows: Codex, Claude, Gemini, Cursor, OpenCode, personal memory, client profile, team repo.
- Do not recommend high limits by default; explain context bloat tradeoffs.
- Mark settings as risky when they can disable Engram, change save location, change Git sync, archive memory, or affect encryption/security.
- Include recovery commands for risky settings.
- Keep in-app descriptions short; put detailed guidance in Docusaurus.
CI coverage
website/scripts/check-entry-field-docs.mjs fails when:
- A visible
CONFIG_FIELDSkey lacks a docs entry. - A docs entry references a field no longer in
CONFIG_FIELDS. - A field lacks
shortDescription,useCases, orguidelines. - A risky field lacks at least one troubleshooting note.
- A numeric field omits allowed range in rendered docs.