Claude Code skills and the lab build orchestrator for the Hero stack.
  • Rust 81%
  • Nushell 14.8%
  • Shell 4.1%
Find a file
mik-tf 197468fa05
All checks were successful
lab publish / publish (push) Successful in 22m1s
ci(lab-publish): publish latest from main, latest-dev from development
Mirror of the main-branch change so development pushes publish the
`latest-dev` prerelease tag instead of overwriting the stable `latest`
release. Keeps `latest` tracking main while development keeps shipping its
own prerelease binaries. Pick the release tag by branch (main -> latest,
development -> latest-dev, v* -> ref name).

See lhumina_code/home#268

Signed-by: mik-tf <mik-tf@noreply.invalid>
2026-06-07 15:58:55 -04:00
.forgejo ci(lab-publish): publish latest from main, latest-dev from development 2026-06-07 15:58:55 -04:00
.hero chore: normalize inline comment spacing across all markdown and source files 2026-05-26 10:36:32 +02:00
_archive refactor(skills): reorganize into hero_sdks namespace and prune stale content 2026-06-07 07:16:55 +02:00
_beta refactor(skills): reorganize into hero_sdks namespace and prune stale content 2026-06-07 07:16:55 +02:00
agents/default chore: normalize inline comment spacing across all markdown and source files 2026-05-26 10:36:32 +02:00
crates fix(lab): improve rust installer and nushell module loading 2026-06-07 15:05:43 +02:00
docs chore: normalize inline comment spacing across all markdown and source files 2026-05-26 10:36:32 +02:00
hero_os_architecture fix(lab): improve user init robustness and nushell config validation 2026-06-07 14:46:56 +02:00
howto chore: normalize inline comment spacing across all markdown and source files 2026-05-26 10:36:32 +02:00
knowledge chore: normalize inline comment spacing across all markdown and source files 2026-05-26 10:36:32 +02:00
meetingnotes chore: normalize inline comment spacing across all markdown and source files 2026-05-26 10:36:32 +02:00
nutools refactor(skills): reorganize into hero_sdks namespace and prune stale content 2026-06-07 07:16:55 +02:00
prompts docs(skills): add hero_web_default_routes skill, clear blueprint proxy doc, reorganize SDK skills 2026-06-07 09:23:54 +02:00
research/memory chore: normalize inline comment spacing across all markdown and source files 2026-05-26 10:36:32 +02:00
scripts improve(nu): better detection of existing nushell installations 2026-06-07 14:51:42 +02:00
servers chore: normalize inline comment spacing across all markdown and source files 2026-05-26 10:36:32 +02:00
skills fix(lab): improve user init robustness and nushell config validation 2026-06-07 14:46:56 +02:00
.gitignore chore: remove Cargo.lock and update gitignore 2026-06-06 08:05:43 +02:00
Cargo.toml fix(lab): improve rust installer and nushell module loading 2026-06-07 15:05:43 +02:00
INIT_IMPROVEMENTS.md feat(lab init): add --skip-nushell flag to avoid reinstalling 2026-06-07 14:50:53 +02:00
main refactor(lab): drop cranelift fast-build and colorize terminal output 2026-05-29 10:21:34 +02:00
README.md chore: normalize inline comment spacing across all markdown and source files 2026-05-26 10:36:32 +02:00
SETUP_ISSUES_FOUND.md docs: document setup issues and workarounds 2026-06-07 15:06:18 +02:00

Hero Skills

Claude Code skills and the lab build orchestrator for the Hero stack.


What is lab?

lab is a Cargo-native Hero build orchestrator. It discovers binary targets, skips unchanged ones via fingerprinting, copies built binaries to ~/hero/bin, manages Forgejo repos, syncs secrets via hero_proc, and runs AI agents.

lab [flags] — build binaries in the current repo
lab build [REPO] [flags] — find/clone a named repo then build it
lab user init — install Rust + nushell, write hero_cfg.toml, configure shell
lab install core — full install (AI tools, hero_proc, ...)
lab repo <verb> — Forgejo repo management
lab secrets <verb> — hero_proc / file-based secrets management
lab skills edit|sync — manage Claude Code skills
lab agent 'instruction' — run an AI agent instruction

Getting lab

Install (download or build from source)

curl -sSfL https://forge.ourworld.tf/lhumina_code/hero_skills/raw/branch/development/scripts/lab_install.sh | bash

lab_install.sh detects your platform (macOS/Linux, arm64/x86_64), downloads the pre-built binary from Forgejo into ~/hero/bin/lab, and falls back to building from source if no binary is available.


First-time setup

After installing lab:

export PATH="$HOME/hero/bin:$PATH"
lab user init # install Rust + nushell, configure shell, prompt for FORGE_TOKEN
lab install core # install AI tools, hero_proc, etc.

lab user init generates:

  • ~/hero/cfg/init.sh — bash environment (PATH_ROOT, CARGO_HOME, sccache, …)
  • ~/.config/nushell/env.nu — nushell equivalent, sets NU_LIB_DIRS and loads Hero modules
  • ~/.config/nushell/config.nu — sources hero_loader.nu and config_user.nu

Building and uploading a release

lab build --upload --platforms allbase -v

Builds for macos-arm64, linux-musl-arm64, linux-musl-x86_64 and uploads to Forgejo.


Getting a FORGE_TOKEN

Required for lab repo and lab secrets:

  1. Go to https://forge.ourworld.tf/user/settings/applications
  2. Generate a token with read:repository + write:repository scopes
  3. Set FORGE_TOKEN in your environment (or let lab user init prompt for it)