Dsteem Milestone - Update Docs on Github pages
Follow-up to yesterday's branch-push announcement: the modernized API documentation is now live on GitHub Pages at https://blazeapps007.github.io/dsteem/ — auto-deployed by a new GitHub Actions workflow on every push to
BlazeDevelopment. Same commit (db9440e) also clarifies the README's public-surface section so consumers can immediately see what's importable in v0.12.0. Short post, focused change.
🌐 Live Now
https://blazeapps007.github.io/dsteem/
That's the typedoc 0.28 output — modern responsive theme, search bar top-right, sidebar listing every class / interface / utility. Direct entries for the things people will look up most:
ClientPrivateKey/PublicKey/SignatureBroadcastAPI— newly importable in v0.12.0RCAPI+Manabar/RCAccount— also newly importablecryptoUtils— the hash/sign helpers
🔗 The Commit
Commit: db9440e
Message: Add GitHub Pages workflow and update docs
Two concrete changes:
1. .github/workflows/pages.yml (new)
A self-contained workflow that:
- Triggers on push to
masterorBlazeDevelopment, on PRs againstmaster(build-only, no deploy), and on manualworkflow_dispatchfrom the Actions tab - Job 1 (
build docs) — checkout, set up Node 22,npm install,npm run build:docs(typedoc 0.28), upload the generateddocs/folder as a Pages artifact - Job 2 (
deploy to GitHub Pages) — callsactions/deploy-pages@v4to publish the artifact to thegithub-pagesenvironment - A
concurrency: pagesgroup withcancel-in-progress: falseso back-to-back pushes queue cleanly instead of racing each other into the deploy slot
It uses the modern Pages-from-Actions pattern (no separate gh-pages branch, no force-pushes, no orphan history). Built docs land on the live site within ~30 seconds of a push.
2. README clarifications + Pages badge
Two things added at the top of README.md:
- CI badge repointed from the upstream
jnordberg/dsteemto the fork's CI onBlazeDevelopment - Docs badge (new) —
linking to the live site
And the "API" section was restructured from one run-on paragraph into clear groups:
- Core: Client, PrivateKey, PublicKey, Signature, cryptoUtils
- Domain types: Asset, Price, Transaction, SignedTransaction, Operation, Types,
all of the *Operation interfaces
- API helpers: Blockchain, DatabaseAPI, BroadcastAPI, RCAPI
- Utility helpers: the utils namespace (including buildWitnessUpdateOp)
Plus an explicit note about the additive-only exports new in v0.12.0:
New in
v0.12.0— additive only (no breaking changes):BroadcastAPI,CreateAccountOptions, and the resource-credit interfaces (RCAccount,RCParams,RCPool,Manabar,Resource,Pool,DynamicParam,PriceCurveParam) are now directly importable from the package root, so TypeScript consumers can writeimport type {Manabar} from 'dsteem'instead of digging the type out of a class signature.
These types existed in v0.11.x (they had to — Client.broadcast is typed as BroadcastAPI), but the index re-export was missing for the underlying classes/interfaces. Now you can import {BroadcastAPI} or import type {Manabar} directly.
✅ Verification
Both the workflow itself and the live site are green:
| Check | Result |
|---|---|
pages.yml workflow on BlazeDevelopment | ✓ both jobs (build docs, deploy to GitHub Pages) green |
https://blazeapps007.github.io/dsteem/ loads | ✓ HTTP 200, typedoc 0.28 theme, dsteem v0.12.0 README rendered as landing page |
Sidebar contains BroadcastAPI, RCAPI, Manabar, RCAccount | ✓ — confirms the additive exports show up in the rendered docs |
| Search box top-right works | ✓ — typedoc 0.28 ships a proper static-index search |
| README badge linking to Pages | ✓ live |
Full API reference: <https://blazeapps007.github.io/dsteem/> | ✓ (was previously the dead upstream jnordberg.github.io link) |
🛠️ How the Deploy Pipeline Works End-to-End
For anyone wanting to copy this pattern for their own TS library:
1. Push to BlazeDevelopment
↓
2. GitHub Actions: pages.yml fires
↓
3. Job "build docs":
- checkout
- setup-node@22
- npm install --legacy-peer-deps
- npm run build:docs ← typedoc 0.28 emits docs/
- upload-pages-artifact@v3 (path: docs)
↓
4. Job "deploy to GitHub Pages":
- needs: build
- environment: github-pages
- deploy-pages@v4 → publishes to the Pages host
↓
5. Site live at https://blazeapps007.github.io/dsteem/
Total wall-clock from push to live: ~45 seconds in my last run. The docs/ folder doesn't need to be committed to git — the workflow rebuilds it fresh every time — though I'm keeping it in the tree for now since it serves as an offline-readable snapshot.
The one manual step required once per repo: Settings → Pages → Source = "GitHub Actions". I learned that one the hard way — the first deploy 404'd because GitHub doesn't auto-create the github-pages environment until you flip that toggle.
📚 The Series So Far
- Day 1 — Phase 0: dsteem Modernization Plan
- Day 2 — Phase 1: CI Plumbing on GitHub Actions
- Day 3 — Phase 2: Retiring tslint, Adopting ESLint 9
- Day 4 — Phase 3: TypeScript 3.1 → 5.6 + Strict Mode
- Day 5 — Phase 4: The @noble Crypto Swap
- Day 6 — Phase 5: tsup, Dual ESM/CJS, and 606 Packages Deleted
- Day 7 — Phase 6: Mocha 11, c8 Coverage, and Playwright Browser Tests
- Day 8 — Phase 7: typedoc 0.13 → 0.28, and What's Left for Release
- Yesterday — Milestone: Code Pushed to BlazeDevelopment Branch
- Today — Update: Docs Live on GitHub Pages (you are here)
- Soon — End-to-end testing report (real mainnet broadcast + drop-in upgrade trial)
- This week — Phase 8: the
v0.12.0release ceremony +npm publish
🔮 What's Next
The next post is the testing report — actually broadcasting a mainnet transaction with the new build, doing a drop-in upgrade of a real v0.11.x app, and reporting on the bundle-size analysis vs. the legacy ship.
After that: Phase 8, the actual npm publish of [email protected], with a migration guide for anyone with "dsteem": "^0.11.x" in their package.json.
🤝 How You Can Help
- 🔍 Visit the docs: https://blazeapps007.github.io/dsteem/ — let me know if anything looks broken or any class/interface is missing
- 🧪 Try the branch:
npm install github:blazeapps007/dsteem#BlazeDevelopmentin one of your existing dsteem apps; surface anything that breaks before release - 🐛 File issues: API regressions vs. v0.11.x are P0; cosmetic doc issues are also welcome
- 💬 Comment: if you want a specific page in the docs explained, ask here
This work was developed with Claude AI assistance. All technical decisions reflect Steem ecosystem needs and the hard requirement of zero breaking changes for existing consumers.
Support Secure Steem Development
If you value proactive engineering, UX polish, and performance optimizations for the STEEM ecosystem, please consider supporting my witness: blaze.apps
🗳️ Vote Here:
Vote for blaze.apps Witness
Disclaimer: This post announces commit db9440e on the BlazeDevelopment branch. The release will be tagged v0.12.0 after Phase 8 ships later this week.