Ghost-ALICE OS

Installation And Update Guide

언어: 🇺🇸 English 🇰🇷 한국어

This guide is the command reference for installing, updating, checking, and repairing Ghost-ALICE OS. Public guidance uses OS-native entrypoints with the same long flag surface.

On Windows, install.cmd keeps the native wrapper path, Python 3.11+ installer contract, UTF-8 console setup, and -NoProfile -ExecutionPolicy Bypass. This handles PowerShell execution policy blocks and does not change the user or machine execution policy.

The Windows installer needs PowerShell 7.6 or newer. Windows PowerShell 5.1 is retired: under an older PowerShell the installer prints the requirement and stops. Install PowerShell with winget install --id Microsoft.PowerShell --exact, then rerun .\install.cmd.

Core and Ghost-ALICE Autopilot together

After cloning this repository, use the platform-auto-detect installation:

bash install.sh --addon autopilot

For Windows Command Prompt or PowerShell, use .\install.cmd --addon autopilot. The detailed options below let you select a specific agent platform or manage each installation separately.

Contents

Quick Install

macOS, Linux, WSL, or Git Bash:

git clone https://github.com/AidALL/ghost-alice.git ~/ghost-alice
cd ~/ghost-alice
bash install.sh --addon autopilot

Windows Command Prompt:

git clone https://github.com/AidALL/ghost-alice.git %USERPROFILE%\ghost-alice
cd %USERPROFILE%\ghost-alice
.\install.cmd --addon autopilot

Install Official Addons

Official addons use short aliases and install from the Ghost-ALICE core checkout.

macOS, Linux, WSL, or Git Bash:

bash install.sh --addon autopilot

Windows Command Prompt or PowerShell:

.\install.cmd --addon autopilot

Windows Command Prompt and PowerShell use the same official alias through .\install.cmd --addon autopilot.

Run this from the Ghost-ALICE core checkout. Normal users do not clone the autopilot addon repository or run an installer inside that repository; the core installer fetches the official addon package. This install example is not a full runtime compatibility claim; read the addon repository compatibility-matrix.json before making one.

For platform-specific commands, see Install one official addon to one platform.

Addon-specific behavior, state files, pause/resume controls, and removal details live in each addon repository. The core checkout owns the common install command.

Official Addon List

Addon Purpose macOS / Linux / WSL Windows Command Prompt / PowerShell Details
autopilot Continue explicitly approved autonomous runs one work item at a time bash install.sh --addon autopilot .\install.cmd --addon autopilot AidALL/ghost-alice-autopilot

Core 0.5.1 and Ghost-ALICE Autopilot 0.5.1 use the routing and managed completion APIs. Ghost-ALICE Autopilot requires Core 0.5.1 or later. Source checks, native runtime validation and publication establish separate evidence.

Install One Official Addon To One Platform

bash install.sh --platform codex --addon autopilot
.\install.cmd --platform codex --addon autopilot

Install Custom Addons

Custom, tenant, or local development addons use --addon-source PATH|URL.

bash install.sh --addon-source /path/to/addon-repo
.\install.cmd --addon-source C:\path\to\addon-repo

For git URL addon sources, --addon-tag selects the branch or tag to clone into the local addon source cache.

Install One Platform

The following commands install Core only. Add --addon autopilot to include Ghost-ALICE Autopilot for the selected platform.

Target macOS / Linux / WSL Windows Command Prompt / PowerShell
Claude Code bash install.sh --platform claude .\install.cmd --platform claude
Codex bash install.sh --platform codex .\install.cmd --platform codex

To choose interactively:

bash install.sh --prompt-platform
.\install.cmd --prompt-platform

Check Status

Doctor is a read-only strict diagnostic. Use it before changing a suspicious install.

bash install.sh --doctor
bash install.sh --status
.\install.cmd --doctor
.\install.cmd --status

The healthy target is overall: ok.

Update

Update the local clone through the installer so source-local edits are stashed before a fast-forward.

cd ~/ghost-alice
bash install.sh --update-source
cd %USERPROFILE%\ghost-alice
.\install.cmd --update-source

If the local installer lacks the update option, follow bootstrap update recovery.

If source update stops with conflicts, divergent branches, or non-fast-forward state, do not rerun the installer repeatedly. Follow troubleshooting first.

--update-source updates the Core source checkout; it does not update the addon package. Reinstall Core and Ghost-ALICE Autopilot together, then check the installed state. The bootstrap updater may reinstall Core only, so follow it with this same paired command.

bash install.sh --addon autopilot
bash install.sh --doctor
bash install.sh --status
.\install.cmd --addon autopilot
.\install.cmd --doctor
.\install.cmd --status

Common Commands

