docs: ツールカタログ+プロジェクト別セットアップガイドを追加 - #482
Conversation
各リポジトリで使用するツールの全体像を可視化するため、 4レイヤー構造の整理とリポジトリ横断マトリクスを作成した。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughAdds multiple new documentation files: a comprehensive tool catalog and several project-specific setup guides (desktop, mobile-android, mobile-flutter, npm-cli, SPA React/Vite, Next.js), plus updates to .claude setup commands. All changes are documentation-only; no executable code or API surface changes. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🔍 AI Code Review (Local Hook)Models: Codex (default) / Gemini (default) 🤖 Codex Review指摘事項はありません。ドキュメント追加のみで、正確性・性能・セキュリティ・保守性・開発者体験に影響する明確な問題は見当たりませんでした。 判定: patch is correct(内容は追加ドキュメントであり、変更による不具合リスクが見当たらないため) 🤖 Generated by post_pr_ai_review.py hook |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 0a60f6d8ca
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| | パッケージ | バージョン | 用途 | | ||
| | ------------------------------- | ---------- | ---------------- | | ||
| | mcp-remote | 0.1.38 | MCP リモート接続 | | ||
| | `@leonardsellem/n8n-mcp-server` | 0.1.8 | n8n MCP サーバー | | ||
| | `@mseep/linear-mcp` | 78.0.1 | Linear MCP 連携 | |
There was a problem hiding this comment.
Align listed base-image MCP tools with actual installs
This table says these MCP CLIs are included in config-base, but .devcontainer/Dockerfile only installs a limited npm global set (eslint, typescript, typescript-language-server, @openai/codex, vercel, @google/gemini-cli, happy-coder) and does not install mcp-remote, @leonardsellem/n8n-mcp-server, or @mseep/linear-mcp; users who rely on this catalog to choose a base image will hit command not found at runtime.
Useful? React with 👍 / 👎.
PR レビュー: docs/tool-catalog.md全体評価ツール構成の可視化という目的に対して、適切な構造・粒度でまとめられています。ドキュメントとして価値があり、全体的に良質な内容です。 良い点
指摘事項中程度バージョン情報の陳腐化リスク(6.1 との矛盾含む) セクション 2.x の各ツールバージョン(例: ドキュメントが更新されないまま実態と乖離するリスクが高く、メンテナンスコストが増大します。
軽微セクション 2.6 の
マトリクス(4.1)の列幅が広すぎる 7列 × 多行のマトリクスは GitHub のマークダウンレンダリングで横スクロールが発生し読みにくくなります。
セクション 4.1 の テスト・リンター・フォーマッター・Git hooks・CI/CD がすべて テストプランについてPRの Test plan に「各リポジトリの情報が実態と一致していること」とありますが、これは手動確認が必要な項目です。 まとめドキュメントとして有用で、CLAUDE.md の "Definition of Done" における「ドキュメント更新」の要件を満たしています。上記の指摘事項(特にバージョン情報の扱い)を解消すれば、長期的なメンテナンス性が向上します。 🤖 Reviewed by Claude Code |
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (2)
docs/tool-catalog.md (2)
7-16: Specify language for fenced code block.The fenced code block should specify a language identifier to comply with markdown linting standards. Since this is ASCII art representing a conceptual hierarchy, consider using
textorplaintext.📝 Proposed fix
-``` +```text Layer 4: macOS ローカル (Brewfile) ├─ GUI アプリ、OS レベルの CLI、VS Code 拡張As per coding guidelines, this addresses the markdownlint-cli2 MD040 warning.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/tool-catalog.md` around lines 7 - 16, The fenced code block in docs/tool-catalog.md is missing a language identifier; update the opening fence from ``` to ```text (or ```plaintext) so the ASCII-art hierarchy block (the lines starting "Layer 4: macOS ローカル..." through "Node.js, Rust, Python, AI CLI, Language Servers") specifies a language and satisfies markdownlint MD040.
115-128: Consider long-term maintainability of the repository matrix.The 8-column matrix is comprehensive but may become difficult to maintain as the number of repositories grows. Consider whether splitting this into multiple smaller tables (e.g., by category: "Development Tools", "Testing & Quality", "CI/CD") or using a different format might improve maintainability.
That said, the current format provides excellent visibility into version drift and tooling gaps across repositories, which directly supports the improvement proposals in section 6.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/tool-catalog.md` around lines 115 - 128, The repository matrix in docs/tool-catalog.md (the multi-column table showing columns like "config", "ohana (ohana-ops)", "notion_orm", with rows such as "ベースイメージ ver", "言語", and "追加 Features") is becoming hard to maintain; split this single 8-column table into multiple smaller, focused tables (e.g., "Development Tools", "Testing & Quality", "CI/CD") or a categorized list so each new repo only needs updates in one place; update references in section 6 to point to the new tables and keep the original column names (config, ohana (ohana-ops), notion_orm, ai_topic_decomposer, etc.) as headers in the appropriate smaller tables to preserve visibility of version drift and tooling gaps.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/tool-catalog.md`:
- Line 228: The docs mention a non-existent `/setup-husky` command; either mark
`/setup-husky` as a proposed/placeholder command in docs/tool-catalog.md, add
explicit manual setup steps (copying or linking the instructions from
git/README.md) under the same bullet, or implement the actual CLI command named
`/setup-husky` in your tooling so the reference is accurate; update the line
with `/setup-husky` accordingly and ensure the doc points to the implemented CLI
entry (or to the detailed manual steps) so readers can follow a working setup
path.
- Around line 87-110: Update the documentation to correct the DevContainer
configuration paths: replace any references to
config/.devcontainer/devcontainer.json with .devcontainer/devcontainer.json
(repository root) and replace config/.devcontainer/codespaces/devcontainer.json
(or similar) with .devcontainer/codespaces/devcontainer.json; keep the feature
list and details (e.g., kubectl 1.28, docker-in-docker with moby + compose v2,
and the additional sshd Feature for Codespaces) unchanged while updating the
path strings and the explanatory sentence that mentions Codespaces.
---
Nitpick comments:
In `@docs/tool-catalog.md`:
- Around line 7-16: The fenced code block in docs/tool-catalog.md is missing a
language identifier; update the opening fence from ``` to ```text (or
```plaintext) so the ASCII-art hierarchy block (the lines starting "Layer 4:
macOS ローカル..." through "Node.js, Rust, Python, AI CLI, Language Servers")
specifies a language and satisfies markdownlint MD040.
- Around line 115-128: The repository matrix in docs/tool-catalog.md (the
multi-column table showing columns like "config", "ohana (ohana-ops)",
"notion_orm", with rows such as "ベースイメージ ver", "言語", and "追加 Features") is
becoming hard to maintain; split this single 8-column table into multiple
smaller, focused tables (e.g., "Development Tools", "Testing & Quality",
"CI/CD") or a categorized list so each new repo only needs updates in one place;
update references in section 6 to point to the new tables and keep the original
column names (config, ohana (ohana-ops), notion_orm, ai_topic_decomposer, etc.)
as headers in the appropriate smaller tables to preserve visibility of version
drift and tooling gaps.
| ## 3. DevContainer Features(config ベースで提供) | ||
|
|
||
| `config/.devcontainer/devcontainer.json` に定義されている Features: | ||
|
|
||
| | Feature | 用途 | | ||
| | -------------------------------------- | ----------------------------- | | ||
| | `homebrew-package` | Homebrew パッケージマネージャ | | ||
| | `jq-likes` (jq/yq) | JSON/YAML 処理 | | ||
| | `node` (+ pnpm latest) | Node.js(追加バージョン) | | ||
| | `1password` | シークレット管理 | | ||
| | `github-cli` | GitHub CLI (`gh`) | | ||
| | `git` | Git(最新版) | | ||
| | `terraform` | IaC | | ||
| | `google-cloud-cli` | GCP CLI | | ||
| | `aws-cli` | AWS CLI | | ||
| | `kubectl-helm-minikube` (kubectl 1.28) | Kubernetes 操作 | | ||
| | `act` | GitHub Actions ローカル実行 | | ||
| | `deno` | Deno ランタイム | | ||
| | `docker-in-docker` (moby + compose v2) | Docker-in-Docker | | ||
| | `playwright` | ブラウザ自動テスト | | ||
| | `supabase-cli` | Supabase CLI | | ||
|
|
||
| > **Codespaces 用** (`codespaces/devcontainer.json`) は上記 + `sshd` Feature を追加。 | ||
|
|
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Verify DevContainer features in actual config files
echo "=== File structure check ==="
ls -la config/.devcontainer/ 2>/dev/null || echo "Directory not found"
ls -la config/codespaces/ 2>/dev/null || echo "Directory not found"
echo ""
echo "=== Base devcontainer.json content ==="
if [ -f config/.devcontainer/devcontainer.json ]; then
cat config/.devcontainer/devcontainer.json
fi
echo ""
echo "=== Codespaces devcontainer.json content ==="
if [ -f config/codespaces/devcontainer.json ]; then
cat config/codespaces/devcontainer.json
fiRepository: keito4/config
Length of output: 211
🏁 Script executed:
#!/bin/bash
# Search for devcontainer files
echo "=== Find all devcontainer.json files ==="
fd -name "devcontainer.json" -type f
echo ""
echo "=== Find .devcontainer directories ==="
fd -type d -name ".devcontainer"
echo ""
echo "=== Check repository root structure ==="
ls -la | head -20
echo ""
echo "=== Check if config directory exists ==="
ls -la config/ 2>/dev/null | head -20 || echo "config directory not found"Repository: keito4/config
Length of output: 1841
🏁 Script executed:
#!/bin/bash
# Inspect actual devcontainer structure
echo "=== .devcontainer directory contents ==="
ls -la .devcontainer/
echo ""
echo "=== devcontainer.json content ==="
if [ -f .devcontainer/devcontainer.json ]; then
cat .devcontainer/devcontainer.json
fiRepository: keito4/config
Length of output: 3060
🏁 Script executed:
#!/bin/bash
# Check Codespaces devcontainer.json for sshd feature
echo "=== Codespaces directory contents ==="
ls -la .devcontainer/codespaces/
echo ""
echo "=== Codespaces devcontainer.json content ==="
if [ -f .devcontainer/codespaces/devcontainer.json ]; then
cat .devcontainer/codespaces/devcontainer.json
fiRepository: keito4/config
Length of output: 2723
Correct the DevContainer configuration file paths in the documentation.
The feature list is accurate, but the file paths are incorrect. The actual configurations are located at .devcontainer/devcontainer.json and .devcontainer/codespaces/devcontainer.json (at the repository root), not under config/ as the documentation states.
All listed features match the actual configuration, including the kubectl 1.28 version and docker-in-docker with moby + compose v2 specifications. The sshd feature addition for Codespaces is also correctly reflected in the actual configuration.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/tool-catalog.md` around lines 87 - 110, Update the documentation to
correct the DevContainer configuration paths: replace any references to
config/.devcontainer/devcontainer.json with .devcontainer/devcontainer.json
(repository root) and replace config/.devcontainer/codespaces/devcontainer.json
(or similar) with .devcontainer/codespaces/devcontainer.json; keep the feature
list and details (e.g., kubectl 1.28, docker-in-docker with moby + compose v2,
and the additional sshd Feature for Codespaces) unchanged while updating the
path strings and the explanatory sentence that mentions Codespaces.
| config, ohana, notion_orm は husky + commitlint を使用しているが、 | ||
| calendar_alerm, intent-gate-android, ai_topic_decomposer では Git hooks が未設定。 | ||
|
|
||
| > **推奨**: `/setup-husky` コマンドで Conventional Commits を全リポに展開。 |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Check if setup-husky command exists
echo "=== Searching for setup-husky references ==="
rg -i "setup-husky" --type sh --type js --type json
echo ""
echo "=== Checking for husky setup scripts ==="
fd -t f -e sh -e js "husky" --exec echo {} \; --exec head -20 {}Repository: keito4/config
Length of output: 143
🏁 Script executed:
#!/bin/bash
# Check the file structure and context around line 228
echo "=== Content around line 228 in docs/tool-catalog.md ==="
sed -n '220,240p' docs/tool-catalog.md
echo ""
echo "=== Search for all setup commands in documentation ==="
rg -i "setup-" docs/ -A 2 -B 2
echo ""
echo "=== Search for husky references anywhere in the repo ==="
rg -i "husky"
echo ""
echo "=== List scripts directory if it exists ==="
fd -t f "script" --type f | head -20Repository: keito4/config
Length of output: 4497
Clarify or implement the /setup-husky command.
The recommendation to use /setup-husky references a command that does not exist in the codebase. Either document that this is a proposed command to be created, provide the manual setup steps (like those in git/README.md), or implement the command as part of standardizing Husky setup across repositories.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/tool-catalog.md` at line 228, The docs mention a non-existent
`/setup-husky` command; either mark `/setup-husky` as a proposed/placeholder
command in docs/tool-catalog.md, add explicit manual setup steps (copying or
linking the instructions from git/README.md) under the same bullet, or implement
the actual CLI command named `/setup-husky` in your tooling so the reference is
accurate; update the line with `/setup-husky` accordingly and ensure the doc
points to the implemented CLI entry (or to the detailed manual steps) so readers
can follow a working setup path.
具体的なリポジトリ名(ohana, notion_orm 等)を 「Web アプリ (Next.js)」「npm ライブラリ (CLI)」のような 用途ベースの汎用表記に統一した。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PR レビュー: docs/tool-catalog.md総評ツール構成の可視化という目的は明確で、4レイヤー構造の整理は開発者にとって有益なドキュメントです。以下に気になる点を記載します。 指摘事項1. バージョン情報の陳腐化リスク(重要)ドキュメント内に多数の具体的バージョンが固定値として記載されています。 | Claude Code | native installer (2.1.42) | AI コーディング支援 |
| npm | 11.10.0 (global.json) | パッケージマネージャ |問題: バージョンが更新されるたびにこのファイルも手動更新が必要になりますが、その運用ルールが明示されていません。 提案:
2. コミットタイプの整合性PR タイトルが
今回は 3. 既存ドキュメントとの関係性が不明確PR説明に「 提案: ファイル冒頭に他ドキュメントへの参照を追加する。例: > 関連ドキュメント: [ベースイメージの使い方](./using-config-base-image.md)4. マトリクス内のリポジトリ名が匿名化されている| Web アプリ (Next.js) | npm ライブラリ (CLI) | SPA (React + Vite) | ...実際のリポジトリ名が記載されていないため、読者が「自分のリポジトリはどれか」を判断しにくい状況です。 提案: プライバシー上の理由がなければ実リポジトリ名(またはリンク)を記載するか、匿名化している理由をコメントとして追加する。 5. 所見 6.1 の推奨コマンドの表記> **推奨**: `/config-base-sync-update` コマンドで一括更新スラッシュコマンドはClaude Code専用の表記ですが、このドキュメントが開発者一般向けであれば、Claude Code以外のユーザーには意味が伝わりません。 提案: コマンドの実体(スクリプトパスやワークフロー名)も併記する。 良い点
判定ドキュメントとしての価値は高く、マージ自体は問題ありません。ただし バージョン陳腐化への対策(注記追加または自動更新の仕組み)を何らかの形で盛り込むことを推奨します。最低限、 🤖 Reviewed with Claude Code |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
docs/tool-catalog.md (1)
7-16: Add language identifier to fenced code block.The fenced code block lacks a language identifier. While this is illustrative ASCII art, adding
textas the identifier improves markdown compliance and rendering consistency.📝 Proposed fix
-``` +```text Layer 4: macOS ローカル (Brewfile) ├─ GUI アプリ、OS レベルの CLI、VS Code 拡張As per static analysis hint: fenced code blocks should have a language specified (MD040).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@docs/tool-catalog.md` around lines 7 - 16, The fenced code block showing the Layer 4..Layer 1 ASCII diagram is missing a language identifier; update that opening triple-backtick to include "text" (i.e., replace ``` with ```text) so the block is MD040-compliant and renders consistently. Locate the ASCII block (the multi-line block beginning with "Layer 4: macOS ローカル (Brewfile)" and ending with "AI CLI, Language Servers") and change only the fence marker to add the language identifier.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Duplicate comments:
In `@docs/tool-catalog.md`:
- Line 228: The docs mention a non-existent CLI command "/setup-husky"; either
implement that command or remove/clarify the doc. To implement, add a CLI
handler named setupHuskyCommand (or registerSetupHuskyCommand) that performs
installing/configuring husky and Conventional Commits across repos and wire it
into your command router/dispatcher so "/setup-husky" is recognized; if you
prefer removing, update the docs to delete or replace the "/setup-husky"
reference and point to the actual setup flow (e.g., existing setup scripts or
README steps) so the documentation no longer references a missing command.
- Line 89: Replace the incorrect path string
`config/.devcontainer/devcontainer.json` in the docs/tool-catalog.md entry that
lists Features with the correct repository-root path
`.devcontainer/devcontainer.json`; update the text so the documentation
references the correct DevContainer config location and run a quick grep or
preview to confirm the displayed path now matches the actual file at the repo
root.
- Line 20: Update the table entry that currently shows the Dockerfile path as
`config/.devcontainer/Dockerfile` to the actual repository path
`.devcontainer/Dockerfile`; locate the table row containing the string "L1:
ベースイメージ | `config/.devcontainer/Dockerfile`" in docs/tool-catalog.md and replace
the path portion so the cell reads `.devcontainer/Dockerfile` to match the real
file location.
---
Nitpick comments:
In `@docs/tool-catalog.md`:
- Around line 7-16: The fenced code block showing the Layer 4..Layer 1 ASCII
diagram is missing a language identifier; update that opening triple-backtick to
include "text" (i.e., replace ``` with ```text) so the block is MD040-compliant
and renders consistently. Locate the ASCII block (the multi-line block beginning
with "Layer 4: macOS ローカル (Brewfile)" and ending with "AI CLI, Language
Servers") and change only the fence marker to add the language identifier.
各リポジトリの実態調査に基づき、品質ゲート整備状況と セットアップ手順を docs/setup/ 配下に 7 ファイルで作成。 - README.md: 品質ゲート達成状況マトリクスと優先度ガイド - spa-react-vite.md: テスト・Lint・CI 全般の導入手順 - npm-library-cli.md: commitlint・カバレッジ閾値引き上げ - web-app-nextjs.md: カバレッジ閾値・lint 厳格化 - mobile-flutter.md: CI 閾値強制・フォーマット検証 - mobile-android.md: detekt・Kover 導入 - desktop-extension-ts.md: Vitest 横展開・CI 厳格化 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 3
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/setup/npm-library-cli.md`:
- Line 11: Update the user-facing text string "github プラグイン" to use the correct
product capitalization "GitHub プラグイン" in the docs entry that currently reads
"[x] semantic-release 24 導入済み(changelog + git + npm + github プラグイン)" so the line
becomes "[x] semantic-release 24 導入済み(changelog + git + npm + GitHub プラグイン)".
In `@docs/setup/spa-react-vite.md`:
- Around line 112-116: The fenced code block containing the minimal pipeline
stages ("Lint → Format Check → Test (with coverage) → Build") is missing a
language identifier; update the triple-backtick fence to include a language
(e.g., use ```text) so the block becomes a fenced code block with the language
specified to satisfy MD040.
In `@docs/setup/web-app-nextjs.md`:
- Around line 112-116: The fenced code block that shows the pipeline stages (the
triple-backtick block containing "Lint → Format Check → Test (with coverage) →
Build") lacks a language identifier; update that block to include a language tag
such as text (e.g., change ``` to ```text) so the Markdown linter rule MD040 is
satisfied and the block is properly highlighted/recognized.
| - [x] ESLint 9 設定あり(Flat Config `eslint.config.mjs`) | ||
| - [x] Prettier 3.6.2 設定あり (`.prettierrc.json`: singleQuote: false, printWidth: 100) | ||
| - [x] CI/CD ワークフロー(ci.yml: Node 18/20/22 マトリックス、Lint, Build, Size Check, Audit) | ||
| - [x] semantic-release 24 導入済み(changelog + git + npm + github プラグイン) |
There was a problem hiding this comment.
Capitalize “GitHub” in user-facing text.
“github プラグイン” should be “GitHub プラグイン” to match the official product name.
✏️ Proposed fix
-- [x] semantic-release 24 導入済み(changelog + git + npm + github プラグイン)
+- [x] semantic-release 24 導入済み(changelog + git + npm + GitHub プラグイン)📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - [x] semantic-release 24 導入済み(changelog + git + npm + github プラグイン) | |
| - [x] semantic-release 24 導入済み(changelog + git + npm + GitHub プラグイン) |
🧰 Tools
🪛 LanguageTool
[uncategorized] ~11-~11: The official name of this software platform is spelled with a capital “H”.
Context: ...release 24 導入済み(changelog + git + npm + github プラグイン) - [x] husky 9 導入済み(pre-commit: `...
(GITHUB)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@docs/setup/npm-library-cli.md` at line 11, Update the user-facing text string
"github プラグイン" to use the correct product capitalization "GitHub プラグイン" in the
docs entry that currently reads "[x] semantic-release 24 導入済み(changelog + git +
npm + github プラグイン)" so the line becomes "[x] semantic-release 24 導入済み(changelog
+ git + npm + GitHub プラグイン)".
| **最小ステージ**: | ||
|
|
||
| ``` | ||
| Lint → Format Check → Test (with coverage) → Build | ||
| ``` |
There was a problem hiding this comment.
Add a language identifier to the fenced block.
MD040: the pipeline stage block should specify a language (e.g., text).
✅ Proposed fix
-```
+```text
Lint → Format Check → Test (with coverage) → Build</details>
<details>
<summary>🤖 Prompt for AI Agents</summary>
Verify each finding against the current code and only fix it if needed.
In @docs/setup/spa-react-vite.md around lines 112 - 116, The fenced code block
containing the minimal pipeline stages ("Lint → Format Check → Test (with
coverage) → Build") is missing a language identifier; update the triple-backtick
fence to include a language (e.g., use ```text) so the block becomes a fenced
code block with the language specified to satisfy MD040.
</details>
<!-- fingerprinting:phantom:triton:eagle -->
<!-- This is an auto-generated comment by CodeRabbit -->
PR #482 レビュー: ツールカタログ+プロジェクト別セットアップガイド全体的に非常によく整理されたドキュメントです。実リポジトリの実態調査に基づいており、具体性が高い点を評価します。以下にフィードバックをまとめます。 良い点
改善提案1. コンテンツの正確性・一貫性(要確認)
修正案: 2. 品質ゲートマトリクスの凡例配置
提案: 凡例を表の直前に移動する。 3.
|
ohana 単体の記載から、calendar_management・nomad_japan・ai_interviewer・ goal_dashboard・job_description・gyoza を含む 7 プロジェクトの品質ゲート 整備状況マトリクスと共通セットアップ項目に拡充。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
公開リポジトリのため、具体的なリポジトリ名をプロジェクト A-G 等の 汎用識別子に置換し、CLAUDE.md テンプレート内容も汎用化した。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Claude Code レビューPR #482「ツールカタログ+プロジェクト別セットアップガイドを追加」のレビューです。 総評ドキュメント追加のみの変更(+1391行)で、既存リポジトリの実態調査に基づいた現状可視化と改善手順書として全体的に高い品質です。CI も check-ci-status: pass です。 良い点
指摘事項1. jest.config.js のキー名誤字(web-app-nextjs.md L986) setupFilesAfterSetup というキーは Jest に存在しません。テストフレームワーク初期化後にセットアップファイルを実行する正しいオプション名は setupFilesAfterEach です(参照: https://jestjs.io/docs/configuration )。 2. Flutter カバレッジスクリプトの移植性(mobile-flutter.md) grep -oP (PCRE) を使用しており、macOS の BSD grep では動作しません。GitHub Actions Ubuntu ランナーでは問題ありませんが、コメントで注記するか、ガイド内でも言及されている very_good test --min-coverage 70 を主推奨にすることを提案します。 3. Kover API の確認(mobile-android.md) minBound(70) という DSL が Kover 0.9.x で有効か確認が必要です。最新の DSL では bound { minValue = 70 } が正しい可能性があります。公式ドキュメント(https://kotlin.github.io/kotlinx-kover/gradle-plugin/ )との照合を推奨します。 4. detekt バージョン(mobile-android.md) version "1.23.7" と固定していますが、最新の安定版は異なる可能性があります。スニペットが参考値である旨を注記することを推奨します。 改善提案各ファイルに「2026-02 時点」と時点明示されており適切です。docs/setup/README.md に更新ポリシー(いつ誰が更新するか)を追加すると、ドキュメントの陳腐化を防ぐことができます(例: ベースイメージのメジャーアップ時、品質ゲート改善完了時、四半期レビュー等)。 まとめ実装ロジックへの変更はなく、重大な問題は見当たりません。軽微な誤記の修正後にマージ可能と判断します。 🤖 Reviewed by Claude Code |
There was a problem hiding this comment.
Actionable comments posted: 1
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@docs/setup/mobile-flutter.md`:
- Around line 75-87: The docs claim lefthook is "Node.js 非依存" but the provided
lefthook.yml uses "npx commitlint --edit" which requires Node/npm; update the
docs by either (A) clarifying that lefthook itself doesn't require Node.js but
the example hook uses commitlint and therefore Node/npm must be installed
(mention the commit-msg hook and commitlint command), or (B) replace the
commit-msg/commitlint example in lefthook.yml with a Node-independent
shell-based validation snippet (a grep/regex check reading the commit message
file) so the example truly requires no Node.js.
---
Duplicate comments:
In `@docs/setup/spa-react-vite.md`:
- Around line 112-116: The fenced code block under the "**最小ステージ**" heading is
missing a language identifier; update the opening fence from ``` to ```text (or
another appropriate identifier like ```bash or ```none) so the block reads e.g.
```text followed by "Lint → Format Check → Test (with coverage) → Build" and the
closing ``` to enable proper syntax highlighting.
In `@docs/setup/web-app-nextjs.md`:
- Around line 115-116: The fenced code block containing the pipeline stages
lacks a language identifier which triggers MD040; update the block delimiter
from ``` to ```text (or another appropriate language tag) so the snippet reads
```text followed by "typecheck → lint → format:check → test (coverage) → build →
e2e → security" and ends with ``` to satisfy the linter.
PR #482 レビュー: ツールカタログ+プロジェクト別セットアップガイド総評全体的に高品質なドキュメントです。各リポジトリの実態調査に基づく現状把握と、優先度付きのアクションプランが整理されており、チームへの貢献度は高いと評価します。以下に改善点と確認事項を記載します。 良い点
指摘事項1. [必須] lefthook.yml の commitlint コマンドが機能しない(
|
| 項目 | 評価 |
|---|---|
| 内容の充実度 | ○ 高い |
| 優先度付けの適切さ | ○ 明確 |
| スニペットの正確さ | △ 一部修正が必要 |
| メンテナンス性 | △ バージョン固定・日付注記の補完推奨 |
必須修正(マージ前に対応要):
mobile-android.md/mobile-flutter.mdの lefthook commitlint コマンド修正:echo "{1}" |を削除してnpx commitlint --edit {1}に変更web-app-nextjs.mdL987 のsetupFilesAfterSetup→setupFilesAfterEnvに修正
推奨改善(任意):
- マトリクス記号の表記統一
docs/tool-catalog.mdへの調査日付の明記
🤖 Reviewed by Claude (claude-sonnet-4-5-20250929)
6個の個別ガイドと索引を統合し、全プロジェクト種別の「あるべき姿」を 1ファイル (docs/setup/README.md) にまとめた。 現状比較・優先度分類・プロジェクト別残課題を削除し、 最終的に統合すべき品質ゲートと設定例のみを記載。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This reverts commit b6f01d4.
Claude Code レビューPR #482 をレビューしました。ドキュメントのみの変更(780行追加)であり、コードの品質ゲートへの直接的な影響はありません。以下にフィードバックをまとめます。 全体評価全プロジェクト横断の品質基準(CLAUDE.md)を具体的なセットアップ手順として落とし込んだ有用なドキュメントです。構造も整理されており、マトリクス形式による全体像の可視化は参照性が高いと評価します。 指摘事項
|
各ファイルから現状サマリー(チェックリスト)、品質ゲート比較マトリクス、 優先度分類、残課題サマリーを削除。セットアップ手順と設定例のみを記載する 構成に変更。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PR レビュー: ツールカタログ+プロジェクト別セットアップガイド総評ドキュメント追加のみのPRであり、実行コードの変更はなし。全体として構成が整っており、情報の網羅性は高い。以下にカテゴリ別のフィードバックを示す。 品質・内容良い点
指摘事項 バグ:
|
| 優先度 | ファイル | 箇所 | 内容 |
|---|---|---|---|
| 高 | docs/setup/web-app-nextjs.md |
L546 | setupFilesAfterSetup → setupFilesAfterEnv |
| 中 | docs/tool-catalog.md |
セクション 2.6 | @commitlint バージョン 20.4.1 の確認・修正 |
| 低 | docs/setup/mobile-flutter.md |
- | ## CLAUDE.md セクションの追加 |
setupFilesAfterEnv のタイポ修正だけでも対応いただければ、残りは次のPRでも問題ないと思います。
🤖 Reviewed by Claude Code
ESLint + Prettier の代わりに Biome を推奨ツールとして記載。 Knip による未使用コード検出を新規セクションとして追加。 CI パイプライン・lint-staged・pre-push hook も Biome ベースに更新。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PR レビュー: ツールカタログ+プロジェクト別セットアップガイド全体として、ドキュメントの構成・内容ともに高品質です。以下にカテゴリ別のフィードバックをまとめます。 ✅ 良い点
🔍 指摘・改善提案1. バグ:
|
CI/CD(paths-filter、concurrency、Quality Gate集約、PRサイズラベリング、 Slack通知、actionlint)、セキュリティ(4ジョブ構成)、Claude Code Hooks (quality gates、CI監視)、DevContainer(ベースイメージ、mounts、Features判断基準)、 リリース管理(semantic-release)、ファイルサイズ制約(500行、complexity 10)、 ライブラリ自動更新の共通パターンを文書化。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Claude Code レビューPR #482「ツールカタログ+プロジェクト別セットアップガイド」のレビューを実施しました。 総合評価ドキュメントのみの変更で、コードの品質・バグ・セキュリティの観点よりも 内容の正確性・一貫性・保守性 を中心にレビューしました。全体的に構造が整っており有用なリファレンスになっています。いくつか改善提案を挙げます。 指摘事項バグ相当 / 不整合1. // 誤
setupFilesAfterSetup: ['<rootDir>/jest.setup.js'],
// 正
setupFilesAfterFramework: ['<rootDir>/jest.setup.js'],Jest の正しいキーは 2. "format:check": "biome format ."
"format:check": "biome format --check ."3. run: 'echo "{1}" | npx commitlint --edit'lefthook の run: 'npx commitlint --edit {1}'同じ問題が 内容の一貫性4. SPA (React + Vite) の Unit/E2E テスト欄が 5. title: 'chore(deps): update dependencies'
ドキュメント品質6. commitlint の最新安定版は v19.x 系です(2025年1月時点)。 7.
これらは現時点のスナップショットとして有用ですが、時間が経つと陳腐化します。「このドキュメントは YYYY-MM-DD 時点の情報」という日付注記を追加するか、最新バージョンを参照するリンクへ誘導することを検討してください。 良い点
まとめ
バグ相当の修正(#1〜#3)を対応いただければ、マージ可能な品質と判断します。 🤖 Generated with Claude Code |
README.md で定義した共通パターンを /setup-new-repo コマンドに取り込み、 新規リポジトリが最初から品質基準を満たした状態でスタートできるようにする。 - Step 7: security.yml, claude-code-review.yml を追加 - 新 Step 8: Claude Code Hooks (.claude/hooks/ + settings.json) - Step 9: lint-staged, .node-version, ESLint 複雑度ルール強化 - Step 11: Husky 3フック (commit-msg/pre-commit/pre-push) - Step 14: Summary にファイル一覧と Secrets 設定を追記 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
PR レビューツールカタログとプロジェクト別セットアップガイドの追加、構成がよく整理されており全体的に高品質です。以下にフィードバックをまとめます。 バグ・誤記1.
|
|
🎉 This PR is included in version 1.76.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
Summary
docs/tool-catalog.md: 環境×ツールのマトリクス表でツール全体像を可視化docs/setup/README.md: 共通品質ゲート + プロジェクト非依存の共通パターン(CI/CD、セキュリティ、Claude Code Hooks、DevContainer、リリース管理、ファイルサイズ制約、ライブラリ自動更新)docs/setup/{種別}.md× 6: プロジェクト種別ごとのセットアップ手順共通パターン(README.md に追加)
Test plan
.mdファイルが Prettier フォーマット済みdocs/tool-catalog.mdとの整合性確認🤖 Generated with Claude Code
Summary by CodeRabbit