turbo-editors/turbo-pythonpublic Fork 0
bbfc62fe52548e4712c66104331c9a4de0cff21e
Commits
Clone
git clone https://git.rickub.com/turbo-editors/turbo-python.git
git clone ssh://git@rickub.com/turbo-editors/turbo-python.git

Host key fingerprint (ed25519): SHA256:iycHnxEyq0Q7uyVpB7JlznP0G7JrTPXLYRcAU5CSLhc — verify it before your first connect.

2026-09-03-first-editor.md · 82 lines · 4.4 KBmarkdown Blame HistoryRaw
📦 Turbo Python 6fc62ea k33g 17h ago1# Handoff — 2026-09-03 — Turbo Python, first build
2
3## Where this stopped
4
5The editor is **complete and verified**. Suite green, quality gate PASS, documentation
6complete in both languages, `.memory/` written, the family updated in turbo-core and in the
7other two editors. Nothing is in flight.
8
9## What the next session must know
10
11**Nothing is committed.** The whole tree is untracked on `main` at `efb533c`
12(`Initial commit`). The user commits, tags and releases; do not do it for them. A proposed
13first commit message is at the bottom of this file.
14
15**Four repositories were touched, not one.** If the user commits only `turbo-python`, the
16family updates in `turbo-core`, `turbo-go` and `turbo-rust` stay uncommitted beside it:
17
18| Repository | Changed |
19| --- | --- |
20| `turbo-core` | `README.md`, `docs/{en,fr}/README.md`, `profile/profile.go` (a comment), `docs/{en,fr}/how-to/{release-the-library,test-without-publishing,write-the-starter-files}.md`, `docs/{en,fr}/explanation/architecture.md`, `.memory/summary.md` |
21| `turbo-go` | `docs/{en,fr}/explanation/architecture.md`, plus three claims a pty run showed were stale: the tutorial's menu bar listing, its "→ four times" count, and `reference/menus.md`'s opening sentence |
22| `turbo-rust` | the same three, plus the English `reference/menus.md` saying project menus appear "between **Go** and Help" in an editor whose menu is called Rust |
23
24Each of those three repositories has its own `.memory/` history entry and handoff for what
25was done to it.
26
27None of those is an API change, so **no turbo-core release is needed**. turbo-python pins
28`v0.4.0`, which is published, and needed no library change at all.
29
30## Traps met here, so they are not met again
31
32- **A copied binary is the wrong architecture.** This sandbox is Linux, the user is on
33 macOS, and both see the same files. Everything built here went to `/tmp`, and nothing was
34 left in `bin/`. `make build` recreates it.
35- **Adapting is not substituting.** The documentation came from Turbo Rust's and a
36 mechanical pass left a dozen defects no test could see — a diagram labelled
37 `internal/rustlang`, a tutorial that had the reader type Rust, `crate` in five pages,
38 `golangci-lint` in the *French* explanation whose English twin was correct, and the
39 English menus reference saying "between Go and Help". Grep for the editor you copied from
40 **and read every hit**; then grep for the *language*, in prose, which is where the ones
41 that survive hide.
42- **The diagram is a file nothing imports**, so nothing noticed it was Turbo Rust's.
43 `diagram_test.go` now holds it to `go list`. Adopt that test in the other editors if you
44 ever touch their diagrams.
45- **A tutorial's key counts go stale when the library grows a menu.** "Press → four times to
46 reach Options" was written before the Code menu existed. Re-count them in a pty rather
47 than trusting them.
48- **Two `uv` commands in the copied docs did not exist.** Run the toolchain commands you
49 document; `uv update` has never been a thing.
50
51## If you pick this up next
52
53Nothing is required. Things that would be worth doing, in rough order:
54
551. **Let the user commit and tag `v0.1.0`**, then `03-build-releases.sh` and
56 `04-release.upload-binaries.sh`. None of the four scripts has been run for real from here.
572. **Try pyright or ruff-lsp** against the same profile — the profile takes a command and
58 arguments, so it is a two-line experiment, and it would tell us whether the "seven of
59 nine questions" note is about pylsp or about Python.
603. **Time the scanner on a large file.** It has never been measured.
614. **A `Problems…` entry for the tutorial** was considered and left out; the tutorial
62 mentions the gutter mark instead.
63
64## Proposed first commit message
65
66```
67Turbo Python: a Turbo C-style editor for Python on turbo-core
68
69The command, the profile and a hand-written Python scanner — everything
70else is turbo-core v0.4.0, required from the module proxy with no replace.
71
72Scanner: all six string prefixes, both triple quotes carried across line
73breaks, line continuations, decorators, soft keywords, and PEP 8's two
74name shapes told apart — SCREAMING_SNAKE_CASE is a constant, CapWords a
75type, even when called.
76
77Language server: pylsp, looked for in the active virtualenv, ~/.local/bin,
78pyenv's shims and macOS' per-version script directories as well as PATH.
79
80129 tests, five of them against a real pylsp. Quality gate PASS.
81Documentation in English and French, 33 pages each.
82```