Project File Formats - bglen/wire-harness-core GitHub Wiki
Requirements
- Human readable
- Git friendly
- Extensible with API
- Suitable for automation and LLM generation
File Format implementation
- JSON for project file and configuration
- JSON for schematic & netlist data (this data will be large, possibly nested)
- JSON for component library data
- Use https://jsonschema.dev/ for devloping and validating schema definitions
- Schemas are stored at
schema/
with file extension*.schema.json
- Schema documentation is generated with jsonschema2md and stored at
schema/docs/
File Extensions:
- Main Project File: .wh_proj
- Schematic File: .wh_sch
- Project-specific Library: .wh_lib
Project Folder Structure
/my_harness_project/
- version-history/
- project.wh_proj
- schematic.wh_sch
- library.wh_lib
- library_assets/
- README.md
Project Upload / Download
The app would allow you to save a project by downloading a .zip directory of the project. Load in a locally-stored project by choosing a .zip. For version controlled git projects, you would have to select the repository folder, and the app would have to check and grab all the required files (load project file which contains list of required files).