Skip to content

Repository files navigation

Aurora

ci release license lua docs

A modern, batteries-included overlay distribution for OpenComputers OpenOS.

Aurora takes a stock OpenOS install and layers on a real package manager, a developer toolchain ("compilers"), networking libraries, shell themes, and security + reliability fixes — without breaking OpenOS compatibility. Anything that runs on stock OpenOS keeps running; Aurora just makes the system far more capable and pleasant to use.

It installs on top of an existing OpenOS (as an overlay + a couple of targeted core patches), so there is nothing to re-learn and nothing to lose.

📖 Documentation site: https://alexmelanfromringo.github.io/aurora/ · API reference · Architecture · Patches


Highlights

Area What you get
📦 Packages opm — install/remove/update/search with semver dependency resolution and sha256-verified, atomic downloads from a GitHub-hosted registry
🛠️ Dev toolchain acc (compile = transpile→lint→bundle→minify), aminify (Lua-aware minifier), abundle (require-graph linker), atpl (compound-assignment transpiler), alint (scope-aware linter on a real Lua AST), afmt (AST-based code formatter), adoc (API-doc generator), atest, arepl
🌐 Networking ahttp (status-checked HTTP with JSON + verified downloads), anet (modem messaging + JSON-RPC 2.0)
🎨 Shell & UX atheme color themes, configurable prompt, afetch system summary, alocale (i18n: English + Russian), curated aliases
🔒 Security & reliability patched wget (checks HTTP status, atomic, --sha256), cp crash fix, strict global guard, safe-remove, asandbox (run untrusted Lua with no system access)
🧰 Libraries json, inspect, class, argparse, aurora.hash (SHA-256/CRC-32), aurora.semver, aurora.fsx, aurora.util, aurora.optimize

Every shipped Lua file is syntax-linted, every pure module is unit-tested on the host (112 tests), and the whole distribution is booted and self-tested inside a real OpenOS under an emulator (15 in-VM checks, including the data card's hardware SHA-256).


Install

Online (recommended)

On any OpenOS machine with an internet card:

wget https://raw.githubusercontent.com/AlexMelanFromRingo/aurora/main/install/install.lua /tmp/ai.lua
/tmp/ai.lua

The installer fetches a checksummed manifest, verifies every file's sha256, writes atomically, backs up any core file it patches (*.orig-aurora), and wires a guarded login hook. It is idempotent — safe to re-run. Open a new shell or reboot afterwards.

Offline (patch overlay)

Clone or copy this repository onto a disk the machine can see, then:

/mnt/<disk>/install/apply.lua /mnt/<disk>

This applies the same overlay + patches with no network, verifying checksums from the local copy.


Quick tour

afetch                         # system summary
atheme set matrix              # switch shell theme (persists)

opm update                     # refresh package lists
opm install acowsay            # install a package (sha256-verified)
acowsay "hello from Aurora"

arepl                          # nicer Lua REPL (multiline, pretty-print)

# compile a multi-file project into one minified, linted file:
acc src/main.lua -o build/app.lua

# safer downloads:
awget --sha256=<hex> https://host/file.lua /usr/bin/file.lua

Every command has a man page (man opm, man acc, …) and --help.


Using the libraries in your programs

local json   = require("json")
local ahttp  = require("ahttp")
local class  = require("class")

local res = ahttp.getJSON("https://api.example.com/status")
print(json.encode(res, {pretty = true}))

local Animal = class("Animal")
function Animal:init(name) self.name = name end

See docs/ARCHITECTURE.md for the full library map.


Repository layout

overlay/     files laid over OpenOS (bin/, lib/, etc/, usr/man/)
patches/     patched core files + pristine *.orig + rationale
install/     install.lua (online), apply.lua (offline), manifest.lua
registry/    opm package registry (index.json + packages/)
tools/       build.sh, test.sh, lint.sh, integration.sh, generators
tests/       host unit tests + OpenComputers shim + in-VM self-test
docs/        ARCHITECTURE.md, PATCHES.md, design spec

Developing & testing

tools/lint.sh            # syntax-lint every Lua file (luac5.3 -p)
tools/test.sh            # lint + host unit tests + in-VM integration
tools/test.sh --no-integration   # skip the emulator step
tools/build.sh           # regenerate manifest + registry after edits

Host unit tests run pure-Lua modules under lua5.3 against an OpenComputers shim. The integration step stages stock OpenOS + Aurora into a throwaway instance and boots it under ocvm, running an in-system self-test. See docs/ARCHITECTURE.md.


Compatibility

  • OpenComputers 1.7+, OpenOS, Lua 5.3.
  • The data card (SHA-256, deflate) is used when present, with pure-Lua fallbacks — nothing requires a particular tier.
  • Aurora never replaces the OpenOS boot path, require, or component model.

License

MIT — see LICENSE.

About

A modern, batteries-included overlay distribution for OpenComputers OpenOS — package manager (opm), dev toolchain/compilers, networking, shell themes, and security fixes. 100% OpenOS-compatible.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages