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_DIRorSPLENT_APPis unset, or names a folder that does not exist,doctorwarns 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 |