doctor

Introduction

doctor runs every diagnostic check of the workspace in one go and sums them up. Run it when something is broken and you do not know where to start. A failed check does not stop the others.

splent doctor

Shortened, each check prints its full output where the … are.

  SPLENT Doctor

  ── Environment ──

  check:env

  [✔] Python 3.13.12
  [✔] WORKING_DIR = /workspace
  [✔] .env file found
  [✔] SPLENT_APP = my_first_app
  …

  check:pyproject
  …

  ── Product ──
  …

  ── Services ──
  …

  ── Credentials ──
  …

  ── Summary ──
  Passed: 11

  All checks passed.

It exits 0 when every check passes and 1 when any fails, with Some checks failed. Review the output above.


Running only the quick checks

splent doctor --fast

--fast skips the checks that need the network or the database, db:status, check:forge and check:pypi. They show (skipped), and the summary adds Skipped: 3.


What it runs

Section Check What it looks at
Environment check:env Python, environment variables, CLI and framework versions
Environment check:pyproject The product’s pyproject.toml, its dependencies and UVL
Environment check:docker The Docker binary, Compose and the daemon
Environment check:infra Ports, services and networks
Product check:product Static links, env vars, symlinks, config overwrites and stale contracts
Product check:features The feature cache, symlinks and install state
Product feature:status The lifecycle state of each feature
Services product:containers The containers of the product and its features
Services db:status The migration state of each feature
Credentials check:forge Forge credentials and API access
Credentials check:pypi PyPI credentials and token format

Each check prints its own output under its name. One that exits with an error, or waits for input nobody gives, counts as failed and shows aborted (no input) in the second case.

When WORKING_DIR or SPLENT_APP is unset, or names a folder that does not exist, doctor warns once at the top. Nearly every check reads its paths from them, so fix those first.


doctor or product:validate

Command Answers
splent doctor Is my environment healthy? Python, Docker, credentials, links
splent product:validate Is my product valid? The UVL selection, contracts, imports and refiners

Run doctor when something is broken, and product:validate before you deploy.


Reference

Option Description
--fast Skip db:status, check:forge and check:pypi

Back to top

splent. Distributed by an LGPL license v3. Contact us: drorganvidez@us.es