Context files¶
darkob publishes three machine-readable artifacts. All are generated or verified by CI, so they match the released version.
llms.txt¶
The llms.txt convention is a small Markdown file at the site root that tells a model what the project is and where the detail lives.
Use it when the model needs an overview and the ability to ask for more.
llms-full.txt¶
The entire documentation — every guide, every page, both API surfaces —
concatenated into one Markdown file with SOURCE: markers.
Use it when you want the model to answer anything without follow-up
retrieval. It is large; prefer api/bot.md alone if you only touch bots.
Cost control:
- Bot-only work:
api/bot.md(~40 methods) instead of the full file. - Full app:
llms-full.txtonce at the start of a long session, then keep the conversation going rather than re-pasting.
api.json¶
Structured, generated, and exact:
{
"package": "darkob",
"version": "0.2.1",
"classes": {
"Bot": {
"summary": "…",
"method_count": 42,
"methods": [
{
"name": "send_message",
"signature": "send_message(self, chat_id, text, metadata=None, …)",
"group": "messages",
"module": "darkob.bot.send_message",
"doc": "Send a text message …"
}
]
}
}
}
Use it for tooling: validate that a model-proposed method exists, generate stubs, or drive an agent that must not hallucinate.
import json, urllib.request
api = json.load(urllib.request.urlopen(
"https://manitheferfri.github.io/darkob/api.json"
))
bot_methods = {m["name"]: m for m in api["classes"]["Bot"]["methods"]}
print(len(bot_methods), "real Bot methods")
print(bot_methods["send_message"]["signature"])
Raw Markdown for every page¶
Any page is also served as raw Markdown:
| Page | Raw |
|---|---|
/guides/routers/ |
/guides/routers.md |
/api/bot/ |
/api/bot.md |
/ai/prompt-pack/ |
/ai/prompt-pack.md |
This is the cheapest way to give a model one topic without navigation, headers or footer noise.
Suggested integration¶
Attach llms-full.txt for full-context work, or paste the single
relevant .md page for a focused task.
Add a project rule (see the prompt pack) and keep
api.json in the repo so the model can grep real signatures.
Index llms-full.txt split on SOURCE: markers — each chunk is one
coherent page. Store api.json separately as a structured lookup
tool rather than as prose to embed.
Freshness¶
docs/api/*.md, docs/api.json and docs/llms-full.txt are generated
by scripts/generate_docs_assets.py from the installed package. CI fails
if they are stale, so the published context can never describe methods
that do not exist.