N.I.L.O. Docs

Core API

この文書は src/nilo/core/ の現在の Core capability を記録します。Core は唯一の business logic layer です。CLI と MCP tools は Notion SDK を直接呼ばず、Core を呼び出します。

Configuration

Module: src/nilo/core/config.py

default global file は ~/.notion_mcp/config.json で、NOTION_MCP_CONFIG により別の file を選べます。project configuration は active search boundary より下にある最も近い .notion_mcp/config.json で、home tree 外の workspace に置くこともできます。project settings は global settings より優先されますが、credentials は global-only です。project initialization は必要なら root .gitignore を作成し、既存内容を置き換えずに正確な .notion_mcp/ entry を増分追加します。

Error model

Module: src/nilo/core/errors.py

CLI JSON output と MCP tool responses は、この error structure を再利用します。

Notion SDK client

Module: src/nilo/core/client.py

Authentication

Module: src/nilo/core/auth.py

Audit

Module: src/nilo/core/audit.py

Notion domain services

Directory: src/nilo/core/services/

Current service modules:

これらの services は Core と Notion SDK-compatible client だけに依存します。CLI または MCP layer は import しません。

Module src/nilo/core/services/provider.py は client と domain services の canonical shared composition point です。CLI、MCP、compatibility adapters は独自 factory を持たず、この Core provider を import します。

Shared Runtime API

Directory: src/nilo/runtime/

Runtime は adapters が共有する non-business execution behavior を持ちます。

Runtime は Core contracts に依存できます。Core/Runtime は CLI/MCP adapters を import せず、CLI も MCP を import しません。

Raw API

Module: src/nilo/core/services/raw_api.py