What I use to write, edit, and ship developer content.
A working list of the tools that show up in my day-to-day — heavy on AI-native authoring and docs-as-code infrastructure, lighter on the IDE flame wars. I update this when something earns its way in or stops earning it.
AI authoring stack
Claude Code
My default for drafting, refactoring, and reviewing reference content. The agentic loop changes what a single writer can keep in flight at once.
Cursor
For bigger MDX/code-sample work where I want the IDE-native feel. The chat + edit loop tightens iteration on long-form drafts.
MCP servers
The integration glue. I lean on MCP for hooking authoring agents to internal sources of truth (style guides, API specs, content corpora).
GitHub Copilot
Still the best in-editor autocomplete for reference code. Pairs well with the Claude/Cursor outer loop.
Glean
Internal search and retrieval. Critical when authoring against a corpus that spans dozens of teams.
NotebookLM
For first-pass synthesis on long docs sets. Useful for content audits.
Docs-as-code
Sphinx + Python
What I built the Snowflake Python APIs reference pipeline on. Generates reference and release notes from source on every API version release.
Markdown + MDX
Default authoring format for tutorials and conceptual content. MDX for anything that needs embedded components.
OpenAPI / Swagger
For REST API surfaces. The reference content writes itself — the work is in the surrounding guides.
Custom code-sample test framework
In-house at Snowflake. Every in-doc example runs against the current build before it ships.
Editor + workflow
VS Code
Editor of choice when not in Cursor. Heavy use of the terminal, MDX preview, and Copilot.
Git
Docs-as-code means PR review is editorial review. I run editorial passes the same way I review code.
Apple ecosystem
MacBook Pro for writing and shipping. Nothing exotic.