docs(project): the server is the standard way in, the skill the supplement

`okf project`'s closing text and the README's first screen now say it in
that order: register `okf mcp --root` once, and it answers from every
project and reaches subagents; the skill beside the bundle is for someone
who would rather register nothing; neither is made again when a bundle is
rebuilt. Two tests hold the order in both places. The README's stale
`<id>-consume` skill path is corrected to `okf-consume-any`.

v1.1 order F, part F3.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-21 10:36:52 +02:00
commit 570496470b
5 changed files with 56 additions and 19 deletions

View file

@ -134,6 +134,33 @@ def test_the_project_summary_says_what_to_do_next_with_the_server(tmp_path: Path
assert "claude mcp add --scope user okf -- okf mcp --root" in summary
def test_the_project_summary_puts_the_server_first_and_the_skill_second(tmp_path: Path) -> None:
"""v1.1 F3: the server is the standard way in, the skill the supplement."""
folder = tmp_path / "Dokumenter"
folder.mkdir()
(folder / "krav.md").write_text(
"## 4 Grunnforhold\n\nGrunnen er morene over berg.\n", encoding="utf-8", newline=""
)
out = tmp_path / "project"
_, _, summary = project.create(folder, out=out)
server = summary.index("claude mcp add --scope user okf -- okf mcp --root")
skill = summary.index(f"start claude in {out}")
assert server < skill
assert "standard" in summary[:server]
assert "supplement" in summary[server:]
assert "Neither has to be made again when a bundle is rebuilt" in summary
def test_the_readme_first_screen_puts_the_server_first_and_the_skill_second() -> None:
readme = (PROJECT_ROOT / "README.md").read_text(encoding="utf-8")
first_screen = readme.split("## Known limitations", 1)[0]
server = first_screen.index("claude mcp add --scope user okf -- okf mcp --root")
skill = first_screen.index("The skill is the supplement")
assert server < skill
assert "standard way in" in first_screen[:server]
assert "Neither has to be made again" in first_screen
def test_a_project_bundle_is_where_a_root_server_finds_it(tmp_path: Path) -> None:
"""`--root <the directory holding projects>` must reach `<project>/.okf/<id>`.

View file

@ -127,7 +127,7 @@ def test_the_summary_names_the_documents_that_landed_whole(folder: Path, tmp_pat
assert "notat.md" in summary
assert "krav.md" not in summary
assert "[sourced-not-sufficient]" in summary
assert f"NEXT: start claude again in {out}" in summary
assert f"start claude in {out}" in summary
def test_a_document_that_is_in_the_bundle_is_not_reported_as_missing(