Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 17 additions & 6 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -281,20 +281,31 @@ docker compose up app
src/
nene2/ フレームワークコア
http/ JSON レスポンス・ページネーション・Problem Details
middleware/ ミドルウェアパイプライン
middleware/ ミドルウェアパイプライン(Error / Security / RequestId / Logging / SizeLimit / Throttle)
validation/ ValidationException / ValidationError
config/ 型付き設定オブジェクト(AppSettings)
mcp/ MCP サーバー(未実装)
auth/ TokenVerifierProtocol / BearerTokenMiddleware / ApiKeyAuthMiddleware
database/ SqlAlchemyQueryExecutor / SqlAlchemyTransactionManager
mcp/ LocalMcpServer / HttpxMcpClient
log/ structlog セットアップ
use_case/ UseCaseProtocol / AsyncUseCaseProtocol
example/ リファレンス実装
note/ Note ドメイン (entity / repository / use_case / handler)
tag/ Tag ドメイン(未実装)
note/ Note ドメイン(entity / repository / use_case / handler / sqlalchemy_repository)
tag/ Tag ドメイン(entity / repository / use_case / handler / sqlalchemy_repository)
comment/ Comment ドメイン(Note に紐付く nested ドメイン)
app.py アプリケーションファクトリ
mcp.py MCP サーバー(Note / Tag / Comment 全 15 ツール)

tests/ pytest テスト(src/ を鏡像)
docs/
adr/ 設計決定記録(変更理由を残す)
howto/ How-to ガイド
field-trials/ AI 実装検証記録
how-to/ How-to ガイド
howto/ MCP セットアップガイド
field-trials/ フィールドトライアル記録(FT1〜FT3)
tutorials/ チュートリアル
explanation/ アーキテクチャ解説
reference/ 設定・モジュールリファレンス
ja/ 日本語ドキュメント(上記すべての翻訳)
.github/workflows/ CI(GitHub Actions)
```

Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,9 @@ NENE2 の設計哲学を Python で実装したリファレンスフレームワ
- **mypy strict** — PHP 版 PHPStan level 8 相当の型安全性
- **ruff** — Lint + Format 一体型ツール
- **RFC 9457 Problem Details** — 統一エラーレスポンス
- **MCP 対応予定** — AI エージェントとのネイティブ統合
- **Bearer Token / API Key 認証** — `LocalTokenVerifier` で設定ゼロ
- **MCP 対応** — `LocalMcpServer` で UseCase を AI エージェントに公開
- **SQLAlchemy Core** — ORM なし・生 SQL でシンプルな永続化

## 開発コマンド

Expand Down
8 changes: 4 additions & 4 deletions docs/field-trials/2026-05-field-trial-2.md
Original file line number Diff line number Diff line change
Expand Up @@ -131,10 +131,10 @@ configuration.md に `DB_ADAPTER` 別の `db_url` 生成例を追記すれば解

| ID | 摩擦 | 深刻度 | 種別 | Follow-up Issue |
|-----|-------------------------------------------|--------|--------------------|-----------------|
| F-1 | `dict[str, Any]` → entity キャストパターン不明 | 中 | ドキュメント | TBD |
| F-2 | スキーマ管理(`ensure_schema`)の指針なし | 高 | ドキュメント不足 | TBD |
| F-3 | `write()` 返り値の型・意味が不明確 | 中 | API/ドキュメント | TBD |
| F-5 | `db_url` 生成規則が不透明 | 低 | ドキュメント | TBD |
| F-1 | `dict[str, Any]` → entity キャストパターン不明 | 中 | ドキュメント | #73 |
| F-2 | スキーマ管理(`ensure_schema`)の指針なし | 高 | ドキュメント不足 | #73 |
| F-3 | `write()` 返り値の型・意味が不明確 | 中 | API/ドキュメント | #74 |
| F-5 | `db_url` 生成規則が不透明 | 低 | ドキュメント | #75 |

FT1 で修正した F-4〜F-7(ミドルウェアスタック・`request_validation_error_handler`)は
今回ドキュメント通りに実装でき、**修正が機能していることを確認**。
Expand Down
6 changes: 3 additions & 3 deletions docs/field-trials/2026-05-field-trial-3.md
Original file line number Diff line number Diff line change
Expand Up @@ -118,9 +118,9 @@ Windows 上の Claude Desktop から WSL2 の uv プロジェクトを呼ぶに

| ID | 摩擦 | 深刻度 | 種別 | Follow-up Issue |
|-----|-----------------------------------------------|--------|------------------|-----------------|
| F-1 | `list[str]` の `.env` 書き方が JSON 形式と知らない | 高 | ドキュメント不足 | TBD |
| F-2 | MCP と HTTP API がメモリ共有しないことが不明確 | 中 | 設計説明不足 | TBD |
| F-3 | Claude Desktop WSL2 設定例がない | 中 | ドキュメント不足 | TBD |
| F-1 | `list[str]` の `.env` 書き方が JSON 形式と知らない | 高 | ドキュメント不足 | #81 |
| F-2 | MCP と HTTP API がメモリ共有しないことが不明確 | 中 | 設計説明不足 | #82 |
| F-3 | Claude Desktop WSL2 設定例がない | 中 | ドキュメント不足 | #83 |

FT2 で修正した SQLite 関連ドキュメント(#73〜#75)の効果は確認できた。

Expand Down
6 changes: 5 additions & 1 deletion docs/roadmap.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,8 +127,12 @@ PHP 版追跡・Python 固有の強化:
- [x] MySQL / PostgreSQL repository 実装 (#40)
- [x] 非同期対応: `AsyncUseCaseProtocol` + `nene2.use_case` パッケージ (#42)
- [x] Diátaxis 構造のドキュメント整備(tutorial / howto / explanation / reference)(#43)
- [x] Field Trial 1: InMemory CRUD + git+ インストール検証 (#67)
- [x] Field Trial 2: SQLite 永続化リポジトリ DX 検証 (#72)
- [x] Field Trial 3: Bearer Token 認証 + MCP stdio DX 検証 (#80)
- [ ] Field Trial 4: MCP + SQLite 共有 / ApiKey / CORS 検証
- [ ] PyPI パッケージ公開(FT4 完了後)
- [ ] WebSocket サポート検討
- [ ] PyPI パッケージ公開

---

Expand Down
Loading