Docsloth
Self-hostStart a preview

docsloth.dev

Examples

These are the flows the automated suite exercises, shown as request sequences you can run against a local engine. Each example states the version and environment it was last verified in.

Actions

Actions

  • Run

    Opens the documented local setup. Running needs an engine on 127.0.0.1:4310 and the bootstrap token printed by bash scripts/dev.sh — no account, no cloud cost.

  • Fork

    Copies the request sequence next to each example into your own project; the requests are data you edit, not a hosted service.

  • Apply to repo

    docsloth onboard attaches a schema-valid docsloth.config.json to your repositories; it asks for scoped source permission and nothing else.

Analyse a multi-repository software

Four repositories (api, sdk, web, infra) become one release vector. The example below is the same fixture the end-to-end suite uses.

Last verified: engine 1.0.0 · local PostgreSQL 17 · 2026-09-24

POST /v1/software            {"name": "acme-ledger"}
POST /v1/software/$ID/sources {"provider": "git", "locator": "https://github.com/acme/api.git", "ref": "main"}
POST /v1/software/$ID/jobs   {"kind": "analyze"}   →  job.status = completed
GET  /v1/software/$ID/graph  →  nodes + edges with evidence
Apply to a repo →

A breaking change updates every representation

When a parameter is renamed, the affected reference entries, examples and agent metadata change together; the old release keeps serving the old semantics.

Last verified: engine 1.0.0 · local PostgreSQL 17 · 2026-09-24

git commit -m "rename user to username"
POST /v1/software/$ID/jobs    {"kind": "analyze"}   →  impact: 3 pages
POST /v1/software/$ID/publish →  rel_... served atomically
GET  /v1/published/$OLD/pages/$PAGE →  still the previous semantics
Apply to a repo →

Protected writing needs approval

A change touching company/* or legal/* pauses at awaiting_approval; rejecting it blocks the job instead of publishing.

Last verified: engine 1.0.0 · local PostgreSQL 17 · 2026-09-24

POST /v1/software/$ID/jobs        →  status: awaiting_approval
GET  /v1/approvals                →  pending item with the protected paths
POST /v1/approvals/$ID/decision   {"decision": "approved"|"rejected"}
Apply to a repo →

Export everything and move

An export is a digest-verified archive that refuses credential fields; re-importing it into a fresh instance restores the workspace.

Last verified: engine 1.0.0 · local PostgreSQL 17 · 2026-09-24

POST /v1/exports        →  { id }
GET  /v1/exports/$ID    →  archive with per-section digests
POST /v1/imports        →  additive, conflict-skipping import
Apply to a repo →