The Vets Who Code field manual — a documentation site that takes veterans from their first command in the terminal to shipping production AI.
Live site: https://vets-who-code.github.io/
Built with MkDocs. This site is the source of truth for how we train and how we build on Vets Who Code projects.
Four playbooks, meant to be worked in order:
- Foundations — terminal, VS Code, Git & GitHub, HTML & CSS, JavaScript, Python, advanced Python, the SDLC, and code challenges.
- Next.js — advanced TypeScript, the App Router, testing, deployment, media & analytics, and full-stack AI features.
- FastAPI — FastAPI services, Google Gemini, prompt engineering, RAG, agents, LLMOps, and production deployment.
- AI Engineering — the conceptual climb: building agents that terminate, ground, and prove themselves, from the first model call to spec-driven mastery.
The original SOPs and reference curriculum (command line, Bash, Git, Python, patterns, FastAPI, Streamlit) live alongside them.
The site is MkDocs with the readthedocs theme. Everything it needs ships
with MkDocs itself — the theme, search, and the Markdown extensions — so
there are no extra plugins to install.
# One-time setup (a virtualenv is recommended)
python3 -m venv .venv
source .venv/bin/activate
pip install mkdocs
# Preview with live reload at http://127.0.0.1:8000
mkdocs serve
# Build the static site into ./site — --strict fails on broken links or nav
mkdocs build --strictdocs/ Markdown content, one file per page
css/custom.css Vets Who Code brand design system
assets/ Images, the social preview card, PDFs
overrides/main.html Theme override — Open Graph / social card metadata
mkdocs.yml Site config: navigation, theme, Markdown extensions
Content lives in docs/. Navigation, the site title, and build options are
in mkdocs.yml. The entire look is one stylesheet, docs/css/custom.css.
The live site is published to the gh-pages branch by MkDocs:
mkdocs gh-deployThis builds the site and force-pushes it to gh-pages, which GitHub Pages
serves at https://vets-who-code.github.io/. Deploy from main once your
change is merged — merging a pull request updates the source but does not
publish the site on its own.
Branch off main, make your change, and open a pull request.
- Keep the field-manual voice: plain-spoken, practical, built for people who ship real software.
- Run
mkdocs build --strictbefore opening a PR — it fails on broken links and missing nav entries. - New pages go in
docs/and get an entry in thenav:block ofmkdocs.yml.
Together, we maintain excellence in our code and our conduct. 🇺🇸