Skip to content

LOU-D4: loushy doctor first-run diagnostic - #54

Merged
LinuxDevil merged 5 commits into
mainfrom
lou-d4-loushy-doctor
Oct 1, 2026
Merged

LinuxDevil merged 5 commits into
mainfrom
lou-d4-loushy-doctor

Conversation

@LinuxDevil

Copy link
Copy Markdown
Owner

LinuxDevil and others added 5 commits October 1, 2026 09:44
Adds `loushy doctor [agent.yaml|json] [--json]`, which checks Node against
engines.node, the required peers (ai, zod) and optional provider peers
against the SDK's peerDependencies, API-key env vars (name and set/not set
only, never the value), and, given a spec, validates it with the existing
loader and checks its provider, built-in tools, MCP server commands, Ollama
reachability and Docker availability. Each non-ok line carries a concrete fix.
Exit code is 1 on any failure, 0 otherwise.

The core is a pure runDoctor(env: DoctorEnvironment) with everything external
injected; doctor.ts is the thin CLI wrapper. The provider->env-var table moved
from resolveProvider.ts to providers/providerEnv.ts (not in the public barrel)
so the doctor reuses it instead of duplicating it.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Resolve conflicts: keep both mcp and doctor commands (bin, tsup, fallow);
take main's resolveProvider.ts; drop providerEnv.ts in favour of
providerSpec.ts (listProviders(), modelFromEnv(caller, env)).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@LinuxDevil
LinuxDevil merged commit da62b50 into main Oct 1, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant