book: Guide, coming from another language #588

Open
opened 2026-10-29 14:25:44 +00:00 by orion · 4 comments
Collaborator

Slice of the epic #582. Starts after #585 (the concept, the vertical slice and the book gates) is merged.

Scope

Write book/guide/coming-from/, one page per language, replacing docs/guide/coming-from/* and docs/explanation/coming-from-*.md: Go, Kotlin and Swift, Python, Rust, TypeScript and JavaScript, plus an index.

Acceptance criteria

  • Every page has the kind page and is written as book/CONCEPT.md, "How a page is written", says: the first paragraph says what the page covers, headings name ideas, prose first, no history, no internal references, no Related/Next sections
  • Every trb run and trb error block has its output block with the real output; torb docs check book, torb docs index --check book and torb docs site book --check pass in CI
  • The signature features of book/CONCEPT.md that the area touches are shown, not just named
  • The old pages of docs/ this slice replaces are deleted in the same PR, unless a skill is still built from them (then they stay, unpublished, and the PR says which)
  • Each page opens with the three or four things a programmer of that language trips over first, each with a TorbScript example and its output
  • Side-by-side snippets of the other language are plain go, python and so on blocks; only the TorbScript side runs

Chapters

Filed one at a time, each as its own issue when the one before it has landed (just in time). The folder book/guide/coming-from/ and its index come with the first.

  • Go and Python, with the folder and its index - #608 (landed via PR #635)
  • Rust, and TypeScript and JavaScript (replace docs/guide/coming-from/rust.md, typescript-javascript.md, docs/explanation/coming-from-rust.md, coming-from-typescript.md)
  • Kotlin and Swift (replace docs/guide/coming-from/kotlin-swift.md, docs/explanation/coming-from-kotlin.md, coming-from-swift.md; the last slice also deletes the old docs/guide/coming-from/index.md and the links to it)
Slice of the epic #582. Starts after #585 (the concept, the vertical slice and the book gates) is merged. ## Scope Write `book/guide/coming-from/`, one page per language, replacing `docs/guide/coming-from/*` and `docs/explanation/coming-from-*.md`: Go, Kotlin and Swift, Python, Rust, TypeScript and JavaScript, plus an index. ## Acceptance criteria - [ ] Every page has the kind `page` and is written as `book/CONCEPT.md`, "How a page is written", says: the first paragraph says what the page covers, headings name ideas, prose first, no history, no internal references, no Related/Next sections - [ ] Every `trb run` and `trb error` block has its `output` block with the real output; `torb docs check book`, `torb docs index --check book` and `torb docs site book --check` pass in CI - [ ] The signature features of `book/CONCEPT.md` that the area touches are shown, not just named - [ ] The old pages of `docs/` this slice replaces are deleted in the same PR, unless a skill is still built from them (then they stay, unpublished, and the PR says which) - [ ] Each page opens with the three or four things a programmer of that language trips over first, each with a TorbScript example and its output - [ ] Side-by-side snippets of the other language are plain `go`, `python` and so on blocks; only the TorbScript side runs ## Chapters Filed one at a time, each as its own issue when the one before it has landed (just in time). The folder `book/guide/coming-from/` and its index come with the first. - [x] Go and Python, with the folder and its index - #608 (landed via PR #635) - [ ] Rust, and TypeScript and JavaScript (replace `docs/guide/coming-from/rust.md`, `typescript-javascript.md`, `docs/explanation/coming-from-rust.md`, `coming-from-typescript.md`) - [ ] Kotlin and Swift (replace `docs/guide/coming-from/kotlin-swift.md`, `docs/explanation/coming-from-kotlin.md`, `coming-from-swift.md`; the last slice also deletes the old `docs/guide/coming-from/index.md` and the links to it)
Author
Collaborator

[loop:torbscript] intake: in scope (book guide chapter, slice of epic #582 via #587), no duplicate, blocks #1. Next: refine.

[loop:torbscript] intake: in scope (book guide chapter, slice of epic #582 via #587), no duplicate, blocks #1. Next: refine.
Author
Collaborator

[loop:torbscript] claim refine by session:loop-torbscript-20261029-0858 until 2026-10-30T02:50Z

[loop:torbscript] claim refine by session:loop-torbscript-20261029-0858 until 2026-10-30T02:50Z
Author
Collaborator

[loop:torbscript] release refine: split just in time. Five language pages plus an index and the deletion of ten old pages with the skill regeneration are more than one 30-40 minute PR, so the work is three slices: Go and Python with the folder and its index (filed as #608, labels loop and ready), then Rust with TypeScript and JavaScript, then Kotlin and Swift (filed when the one before has landed; the last one also retires the old coming-from index).
Dependencies: #588 depends on #585 (merged), #608 and #607. #608 also depends on #607, because both change the generated list in book/guide/index.md and regenerate the same skills (skills/torbscript), so they would conflict if they ran side by side. #588 itself stays without ready; it is the parent of the slices. Open point for the implementer of #608: book/ has no nested guide folder yet, so the acceptance asks to check that the site generator handles guide/coming-from/ and to fix it in a separate commit if not.
next: waiting (#607), then implement #608.

[loop:torbscript] release refine: split just in time. Five language pages plus an index and the deletion of ten old pages with the skill regeneration are more than one 30-40 minute PR, so the work is three slices: Go and Python with the folder and its index (filed as #608, labels loop and ready), then Rust with TypeScript and JavaScript, then Kotlin and Swift (filed when the one before has landed; the last one also retires the old coming-from index). Dependencies: #588 depends on #585 (merged), #608 and #607. #608 also depends on #607, because both change the generated list in `book/guide/index.md` and regenerate the same skills (`skills/torbscript`), so they would conflict if they ran side by side. #588 itself stays without `ready`; it is the parent of the slices. Open point for the implementer of #608: `book/` has no nested guide folder yet, so the acceptance asks to check that the site generator handles `guide/coming-from/` and to fix it in a separate commit if not. next: waiting (#607), then implement #608.
Author
Collaborator

[loop:torbscript] wait until 2026-10-30T09:00:00Z: #608 landed (PR #635). The next slice (Rust, TypeScript and JavaScript) is filed just in time once forge CI drains: PRs #601, #655 and #663 are queued or red on a congested runner, so another book PR now only lengthens the queue. next: refine the Rust and TypeScript slice when a PR has merged.

[loop:torbscript] wait until 2026-10-30T09:00:00Z: #608 landed (PR #635). The next slice (Rust, TypeScript and JavaScript) is filed just in time once forge CI drains: PRs #601, #655 and #663 are queued or red on a congested runner, so another book PR now only lengthens the queue. next: refine the Rust and TypeScript slice when a PR has merged.
Sign in to join this conversation.
No labels
loop
ready
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.

Reference
torbscript/language#588
No description provided.