Propose a change
Name Last commit message Last updated
bootstrap.sh Migrate asset from Helium wiki 1mo ago
bundle-meta.json Migrate asset from Helium wiki 1mo ago
claude-auth.mjs Migrate asset from Helium wiki 1mo ago
gallia-bundle.tar.gz Migrate asset from Helium wiki 1mo ago
gallia-hero-final.png Migrate asset from Helium wiki 1mo ago
gallia-hero.png Migrate asset from Helium wiki 1mo ago
gallia.sha256 Migrate asset from Helium wiki 1mo ago
gallia.tar.gz Migrate asset from Helium wiki 1mo ago
install.sh Add adompkg installer files 1mo ago
package.json Add adompkg installer files 1mo ago
page.json Remove internal identifiers from page.json 10d ago
README.md Add adompkg installer files 1mo ago
SKILL.md Add adompkg installer files 1mo ago
uninstall.sh Add adompkg installer files 1mo ago

What Hydrogen Desktop runs

curl -fsSL https://wiki-ufypy5dpx93o.adom.cloud/static/apps/gallia-bundle/gallia-bundle.tar.gz \
  -o /tmp/gallia-bundle.tar.gz
tar xzf /tmp/gallia-bundle.tar.gz -C ~/
cd ~/gallia && npm install --no-audit --no-fund
node ~/gallia/install.mjs --project ~/project

This bundle is trimmed for fresh Hydrogen Desktop containers — all the legacy-container uninstall logic in install.mjs has been stripped (no old MCP servers to remove, no retired kel/adom-rc/skill-pilot/ds-queue/conduit/AV residue to scrub). The full installer with cleanup lives in adom-inc/gallia for cloud containers.

bootstrap.sh is not in this bundle either — Hydrogen Desktop handles its own Claude-Code-extension install, VS Code settings, auth, and pre-reqs.

What install.mjs actually installs

All work is done in a single pass with a /tmp/gallia-install.pid mutex (prevents concurrent runs that race on ~/.claude/skills/).

§ Step What it does
0 PATH Adds ~/.local/bin and ~/.claude/bin to ~/.bashrc
1 Skills Copies all SKILL.mds into ~/.claude/skills/adom/guides/<skill>.md under a single adom umbrella skill (so only /adom appears in the slash-command list); skills with user-invocable: true also get a standalone ~/.claude/skills/<skill>/SKILL.md so they get their own slash command. Also prunes orphan guides — if a skill was previously deployed but no longer exists in source (e.g. retired skills), its guides/<skill>.md is deleted so the umbrella adom skill stops referencing it
1a / 1b6 Codex sync Mirrors ~/.claude/skills/* into ~/.codex/skills/
1b adom-cli Downloads adom-cli from GitHub Releases (fallback: wiki), installs to /usr/local/bin/adom-cli, runs adom-cli skills install
1b2 adom-wiki Downloads adom-wiki from GitHub Releases (fallback: wiki), installs binary + SKILL.md, seeds the wiki CLI token from /var/run/adom/api-key
1b3 adom-vscode Downloads adom-vscode from GitHub Releases (fallback: wiki), disables the built-in github-authentication VS Code extension (and the github.gitAuthentication / git.autofetch settings), runs adom-vscode install to deploy the VSIX + SKILL.md + bash completions + screenshot bridge
1c Tier A apps Downloads + installs these binaries from the wiki: adom-mouser, adom-digikey, adom-jlcpcb, adom-parts-search, adom-gchat. Each binary's own install subcommand deploys its SKILL.md + bash completions
1d Default agents Reads default-agents.json, fetches each agent's skill_source from the wiki API, writes to ~/.claude/agents/<slug>.md
1b4 Wiki catalog Runs hooks/refresh-wiki-catalog.mjs to pull the auto-discovery catalog snippet
1c MEMORY.md Injects the managed block from memory-rules.md (between <!-- ADOM-BEGIN --> markers) into ~/.claude/projects/<encoded-projectRoot>/memory/MEMORY.md
2 Claude Code settings Writes ~/.claude/settings.json — merges permissions.allow/ask, pins model: claude-opus-4-7[1m], marks trustedDirectories, registers hooks/check-updates.sh as a UserPromptSubmit hook, sets hooks/statusline.sh as the statusline. Also updates ~/.claude.json onboarding flags and forces python.interpreter.infoVisibility: never in code-server settings
3 Identity cache Calls adom-cli carbon user get + carbon containers current + carbon user orgs, writes safe identifiers (user name, display name, repo name, org names — never slug/hostname) to ~/.config/adom-identity.json
5 Shared services Prints info banner: service-kicad, JLCPCB, and Mouser run on shared service containers — nothing local needed. Honors KICAD_SERVICE_API override
7 Project dirs Creates <projectRoot>/project-content/screenshots and .../schematics (sudo + chown fallback on EACCES)
8 Background services Runs services/adom-start.sh (which discovers any services/*/service.json whose service tag matches $GALLIA_SERVICE, default local); runs each matching services/*/setup.sh; patches /usr/local/bin/code-server-entrypoint.sh to re-run adom-start.sh on reboot; installs a */2 * * * * cron calling services/adom-watchdog.sh only on service containers (where /etc/environment sets GALLIA_SERVICE to something other than local)
10 Summary Prints "Open Claude Code and try your first prompt!"
extra Org bootstraps For each org in the cached identity that has a customer entry in CUSTOMER_BOOTSTRAPS (currently only ntx-embedded), clones or wiki-downloads the customer repo to ~/<org>/ and runs its install.sh
extra Hash stamp Writes sha256(install.mjs) to ~/.adom/last-install-hash so hooks/check-updates.sh can detect upstream changes

