Analysis updated 2026-05-18
Write a thesis in Markdown and compile it into a Word document matching Northeastern University's undergraduate formatting rules
Run the built-in content checker to catch issues like short abstracts or too few references before generating the final document
Adjust the YAML config file to adapt the formatting rules to a different school's thesis requirements
| modulus010/thesis-builder | agno-agi/agent-platform-railway | alexantaluo0/acot-vla-wm | |
|---|---|---|---|
| Stars | 22 | 22 | 22 |
| Language | Python | Python | Python |
| Setup difficulty | easy | moderate | hard |
| Complexity | 2/5 | 4/5 | 5/5 |
| Audience | writer | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
PlantUML diagrams need a separate PlantUML command-line install, cover images must be placed manually in the figures folder.
thesis-builder is a Python command-line tool built specifically for undergraduate thesis formatting requirements at the Software College of Northeastern University in China. It lets you write your thesis in plain Markdown and compiles it into a Word document that follows the university's required formatting rules, so you can focus on the writing instead of manually adjusting fonts, spacing, and citation styles page by page. The tool extends Markdown with its own syntax for academic elements: figures, three-line academic tables, code blocks, and PlantUML diagrams that get rendered to images automatically. Chapters, sections, figures, and tables are numbered automatically as you write. Citation markers like [1] or [2-3] are automatically turned into superscript hyperlinks. Special sections such as the abstract, keywords, references, and acknowledgments are recognized from their headings and placed in the correct spot in the final document. Before generating the document, thesis-builder runs a built-in content checker that reports problems such as an abstract that is too short, too few keywords, chapter length ratios that fall outside expected bounds, or a reference list that is too small. This lets you catch structural issues before opening the finished Word file. All formatting details, including fonts, font sizes, and page margins, live in a separate YAML configuration file rather than in the code, so the output can be adapted to different formatting requirements by editing configuration rather than the program itself. The current default configuration is set up for Northeastern University's undergraduate thesis rules specifically, and other schools would need to adjust it. Requirements are Python 3.12 or newer, plus the python-docx and pyyaml packages, PlantUML diagram rendering needs a separate PlantUML installation, and cover images need to be placed in a figures folder manually. The README is explicit that this tool only handles formatting: it does not check the thesis content for accuracy, originality, or academic integrity, does not support LaTeX math rendering, cannot replicate fine manual Word layout like text boxes or multi-column sections, and does not guarantee the output will pass every school's specific formatting review, since requirements vary and the advisor's judgment takes priority. The project is released under the MIT license.
A Python tool that compiles a thesis written in Markdown into a Word document formatted to Northeastern University's undergraduate thesis rules, with auto numbering and a built-in content checker.
Mainly Python. The stack also includes Python, python-docx, PyYAML.
MIT license: free to use, modify, and distribute, including commercially, as long as the copyright notice is kept.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly writer.
This repo across BitVibe Labs
Verify against the repo before relying on details.