Code Glue is a Home Assistant add-on that lets you create and edit entities and automations using TypeScript and Digital Alchemy from within an embedded IDE.
- In Home Assistant, go to: Settings → Add-ons → Add-on Store
- Click the three dots (⋮) in the top-right → Repositories
- Add this URL as a custom repository:
- Close the dialog
You'll now see two add-ons available:
Stable production releases
- "Thoroughly tested"
- Recommended for production use
- Pulls from
ghcr.io/digital-alchemy-ts/code-glue:latest
Development builds for testing
- Latest features and bug fixes
- May (will) be unstable and/or ugly.
- Pulls from
ghcr.io/digital-alchemy-ts/code-glue:dev - Can run alongside production version with its own DB.
/ # Yarn workspaces monorepo, TypeScript-first
/apps
/server # API and runtime for Code Glue features
/client # Embedded IDE / UI used inside the add-on
/packages # Shared libraries (types, utils, SDK)
/paradigm # UI Component Library for the client
Development is done locally with hot reloading:
- Install Node
⚠️ Do not use Node from Homebrew⚠️
curl -fsSL https://fnm.vercel.app/install | bash
fnm use 22
fnm default 22- Init Submodules
git submodule update --init --recursive- Install dependencies
# you may need to do this first to properly set up yarn
corepack enable
# install dependencies for root + all sub-projects
yarn install- Bring up dev containers
docker compose up -d- Create config file:
.code_glue.templateto.code_glue& fill in variables (for server)
- Configure development environment:
- Copy
.env.templateto.envto get the client dev env setup.
- Migrate the database:
yarn workspace @code-glue/server db:migrate- Start the client and server
yarn devFrontend: http://localhost:3000
Swagger: http://localhost:3789/swagger/
| Command | Notes |
|---|---|
yarn dev |
Start all workspaces in dev (start script) |
yarn build |
Build all workspaces |
yarn lint |
Lint all workspaces |
yarn format |
Format all workspaces |
yarn test |
Run tests across workspaces |
yarn typecheck |
Type check all workspaces |