get_environment_status
Aggregate project dependencies, build system, compile database, index, and LLM backend status in one read-only call to assess setup readiness at session start.
Instructions
Return the complete project environment status in one call.
Read-only. Aggregates five domains into a single call so the LLM can see everything at session start without extra round-trips:
deps— dependency audit (run_full_check), each entry with an optionalaction(message+ shellcommand).status="skipped"means a prerequisite is missing (e.g.libclang-soskipped becauselibclang-pythonis absent) — not a failure.build_system— detected build system,Nonewhen unknown.compile_db— whether compile_commands.json exists and its entry count. Reported as{"exists": false, ...}before init (no config to resolve the path from, and loading one would create empty config files).index— the FULLget_active_build()result, unchanged (its action lives inindex_message).llm— LLM backend status with an optionalaction.
When the project is not initialized (index.status == "not_initialized"),
only the config-independent dependency subset runs (checks that do not need
a project config) — Ollama/model/db/build checks are skipped.
Args: project_root: Project root directory. Auto-detected from CWD if omitted. project: Project name or project_id — call list_projects to get them. Use it to ask about a project that is not the project of the current directory. It is an alternative to project_root, which takes a root path. Give one of the two, not both.
Returns:
dict: {init_status (str — "initialized" or "not_initialized"),
deps (list[dict] — name, status, message, and an optional action),
build_system (str or None),
compile_db (dict — {exists (bool), path (str or None),
entry_count (int or None — None before init, and when fw-context
cannot read the file)}),
index (dict — the full get_active_build result),
llm (dict — {enabled, ollama_running, chat_model, embed_model}, plus
ollama_enabled when the LLM check ran, plus an optional
action)}.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project | No | Project name or project_id — call list_projects to get them. Use it to ask about a project that is not the project of the current directory. It is an alternative to project_root, which takes a root path. Give one of the two, not both. | |
| project_root | No | Project root. Auto-detected if omitted. Pass explicitly when the project is not the server cwd. This field also accepts a project name or a project_id, but project is the clear field for those. |