README & docs: setup flow for developers and users #51

Closed
opened 2026-03-19 19:31:36 +00:00 by mik-tf · 1 comment
Owner

Goal

Clear, layered documentation so anyone can get Hero OS running — from a one-liner Docker pull to a full local dev build.

Setup Levels

Users (quickstart)

docker pull forge.ourworld.tf/lhumina_code/hero_zero:0.1.0
docker run ...

That's it. Everything works out of the box:

  • Register via the UI
  • Set API keys in Settings
  • No terminal needed after the initial pull

Developers

Full flow:

  1. Bootstrap — run bootstrap.sh (clones repos, sets up workspace)
  2. Build locallybuild-local.sh or make dist
  3. Run locally — source env vars + run docker
  4. Ship to registry — build official image and push
./bootstrap.sh
source ~/hero/cfg/env/*
make dist
# or ship:
make push

Environment Variables — 3 Ways

Users and devs can configure API keys and settings through any of these:

  1. UI — Settings page in the browser, no terminal needed
  2. Source env varssource ~/hero/cfg/env/* before running
  3. CLI params — pass directly as arguments

If nothing is set, the UI prompts you to configure on first use.

Image Tagging Convention

Follows semver 2.0:

Tag Purpose
hero_zero:0.1.0-dev Development builds, what herodev runs
hero_zero:0.1.0-rc1 Release candidate, ready for testing
hero_zero:0.1.0 Stable release, what users pull
hero_zero:latest Always points to latest stable

The -dev suffix signals "not stable" and sorts before the release in version ordering.

Scope

  • Update hero_services/README.md with both flows
  • Make sure bootstrap.sh is documented and works
  • Adopt 0.1.0-dev tagging for current dev builds
  • Reference from #38 master roadmap
## Goal Clear, layered documentation so anyone can get Hero OS running — from a one-liner Docker pull to a full local dev build. ## Setup Levels ### Users (quickstart) ```bash docker pull forge.ourworld.tf/lhumina_code/hero_zero:0.1.0 docker run ... ``` That's it. Everything works out of the box: - Register via the UI - Set API keys in Settings - No terminal needed after the initial pull ### Developers Full flow: 1. **Bootstrap** — run `bootstrap.sh` (clones repos, sets up workspace) 2. **Build locally** — `build-local.sh` or `make dist` 3. **Run locally** — source env vars + run docker 4. **Ship to registry** — build official image and push ```bash ./bootstrap.sh source ~/hero/cfg/env/* make dist # or ship: make push ``` ## Environment Variables — 3 Ways Users and devs can configure API keys and settings through any of these: 1. **UI** — Settings page in the browser, no terminal needed 2. **Source env vars** — `source ~/hero/cfg/env/*` before running 3. **CLI params** — pass directly as arguments If nothing is set, the UI prompts you to configure on first use. ## Image Tagging Convention Follows semver 2.0: | Tag | Purpose | |-----|--------| | `hero_zero:0.1.0-dev` | Development builds, what herodev runs | | `hero_zero:0.1.0-rc1` | Release candidate, ready for testing | | `hero_zero:0.1.0` | Stable release, what users pull | | `hero_zero:latest` | Always points to latest stable | The `-dev` suffix signals "not stable" and sorts before the release in version ordering. ## Scope - Update `hero_services/README.md` with both flows - Make sure `bootstrap.sh` is documented and works - Adopt `0.1.0-dev` tagging for current dev builds - Reference from #38 master roadmap
Author
Owner

Done. Two commits on development:

  • 44507fb — README rewrite: users get docker pull :hero quickstart, developers get bootstrap → build → run flow. Env vars 3-ways, semver tagging table.
  • bb3d627make run now does distpackdocker run from source. Replaced zinit-based lifecycle with Docker equivalents.

Signed-off-by: mik-tf

Done. Two commits on `development`: - `44507fb` — README rewrite: users get docker pull `:hero` quickstart, developers get bootstrap → build → run flow. Env vars 3-ways, semver tagging table. - `bb3d627` — `make run` now does `dist` → `pack` → `docker run` from source. Replaced zinit-based lifecycle with Docker equivalents. Signed-off-by: mik-tf
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/home#51
No description provided.