Release v0.1.0: tag and add to the aiolabs extensions catalog #2

Open
opened 2026-08-31 21:21:30 +00:00 by padreug · 1 comment
Owner

The extension has never been released. main carries ~16 commits and four schema migrations, the repo is untagged, and there is no entry in aiolabs/lnbits-extensions/extensions.json — so no instance can install it from the catalog.

Current state

  • untagged; git tag --list is empty
  • absent from extensions.json (51 entries / 14 ids, none of them payroll)
  • config.json says 0.1.0
  • running on bohm only because the native instance loads extensions straight from the ~/dev/shared/extensions checkout

Procedure

Per the workspace CLAUDE.md "Extension version-bump procedure":

  1. clean tree on main, git log matches the intended release
  2. test locally before tagging — largely done: contract CRUD, backfill, historical pricing, the ledger, retry-and-pause and the payout legs have all been exercised on bohm. The gap is the employee /my/* surface, blocked by #1.
  3. git tag v0.1.0 && git push origin v0.1.0 — plain v0.1.0; the v<upstream>-aio.N scheme is for forks and payroll has no upstream
  4. curl -sL https://git.atitlan.io/aiolabs/payroll/archive/v0.1.0.zip | sha256sum
  5. add a new entry to extensions.json (never overwrite an existing version), with icon → raw/branch/main/static/image/payroll.png
  6. commit + push the catalog — live immediately, no flake.lock bump

Decision needed

Tag now covering everything, or hold until #1 (employee page) and #2 (add a past payout) land? Tagging now means the employee surface ships documented-but-unreachable.

Once it is in the catalog

The .git-wipe hazard becomes live for this repo: ~/dev/shared/extensions/payroll is both the checkout and the install target on bohm, so clicking Upgrade in the LNbits UI extracts the archive over it and destroys .git. Recoverable now that a remote exists, but worth knowing before the first upgrade.

🤖 Generated with Claude Code

https://claude.ai/code/session_018jy52j9GRZ6XKa1Zt21LLj

The extension has never been released. `main` carries ~16 commits and **four** schema migrations, the repo is untagged, and there is no entry in `aiolabs/lnbits-extensions/extensions.json` — so no instance can install it from the catalog. ## Current state - untagged; `git tag --list` is empty - absent from `extensions.json` (51 entries / 14 ids, none of them payroll) - `config.json` says `0.1.0` - running on bohm only because the native instance loads extensions straight from the `~/dev/shared/extensions` checkout ## Procedure Per the workspace `CLAUDE.md` "Extension version-bump procedure": 1. clean tree on `main`, `git log` matches the intended release 2. **test locally before tagging** — largely done: contract CRUD, backfill, historical pricing, the ledger, retry-and-pause and the payout legs have all been exercised on bohm. The gap is the employee `/my/*` surface, blocked by #1. 3. `git tag v0.1.0 && git push origin v0.1.0` — plain `v0.1.0`; the `v<upstream>-aio.N` scheme is for forks and payroll has no upstream 4. `curl -sL https://git.atitlan.io/aiolabs/payroll/archive/v0.1.0.zip | sha256sum` 5. add a **new** entry to `extensions.json` (never overwrite an existing version), with `icon` → `raw/branch/main/static/image/payroll.png` 6. commit + push the catalog — live immediately, no `flake.lock` bump ## Decision needed Tag now covering everything, or hold until #1 (employee page) and #2 (add a past payout) land? Tagging now means the employee surface ships documented-but-unreachable. ## Once it is in the catalog The `.git`-wipe hazard becomes live for this repo: `~/dev/shared/extensions/payroll` is both the checkout and the install target on bohm, so clicking **Upgrade** in the LNbits UI extracts the archive over it and destroys `.git`. Recoverable now that a remote exists, but worth knowing before the first upgrade. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_018jy52j9GRZ6XKa1Zt21LLj
Author
Owner

Correction to the body: "hold until #1 (employee page) and #2 (add a past payout)" should read #3 — this issue took number 2, so the cross-reference points at itself. The blockers to weigh are #1 and #3.

Correction to the body: "hold until #1 (employee page) and **#2** (add a past payout)" should read **#3** — this issue took number 2, so the cross-reference points at itself. The blockers to weigh are **#1** and **#3**.
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
aiolabs/payroll#2
No description provided.