Transcript id: abd6762a-65a0-4aaf-a828-ddebcfa334d4
Dates: 2026-08-10 through 2026-08-14
Repo: akashlevy/OpenSTA (fork of parallaxsw/OpenSTA)
Branch: mddocs
PR: parallaxsw/OpenSTA#487
Preview: https://www.akashlevy.com/OpenSTA/
This is an export of the Cursor session that produced the MkDocs / Tcl-help documentation work.
- 2026-08-10 — Migrate the entire
doc/directory to Read the Docs-ready Markdown. - 2026-08-10 — Plan automated conversion from
.fodt. Prefer generating command docs from Tcl, and havehelp <command>show the same text. Also CLI args. Asked whether that was a good idea. - 2026-08-13 — Command descriptions should live in Tcl (
define_cmd_args -help), extracted programmatically. Implement the full pipeline: help DB, rewritehelp, generatecommands.md/command-line.md/variables.md, CMake + CI drift checks. - 2026-08-14 — Implement the attached plan. Do not edit the plan file. Keep
doc/CLA.txtintact (CLA bot). - 2026-08-14 — Create a venv and serve the docs locally.
- 2026-08-14 — Filter expressions
||rendering was wrong. - 2026-08-14 — Backticks around commands, options, and identifiers in help strings so they render as teletype.
- 2026-08-14 —
changelog.mdHTML was messy (ticks, EmacsLocal Variablesfooter). - 2026-08-14 — Undocumented commands must not appear in Markdown/HTML.
- 2026-08-14 — STA API directory list rendered as a cascading definition list.
- 2026-08-14 — Enum option help such as
-path_delayshould be nested lists, not one long line. - 2026-08-14 — Enforce that every option on a documented command has help; fill gaps from code. Exclude undocumented commands.
- 2026-08-14 — Clean up coding guidelines and API changes (teletype, tables, fences).
- 2026-08-14 — Which undocumented commands are worth documenting (not internal / not niche)?
- 2026-08-14 — Document the recommended set, plus optional ones, plus deprecated ones with pointers to replacements.
- 2026-08-14 — Audit remaining docs for discrepancies; then fix all buckets.
- 2026-08-14 — Rename
cmd_help_allowlistto indicate hidden commands. - 2026-08-14 — Branch
mddocs, push toakashlevy/OpenSTA, GitHub Pages preview off this branch, detailed PR with session export. - 2026-08-14 — Make sure all tests are passing for the PR; are they running in CI properly?
- 2026-08-14 — Sync
upstream/masterinto forkmaster, mergemasterintomddocs, document any new commands, push, re-export this session to the same gist, then fix CI in a loop.
Tcl is the source of truth. Markdown under doc/ is a committed artifact. Read the Docs and GitHub Pages only run MkDocs.
define_cmd_args -help/-arg_help → cmd_help / cmd_arg_help
define_var_help → var_help / var_values
define_common_arg_help → shared option text
↓
help command (runtime) + etc/WriteCmdDocs.tcl → doc/commands.md, variables.md, command-line.md
etc/FindMessages.tcl → doc/messages.md
etc/CheckCmdHelp.tcl → CI: every exported command is documented or listed as hidden;
every synopsis option on a documented command has help
help strips Markdown (backticks) for the terminal via md_help_to_text. After Tcl help edits, rebuild sta so POST_BUILD regenerates docs.
Hidden commands (intentionally omitted from commands.md)
report_constant, report_path, set_ideal_net, show_copying, show_splash, show_warranty, write_gate_gnuplot, write_gate_spice.
- Recommended:
get_modes,set_scene,define_property,set_property,unset_clock_groups,report_arrival,report_required,report_slack,report_object_full_names,report_object_names,log_begin,log_end,make_port,set_voltage - Optional / specialist: included with the recommended set
- Deprecated (with pointer to replacement):
define_corners→define_scene,read_power_activities→read_vcd,set_clock_sense→set_sense
Commands already on master before this work that have help and appear in commands.md: set_path_margin, set_max_dynamic_power, set_max_leakage_power.
- Fork remote:
origin=akashlevy/OpenSTA - Upstream remote:
upstream=parallaxsw/OpenSTA - Branch
mddocsat1ca36561(FEATURE commit9d39725f, then merge of upstream delay-calc, thenmessages.mdregen) - Fork
masterfast-forwarded toupstream/master(c3e09203) and pushed 2026-08-14 - Merge of
masterintomddocswas already up to date (those two C++ commits were already merged for the message-line-number CI fix) - No new Tcl commands in the upstream delta (
#486PrimaDelayCalc + constant-disabled-arc slew merge).CheckCmdHelp.tclis clean locally.
Workflow .github/workflows/ci.yml on push and pull_request:
linux-ubuntu: build,git diff --exit-codeon generated md,CheckCmdHelp.tcl,test/regressionlinux-centos: Docker CentOS 7test/regressionmacos: brew build +test/regressiondocs:mkdocs build --strict
PR checks out the merge of mddocs into parallaxsw/OpenSTA master. The first PR ubuntu failure was doc/messages.md line-number drift from those two upstream C++ commits; that is why mddocs merged upstream and regenerated messages before the fork master sync.
- GitHub Pages from
mddocsvia.github/workflows/gh-pages.yml→gh-pagesbranch - https://www.akashlevy.com/OpenSTA/
- https://akashlevy.github.io/OpenSTA/