APP

Gallia Bundle

Adom platform bundle for Hydrogen Desktop. Built by adom-inc/gallia-hd-bundle from upstream adom-inc/gallia โ€” strips legacy-container cleanup, drops bootstrap.sh, ships 117 skills + cleaned-down installer. Each build pins the gallia commit + SHA256 in bundle-meta.json.

Gallia Bundle
๐Ÿ’ฌ Sample prompts Paste any of these into Claude Code to use this app
Install gallia Install gallia onto this container
Update gallia Update my gallia install from the wiki
What's in gallia What skills are in the gallia bundle?
What does install.mjs do Walk me through what gallia install.mjs installs
Rebuild bundle How do I rebuild the HD gallia bundle?
โšก Open this app

Paste this into Claude Code (VS Code panel, Adom editor, or terminal) to install:

Open the Adom Wiki page for the "Gallia Bundle" app at https://wiki-ufypy5dpx93o.adom.cloud/wiki/apps/gallia-bundle and tell me how to use it.

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/).

ยงStepWhat it does
0PATHAdds ~/.local/bin and ~/.claude/bin to ~/.bashrc
1SkillsCopies 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 / 1b6Codex syncMirrors ~/.claude/skills/* into ~/.codex/skills/
1badom-cliDownloads adom-cli from GitHub Releases (fallback: wiki), installs to /usr/local/bin/adom-cli, runs adom-cli skills install
1b2adom-wikiDownloads adom-wiki from GitHub Releases (fallback: wiki), installs binary + SKILL.md, seeds the wiki CLI token from /var/run/adom/api-key
1b3adom-vscodeDownloads 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
1cTier A appsDownloads + 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
1dDefault agentsReads default-agents.json, fetches each agent's skill_source from the wiki API, writes to ~/.claude/agents/<slug>.md
1b4Wiki catalogRuns hooks/refresh-wiki-catalog.mjs to pull the auto-discovery catalog snippet
1cMEMORY.mdInjects the managed block from memory-rules.md (between <!-- ADOM-BEGIN --> markers) into ~/.claude/projects/<encoded-projectRoot>/memory/MEMORY.md
2Claude Code settingsWrites ~/.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
3Identity cacheCalls 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
5Shared servicesPrints info banner: service-kicad, JLCPCB, and Mouser run on shared service containers โ€” nothing local needed. Honors KICAD_SERVICE_API override
7Project dirsCreates <projectRoot>/project-content/screenshots and .../schematics (sudo + chown fallback on EACCES)
8Background servicesRuns 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)
10SummaryPrints "Open Claude Code and try your first prompt!"
extraOrg bootstrapsFor 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
extraHash stampWrites 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

ItemUpstream adom-inc/galliaThis HD bundle
bootstrap.shpresent (legacy cloud-container bootstrap)removed โ€” HD does its own bootstrap
install.mjs oldSkillDirs cleanup looppresentremoved
install.mjs nested-adom-skill cleanuppresentremoved
install.mjs ~/.claude/commands/ scrubpresentremoved
install.mjs ยง1b3 broken-extension removalpresentremoved
install.mjs ยง1b5 ds-queue retirementpresentremoved
install.mjs ยง3 + ยง4 MCP cleanuppresentremoved โ€” no MCP servers anywhere
install.mjs ยง4b gchat / kel legacy cleanuppresentremoved
install.mjs ยง4c desktop-conduit / AV retirementpresentremoved
install.mjs ยง4d2 jst / neon-mirror / piper-tts retirementpresentremoved
install.mjs ยง4d skill-pilot retirementpresentremoved
install.mjs ยง4e adom-rc retirementpresentremoved
install.mjs ยง8 legacy check-kicad-update.sh cron scrub + stale-watchdog else-branchpresentremoved

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.

GZ
gallia-bundle.tar.gz 2 days ago
Gallia HD bundle โ€” 117 skills, 641 files, built from gallia 987d196
Initial release via gallia-hd-bundle repo (adom-inc/gallia-hd-bundle) โ€” same content as prior manual build, now built via tracked pipelineJohn Lauer ยท 2 days ago
4.9 MB
JSON
bundle-meta.json 2 days ago
Build metadata (gallia commit, timestamp, skill count, SHA256)
Initial release via gallia-hd-bundle repo (adom-inc/gallia-hd-bundle) โ€” same content as prior manual build, now built via tracked pipelineJohn Lauer ยท 2 days ago
844 B
GZ
gallia-bundle.tar.gz 15 days ago
Gallia platform bundle for Hydrogen Desktop bootstrap
Initial release via gallia-hd-bundle repo (adom-inc/gallia-hd-bundle) โ€” same content as prior manual build, now built via tracked pipelineJohn Lauer ยท 2 days ago
15.2 MB
GZ
gallia.tar.gz 20 days ago
Gallia platform bundle
Remove adom-viewer MCP server (deprecated)Kyle Bergstedt ยท 20 days ago
11.6 MB
SH
bootstrap.sh 20 days ago
Adom container bootstrap script
Suppress GitHub auth popupKyle Bergstedt ยท 20 days ago
14.8 KB
MJS
claude-auth.mjs 20 days ago
Claude Code PKCE auth script (copy-code link flow)
10.1 KB
SHA2
gallia.sha256 20 days ago
Gallia bundle SHA256 hash
65 B

Sub-Skills
?
What are Sub-Skills?

Sub-skills are community-contributed AI skill extensions for this component. They teach AI assistants about specific tools, configurators, or workflows.

Examples:

  • A manufacturer’s configuration tool for a motor controller
  • A community-written design guide for an amplifier circuit
  • An automated test/validation script for a sensor module

How to add one: Click Add Sub-Skill, provide the URL to your skill and a brief description. Submissions are reviewed by the Adom team before going live.

No sub-skills yet. Be the first to contribute one!

Recent activity

25 commits