diff --git a/AGENTS.md b/AGENTS.md index 8fa293e..79d0c32 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -37,7 +37,7 @@ Use [`docs/README.md`](docs/README.md) as the entrypoint for CC:Tweaked, CraftOS - Preserve `periphemu` guards used for CraftOS-PC emulation; see [`docs/craftos_pc_glossary.md`](docs/craftos_pc_glossary.md) for upstream emulator references. - Global CraftOS-PC save data lives in `~/Library/Application Support/CraftOS-PC` on macOS and `~/.local/share/craftos-pc` on Linux. Repo launchers use local state instead: `.craftos/` for TrapOS and `.craftos-vanilla/` for vanilla CraftOS-PC. See [`docs/install-craftos-pc.md`](docs/install-craftos-pc.md). - TrapOS ships as packages, each described by `packages//ccpm.json` (`name`, `version`, `dependencies`, `files`, `autostart`); `packages/index.json` lists them. Source files stay in place — descriptors only reference them. To ship a new file, add it to the right package's `files` (and `autostart` if it is a server). `packages/trapos/ccpm.json` is the full OS meta-package. See [ADR-0010](docs/adrs/adr-0010-ccpm-package-manager.md). -- `install-trapos.lua` is the one-time wget bootstrap (public entry point `https://trapos.trapcloud.fr/install`). It installs `trapos-core`/`ccpm`, seeds the default `guillaumearm/cc-libs` registry as a `gitea` registry on `git.trapcloud.fr` tracking `master` (the only channel), then runs `ccpm update` + `ccpm install trapos` and `trapos-postinstall`. Pass `--cpm-only` to stop after the ccpm bootstrap. +- `install-trapos.lua` is the one-time wget bootstrap (public entry point `https://os.trapcloud.fr/install`). It installs `trapos-core`/`ccpm`, seeds the default `guillaumearm/cc-libs` registry as a `gitea` registry on `git.trapcloud.fr` tracking `master` (the only channel), then runs `ccpm update` + `ccpm install trapos` and `trapos-postinstall`. Pass `--cpm-only` to stop after the ccpm bootstrap. - `ccpm` (in `trapos-core`) is the package manager: `apis/libccpm.lua` is the testable core (factory with injectable `http`/`stateDir`/`installRoot`), `programs/ccpm.lua` the CLI. State: `/trapos/ccpm.json` (registries), `/trapos/ccpm.lock.json` (installed packages), and `/trapos/ccpm.cache.json` (available packages from `ccpm update`). Never use the word "manifest" in ccpm — it is reserved for the OS manifest. - Add new servers to the relevant package `autostart` list as needed. diff --git a/README.md b/README.md index 44f3305..e24958a 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ A small in-game operating system for ComputerCraft / CC:Tweaked, built around a One command installs everything — it bootstraps `ccpm`, syncs the default registry (`guillaumearm/cc-libs`), and installs the full TrapOS: ``` -wget run https://trapos.trapcloud.fr/install +wget run https://os.trapcloud.fr/install ``` When it finishes, run `sandbox --help` to get started, or `trapos-upgrade` to @@ -16,7 +16,7 @@ update later. Install only the package manager (no full OS) with `--cpm-only`, then cherry-pick packages yourself: ``` -wget run https://trapos.trapcloud.fr/install --cpm-only +wget run https://os.trapcloud.fr/install --cpm-only ccpm update ccpm install trapos-net ccpm install trapos-ui diff --git a/apis/libinstallerdisk.lua b/apis/libinstallerdisk.lua index 4ffc8db..8d44a0d 100644 --- a/apis/libinstallerdisk.lua +++ b/apis/libinstallerdisk.lua @@ -1,5 +1,5 @@ local DEFAULT_INSTALLER_LABEL = 'TrapOS Installer'; -local DEFAULT_INSTALL_URL = 'https://trapos.trapcloud.fr/install'; +local DEFAULT_INSTALL_URL = 'https://os.trapcloud.fr/install'; local DEFAULT_SETTINGS_SOURCE_PATH = '/.settings'; local function writeFile(path, body) diff --git a/docs/adrs/adr-0010-ccpm-package-manager.md b/docs/adrs/adr-0010-ccpm-package-manager.md index 1822cf4..961eb19 100644 --- a/docs/adrs/adr-0010-ccpm-package-manager.md +++ b/docs/adrs/adr-0010-ccpm-package-manager.md @@ -13,7 +13,7 @@ Accepted The beta/stable two-channel model has been retired now that `next` is merged into `master`: `master` is the only channel. The `wget` bootstrap is renamed `install-ccpm.lua` → `install-trapos.lua` (public entry point -`https://trapos.trapcloud.fr/install`) and now installs the **full OS** in one shot — +`https://os.trapcloud.fr/install`) and now installs the **full OS** in one shot — it bootstraps `ccpm`, then runs `ccpm update` + `ccpm install trapos` and a `trapos-postinstall` welcome. Pass `--cpm-only` to stop after the ccpm bootstrap. The persisted `branch` field is always `master`; the `--beta` opt-in and its confirmation diff --git a/docs/ingame-trapos-ai-mcp-guide.md b/docs/ingame-trapos-ai-mcp-guide.md index f2294e9..143104b 100644 --- a/docs/ingame-trapos-ai-mcp-guide.md +++ b/docs/ingame-trapos-ai-mcp-guide.md @@ -7,7 +7,7 @@ Follow this order while playing. On the ComputerCraft computer: ```sh -wget run https://trapos.trapcloud.fr/install +wget run https://os.trapcloud.fr/install ``` If the computer asks to reboot, reboot it. diff --git a/docs/opencode_server_guide.md b/docs/opencode_server_guide.md index 4560a82..262ef85 100644 --- a/docs/opencode_server_guide.md +++ b/docs/opencode_server_guide.md @@ -17,7 +17,7 @@ CC Computer On a fresh CC computer: ``` -wget run https://trapos.trapcloud.fr/install +wget run https://os.trapcloud.fr/install ``` ## 1. Start `opencode serve` diff --git a/manifest.json b/manifest.json index fd3e926..35e1208 100644 --- a/manifest.json +++ b/manifest.json @@ -1,6 +1,6 @@ { "name": "TrapOS", - "version": "0.9.6", + "version": "0.10.0", "branch": "master", "packages": [ "trapos" diff --git a/packages/index.json b/packages/index.json index b0d651b..85d14e8 100644 --- a/packages/index.json +++ b/packages/index.json @@ -1,6 +1,6 @@ { "packages": { - "trapos-core": "0.7.0", + "trapos-core": "0.8.0", "trapos-test": "0.2.1", "trapos-boot": "0.4.0", "trapos-net": "0.3.0", @@ -8,6 +8,6 @@ "trapos-ai": "0.7.0", "trapos-sandbox": "0.3.0", "trapos-sandbox-legacy": "0.3.0", - "trapos": "0.9.6" + "trapos": "0.10.0" } } diff --git a/packages/trapos-core/ccpm.json b/packages/trapos-core/ccpm.json index df47155..e4ebe6e 100644 --- a/packages/trapos-core/ccpm.json +++ b/packages/trapos-core/ccpm.json @@ -1,6 +1,6 @@ { "name": "trapos-core", - "version": "0.7.0", + "version": "0.8.0", "description": "TrapOS base: package manager, event loop, upgrade and event tools", "dependencies": [], "files": [ diff --git a/packages/trapos/ccpm.json b/packages/trapos/ccpm.json index e000319..98658c4 100644 --- a/packages/trapos/ccpm.json +++ b/packages/trapos/ccpm.json @@ -1,6 +1,6 @@ { "name": "trapos", - "version": "0.9.6", + "version": "0.10.0", "description": "TrapOS full install meta-package", "dependencies": [ "trapos-boot", diff --git a/programs/trapos-postinstall.lua b/programs/trapos-postinstall.lua index cf9a74a..513260b 100644 --- a/programs/trapos-postinstall.lua +++ b/programs/trapos-postinstall.lua @@ -1,6 +1,6 @@ local createVersion = require('/apis/libversion'); -local DEFAULT_SANDBOX_URL = 'wss://trapos.trapcloud.fr'; +local DEFAULT_SANDBOX_URL = 'wss://os.trapcloud.fr'; local SANDBOX_URL_SETTING = 'sandbox.url'; local SANDBOX_PASSWORD_SETTING = 'sandbox.password'; diff --git a/tests/installer-disk.lua b/tests/installer-disk.lua index 9d1597b..352444f 100644 --- a/tests/installer-disk.lua +++ b/tests/installer-disk.lua @@ -81,7 +81,7 @@ testlib.test('buildAutorun copies settings before wget and no reboot', function( local body = installer.buildAutorun(); local sentinel = string.find(body, "fs.exists('/trapos')", 1, true); local label = string.find(body, 'TrapOS Installer', 1, true); - local url = string.find(body, 'https://trapos.trapcloud.fr/install', 1, true); + local url = string.find(body, 'https://os.trapcloud.fr/install', 1, true); local copy = string.find(body, "fs.copy(src, '/.settings')", 1, true); local wget = string.find(body, "shell.run('wget', 'run', INSTALL_URL)", 1, true); diff --git a/tests/postinstall.lua b/tests/postinstall.lua index dedfc30..3598315 100644 --- a/tests/postinstall.lua +++ b/tests/postinstall.lua @@ -2,7 +2,7 @@ local createLibTest = require('/apis/libtest'); local testlib = createLibTest({ ... }); -local DEFAULT_SANDBOX_URL = 'wss://trapos.trapcloud.fr'; +local DEFAULT_SANDBOX_URL = 'wss://os.trapcloud.fr'; local function fakeSettings(values) return {