Skip to content

Commit 2fc1045

Browse files
committed
docs: strip stale TUI references from guides and skills
Follows the code strip in the previous commit. Removes documentation that describes a TUI surface the public release doesn't ship: - docs/guides/config-migration.md: drop the "TUI settings" section (config keys nothing reads anymore); renumber remaining sections. - examples/README.md: drop the `tui:` YAML block from the MCP section; keep the MCP explanation focused on the core `nooa[mcp]` extra and the stateless `MCPManager` factory. Rewrote (rather than removed) references to primitives that still exist in core but are no longer TUI-hosted: - skills/nemo-oo-tools-and-skills/SKILL.md: `@slash_command` now points at the InteractiveAgent `slash_commands` queue rather than "the TUI"; MCP config points at `.mcp.json` only. - skills/nemo-oo-self-extending/SKILL.md: same reword for slash commands.
1 parent 822988a commit 2fc1045

4 files changed

Lines changed: 7 additions & 85 deletions

File tree

docs/guides/config-migration.md

Lines changed: 3 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -18,60 +18,7 @@ wins). Here's everything you need to move.
1818

1919
`NAT_CONFIG_DIR` is gone — use `NEMO_OO_USER_DIR` to relocate the user dir.
2020

21-
## 2. TUI settings: `config.toml``settings.yaml`
22-
23-
Project-only TOML becomes layered YAML (`<project>/.nooa/settings.yaml` or
24-
user-global `~/.config/nooa/settings.yaml`). **Hard switch — `config.toml`
25-
is no longer read.**
26-
27-
**Before — `config.toml`**
28-
```toml
29-
[tui]
30-
model = "claude-opus-4-8"
31-
python = false
32-
vi = false
33-
trace = ".nooa/traces"
34-
mcp_auto_connect = ["maas"]
35-
36-
[tui.mcp_servers.maas]
37-
url = "https://your-mcp-server.example.com/mcp"
38-
transport = "streamable-http"
39-
40-
[tui.mcp_servers.maas.headers]
41-
Authorization = "Bearer ${MAAS_API_KEY}"
42-
```
43-
44-
**After — `settings.yaml`**
45-
```yaml
46-
tui:
47-
default_model: claude-opus-4-8
48-
show_python: false
49-
vi_mode: false
50-
trace_dir: .nooa/traces
51-
mcp_auto_connect: [maas]
52-
mcp_servers:
53-
maas:
54-
url: https://your-mcp-server.example.com/mcp
55-
transport: streamable-http
56-
headers:
57-
Authorization: "Bearer ${MAAS_API_KEY}"
58-
```
59-
60-
Key renames (YAML uses the real field names):
61-
62-
| `config.toml` | `settings.yaml` |
63-
|---------------|-----------------|
64-
| `[tui]` table | `tui:` mapping |
65-
| `model` | `default_model` |
66-
| `python` | `show_python` |
67-
| `vi` | `vi_mode` |
68-
| `trace` | `trace_dir` |
69-
| `libs_dirs`, `mcp_auto_connect` | *(unchanged)* |
70-
| `[tui.mcp_servers.<name>]` | `tui.mcp_servers.<name>:` |
71-
72-
(`/config set model …` still works — friendly keys map to the field names.)
73-
74-
## 3. API keys / secrets
21+
## 2. API keys / secrets
7522

7623
| Before | After |
7724
|--------|-------|
@@ -88,14 +35,14 @@ A shell `export` still wins (non-clobber), so existing exports keep working —
8835
`secrets.yaml` just means you no longer *need* one. The installer writes this
8936
file for you.
9037

91-
## 4. LLM aliases: `llm_config.yaml`
38+
## 3. LLM aliases: `llm_config.yaml`
9239

9340
Same filename and format — just move it to the new dir:
9441
`~/.config/nat/oo/llm_config.yaml``~/.config/nooa/llm_config.yaml`
9542
(or `<project>/.nooa/llm_config.yaml`). `nooa config eject` regenerates
9643
a fresh copy in the new location.
9744

98-
## 5. Environment variables → `NEMO_OO_` prefix
45+
## 4. Environment variables → `NEMO_OO_` prefix
9946

10047
| Before | After |
10148
|--------|-------|

examples/README.md

Lines changed: 1 addition & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -476,32 +476,7 @@ uv run python examples/quickstart/10_skills.py
476476

477477
### MCP tools
478478

