whatisgithub

What is thesis-builder?

modulus010/thesis-builder — explained in plain English

Analysis updated 2026-05-18

22PythonAudience · writerComplexity · 2/5LicenseSetup · easy

In one sentence

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

What do people build with it?

USE CASE 1

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

USE CASE 2

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

USE CASE 3

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

What is it built with?

Pythonpython-docxPyYAMLPlantUML

How does it compare?

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 get it running?

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.

So what is it?

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.

Copy-paste 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

What 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.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.