CircuitForge node bootstrap/installer, forked from PRbL-bashrc
Find a file
pyr0ball 3bec75eb91 docs: rewrite README with provisioning profiles, flags, extras, and CF apps
Covers the three provisioning profiles (oem/collaborator/orchard), all
install.sh flags, the extras system (model-cache-redirect), and the full
CF apps manifest registry. The old README only described the bare PRbL
bashrc install and was stale relative to the cf-apps provisioning system.
2026-07-20 12:18:39 -07:00
cf-apps fix: stop double-executing git clone / setup hooks via run() 2026-07-18 22:12:05 -07:00
extras feat: add model-cache-redirect extra for /devl-topology nodes 2026-07-18 17:13:52 -07:00
lib fix: stop double-executing git clone / setup hooks via run() 2026-07-18 22:12:05 -07:00
PRbL@6090507530 chore: bump PRbL submodule for multiselect nameref fix 2026-07-18 22:31:46 -07:00
scripts chore: repoint PRbL submodule to Circuit-Forge fork, add mediatools 2026-07-17 11:48:38 -07:00
.gitignore added logs to gitignore 2023-05-09 15:38:59 -07:00
.gitmodules chore: repoint PRbL submodule to Circuit-Forge fork, add mediatools 2026-07-17 11:48:38 -07:00
functions fixed symlink and script permissions 2022-10-28 10:28:02 -07:00
install.sh fix: install-extras' preselect loop never ran more than once 2026-07-18 22:30:37 -07:00
README.md docs: rewrite README with provisioning profiles, flags, extras, and CF apps 2026-07-20 12:18:39 -07:00
scriptexample.sh fixed dos line-endings 2022-03-23 14:22:49 -07:00

cf-node-bootstrap

Pyr0ball's Reductive [bash] Library (PRbL) Auto-Installer — plus CircuitForge node provisioning.


Bootstraps a new machine with a sane bash environment and optionally provisions it as a CircuitForge product node or GPU worker.

Depends on PRbL. Clone recursively:

git clone --recurse-submodules https://github.com/CircuitForgeLLC/cf-node-bootstrap.git
cd cf-node-bootstrap/

What it installs

  • PRbL — pluggable bash functions and scripting helpers
  • A ~/.bashrc.d/ drop-in directory for modular shell config
  • An informative login splash screen (quickinfo)
  • Vim color scheme and formatting
  • Core dependencies: git, vim, lm-sensors, curl, net-tools, bc

Install

Basic (current user)

./install.sh -i

Installs to ~/.local/share/prbl. During install you will be prompted to:

  1. Install optional extras (e.g. dev-tool cache redirect for machines with a separate /devl disk)
  2. Provision this node for CircuitForge apps (see Provisioning Profiles below)

Global (all users, requires root)

sudo ./install.sh -i

Installs to /usr/share/prbl.


Flags

Flag Description
-i / --install Install PRbL and run provisioning menus
-u / --update Update an existing install
-d / --dependencies Install package dependencies only
-D / --dry-run Show what would happen without making changes
-r / --remove Remove the PRbL install
-f / --force Remove then reinstall
-F / --force-remove Remove without reinstalling
-h / --help Print usage

Provisioning Profiles

After the base PRbL install, the installer offers to set up CircuitForge apps on this node. You will be asked to pick a profile, which controls which apps are available and which remote they are cloned from.

OEM / customer node

For end-user machines. Clones apps from the public GitHub mirror (CircuitForgeLLC). Only apps with oem in their app_available_profiles are shown.

Use this for:

  • A customer deploying a licensed CircuitForge product
  • A self-hoster running a public release

Collaborator node

For contributors and internal team machines. Clones apps from the private Forgejo instance (git.opensourcesolarpunk.com). All apps with collaborator in their app_available_profiles are shown, including pre-release and internal tools.

Use this for:

  • A developer working on CircuitForge products
  • An internal machine with Forgejo access

Orchard-join node

For GPU worker nodes joining an existing cf-orch orchard. Clones circuitforge-orch from Forgejo and hands off to its own interactive installer — when prompted, choose the agent topology and have your coordinator's URL ready.

Use this for:

  • Adding a GPU machine to an existing CircuitForge compute cluster
  • Xander's orchard nodes or any remote worker joining a coordinator

Optional Extras

After the base install, you will be prompted to select extras. Each extra is a standalone install script in extras/.

Extra Purpose
model-cache-redirect Redirects pip, whisper, clip, and Hugging Face caches from ~/.cache to /devl/user-cache (for machines with a separate fast disk at /devl). Skips cleanly on machines without a separate /devl mount.

CF Apps manifests

Each CircuitForge product has a .manifest file under cf-apps/. These are plain bash files declaring the app name, description, repo URLs, supported provisioning profiles, and install types (bare-metal, Docker, Podman). See cf-apps/README.md for the full schema.

Available apps:

App Description
circuitforge-core Shared scaffold library required by most CF products
peregrine LLM-powered job discovery and application pipeline
kiwi Pantry tracker with barcode/receipt scanning and recipe suggestions
snipe Auction trust-scoring for eBay and estate sales
turnstone Log diagnostics tool
linnet Real-time tone annotation product
pagepiper Document/rulebook RAG tool

Planned

  • Expanded automatic OS detection and package management (non-Debian/Ubuntu)
  • Modular login splash page