gitwtfhub

wtf is thesis-builder?

modulus010/thesis-builder — explained in plain English

Analysis updated 2026-05-18

22PythonAudience · writerComplexity · 2/5LicenseSetup · easy

TL;DR

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.

Mindmap

mindmap
  root((repo))
    What it does
      Markdown to Word
      Auto numbering
      Content checker
    Tech stack
      Python
      python-docx
      PlantUML
    Use cases
      Write thesis in Markdown
      Check formatting issues
      Adapt to other schools
    Audience
      Students
      Thesis writers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Write a thesis in Markdown and compile it into a Word document matching Northeastern University's undergraduate formatting rules

REASON 2

Run the built-in content checker to catch issues like short abstracts or too few references before generating the final document

REASON 3

Adjust the YAML config file to adapt the formatting rules to a different school's thesis requirements

What's in the stack?

Pythonpython-docxPyYAMLPlantUML

How it stacks up

modulus010/thesis-builderagno-agi/agent-platform-railwayalexantaluo0/acot-vla-wm
Stars222222
LanguagePythonPythonPython
Setup difficultyeasymoderatehard
Complexity2/54/55/5
Audiencewriterdeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 30min

PlantUML diagrams need a separate PlantUML command-line install, cover images must be placed manually in the figures folder.

MIT license: free to use, modify, and distribute, including commercially, as long as the copyright notice is kept.

Wtf does this do

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.

Yoink these prompts

Prompt 1
Install python-docx and pyyaml, then run main.py on my-thesis.md to compile it into a properly formatted Word document.
Prompt 2
Run this tool's --check-only mode on my thesis Markdown file and explain each formatting issue it reports.
Prompt 3
Help me write a @table{} block and a @figure{} block in this project's Markdown DSL for a results section with a chart.
Prompt 4
Edit config/format.yaml in this repo so the thesis formatting matches my own university's margin and font requirements instead of Northeastern University's.

Frequently asked questions

wtf is thesis-builder?

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.

What language is thesis-builder written in?

Mainly Python. The stack also includes Python, python-docx, PyYAML.

What license does thesis-builder use?

MIT license: free to use, modify, and distribute, including commercially, as long as the copyright notice is kept.

How hard is thesis-builder to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is thesis-builder for?

Mainly writer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.