Not installed by this bundle: MCP servers (none — they were all retired); bootstrap.sh (HD handles bootstrap itself); kel, adom-rc, skill-pilot, ds-queue (all retired). On a fresh HD container, the installer logs are linear and clean — every line is a positive "✓ installed X", no scrubs or removals.

Skill inventory (117)

Skills below are deployed as guides under the single adom umbrella; ones marked user-invocable: true in their frontmatter also get their own slash command.

Adom platform — core

adom, adom-api, adom-app-header, adom-app-model, adom-auth, adom-cli-design, adom-cloud, adom-footprint, adom-inventory, adom-layouts, adom-lbr, adom-panels, adom-pin-mapping, adom-plan, adom-port-hints, adom-publish, adom-repo-management, adom-schematics, adom-screenshot, adom-security, adom-symbol, adom-tts, adom-ui-linter, adom-update, adom-viewer, adom-workspace-control

Adom Desktop bridge

adom-desktop, adom-desktop-bridge-author, adom-desktop-demo, adom-desktop-direct-api, adom-desktop-discovery, desktop-setup, desktop-ssh, ssh-connection, remote-bootstrap, oauth

Wiki + sharing

adom-wiki, adom-wiki-v2, wiki-backup, wiki-first-lookup, wiki-split, app-creator, readme-creator, library-creator, tool-publisher, skill-catalog, skill-creator, standalone-service

KiCad, PCB, electrical engineering

service-kicad, service-kicad-admin, kicad-donut-pad, kicad-to-markdown, kicad-to-molecule, pcb-design, footprint-creator, schematic-creator, altium-pcblib, gerber-viewer, fp3d-viewer, pin1-indicator, electrical-engineering, solder-jet-sizer, solder-jetting, up-axis-conventions

Fusion 360

fusion-360, fusion-export-for-hydrogen, fusion-update-libraries

3D models + viewers

3d-component-creator, 3d-viewer-design, basic-3d-viewer, instrument-viewer, measure-tool-design, mosfet-visualizer, molecule-breakout-board-creator, board-creator

tscircuit

adom-tscircuit-skill, board-building-pipeline, instapcb

Parts search + sourcing