Purpose macOS / Linux / WSL Windows Command Prompt / PowerShell
List skills bash install.sh --list .\install.cmd --list
Show install state bash install.sh --status .\install.cmd --status
Run protected diagnostic bash install.sh --doctor .\install.cmd --doctor
Safe source update bash install.sh --update-source .\install.cmd --update-source
Install official autopilot addon bash install.sh --addon autopilot .\install.cmd --addon autopilot
Install custom addon source bash install.sh --addon-source /path/to/addon-repo .\install.cmd --addon-source C:\path\to\addon-repo
Selective core install bash install.sh task-router verification-before-completion .\install.cmd task-router verification-before-completion
Full uninstall bash install.sh --uninstall .\install.cmd --uninstall
Selective uninstall bash install.sh --platform codex --uninstall task-router .\install.cmd --platform codex --uninstall task-router
Clean false pending entries bash install.sh --platform claude --cleanup-pending .\install.cmd --platform claude --cleanup-pending

Runtime And Platform Reference

Agent Visibility Profile

The default profile is dynamic. The profile controls how much governance surface is shown to the user; it does not disable hooks, strict-grade logs, or Work-Impact Projection.

Profile macOS / Linux / WSL Windows Command Prompt / PowerShell
strict bash install.sh --visibility strict .\install.cmd --visibility strict
dynamic bash install.sh --visibility dynamic .\install.cmd --visibility dynamic
minimal bash install.sh --visibility minimal .\install.cmd --visibility minimal

--agent-visibility remains an accepted compatibility alias. Prefer --visibility in new docs and commands.

Slash Commands By Platform

Ghost-ALICE installs /visibility strict|dynamic|minimal as a Claude Code workspace command. On Codex and every other platform, use _shared/agent_visibility_cli.py to inspect or change the same profile.

Python Contract

The installer requires Python 3.11 or newer for every command, --help and --list included: install.sh only finds or prepares Python and hands the arguments to _shared/installer/cli.py. If Python 3.11+ is missing, it attempts automatic preparation where possible.

The optional macOS native context gateway requires Python 3.14 or newer with compression.zstd. Its installer checks that capability before changing component files, the launch agent, or the Codex provider. This component requirement does not change the Core installer and hook minimum of Python 3.11. If Codex config.toml is a symlink, gateway installation and affected removal stop before changing the service and preserve the link and its target. Gateway installation also refuses symlinked launch-agent, component, companion, state, and ownership-file entries before service changes, preserving both links and targets. Refresh preserves edited provider blocks and launch agents by checking the prior installation binding before changes. Component replacement uses only the file digests in the authenticated installation receipt; the obsolete separate installed-files.json is neither read nor generated and is removed after a successful installation or refresh. Existing gateway state also requires authenticated registration and unchanged state proof, even when provider markers or the launch agent are absent. Without that ownership, installation preserves the state directory and stops; use an empty destination for a new installation or review the retained installation binding. If a first installation fails and the candidate service is confirmed stopped, rollback removes that attempt’s new state artifacts so a new attempt can proceed. An uncertain stop or concurrent artifact change preserves recovery material for review.

If Python 3.11+ is still unavailable, installation stops and prints manual recovery guidance.

PowerShell Contract

.\install.cmd runs the Windows installer with PowerShell 7 (pwsh.exe), and with Windows PowerShell (powershell.exe) when pwsh.exe is absent. The Windows installer needs PowerShell 7.6 or newer, the 7.6 LTS line. Under an older PowerShell, Windows PowerShell 5.1 included, it prints PowerShell 7.6 or newer is required with the install command winget install --id Microsoft.PowerShell --exact and stops with exit code 1; the installer never installs PowerShell itself. After that check, it sets UTF-8 console input and output, prepares Python 3.11+ and passes every argument in order to _shared/installer/cli.py, the same installer that install.sh runs, so Windows accepts the same long flags.

On macOS and other POSIX hosts, installed hooks try GHOST_ALICE_PYTHON first, then Python from the runtime PATH and common installation locations, and finally the interpreter used by the installer. Each candidate must pass the Python 3.11+ check. This final fallback lets a desktop app run hooks even when its PATH omits the installer’s Python directory. It does not change the host’s global Python or PATH; rerun the installer if that interpreter moves and no other candidate is available.

Node.js Contract

Claude Code and Codex hook-enabled installs require a resolvable Node.js runtime because the tool-checkpoint PreToolUse gate runs ghost-alice-hook.mjs. The installer checks configured runtimes, the platform registration and PATH, including the configured Codex runtime fallback. It blocks hook installation only when the target platform requires hooks and no usable Node runtime resolves.

Platform Update Behavior

Platform OS Install mode Install path Skill body updates auto-reflect
Claude Code macOS / Linux / WSL symlink ~/.claude/skills/ yes
Claude Code Windows junction ~/.claude/skills/ yes
Codex macOS / Linux / WSL copy ~/.agents/skills/ no
Codex Windows copy ~/.agents/skills/ no
All platforms Git Bash on Windows copy fallback varies no

Auto-reflection applies to skill bodies such as SKILL.md, references/, and scripts/. Hooks, bootstrap files, permission policy, and _shared/ are installer-managed runtime surfaces, so rerun the installer when they change.

Installation on disk and adoption by a running host are separate. After a hook command changes, confirm its native trust entry and observe a subsequent native callback; use the host’s reload or full restart controls if it retains the previous registration. See native hook trust and reload. Do not repeat unchanged business verification to check host adoption.

