{
  "markdown": "<p align=\"center\"><img src=\"assets/brand/icon.svg\" width=\"120\" alt=\"vibe-thesis mark\"></p>\n\n<p align=\"center\">\n  <img alt=\"Vibe Thesis — start with a strong stance\" src=\"https://626labs.dev/assets/brand/plugins/vibe-thesis-banner-1500x500.png\" />\n</p>\n\n# Vibe Thesis\n\n**Start with a strong stance before you even ask for a line of code. (beta)**\n\n[![stable](https://img.shields.io/github/v/tag/estevanhernandez-stack-ed/Vibe-Thesis?label=stable&color=17d4fa)](https://github.com/estevanhernandez-stack-ed/Vibe-Thesis/tags)\n\n> **Beta — currently being tested by 626 Labs.** Vibe Thesis is functional but evolving — skill names, scaffold defaults, and orchestration prompts may shift before a stable v1.0 based on what we learn from our own use. Use it for real work; expect refinement. Issues and feedback welcome.\n\n## What it does\n\nA Claude Code plugin that scaffolds and co-authors thesis-shaped artifacts — academic dissertations, master's theses, long-form research articles, position essays. Install, say *\"scaffold a vibe thesis project for me,\"* and get a styled PDF skeleton plus a working render pipeline in roughly 30 minutes.\n\nVibe Thesis ships Claude-Code-native orchestration for academic writing:\n\n- **Dual scaffold paths** — offline-bundled templates, or a live `gh` template fork from [ThesisStudio][thesisstudio].\n- **Author-voice synthesis** — an interview that names 2-4 well-known author voices plus 2-4 contemporary field experts in your topic, with a synthesis ratio.\n- **Self-review-tone guard** — an advisory lint over body content that flags inflationary language, self-praise, and over-qualification.\n\n**Standalone-friendly.** Vibe Thesis works on its own with the bundled templates — no other plugins required. It's *better* paired with [Thesis Engine][thesis-engine] (an optional research feeder that gathers topics, primary sources, opposing positions, and methodology across five research axes) and with the [ThesisStudio][thesisstudio] template (richer styling and citation defaults via `gh repo create --template`), but neither is required to start writing. The dual scaffold path means even a fresh machine with no `gh` and no sibling plugins can produce a working PDF in 30 minutes.\n\n[thesisstudio]: https://github.com/estevanhernandez-stack-ed/ThesisStudio\n[thesis-engine]: https://github.com/estevanhernandez-stack-ed/Thesis-Engine\n\n## How it works\n\nOpen Claude Code in a fresh empty directory, say *\"scaffold a vibe thesis project for me on `<your topic>`,\"* and the orchestrator runs the flow:\n\n1. **Pick the scaffold path automatically.**\n   - **Path B (default when `gh` is installed and authenticated):** `gh repo create --template estevanhernandez-stack-ed/ThesisStudio <name>` — your project gets a real GitHub remote at minute zero, plus the always-fresh ThesisStudio template.\n   - **Path A (offline / no `gh`):** the plugin's bundled `templates/full/` is copied into the directory.\n2. **Bootstrap interview** — the project-local `/bootstrap` skill (lifted from ThesisStudio) asks for project title, author, mode (dissertation | article | masters), three pillar names, citation style, and license.\n3. **Voice synthesis** — `/vibe-thesis:voice` names your author voices and writes a `## VOICE SYNTHESIS` block to CLAUDE.md so the LeadWriter persona reads it at drafting time.\n4. **Toolchain install** — dev container (recommended) or native install.\n5. **Round-trip confirmation** — `npm run render:pdf` against the bundled example produces `08_OUTPUT/pdf/example.pdf`, verifying the install.\n6. **Write** — replace the demo content in `01_PLANNING/`, `03_BODY/`, `05_CITATIONS/` with your own. Talk to Claude as you go; it dispatches to the right sub-skill for each phase.\n\n**After install, reload Claude Code's plugin registry** so the new skills are discovered (the orchestrator skill `vibe-thesis` and the slash commands `/vibe-thesis:vibe-render`, `/vibe-thesis:vibe-status`, `/vibe-thesis:voice`, `/vibe-thesis:guard`). Either run `/plugin reload`, or close and reopen the session — newly-installed plugins do not auto-discover until reload.\n\n### Slash commands\n\n| Command | What it does |\n|---------|--------------|\n| `/vibe-thesis:vibe-render [pdf\\|html\\|md\\|all]` | Pre-runs `compile-tokens` + `check-citations`, then renders via Pandoc. |\n| `/vibe-thesis:vibe-status` | One-screen summary: planning docs, body content, claim coverage, citations, last render. |\n| `/vibe-thesis:voice [revise]` | Author-voice synthesis interview. Idempotent. |\n| `/vibe-thesis:guard [strict\\|standard]` | Self-review-tone lint over `03_BODY/*.md`. Advisory. |\n\n### Project-local skills (from the ThesisStudio templates payload)\n\n| Skill | When to invoke |\n|---|---|\n| `/bootstrap` | First-fork customization. Re-runnable to revise. |\n| `/merge-authors` | Braid multi-author drafts. |\n| `/lay-translator` | Generate a layperson-readable version of body content. |\n| `/research-integrate` | Pull research notes into body + bibliography. |\n\n### Tech stack (in scaffolded projects, not the plugin itself)\n\nThe plugin ships templates; the plugin itself has zero npm runtime dependencies.\n\n- [Pandoc](https://pandoc.org/) 3.1.13 (pinned via GitHub release in the dev container)\n- [TeX Live](https://www.tug.org/texlive/) — `xelatex`, `biber`, `latexmk`\n- Node 20+\n- [`ajv`](https://ajv.js.org/) + `ajv-formats` for schema validation\n- [`@retorquere/bibtex-parser`](https://github.com/retorquere/bibtex-parser) for citation lint\n- [`husky`](https://typicode.github.io/husky/) 9 + `lint-staged`\n- Fonts: JetBrains Mono v2.304, Source Serif 4 v4.005, Space Grotesk\n\n### Dev container\n\nThe bundled dev container ships with three hard-won fixes baked in:\n\n1. `install-fonts.sh` — pinned-release font install for the design system.\n2. `.gitattributes` with `* text=auto eol=lf` — prevents Windows-side VS Code from CRLF-corrupting the Unix-style render scripts.\n3. Persistent `~/.claude` volume mount — Claude Code config survives container rebuilds.\n\n### Architecture\n\nSee [`plugins/vibe-thesis/docs/architecture.md`](plugins/vibe-thesis/docs/architecture.md) for the condensed architecture. Key points:\n\n- **Vibe Thesis wraps ThesisStudio**, doesn't fork it. ThesisStudio is the upstream source for the templates payload plus the four content sub-skills.\n- **Sub-skills ship project-local**, not plugin-side. The orchestrator dispatches to project-namespaced skills (e.g., `/bootstrap`) post-scaffold.\n- **Single-source-of-truth design tokens** at `00_DESIGN_SYSTEM/tokens.yaml` drive both LaTeX `xcolor` and CSS variables. The brand layer is overridable per project.\n- **`THESIS_MODE` is shift-emphasis-only** — switching modes never deletes files, just dims directories that aren't load-bearing for the chosen mode.\n- **Marker-based detection** via `<!-- VIBE_THESIS_MARKER: vN.M -->` stanza in CLAUDE.md. Lets the orchestrator branch between scaffold-mode and iterate-mode without prompting on every invocation.\n\n## Validated on\n\nThe [`agentic-architect-vibe`](https://github.com/estevanhernandez-stack-ed/agentic-architect-vibe) article — the toolchain was proven via the completed article itself.\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 vibe-thesis@vibe-plugins\n```\n\n**Canary — track this repo's `main`:**\n\n```text\n/plugin install vibe-thesis@estevanhernandez-stack-ed/Vibe-Thesis\n```\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### Acknowledgments\n\n- [ThesisStudio][thesisstudio] — the upstream template Vibe Thesis wraps.\n- [`agentic-architect-vibe`](https://github.com/estevanhernandez-stack-ed/agentic-architect-vibe) — the demonstration repo where this toolchain matured.\n\n## License\n\n[MIT](LICENSE) — *Imagine Something Else.*",
  "bytes": 8059,
  "sha": "c48175e630a4fb379efd563c195d457a7f3ca663b2f8658700f218be62bc3ea6",
  "repo_slug": "estevanhernandez-stack-ed/vibe-thesis",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_estevanhernandez_stack_ed_vibe_thesis_vi_180fc58c/readme"
}