Machine-readable docs
The documentation is published in two forms: the site you are reading, and plain-text files meant for tools. Use the second form when you work with an AI assistant or a coding agent, or when a script needs module and release data.
For AI assistants and coding agents
The site follows the llms.txt convention.
| File | Content | Use it when |
|---|---|---|
/llms.txt | Index of all pages with a one-line description each | The tool should pick the pages it needs |
/llms-full.txt | All pages in one file | The tool can take the whole documentation as context |
<page URL>.md | One page as clean Markdown | You want to hand over a single page |
Every page has a Markdown copy at its own address with .md in place of the trailing slash. The copy of this page is /getting-started/machine-readable-docs.md.
# the page as the browser shows it
https://docs.nuvibit.com/ntc-building-blocks/management/ntc-account-factory/
# the same page as Markdown
https://docs.nuvibit.com/ntc-building-blocks/management/ntc-account-factory.md
The Markdown copies contain what the pages contain: descriptions, usage examples taken from the implementation blueprints, and the input and output reference of each module. Module source code is not part of the documentation and stays behind the NTC subscription.
When you ask an assistant to write an NTC module call, give it the Markdown copy of that module page. The inputs it then uses are the ones of the current release.
For scripts
Two static JSON files are regenerated with every build of the site.
| Endpoint | Content |
|---|---|
/api/modules.json | Every module with name, provider, current version, description, domain tag and documentation link |
/api/releases.json | Every release with version, date, release notes and the module it belongs to |
# current version of every module
curl -s https://docs.nuvibit.com/api/modules.json \
| jq -r '.modules[] | "\(.name) \(.provider) \(.version)"'
# the five most recent releases
curl -s https://docs.nuvibit.com/api/releases.json \
| jq -r '.releases | sort_by(.date) | reverse | .[:5][] | "\(.date[:10]) \(.tag) \(.version)"'
A typical use is a scheduled job that compares the versions pinned in your repositories with modules.json and opens a pull request when a module has moved. Versions, releases and upgrades describes how to judge such an update.