adom-parts-search, digikey

Chipsmith

adom-chipsmith, adom-chipsmith-build

Datasheets

datasheet-parser, datasheet-parser-interactive, process-datasheets

Test instruments

pyvisa-testscript, red-pitaya

Process, demos, ops

brand, bug-filing, container-bootstrap, debug, definitions, demo-recording, tour, tts-pronunciation, use-cases

Other tools + references

curium, neon-mirror, pup, pup-vs-webview, claude-api, claude-code-1m-context, ai-hints-in-clis, relay-hint-pattern, avatar, movie-maker, carbon-preferences, human-ui-patterns

Differences from the upstream gallia repo

Item Upstream adom-inc/gallia This HD bundle
bootstrap.sh present (legacy cloud-container bootstrap) removed — HD does its own bootstrap
install.mjs oldSkillDirs cleanup loop present removed
install.mjs nested-adom-skill cleanup present removed
install.mjs ~/.claude/commands/ scrub present removed
install.mjs §1b3 broken-extension removal present removed
install.mjs §1b5 ds-queue retirement present removed
install.mjs §3 + §4 MCP cleanup present removed — no MCP servers anywhere
install.mjs §4b gchat / kel legacy cleanup present removed
install.mjs §4c desktop-conduit / AV retirement present removed
install.mjs §4d2 jst / neon-mirror / piper-tts retirement present removed
install.mjs §4d skill-pilot retirement present removed
install.mjs §4e adom-rc retirement present removed
install.mjs §8 legacy check-kicad-update.sh cron scrub + stale-watchdog else-branch present removed

install.mjs shrinks from 1434 → 976 lines (-32%). The bundle tarball ships at 4.9 MB (641 files) vs ~16 MB stale.

Bundle contents

gallia/
├── install.mjs            # cleaned installer (no legacy uninstall code)
├── package.json           # npm deps for installer + MCP servers
├── default-agents.json    # which agents to install from the wiki
├── memory-rules.md        # global memory hygiene rules
├── PORT-REGISTRY.md       # platform port allocations
├── skills/                # 117 SKILL.md packages
├── services/              # service skeletons (kicad-cli, ds-extract, oauth-gateway)
├── hooks/                 # statusline.sh, check-updates.sh, refresh-wiki-catalog.mjs
├── scripts/               # bootstrap-guest, publish-to-wiki, claude-auth, etc.
├── dns/, jst/             # MCP servers (source — not auto-registered by installer)
├── symbol-creator/        # KiCad/EAGLE symbol creator MCP server + UI
├── footprint-creator/     # KiCad footprint creator MCP server + UI
├── youtube/               # YouTube OAuth + API tooling
├── brand/, docs/, plans/, demo/
└── .claude/               # per-project Claude Code config baseline

Source + build process

  • Skill source: adom-inc/gallia. This bundle never touches that repo — it snapshots HEAD, applies HD-specific transforms in a sandbox, ships.
  • Build pipeline: adom-inc/gallia-hd-bundle is the HD layer. It owns the build script, the strip policy (strip-install-mjs.py, 12 exact-match excisions, fails loud on any upstream drift), and a .gallia-pin recording which gallia commit each bundle was built from.

Rebuild flow:

cd ~/project/gallia && git pull
cd ~/project/gallia-hd-bundle && bash build.sh
git add .gallia-pin && git commit -m "Build bundle from gallia $(cat .gallia-pin | cut -c1-7)" && git push

Every build uploads two assets to this page: gallia-bundle.tar.gz and bundle-meta.json. The meta sidecar pins the exact gallia commit, build timestamp, tarball SHA256, skill count, and the strip list applied — so for any deployed bundle you can answer "which gallia SHA was this built from?" with a single curl:

curl -s https://wiki-ufypy5dpx93o.adom.cloud/static/apps/gallia-bundle/bundle-meta.json | jq .

The page's asset upload history (visible via adom-wiki page log app/gallia-bundle) is the canonical build log.