Goal
A dedicated page where users can paste a fhirlint.yml and validate it — catches typos, unknown keys, and invalid enum values before committing the config to a repo.
UI
- Monaco Editor (YAML mode) for config input
- "Check config" button
- Results panel: errors with line numbers and suggestions (e.g. "did you mean fhir-version?")
API
POST /api/config/check
Content-Type: application/json
{ "config": "fhir-versoin: 4.0.1\nseverity: verbose\n" }
Response mirrors /api/validate structure:
{
"valid": false,
"issues": [
{ "line": 1, "key": "fhir-versoin", "message": "unknown key (did you mean \"fhir-version\"?)" },
{ "line": 2, "key": "severity", "message": "invalid value \"verbose\" (allowed: information, warning, error)" }
]
}
Dependency
Blocked on fhirlint/fhirlint#94 — the backend logic lives there. Once fhirlint config check is implemented as a library call, this page can be wired up.
Goal
A dedicated page where users can paste a
fhirlint.ymland validate it — catches typos, unknown keys, and invalid enum values before committing the config to a repo.UI
API
Response mirrors
/api/validatestructure:{ "valid": false, "issues": [ { "line": 1, "key": "fhir-versoin", "message": "unknown key (did you mean \"fhir-version\"?)" }, { "line": 2, "key": "severity", "message": "invalid value \"verbose\" (allowed: information, warning, error)" } ] }Dependency
Blocked on fhirlint/fhirlint#94 — the backend logic lives there. Once
fhirlint config checkis implemented as a library call, this page can be wired up.