Projects on disk
A project is an ordinary folder, so it works with any backup tool or with Git.
blink/
├── runeweave.toml name, version, board and dependencies
└── patches/
├── main/
│ └── patch.rwp the patch @/main
└── blinker/
├── patch.rwp the patch @/blinker
├── patch.cpp its native code for microcontrollers (optional)
└── patch.v its native code for FPGAs (optional)
Every folder under patches/ with a patch.rwp in it is a patch, named after its path: patches/io/button/ is @/io/button.
The project file
[project]
name = "blink"
version = "0.1.0"
description = "Blinks the built-in LED."
[settings]
platform = "mcu" # "mcu" (microcontroller, via C++) or "fpga" (via Verilog)
board = "clickclack-spark"
[dependencies]
"sdp/core" = "^0.1"
"sdp/gpio" = "^0.1"
board is an id from the board list. Versions are semantic versions, and requirements are written as in Cargo: ^0.1 means 0.1.0 up to, but not including, 0.2.0.