fork of guillaumearm/cc-libs github repo
Go to file
Guillaume ARM 3c4a8876b9 test(harness): run timeout-layer checks in ci
- Add fast `test-timeout` guard chaining `test-timeout-lua`/`-shell`
- Wire `test-timeout` into `just ci` for harness regression coverage
- Consolidate fixtures into single `tests/harness/slow-case.lua`
- Tighten timeouts (libtest 2s / shell watchdog 3s) so each check is ~3s
- Update ADR-0009 and DEVELOPMENT.md for the new recipes and ci wiring
2026-06-08 05:45:15 +02:00
.plans test(craftos): rename harness success marker 2026-06-08 04:28:56 +02:00
apis test(craftos): add layered test timeouts 2026-06-08 05:37:49 +02:00
docs test(harness): run timeout-layer checks in ci 2026-06-08 05:45:15 +02:00
programs test(craftos): add layered test timeouts 2026-06-08 05:37:49 +02:00
servers chore: remove cube and goo programs 2026-06-07 19:45:00 +02:00
startup docs(periphemu): simplify bootstrap 2026-06-08 02:29:42 +02:00
tests test(harness): run timeout-layer checks in ci 2026-06-08 05:45:15 +02:00
.env.sample test(craftos): add layered test timeouts 2026-06-08 05:37:49 +02:00
.gitignore test(craftos): add eventloop harness coverage 2026-06-08 04:13:22 +02:00
.luacheckrc feat: add goo v1 2026-05-31 01:37:19 +02:00
CLAUDE.md test(craftos): add layered test timeouts 2026-06-08 05:37:49 +02:00
DEVELOPMENT.md test(harness): run timeout-layer checks in ci 2026-06-08 05:45:15 +02:00
install.lua feat: add TrapOS manifest install flow 2026-06-07 23:40:32 +02:00
Justfile test(harness): run timeout-layer checks in ci 2026-06-08 05:45:15 +02:00
manifest.json test(craftos): add suite runner 2026-06-08 05:10:31 +02:00
README.md feat: add TrapOS manifest install flow 2026-06-07 23:40:32 +02:00

TrapOS

A small in-game operating system for ComputerCraft / CC:Tweaked, built around a single-threaded event loop and a routed networking layer.

Installation

wget run https://raw.githubusercontent.com/guillaumearm/cc-libs/master/install.lua

Install the beta branch (one-time opt-in, asks for confirmation):

wget run https://raw.githubusercontent.com/guillaumearm/cc-libs/next/install.lua --beta

Once a machine is on beta, upgrade keeps it on beta — --beta is not needed again. Use upgrade --stable to go back to the stable branch.

After install, every boot shows a colored MOTD with the installed version and branch (lime for stable, orange + [BETA] for beta).

Manifest

The installed file list, version, autostart servers, and current branch all live in manifest.json at the repo root. A copy is persisted locally at /trapos/manifest.json after install, and drives upgrade, startup/motd.lua, and startup/servers.lua.

APIs

  • /apis/eventloop: a simple event loop API.
  • /apis/net: an API to simplify sending and receiving routed messages, based on the eventloop library.

Servers

Servers listed in manifest.autostart are launched at boot by startup/servers.lua.

  • /servers/ping-server: allows a machine to respond to a ping command.

Programs

  • router: routes messages. You need to set up a router to use all apis/net-based programs and libraries.
  • ping: pings machines using apis/net.
  • events: emits and logs computer events.
  • upgrade: upgrades the machine. Reads /trapos/manifest.json to stay on the current branch; use --beta to opt in or --stable to opt out.

Development

See DEVELOPMENT.md for development setup and workflow.