managing-diva-projects

Create, register, and validate Divalto .dhpt and .dhps project files against structural rules.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

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

What problem does it solve? Divalto project files (.dhpt main projects and .dhps sub-projects) follow strict INI-like structural rules, ISO-8859-1 encoding, and CRLF line endings; hand-editing them easily breaks compilation in xwin7. This Skill generates compliant sub-projects, registers them in the parent project, and validates everything against rules P01-P17. ## Core Features & Use Cases - Sub-project generation: Produce a complete .dhps with all mandatory sections ([general], [communs], [fichiers], [includes], [autres]) from a JSON parameter set, written directly in ISO-8859-1 + CRLF, with zdiva.dhsp auto-inserted into [includes]. - Parent project registration: Insert a .dhps into the [sousprojets] section of a .dhpt in alphabetical order while preserving encoding, with a guard (P17) that refuses to list surcharge sub-projects. - Structural validation: Check headers, section presence, fic= syntax differences between [fichiers] and [includes], encoding, and cross-references against anti-patterns P01-P17. - Use Case: Declare a new commercial-domain zoom entity by piping a JSON descriptor to create_subproject.py, registering it in 'divalto achat-vente.dhpt', then running validate_project.py to confirm zero errors before compiling. ## Quick Start Ask the assistant to create a new Divalto sub-project named 'gt_zoom article' with your source files and includes, register it in the parent .dhpt, and validate the result.

Frequently Asked Questions about managing-diva-projects

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

FAQPage Schema
How do I create a Divalto .dhps sub-project file?

Pipe a JSON descriptor with name, util, communs, fichiers, and includes to create_subproject.py via --stdin and --output. The script writes the .dhps directly in ISO-8859-1 with CRLF and automatically adds zdiva.dhsp to [includes] if missing.

How do I add a .dhps to a .dhpt parent project?

Run add_to_project.py with --dhpt pointing to the parent project and --dhps naming the sub-project. It inserts the entry alphabetically into [sousprojets], preserves encoding, and refuses surcharge sub-projects that xwin7 auto-detects.

What is the difference between [fichiers] and [includes] syntax in .dhps?

Entries in [fichiers] require the trailing comma-space form fic="nom"," " while [includes] entries must be plain fic="nom" without the comma. Swapping them triggers validation errors P06 and P07 and breaks compilation.

Why must Divalto project files use ISO-8859-1 and CRLF?

The xwin7 compiler expects ISO-8859-1 encoding and CRLF line endings; UTF-8 corrupts accented characters like 'développement' and LF breaks file structure. The scripts write binary output in the correct format and validate_project.py flags violations as P01 and P02.

Can a surcharge .dhps be listed in [sousprojets]?

No. A surcharge sub-project named <base>u.dhps is auto-detected by xwin7 via cheminbases, and listing it in [sousprojets] raises 'ne peut etre charge directement'. add_to_project.py blocks this as anti-pattern P17.