linting-diva-code

Analyzes DIVA source files and reports rule violations classified by severity.

6|Updated May 11, 2026
One-click install
npx skills add https://github.com/divalto/divalto-ia-devkit --skill linting-diva-code-divalto
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: linting-diva-code
Source: https://github.com/divalto/divalto-ia-devkit/tree/main/plugins/divalto-devkit/skills/linting-diva-code
Command: npx skills add https://github.com/divalto/divalto-ia-devkit --skill linting-diva-code-divalto

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? DIVA source files (.dhsp, .dhsq, .dhsd, .dhsf, .dhsi, .dhse, .dhpt, .dhps, .sql) for Divalto Harmony must comply with roughly 100 known anti-patterns, syntax rules, dictionary conventions, and CI quality checks that were historically only caught by nightly CI pipelines. This Skill shifts those checks left, producing a severity-classified error report before compilation or after code generation. ## Core Features & Use Cases - Rule-based linting across 9 file types: Checks ~100 rules grouped by category (S syntax, L forbidden language keywords, Z zoom architecture, M module checks, F framework, R RecordSql, D dictionary, E screen masks, P project files, CI shift-left quality gates), each classified as error, warning, or info. - Structured JSON reports: Outputs findings with rule code, severity, line number, message, and code context, filterable by rule or severity, enabling a generate-validate-correct feedback loop. - Use Case: After generating a .dhsp zoom program, run the linter to catch guaranteed bugs like string concatenation with + instead of &, ForEach keywords, or OverWrittenBy pointing to a source file instead of the compiled .dhop, before compilation fails. ## Quick Start Ask the AI to lint a DIVA source file, for example: analyze the file rttzfamrglt_sql.dhsp with the linting-diva-code skill and list all errors and warnings.

Frequently Asked Questions about linting-diva-code

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I lint a DIVA .dhsp file for coding errors?

Run the lint_diva.py script with the --path option pointing to your file, for example: py scripts/lint_diva.py --path "fichier.dhsp". It outputs a JSON report with errors, warnings, and infos, each including the rule code, line number, and code context.

What file types does the DIVA linter support?

The linter supports nine Divalto file types: .dhsp programs, .dhsq RecordSql views, .dhsd dictionaries, .dhsf screen masks, .dhsi and .dhse includes, .dhpt and .dhps project files, and .sql scripts. Each type has its own applicable rule set.

Can I filter lint results by rule or severity?

Yes. Use --rules to select specific rule codes (e.g., S01,S02,Z02), --severity to show only errors, warnings, or all findings, and --format to choose json or text output. JSON is the default format.

Why does the linter flag concatenation with + in DIVA code?

DIVA uses & for string concatenation; + is numeric addition, so using it on strings is a guaranteed bug (rule S01, error severity). The linter masks string literal contents first, so a + inside a literal like Modify('+','%2B',...) is not falsely flagged.

What are the limitations of the DIVA linting rules?

Rules requiring semantic or cross-file analysis are deferred to a future V2, including S08, Z01, Z04-Z07, R06, P03, and E02-E07. The current version relies on regex-based single-file heuristics, so some rules like E16 may produce false positives on non-standard zoom masks.