479-
MCP (Model Context Protocol) tools let your agent call external services through a standard interface. The TUI ships MCP as a hard dependency (`self.mcp` and `/mcp` are always available). In the core library, MCP is an optional extra (`uv add 'nooa[mcp]'`).
480-
481-
**TUI configuration** — declare MCP servers in `.nooa/settings.yaml`:
482-
483-
```yaml
484-
tui:
485-
mcp_auto_connect: ["maas-confluence-stg"]
486-
mcp_servers:
487-
maas-confluence-stg:
488-
url: "https://your-mcp-server.example.com/mcp"
489-
transport: "streamable-http"
490-
headers:
491-
Authorization: "Bearer ${MAAS_API_KEY}"
492-
```
493-
494-
At startup the TUI attaches auto-connected servers to the agent, so `maas-confluence-stg` becomes `self.maas_confluence_stg`. A VS Code / Claude-style `.mcp.json` file is also supported via `mcp_file` or `--mcp-file`.
495-
496-
Inside the TUI, servers are managed through `self.mcp` (an `MCPRegistry` skill that mirrors `self.skills`):
497-
498-
- `self.mcp.discovered()` — configured server names
499-
- `await self.mcp.connect(["name"])` — open a server and attach it as `self.<name>`
500-
- `self.mcp.activate([...])` / `self.mcp.deactivate([...])` — control whether a connected server's tools are listed for the agent
501-
- `<mcp>` context block lists every server each turn under **Active**, **Connected but inactive**, or **Configured**
502-
- Slash commands: `/mcp list`, `/mcp connect <server>`, `/mcp disconnect <server>`
503-
504-
**Library use** — no `self.mcp`; call the stateless `MCPManager` factory directly:
479+
MCP (Model Context Protocol) tools let your agent call external services through a standard interface. Install with `uv add 'nooa[mcp]'` and call the stateless `MCPManager` factory:
505480

506481
```python
507482
from nooa.mcp import MCPManager

skills/nemo-oo-self-extending/SKILL.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ await self.libs.list(); await self.libs.repo_tree() # discovery
6060

6161
## Slash commands (`@slash_command`)
6262

63-
Skills can ship user-typed `/commands` (dispatch: `nooa.slash_dispatch`; TUI surfaces them):
63+
Skills can ship user-typed `/commands` (dispatch: `nooa.slash_dispatch`; hosts driving `InteractiveAgent` surface them via the `slash_commands` queue):
6464

6565
```python
6666
from nooa.skill import Skill, slash_command

skills/nemo-oo-tools-and-skills/SKILL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ class MyAgent(Agent, llm=llm):
7272
- `TextSkill` exposes `read_file(path)` and `await run_script(name, *args)` for files/scripts bundled with the SKILL.md.
7373
- SKILL.md frontmatter: required `name`, `description`; optional `compatibility`, `metadata`, `user-invocable`, `allowed-tools` — Claude-Code-compatible format.
7474
- Bulk discovery/activation is `SkillRegistry(agent)` + `discover_skills_dirs([...])` / `activate([...])`. **`SkillManager` does not exist**`README`/`examples/quickstart/10_skills.py` referencing `SkillManager.install(...)` are stale.
75-
- `@slash_command` on a `Skill` method marks it user-invocable in the TUI.
75+
- `@slash_command` on a `Skill` method marks it user-invocable via a host that reads the agent's `slash_commands` queue (see `InteractiveAgent`).
7676
- Docstring conventions and the full guide: `docs/skills-guide.md`.
7777

7878
## MCP servers
@@ -93,7 +93,7 @@ class ConfluenceAgent(Agent, llm=llm):
9393
...
9494
```
9595

96-
MCP tools appear alongside regular methods — the LLM calls them like any other attribute. Servers are configured in `.mcp.json` (VS Code/Claude Code format); in the TUI they instead live in `.nooa/config.toml` under `[tui.mcp_servers.*]` with `self.mcp` (an `MCPRegistry`) managing connect/activate. Transports: stdio, SSE, streamable-http; OAuth supported (`nooa.mcp.OAuthConfig`).
96+
MCP tools appear alongside regular methods — the LLM calls them like any other attribute. Servers are configured in `.mcp.json` (VS Code/Claude Code format). Transports: stdio, SSE, streamable-http; OAuth supported (`nooa.mcp.OAuthConfig`).
9797

9898
## Multimodal media
9999

0 commit comments

Comments
 (0)