Stack¶
Status: draft
Proposals by Claude – not binding until Daniel approves them.
The core language is the one decision everything else depends on. It is driven by the MVP formats (Formats: text, HTML, Python... (DEC_FORMATS)): Markdown, rST with Sphinx-Needs, and plain text.
Python |
TypeScript / Node |
Rust |
|
|---|---|---|---|
rST + Sphinx-Needs |
docutils / Sphinx – the only complete rST parser |
no complete rST parser |
no complete rST parser |
Markdown |
markdown-it-py (same rules as markdown-it) |
markdown-it |
pulldown-cmark, comrak |
Code formats later |
tree-sitter bindings |
tree-sitter bindings |
tree-sitter (native) |
Same language as VS Code / Chrome extensions |
no – they call |
yes |
no, but WASM possible |
Sphinx extension for review on results |
native |
– |
– |
Install for users |
|
|
single binary |
Speed to 0.1 |
fast |
medium (rST gap) |
slow |
rST with Sphinx-Needs is an MVP format, and only docutils parses rST fully.
The same code then runs inside a Sphinx build to tag the rendered HTML with
selectors – the base for review on results. The TypeScript integrations of
0.2/0.3 talk to the CLI through |
|
Yes → PROP_PYTHON_CORE and PROP_TOOLING become decisions. No → which language, and how should the rST/Sphinx-Needs adapter work? |