Skip to content

A Contributed Packages section for nine TWINSERV packages, and a draft command and workflow for the package indexer - #228

Merged
KubaO merged 15 commits into
twinbasic:mainfrom
KubaO:contrib-packages
Oct 11, 2026
Merged

KubaO merged 15 commits into
twinbasic:mainfrom
KubaO:contrib-packages

Conversation

@KubaO

@KubaO KubaO commented Oct 11, 2026

Copy link
Copy Markdown
Collaborator

Adds a Contributed Packages section for the community packages published through TWINSERV, the templates that compile its samples, and twin-index draft with a Claude Code workflow that places and writes the pages a new build or package leaves.

  • docs: Reference/Contributed/ (new; 935 to 1066 pages) documents eleven packages against their TWINSERV sources, each at the version its indexed_from names; AutoCompleteLib, BigNumberLib and VBComDlg cover their main class only. Each landing page opens with its author, and three link the GitHub repository of the package or of the library it is made from. Packages links to the section, and the book's Packages part gains a chapter for it and one for each published package.
  • not published: BigNumberLib and WinReg do not compile on BETA 1005 (TB5001), so their 17 pages are kept but excluded in _config.yml. Each landing page says so in a NOTE, and the comment in _config.yml says how to bring one back.
  • KeyCompareMode: the default is vbTextCompare, as the text said and the sample did not. A different mode is refused with error 5 once a keyed item has been added; the page said the keys were rehashed.
  • samples: each section has a contributed-<Package> template in test/example-projects/ that references its package, as a reader's project does. check_examples downloads the package from TWINSERV at the version the reference names, caches it in %TEMP%\tb-twinserv\ and embeds it in every project staged from the template, so no package code is committed. An error inside an embedded package is reported as a note naming it, not as a template FAIL. The section's 162 samples compile and are marked check_build, and Fmt's 55 check_run samples also run.
  • draft (new, indexer/lib/draft-plan.mjs): twin-index draft places each page analyze lists, with its file, parent and permalink, from the section's own layout, because the sections do not share one. Leaving each symbol out of the documented sections and planning it again places 994 of 998 members and 138 of 156 types on the page the section has them on. Its plans and batches of up to twelve pages go to indexer/.packages/draft/. A package with no section gets a landing page like its group's, with the publisher TWINSERV lists as its author.
  • doc-draft workflow (new, indexer/draft/workflow.mjs): takes the manifest and writes the pages with Sonnet agents, one per batch, then for each package one for the landing page and member lists and one that compiles the section's samples and fixes what the compiler refuses. It commits nothing and runs only when the owner asks. WIP.md and WIP.Indexer.md describe it, not the published docs; Build and Generation Tools documents draft.
  • snapshots, notes: 11 api.json snapshots under indexer/snapshots/contributed/, one for the version each section documents. WIP.md, WIP.ExamplesBuild.md and Code Samples and Attributes record where the section lives, what a landing page opens with, the rule that a contributed package is documented against the newest BETA installed, and the template conventions.
  • tests: test/indexer.test.mjs gains 12 tests (94 to 106) for the planner, check_cli pins draft's refusals, and runProbes covers embeddedPackages, splitPackageFaults and the contributed-WinReg template chain. The workflow script is outside Biome, as Wisdom's is.

examples.bat needs a twinBASIC install and, the first time a package version is needed, the network, and draft needs the store sync writes, so both stay outside every gate and CI. The tests, probes and command-line cases need neither and run in test.bat.

KubaO added 15 commits October 11, 2026 19:15
…e sample did not; a different mode is refused with error 5 once a keyed item is in, not rehashed
…checked against their TWINSERV sources, with their snapshots; left out of the book
… section, the package fetched from TWINSERV at its indexed version and embedded; an error inside an embedded package is a note, not a template FAIL
…ld; BigNumberLib and WinReg do not compile on BETA 1005, and WinReg's readers need WinDevLib too
… compile on BETA 1005: their pages are kept, excluded in _config.yml, and left out of the landing list and the book
…ir TWINSERV sources, their 72 samples compiled and 55 run, with their snapshots, sample templates and book chapters
…own layout; indexer/draft/workflow.mjs, the doc-draft workflow moved out of .claude/, writes them from its manifest
…ince Index.html is the folder's index.html on Windows
…GitHub link where a repository holds the package or the library it is made from; no TOC on a landing page of one or two sections
…blisher, which the workflow writes as its Author line
@KubaO
KubaO merged commit 1bbccbb into twinbasic:main Oct 11, 2026
1 check passed
@KubaO
KubaO deleted the contrib-packages branch October 11, 2026 19:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant