No description
Find a file
2025-08-19 13:48:02 -04:00
.github/workflows build from main 2025-07-18 15:30:36 -04:00
.vscode snippets for custom blocks and field lines 2024-01-08 22:29:47 -05:00
app Merge pull request #25 from adafruit/tylerdcooper-patch-3 2025-08-19 13:48:02 -04:00
cypress force enable weather block before screenshots 2025-07-30 15:24:15 -04:00
docs add image exporting to vue component 2025-07-29 15:01:28 -04:00
src force enable weather block before screenshots 2025-07-30 15:24:15 -04:00
test update snapshots to new help text 2025-08-15 12:38:52 -04:00
.gitattributes Initial commit 2023-08-31 09:02:19 -04:00
.gitignore ignore more generated files 2025-07-29 14:41:14 -04:00
.npmignore Initial commit 2023-08-31 09:02:19 -04:00
.tool-versions broaden node version 2025-06-19 11:35:53 -04:00
eslint.config.js update eslint config, lint and lint-export tasks 2024-05-14 15:04:12 -04:00
export.js explicit exit 2025-07-29 16:32:09 -04:00
export_util.js a bold block image export script 2025-07-29 16:11:19 -04:00
index.html render all block ids/types 2025-04-10 15:11:11 -04:00
jsconfig.json WIP at including jsdoc type info and hinting 2025-07-31 17:38:52 -04:00
lifecycle.md cleanup, docs 2025-02-07 11:53:41 -05:00
package-lock.json bump blockly to last 10 version 2025-08-02 00:32:45 -04:00
package.json bump blockly to last 10 version 2025-08-02 00:32:45 -04:00
README.md readme cleanup 2025-07-21 16:14:20 -04:00
scratch.md bump snapshots after remote fix 2025-07-18 16:39:57 -04:00
TODO.md notes 2025-04-09 16:14:18 -04:00
vite.config.js disable vite plugin, delete more dead files 2025-07-15 14:12:20 -04:00

Adafruit IO: Block-based Actions

Automation that clicks!

This repository contains the files and tooling for building the Blockly app that is used to create automations on Adafruit IO.

The files are organized into directories:

  • /app the source files for the application
  • /src the tooling for developing and building the application
  • /docs the tooling and configuration for building the app documentation

Quick Start

Setup

Node v22.x is expected, but other versions may work.

git clone https://github.com/adafruit/io-actions
cd io-actions
npm i
npm start

Exporting

Export a Blockly application:

npm run export:app

Export the documentation site:

npm run docs:export

Application Files

Our custom Blockly application lives at /app

This is where we create new workspaces, toolboxes, and blocks, as well as block elements like fields, inputs, mixins, validators, generators, etc.

TODO: info about generating, editing, and testing definition files

Docs

Our documentation site is a VitePress install that lives at /docs

We run a task to generate the docs site markdown files based on the definition files from /app.

TODO: info about generating, testing, and deploying the docs site

Developer Tooling

All of our custom tooling lives at /src

These are the files that translate and bundle our easy definition formats into full Blockly application bundles.

Some benefits of this tooling include:

  • expressive DSL: block definitions look like the blocks they create
  • keep related things together (Locality of Behavior)
  • higher-level idioms for common interactions

TODO: more info about how the dev tooling is organized and extended