Skip to content

Repository files navigation

OpenLogo — DRAW · LEARN · CREATE

OpenLogo

An Open Version of Logo

Specification

OpenLogo (short name OL) is a modern educational Logo-family language using the .logo extension.

Start with the OpenLogo specification. OpenLogo is licensed under the MIT License.

Getting Started

Prerequisites: Node.js >=22 and npm.

Install & build:

npm install
npm run build

(npm ci also works — it installs from the committed package-lock.json, same as CI.)

Run the checks (prove it works):

npm test             # unit tests
npm run conformance  # stack-neutral source → events/diagnostics fixtures
npm run coverage     # 100% line/branch/function coverage gate
npm run examples     # runs the spec/examples/*.logo programs

Try a program: the canonical square —

repeat 4 [ forward 100 right 90 ]

Run it interactively in @openlogo/studio, the browser IDE (editor + Canvas turtle view + Run):

npm run dev

Then open the printed local URL, type the program above into the editor, and press Run — a square draws on the Canvas. See packages/studio for details.

Repo map: see packages/README.md for the package layout and docs/ for architecture, ADRs, and delivery docs.

Agentic Workflows (gh-aw)

The repository uses GitHub Agentic Workflows (gh-aw). The pinned version is in .github/aw/version.

Bootstrap — one POSIX-shell command on every platform (on Windows, run it from Git Bash or another POSIX environment). Agent sandboxes block gh extension install and go install, so this downloads the pinned prebuilt binary and verifies its checksum:

sh .github/aw/install.sh        # installs to $HOME/.local/bin; override with GH_AW_INSTALL_DIR
gh-aw --version                 # add the install dir to your PATH first

See AGENTS.md §gh-aw bootstrap for details and the compile step.

About

An Open Version of Logo

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages