Documentation
¶
Overview ¶
Package doctor checks that the Claude Code plugin and the f10 binary are present, agree with each other and are wired into their environment. Every check reads and none writes, so `f10 doctor` is always safe to run.
Index ¶
Constants ¶
View Source
const ( CheckVersion = "version" CheckScripts = "scripts" CheckHooks = "hooks" CheckStatusline = "statusline" CheckHerdr = "herdr" CheckHost = "host" CheckDriver = "driver" CheckProject = "project" )
Check names, in the order Run reports them.
View Source
const ( StatusOK = "ok" StatusProblem = "problem" StatusNotNeeded = "not_needed" // the check does not apply here; it never fails the run )
The three outcomes of a check.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Env ¶
type Env struct {
ClaudeDir string // CLAUDE_CONFIG_DIR or ~/.claude
Home string // the statusline symlink lives under ~/.claude/f10 whatever ClaudeDir is
Layout *layout.Layout
Probes *probe.Probes
Facts *facts.Effective
Version string // the binary's, as `f10 --version` prints it
Driver *driver.Driver // the project's tracker driver; nil when it has none
NeedsDriver bool // the tracker reads only through a driver, as Notion or Jira does
Getenv func(string) string
LookPath func(string) (string, error)
Run func(ctx context.Context, dir, name string, args ...string) (shell.Result, error)
}
Env is everything the checks read from outside, so a test can hand them a temp directory and fakes instead of the real home and PATH.
type Result ¶
type Result struct {
Name string `json:"name"`
Status string `json:"status"`
Scope []string `json:"scope"` // what a problem affects (commands, or the badge); empty means every command
Detail string `json:"detail"` // the evidence, one line
Remedy string `json:"remedy"` // empty unless the status is problem
}
A Result is one check's answer.
Click to show internal directories.
Click to hide internal directories.