# sethLabels > Deployment fork of glabels-qt — Qt label designer/printer, packaged for Seth's homelab. ## Start Here **Read the latest handoff first:** `.claude/handoffs/` (most recent file). It has session state, in-progress work, and ordered next steps. Then check `IDEA.md` for the project brief and `DECISIONS.md` for settled choices. ## Project Identity sethLabels is a thin deployment fork of [glabels-qt](https://github.com/j-evins/glabels-qt). Upstream is the real project — this fork's job is to keep a known-good build recipe, any deployment glue (packaging, install paths, default templates), and any local patches in one place, while staying close enough to upstream `master` that periodic rebases stay cheap. ## Current State - **Phase:** design-approved, pre-implementation. Spec written and committed; no scripts/packaging code yet. - **Repo:** live at `git.sethpc.xyz/Seth/sethLabels` (default branch `main`). Upstream `j-evins/glabels-qt` configured as `upstream` remote for periodic rebases. Eventually-public on GitHub once battle-tested. - **Deploy target:** Debian-family Linux (`.deb` + AppImage) + macOS via Homebrew tap (build-from-source). Steel141 is a build host, not a deploy target. Windows deferred. - **Upstream:** https://github.com/j-evins/glabels-qt (GPL-3.0, Qt6 6.2 + CMake + C++) - **Design spec:** `sethlabels-docs/specs/2026-04-29-packaging-design.md` — all packaging decisions (artifacts, versioning, build pipeline, release flow, brew tap) live here. Read this before touching `scripts/` or `packaging/`. ## Conventions - This is a **deployment fork**, not a real fork. The discipline is **strict zero source patches** — no upstream-tracked file is ever edited. All sethLabels content lives in NEW top-level dirs (`scripts/`, `packaging/`, `sethlabels-docs/`, `.claude/`). Allowlist exception: `.gitignore` (one-time scaffold-time touch). - Enforced by `scripts/check-no-upstream-edits.sh` (to be implemented per spec §5.5). - Preserve upstream license (GPL-3.0) and copyright headers — strict-zero handles this automatically by never touching upstream files. - Versioning: `-seth` (e.g., `3.99-master618-seth1`). See spec §D4 + §5.4. - See `~/bin/CLAUDE.md` for global homelab conventions (gitea CLI, conventional commits, credentials handling).