Source for the product documentation at tapstate.dev/docs.
This repository contains the tapstate documentation site, connector guides, searchable content, and AI-readable documentation endpoints. It is built with Next.js, Fumadocs, MDX, and static export.
- Node.js 20.9 or later
- pnpm 10 or later
pnpm install --frozen-lockfile
pnpm devOpen http://localhost:3000 for the documentation home page or http://localhost:3000/docs for the documentation index.
Use pnpm install without --frozen-lockfile only when intentionally changing dependencies and updating pnpm-lock.yaml.
| Command | Purpose |
|---|---|
pnpm dev |
Start the local development server. |
pnpm lint |
Check the application and documentation source with ESLint. |
pnpm brand:check |
Check public source for retired product names and identifiers. |
pnpm types:check |
Regenerate content and route types, then run TypeScript checks. |
pnpm build |
Create the static production export in out/. |
pnpm preview |
Serve the generated out/ directory locally. |
Run the full local gate before opening a pull request:
git diff --check
pnpm brand:check
pnpm lint
pnpm types:check
pnpm buildcontent/docs/ Documentation source and connector guides
public/images/ Images referenced by published pages
scripts/ Repository validation scripts
app/ Next.js routes and metadata
components/ Shared documentation and MDX components
lib/ Content loading, navigation, and Markdown export
source.config.ts Fumadocs collections and frontmatter schema
netlify.toml Netlify static-export configuration
Generated files under .next/, .source/, and out/ are not source files. Update the MDX or application code and rebuild instead of editing generated output.
Before changing documentation or application code, follow AGENTS.md for terminology, sourcing, review, and verification rules.
- Keep one canonical page body for readers, search, and AI-generated Markdown.
- Put published connector metadata in
lib/connector-directory.tsand keep it aligned with connector frontmatter. - Store images under
public/images/and use stable paths with descriptive alt text. - Preserve technical identifiers, connector IDs, commands, fields, and example values exactly.
The static site publishes the same canonical content in formats designed for agents and retrieval systems:
| Route | Purpose |
|---|---|
/llms.txt |
Compact documentation index. |
/llms-full.txt |
Combined documentation context. |
/llms.mdx/docs/<page>/content.md |
Markdown for an individual page. |
The site is statically exported to out/. The committed netlify.toml runs pnpm build and publishes that directory.
Set TAPSTATE_SITE_URL at build time so canonical links, structured data, the sitemap, and AI-readable routes use the deployed origin. All committed Netlify contexts currently set TAPSTATE_SITE_INDEXABLE=false; keep previews and pre-release deployments non-indexable. Enable indexing for production only after the release is approved.
For another static host, use:
- Install command:
pnpm install --frozen-lockfile - Build command:
pnpm build - Output directory:
out
Documentation in this repository, including this README and files under content/docs/, is licensed under CC BY 4.0. Third-party dependencies and other repository materials remain subject to their respective license terms.