Usage
Options
| Option | Description |
|---|---|
--json | Machine-readable JSON output |
--strict | Treat should severity findings as must (fail on warnings) |
--fix | Auto-fix fixable violations in place |
--dry-run | Show what --fix would change without modifying files |
--rules <ids> | Run only these rules (comma-separated) |
--exclude-rules <ids> | Skip these rules (comma-separated) |
Validation layers
The validator runs four layers of checks, from low-level to high-level:Layer 1: Flowlint core rules
Static analysis rules that check graph connectivity and basic workflow structure.| Rule | Severity | What it checks |
|---|---|---|
| R1 | must | No disconnected nodes |
| R5-R11 | varies | Various connectivity rules |
| R13 | should | Error handling completeness |
Layer 2: Custom Codika rules
Graph-based checks specific to Codika patterns.| Rule | Severity | What it checks |
|---|---|---|
CK-INIT | must | Every parent workflow has a Codika Init node |
CK-SUBMIT | must | Success paths end with Codika Submit Result |
CK-ERROR | must | Error paths end with Codika Report Error |
CK-SCHEDULE-CONVERGENCE | must | Schedule/webhook triggers converge at Codika Init |
CK-SUBWORKFLOW-PARAMS | should | Sub-workflows have at least 1 input parameter |
Layer 3: Workflow scripts
Content-based checks that inspect workflow JSON values.| Rule | Severity | What it checks | Auto-fixable |
|---|---|---|---|
CK-PLACEHOLDERS | must | Placeholder syntax follows {{TYPE_KEY_SUFFIX}} pattern | No |
CK-CREDENTIALS | must | Credentials use Codika placeholder patterns | No |
WF-WEBHOOK-ID | should | Webhook IDs use correct placeholders | No |
WF-LLM-OUTPUT | should | LLM output node access patterns are correct | No |
WF-LLM-MODEL | should | LLM model IDs are valid | No |
WF-INSTPARM-QUOTING | should | INSTPARM placeholders not double-quoted | No |
WF-SANITIZATION | must | No transient IDs (versionId, meta, active, etc.) | Yes |
WF-SETTINGS | must | Required settings present (executionOrder, errorWorkflow, timezone) | Yes |
Layer 4: Use-case scripts (use-case command only)
Folder-level checks that validate the use case as a whole.| Rule | Severity | What it checks |
|---|---|---|
UC-TRIGGERS | must | At least one trigger defined |
UC-CONFIG-EXPORTS | must | config.ts exports required members (WORKFLOW_FILES, getConfiguration) |
UC-WORKFLOW-IMPORTS | must | All workflows referenced in config are present as files |
UC-SUBWORKFLOW-REFS | must | Sub-workflow SUBWKFL references are valid |
UC-TRIGGER-CONSISTENCY | should | Trigger types match workflow definitions |
UC-WEBHOOK-PATHS | should | Webhook paths are unique per workflow |
UC-CALLEDBY | should | calledBy arrays are consistent with actual usage |
UC-SCHEMA-TYPES | should | Input/output schema field types are valid |
UC-INTEGRATIONS | should | Integration UIDs are properly inherited |
Output
Text mode (default)
JSON mode (--json)
Recommended workflow
Examples
Exit codes
| Code | Meaning |
|---|---|
0 | All validations passed |
1 | Validation failures found |