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).