{
  "markdown": "<p align=\"center\">\n  <img src=\"assets/brand/icon.svg\" width=\"120\" alt=\"thesis-engine mark\">\n  <img alt=\"Thesis Engine — a research feeder that seeds vibe-thesis projects with topics and starter sources\" src=\"https://626labs.dev/assets/brand/plugins/thesis-engine-banner-1500x500.png\" />\n</p>\n\n# Thesis Engine\n\n**A research feeder for vibe-thesis projects — it does the cold-start work, so the drafting can start warm.**\n\n[![stable](https://img.shields.io/github/v/tag/estevanhernandez-stack-ed/Thesis-Engine?label=stable&color=17d4fa)](https://github.com/estevanhernandez-stack-ed/Thesis-Engine/tags)\n\n## What it does\n\nThesis Engine handles the painful part of starting a thesis — finding a live topic and pulling the first wave of sources — and hands you a [vibe-thesis](https://github.com/estevanhernandez-stack-ed/Vibe-Thesis)-shaped run folder ready to drop into [ThesisStudio](https://github.com/estevanhernandez-stack-ed/ThesisStudio).\n\n- **Discover** — scans a field for live, low-competition thesis topics and ranks five candidates.\n- **Gather** — pulls sources across five research axes: prior art, methodology survey, opposing positions, key authors, and primary sources.\n- **Cite** — emits a BibTeX `references.bib` with a Pandoc citation key on every source, each tagged *verify before citing* until you've checked it.\n- **Adapt** *(optional)* — distills a gathered run into a Smart Brevity blog draft for [BlogStudio](https://github.com/estevanhernandez-stack-ed/BlogStudio).\n\nIt produces the **inputs**. The drafting itself stays inside vibe-thesis — that's where the LeadWriter persona, the citation render pipeline, and the three-pillar voice live.\n\n## How it works\n\nThree stages run as one command or piece by piece:\n\n```text\n/thesis-engine:run                       # Stages 1 → 2 (add --blog for Stage 3)\n/thesis-engine:run --domain X --auto     # auto-pick top topic, no confirmation\n/thesis-engine:discover --domain X       # Stage 1 only — a ranked topic table\n/thesis-engine:write \"your own topic\"    # Stage 2 only — gather sources for a topic you bring\n/thesis-engine:blog ./run-folder/        # Stage 3 only — adapt a run into a blog draft\n```\n\n- **Output mirrors the vibe-thesis Template exactly.** A dated `thesis-engine-run-YYYYMMDD/` folder holds `01_PLANNING/proposal.md`, `02_RESEARCH/<axis>/notes.md` for each of the five axes, and `05_CITATIONS/references.bib`. The subdirectory names match, so ingesting is a copy — drop `01_PLANNING/`, `02_RESEARCH/`, and `05_CITATIONS/` into ThesisStudio, append the `.bib` entries to your canonical bibliography, then keep going inside vibe-thesis.\n- **Quality gates run before a run completes.** At least twelve sources across the five axes, a Pandoc key on every source, `[@key]` references in every notes file, a cleanly-parsing `references.bib`, an explicit thesis claim in `proposal.md`, and a Summary section per axis. Fail a gate and the partial run moves to `pending/` with the failed gates surfaced as a checklist.\n- **Non-destructive by design.** It writes to a dated run folder; you (or a future ingest skill) copy subdirs across. It's a feeder, not a citation manager and not a thesis writer.\n\n### Run folder structure\n\nEvery run produces a dated folder mirroring the vibe-thesis Template:\n\n```text\nthesis-engine-run-YYYYMMDD/\n├── README.md                       (run summary + ingest instructions)\n├── topics.md                       (Stage 1 ranking)\n├── 01_PLANNING/\n│   └── proposal.md\n├── 02_RESEARCH/\n│   ├── prior-art/notes.md\n│   ├── methodology-survey/notes.md\n│   ├── opposing-positions/notes.md\n│   ├── key-authors/notes.md\n│   └── primary-sources/notes.md\n├── 05_CITATIONS/\n│   └── references.bib\n└── blog/                           (only if --blog or /thesis-engine:blog)\n    └── 02_DRAFTS/\n        └── YYYY-MM-DD-[slug]/\n            ├── POST.md\n            └── frontmatter.yaml\n```\n\n## Validated on\n\nFed research across the full 626 Labs article catalog.\n\n## Install\n\n**Stable (recommended) — as a Claude Code plugin via the marketplace:**\n\n```text\n/plugin marketplace add estevanhernandez-stack-ed/vibe-plugins\n/plugin install thesis-engine@vibe-plugins\n```\n\n**Canary — track this repo's `main`:**\n\n```text\n/plugin install thesis-engine@estevanhernandez-stack-ed/Thesis-Engine\n```\n\nFor Cowork, drag the bundled `thesis-engine.plugin` archive from a release into the app.\n\n## Pairs with vibe-thesis and ThesisStudio\n\nThesis Engine is the front of a longer pipeline. It seeds the research; vibe-thesis drafts the paper; ThesisStudio and BlogStudio are the workspaces the output lands in.\n\n- **ThesisStudio** receives `01_PLANNING/`, `02_RESEARCH/`, and `05_CITATIONS/`. Strip the *verify before citing* note from `.bib` entries once you've confirmed them.\n- **BlogStudio** receives `blog/02_DRAFTS/<dated-slug>/` when you ran with `--blog`.\n- **vibe-thesis** picks up from there — the LeadWriter persona, the research swarms, and the render pipeline.\n\nEach successful run optionally logs a completion entry to the 626 Labs dashboard. If the MCP is unavailable, the run still completes — you just don't get the activity-log entry.\n\n## Part of the Vibe ecosystem\n\nPart of the **[Vibe Plugins](https://github.com/estevanhernandez-stack-ed/vibe-plugins)** marketplace from [626 Labs](https://626labs.dev) — foundations and process pillars for AI-assisted creation.\n\n```text\n/plugin marketplace add estevanhernandez-stack-ed/vibe-plugins\n```\n\n## Credit\n\nBuilt by Estevan Hernandez — [626 Labs](https://github.com/estevanhernandez-stack-ed).\n\n## License\n\nMIT — *Imagine Something Else.*\n",
  "bytes": 5578,
  "sha": "e8201ebba6c2f550c2ea43449fc83db90c5d48bf00941f6a046b6ff5490fa6f5",
  "repo_slug": "estevanhernandez-stack-ed/thesis-engine",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_estevanhernandez_stack_ed_thesis_engine__1a93d588/readme"
}