Docsloth
Self-hostStart a preview

docsloth.dev

Quickstart

Six steps from a checkout to a published release and a share link. No account, no licence callback, and no telemetry unless you explicitly turn it on. Every command below is verified in docs/quickstart.md.

Actions

Actions

  • Copy command

    Every command block below has a working Copy button. Commands run on 127.0.0.1 only: no account, no provider spend, and no data leaves the machine.

  • Run sample

    Opens the runnable request sequences the automated suite exercises, each with the version and environment it was last verified in.

  1. 1. Install and start the engine

    The engine runs from source on 127.0.0.1:4310 and serves the studio on 127.0.0.1:4311. It prints the bootstrap token and orgId your first calls need; keep that terminal open.

    pnpm --dir docsloth-core install --frozen-lockfile
    bash scripts/dev.sh
  2. 2. Create a docs project and sign in

    init writes a schema-valid docsloth.config.json. Store the startup values with auth login; credentials are written mode 0600 and the token is never printed back. Until the CLI is published, run it from the checkout with npx --yes "$CLI".

    docsloth init
    docsloth auth login --token "$BOOTSTRAP_TOKEN" --org "$ORG_ID" --api http://127.0.0.1:4310
    # from a checkout today:
    export CLI="$PWD/docsloth-core/packages/cli"
    npx --yes "$CLI" init --dir "$HOME/my-docs"
    npx --yes "$CLI" auth login --token "$BOOTSTRAP_TOKEN" --org "$ORG_ID" \
      --api http://127.0.0.1:4310 --dir "$HOME/my-docs"
  3. 3. Verify and onboard

    verify checks the config shape. onboard creates the software, attaches the config sources, resolves local locators against the docs project and runs the analyze job on the engine.

    npx --yes "$CLI" verify --dir "$DOCS"
    npx --yes "$CLI" onboard --dir "$DOCS"
  4. 4. Generate the program

    generate creates a documentation program and one page per locale, then requests the editor plan. Every step returns JSON; the software id is remembered in .docsloth/state.json.

    npx --yes "$CLI" generate --dir "$DOCS"
  5. 5. Publish and share

    publish swaps the release pointer atomically. --share also mints a read-only /s/<id> link that works without an account (default expiry seven days); add --public to publish the release itself publicly.

    npx --yes "$CLI" publish --dir "$DOCS" --share
    curl -s "http://127.0.0.1:4310/s/<share-id>"
  6. 6. Or self-host with docker compose

    The compose profile brings up PostgreSQL 17, the API, the worker and Keycloak. It needs the three owner values below; the studio at http://127.0.0.1:4311 stays local-dev only. The profile has known gaps on this tree — read the verified status in docs/quickstart.md before deploying.

    export POSTGRES_PASSWORD='<database password>'
    export APP_BASE_URL='https://docs.example.com'
    export KC_ADMIN_PASSWORD='<keycloak admin password>'
    docker compose -f docsloth-core/compose.yaml up -d
Read the API referenceComponent catalogue