fork of guillaumearm/cc-libs github repo retransformed in a new "trapos" project (will move soon)
Go to file
2026-06-20 14:42:48 +02:00
.opencode refactor: rename trapos-sandbox to trapos-server 2026-06-17 01:25:16 +02:00
docs feat(trapos-music): add audio effects and guide 2026-06-20 14:15:54 +02:00
just refactor: rename /musics dir in /data/musics 2026-06-20 12:04:46 +02:00
packages music(trapos-music): add new packaged tracks 2026-06-20 14:42:48 +02:00
tools/trapos-server refactor(daemon): rename servers to daemons 2026-06-18 23:53:32 +02:00
.gitignore chore: save the refactor mess 2026-06-16 22:16:58 +02:00
.luacheckrc refactor: rename trapos-sandbox to trapos-server 2026-06-17 01:25:16 +02:00
.mcp.json refactor: rename trapos-sandbox to trapos-server 2026-06-17 01:25:16 +02:00
AGENTS.md refactor(daemon): rename servers to daemons 2026-06-18 23:53:32 +02:00
ATM_EXPERT_AGENT_PLAN.md feat(ai): add atm10 expert agent 2026-06-11 18:34:32 +02:00
DEVELOPMENT.md refactor: rename trapos-sandbox to trapos-server 2026-06-17 01:25:16 +02:00
env.sample fix(eventloop): isolate handler failures 2026-06-18 01:04:39 +02:00
install-trapos.lua refactor(daemon): rename servers to daemons 2026-06-18 23:53:32 +02:00
Justfile refactor: rename trapos-sandbox to trapos-server 2026-06-17 01:25:16 +02:00
lychee.toml chore(dev): validate markdown links 2026-06-09 02:34:40 +02:00
manifest.json feat(trapos-music): add audio effects and guide 2026-06-20 14:15:54 +02:00
README.md refactor(daemon): rename servers to daemons 2026-06-18 23:53: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

One command installs everything — it bootstraps ccpm, syncs the default registry (guillaumearm/cc-libs), and installs the full TrapOS:

wget run https://os.trapcloud.fr/install

When it finishes, run cloud --help to get started, or trapos-upgrade to update later.

Install only the package manager (no full OS) with --cpm-only, then cherry-pick packages yourself:

wget run https://os.trapcloud.fr/install --cpm-only
ccpm update
ccpm install trapos-ui

After install, every boot shows a colored MOTD with the installed version.

Packages

TrapOS is split into packages, each described by a packages/<name>/ccpm.json:

  • trapos-core: the package manager (ccpm), event loop, trapos-upgrade, trapos-postinstall, events.
  • trapos-test: the test framework (libtest) and suite runner (runtest).
  • trapos-boot: the startup MOTD and autostart daemon launcher.
  • trapos-ui: the terminal UI toolkit (libtui, tuidemo).
  • trapos-ai: the AI client for opencode serve.
  • trapos: full TrapOS meta-package (trapos-boot, trapos-ui, trapos-test, trapos-ai, trapos-cloud).

The trapos meta-package is the user-facing full install. Package descriptors list files and autostart daemons; installed state is tracked under /trapos.

ccpm

ccpm is the TrapOS package manager. install-trapos.lua installs it by installing the required trapos-core package and configures the default registry (guillaumearm/cc-libs), then (unless --cpm-only) installs the full trapos meta-package.

ccpm install <package>     ccpm reinstall <package>   ccpm uninstall <package>
ccpm update                ccpm upgrade
ccpm ls                    ccpm available [term]      ccpm search [term]
ccpm info <package>
ccpm registry ls           ccpm registry add <name> [--branch <b>] [--type gitea|http]
ccpm registry rm <name>

ccpm update fetches registry package indexes into /trapos/ccpm.cache.json. ccpm available lists cached packages and marks installed packages as up-to-date or updatable. ccpm upgrade upgrades installed packages based on that cache.

Registries default to gitea (owner/repo resolved against git.trapcloud.fr/<owner>/<repo>); http/https base URLs are also supported. State lives in /trapos/ccpm.json (registries), /trapos/ccpm.lock.json (installed packages), and /trapos/ccpm.cache.json (available packages). See ADR-0010.

APIs

  • /apis/eventloop: a simple event loop API.

Servers

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

Programs

  • events: emits and logs computer events.
  • trapos-upgrade: runs ccpm update then ccpm upgrade; pass --reboot/-r to reboot after upgrading.
  • trapos-postinstall: prints the post-install welcome and next steps (run automatically by the installer).

Development

See DEVELOPMENT.md for local development installation.