How Are These Docs Maintained?

Hi, I'm Scott, creator of this package.

Up to this point, I've written the content for this documentation website myself. On top of this, there is the documentation used in the various AI integrations. I expand upon my AI boundaries in the page on package security.

This might seem like a lot to manage as one developer, so I thought I'd explain a bit about why the maintenance burden is reasonable for me.

Agent review is still powerful for catching issues, but I do take some other specific measures to prevent drift described below.

The Website

Centralized Code Examples and Data

There are several instances where content is shared, such as the CLI and API quick start examples interpolated in the website and the README. This is done to prevent drift.

The website also dynamically renders constants it pulls from the same metadata used by the real package, like the latest version, supported runtime and package manager versions, env var names, etc.

Even with the help of AI review, DRY still guards against growing code and documentation that can otherwise start to outgrow an agent's or person's reliable context. This is true beyond documentation.

Enforced completeness via metadata

I have instances where I use metadata also consumed by the pacwich package source to require features are documented.

For example, I capture all CLI commands as JSON config with metadata about their usage, so I use TypeScript and runtime checks to enforce every CLI command contributes to componentized documentation, including a requirement for example code that covers every option.

This helps prevent drift as CLI commands are added or features add options. Patterns like this are used elsewhere, such as for documenting accepted environment variables or ensuring configuration properties are documented on each config file's main page.

Static object examples verified by TypeScript

Generally, when static objects are needed for an example, such as for config, a TypeScript file is used to enforce the type of an object used for an example, which is then dynamically rendered simply via JSON.stringify() on an actual page.

/llms.txt for free

The website also serves an experimental llms.txt generated by the rspress framework I use and love to make this.

This feature is simply an opt-in toggle that requires little to no maintenance burden for myself.

The Agent Documents

Some insights into how I handle the documentation tailored to LLMs:

Centralized Markdown

The documentation skills, AGENTS.md file(s), and MCP resources are all sourced from the same centralized set of files split by concerns that match the splits of docs in each of these features.

This means that all agent-friendly documentation shares the same source of truth.

Brief and Technical

This doc website is optimized to be used by people.

However, agent documentation can be more dry and brief, assuming a basic level of trust in software terminology and idioms.

A Good Starting Point

Thanks to the fact that these docs are often simpler to write and shorter, they're the best place for me to start once it's time to document a change.

With this, I can gather the bare bones of how a change should be documented first, which then lowers the effort of translating the fundamental information into the potentially more involved website change.