Skip to content

Commit 7c6699e

Browse files
committed
feat: add Arduino App specification document
1 parent a2f7219 commit 7c6699e

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

docs/app-specification.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# Arduino App specification
2+
This is the specification for the `Arduino App` (from now on called App) format to be used with `arduino-app-cli`.
3+
4+
An App is a self-contained folder that includes the following components:
5+
- `app.yaml` (mandatory) the file descriptor of the app in YAML format.
6+
- `sketch` (optional) the folder containing an Arduino [Sketch](https://arduino.github.io/arduino-cli/1.3/sketch-specification/))
7+
- `python` (optional) the folde containin the Python code
8+
9+
The App must be self-contained (it does not contain references to external files) because this means it can be exported, shared, or zipped easily.
10+
11+
## Arduino App Folder structure
12+
```
13+
myapp/
14+
app.yaml
15+
sketch/
16+
sketch.ino
17+
sketch.yaml
18+
python/
19+
main.py
20+
requirements.txt
21+
```
22+
23+
24+
## App descriptor file
25+
The `app.yaml` is the YAML specificaiotn of an APP.
26+
27+
- `name` - the name of the app.
28+
```yaml
29+
name: My Arduino App
30+
description: An example app showcasing what you can do
31+
icon: 🍓
32+
33+
bricks:
34+
- arduino/dbstorage:
35+
variables:
36+
ROOT_PASSWORD: ${secret.db_password}
37+
PORT: 8080
38+
- arduino/text-generation:
39+
model: gemma-1
40+
- arduino/objectdetection:
41+
model: yolo
42+
- arduino/mqtt
43+
```

0 commit comments

Comments
 (0)