Core and optional Autopilot transitions

Core installation and addon removal are separate operations. A fresh Core installation supplies the instructions, input/source bindings, work and review records, and Core hooks. It does not register Autopilot continuation. Updating Core without an addon option preserves an already installed addon; --addon-skip skips addon installation and does not request its removal.

Operation Example for Codex Managed scope
Fresh Core install or Core update bash install.sh --platform codex Core; preserve existing addon files and registrations on update
Add or update Autopilot bash install.sh --platform codex --addon autopilot Core plus manifest-selected addon skill and privileged adapters
Remove Autopilot while retaining Core bash install.sh --platform codex --uninstall --addon autopilot-mode Detach recorded addon/adapter hooks before removing verified addon targets
Remove one platform bash install.sh --platform codex --uninstall That platform’s addons and Core; retain shared assets needed by other installed platforms

Core authenticates the model’s recommended follow-up work independently of Autopilot. Only the optional approved continuation path requests another host invocation. Removing Autopilot retains Core records and does not turn unmet criteria into completed criteria. Per-addon removal keeps modified files and its sidecar/removal marker for review or retry, while detaching its managed executable registrations. This is a configuration/file operation; ongoing-host adoption and cancellation of already delivered work are separate observations.

Full/platform removal archives pending merge originals and last-platform installation recovery copies under unique ~/.ghost-alice/uninstall-backup/<platform>/support-state/ directories. It keeps previous archives, source checkouts, conversation/session evidence, intent ledgers, audit traces and secrets. See uninstall cleanup for ownership and shared-file rules.

For Claude, the installer records which manifest-selected addon Skill(...) grants it actually added in ~/.ghost-alice/addon-permissions/claude.json. Addon removal clears one owned occurrence and preserves preexisting grants and extra user occurrences. A legacy grant without ownership evidence requires manual review. For Codex, addon removal clears unchanged owned hook trust hashes and moves surviving Core/user trust tables with their hook positions, preserving their metadata. A trust collision or configuration write failure prevents successful file removal; see uninstall cleanup.

Installed Surfaces

A full install deploys:

An installation that registered the optional context gateway: the runtime _shared placement goes through the gateway coordination, which stops the service, publishes the changed modules, restarts the service and refreshes its installation receipt. The Codex copy of _shared (~/.agents/skills/_shared) does not: the coordination does not count that folder as a gateway dependency, so a Codex install that replaces it after a gateway module changed stops at the runtime placement with A gateway runtime component changed. For a gateway registered with that folder as a shared dir, run the gateway refresh command before bash install.sh when a gateway module changed in the source; the install prints one Context gateway: line with the receipt’s source, its file count and whether the service is running.

The installer owns only the marked Ghost-ALICE block in each global rule file. It refreshes that block while preserving adjacent user text. If the destination is a markerless user-owned file, installation leaves it unchanged, writes <rule-file>.ghost-alice-proposed, and status/doctor does not report the proposal as an installed global rule.

Common Governance and Project Instructions

Ghost-ALICE common governance applies across projects and task domains. On a normal Codex route, the current-session assistant reads the common contract at the path rendered into the managed ~/.codex/AGENTS.md loader. The installer writes that contract to the sibling ghost-alice-governance.md. Claude Code receives the common contract directly in the managed portion of ${CLAUDE_CONFIG_DIR:-~/.claude}/CLAUDE.md. Project instruction files add project-specific constraints; they do not supply a second copy of the common procedures. User instructions and project-specific constraints retain precedence.

flowchart LR
    S["Platform common-contract source"] --> I["Installer replaces owned block"]
    I --> C["Codex loader + common-contract file"]
    I --> H["Claude global common-contract block"]
    C --> M["Model applies common procedures"]
    H --> M
    P["Project-specific constraints"] --> M
    U["User objective and instructions"] --> M

If Codex cannot read the named common file, the assistant reports that missing input and stops only work that requires it. Answers fully supported by supplied conversation can use the loader’s no-tool rule. Status and doctor check the loader and its declared companion together. The installer preserves adjacent user text and markerless user-owned rule files; it refuses to replace a Codex common contract through a symlink. A proposal is not an installed contract. The installer does not change unrelated projects’ instruction budgets or rewrite their local rules.

merge-companion

When an update detects user-modified installed files, the installer isolates those candidates in a pending merge queue.

On the next Claude/Codex session, the hook reports pending entries. When you ask to review them, or when work changes an affected skill, merge-companion asks whether each should be merged, discarded, or deferred.

Uninstall

Uninstall uses the installer-owned install-state manifest and removes only the Ghost-ALICE managed block from the platform global rule file. User-authored text remains in place.

bash install.sh --uninstall
.\install.cmd --uninstall

See uninstall cleanup for the full cleanup contract.

Troubleshooting

When an update is blocked during git pull, a merge conflict, or an installer rerun, start with troubleshooting.

The GitHub Wiki install-troubleshooting page links to the online source guide, which can be read without updating a local checkout.