feat: Linux bash 移行 + Windows ローカル一本化 + supervisor daemon (v3.3.8 / v3.4.x) - #321
Conversation
配備先 .claude/claudeos/ は既に lowercase だが、テンプレート源 Claude/templates/claude/ClaudeOS/ が uppercase のままで、Linux の case-sensitive FS では別ディレクトリ扱いになり同期が崩れていた。 源を claudeos/ へ揃え、両者を一致させる。 - Claude/templates/claude/ClaudeOS/ (25 files) を claudeos/ へ移行 - START_PROMPT.md: /goal 文面を Mission/Authority/Execution の構造化形式へ刷新 - docs/common/06_FAQ.md: tmux 運用と setup-terminal.sh 手順を追記 - docs/common/04_SSHリモート実行.md: tmux 利用可否の補足を追記 - tests/bats/unit/diag.bats: setup-terminal.sh の 3 テストを追加 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…3.3.8) (#315) * feat(windows): Phase 1 — Windows 自律実行ランチャ新設 (cron-launcher.sh PS移植) - Start-ClaudeAutoTimeout.ps1: 時間制限付き claude 自律起動 + session.json 管理 (Start-Process -PassThru + WaitForExit で timeout 制御、state.json 読取復元、 maintenance モード session 上限 cap) - Register-AutoRunTask.ps1: Windows タスクスケジューラ週次登録 (Linux crontab 相当) - SessionTabManager.psm1: Set-SessionStatus に 'timeout' status 追加 (両OS session.json 統一) - Watch-SessionInfo.ps1: timeout の色付け + 監視終了条件に追加 - StartClaudeAutoTimeout.Tests.ps1: DryRun/exit3/maintenance cap/state.json read-only 検証 Pester 879/879 緑、PSScriptAnalyzer 0件 (CI除外ルール適用)。 Phase 1 (Windows ローカル一本化): PS に皆無だった時間制限付き自律ランチャを純増。 既存 SessionTabManager の session.json 原子的書込を再利用し新規実装を最小化。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat(windows): Phase 2 — Start-Menu をローカル一本化 (Phase 1 成果を配線) - S1: ☁️SSH自律 → 🌙ローカルBG自律 (Start-ClaudeAutoTimeout.ps1 を別プロセスBG起動) - 項14: New-CronSchedule(SSH) → Register-AutoRunTask.ps1 (登録/解除/状態 選択) - 項15: Watch-SessionInfoSSH → Watch-SessionInfo + Get-ActiveSession (ローカル) - 表示: 🔗linuxHost➜linuxBase 行削除、L1→S1 順に整理、項14/15 ラベルをローカル表記へ - Select-LocalProject ヘルパー追加 (projectsDir 直下を番号選択。S1/項14 共通) Pester 879/879 緑、PSScriptAnalyzer 0件。 SSH経路 (LauncherCommon / Start-ClaudeCode L407+) は Phase 3 まで温存 (非破壊)。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat(windows): Phase 2b — LauncherCommon をローカル一本化既定化 (linuxHost 未設定→即ローカル / projectsDir 優先) - Resolve-LauncherMode: linuxHost 未設定時のインタラクティブプロンプトブロックを削除し return $true 一行に置換。-Local / NonInteractive の有無に関わらず即ローカル。 - Resolve-LauncherProject: $useLocal 変数を導入し -Local フラグと projectsDir 存在確認の OR で判定。projectsDir が有効なら -Local なしでもローカル優先。 - LauncherCommon.Tests.ps1 に Resolve-LauncherMode (4件) + Resolve-LauncherProject (3件) 追加。Pester 合計 886/886 緑。SSH コードは温存 (Phase 3 で削除予定)。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> * feat(phase3): SSH実行パス・専用ファイル全削除 (Windows ローカル一本化) Phase 3: SSH 名残削除。Windows は D:\ 直下ローカルプロジェクトのみ対応。 削除ファイル (8件): - scripts/lib/SSHHelper.psm1 (SSH ヘルパー) - scripts/main/New-CronSchedule.ps1 (SSH cron スケジューラ) - scripts/tools/Watch-ClaudeLog.ps1 / Watch-ClaudeLog-Launcher.cmd - scripts/tools/Watch-SessionInfoSSH.ps1 (SSH セッション監視) - scripts/tools/Register-WatchAutoStart.ps1 - tests/integration/SSHHelper.Tests.ps1 - tests/unit/SSHHelper.Tests.ps1 変更ファイル (主な箇所): - Start-ClaudeCode.ps1: L406-L595 の SSH ブロック削除 (641→451行) - Start-CodexCLI.ps1 / Start-CopilotCLI.ps1: SSH 実行パス削除 - LauncherCommon.psm1: Resolve-LauncherMode を常に $true 返すよう簡略化 - SessionLogger.ps1: linuxHost → $env:COMPUTERNAME - ConfigLoader.ps1: linuxHost プレースホルダー警告削除 - New-CloudSchedule.ps1: SSH cron 取得ブロック2箇所削除 - Start-Menu.ps1: 項目13 (ログ監視タブ) 表示行 + switch ケース削除 - tests/integration/StartScripts.Tests.ps1: SSH テスト3件削除 - tests/unit/LauncherCommon.Tests.ps1: linuxHost→$false テストを Phase 3 対応に修正 Pester: 863/863 全緑 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(config): Phase 4 — config schema 整理・SSH キー全削除 (linuxHost/linuxBase/sshProjectsDir 等) - ConfigSchema.ps1: TemplateRequiredFields から SSH 関連5キー削除 - ConfigSchema.ps1: AllowedLauncherModes から ssh 除去 → [local] のみ - ConfigSchema.ps1: SSH パス検証ブロック ($ssh セクション) 削除 - config.json.template: SSH キー5項目・ssh セクション削除 - StatuslineManager.psm1: SSH 依存関数2件削除 (Copy-StatuslineScript / Invoke-RemoteSettingsSync) - Set-Statusline.ps1: SSH 依存ファイル全体削除 - Start-Menu.ps1: メニュー項目12 (Statusline設定) 削除 - ConfigSchema.Tests.ps1: SSH 関連テスト3件削除 - Config.Tests.ps1: linuxHost 必須テスト削除 (スキーマ変更追従) Pester 859/859 全緑確認済み Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * feat(supervisor): Phase 5 — supervisor daemon 全成果物 + テスト追加 追加ファイル: - scripts/dashboards/supervisor-daemon.js — Node.js 組込みのみ、win32/linux 両対応 * expandPath / cooldownSec(指数バックオフ) / isPidAlive / writeState(原子書込) * CHECK_INTERVAL=8秒、MAX_COOLDOWN_SEC=300s、maxRestarts 到達で disabled 落とし - config/processes.json — dashboard(http) + watch-runner(http) + claude-session(session-file) - scripts/main/Register-SupervisorTask.ps1 — Windows Task Scheduler 登録 (-Status/-Unregister/-RunNow) - scripts/dashboards/start-supervisor-task.ps1 — PID ファイル二重起動防止付き起動スクリプト - scripts/dashboards/install-supervisor-service.sh — systemd user service インストーラ (lingering 対応) 変更ファイル: - scripts/dashboards/serve-dashboard.js — /api/supervisor/status + SSE supervisor-update 追加 - scripts/dashboards/mission-control.html — SupervisorPanel コンポーネント + NAV_ITEMS 統合 テスト: - tests/unit/Supervisor.Tests.ps1 — Pester 5.x 32テスト (全891/891緑) - tests/bats/unit/supervisor.bats — bats 9テスト (CI ubuntu ジョブで検証) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs(readme): Phase 6 — v3.3.8 supervisor daemon 追加・テスト件数更新 - バージョンを v3.3.7 → v3.3.8 に更新 - Pester テスト件数を 776件 → 891件 に更新(+115件) - v3.3.8 バージョンバナー追加(supervisor daemon 新設の説明) - 標準コマンドテーブルに supervisor (Win/Linux) 操作コマンドを追加 - アーキテクチャダイアグラムに supervisor ノード群を追加 - 主な機能テーブルに Supervisor daemon 行を追加 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * docs(changelog): v3.3.8 エントリ追加 — 全プロセス統合 Supervisor daemon + Windows ローカル一本化 Phase 1〜6 完走の変更履歴を CHANGELOG.md に記載。 update-readme-stats.js が v3.3.8 を正しく読取り CI の "Check README Stats Up-to-date" ステップが通過するようにする。 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * ci: CI 再トリガー (空コミット — Phase5/6 push 後に synchronize event 欠落) Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> * refactor(bats): supervisor.bats を install-supervisor-service.bats にリネーム (merge 前コンフリクト回避) --------- Co-authored-by: Kensan (Enterprise IT Team) <kensan@enterprise-helpdesk.local> Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Phase 3 — Windows ローカル一本化 + supervisor 計画の SSH 名残削除フェーズ。
linuxHost フィールド・変数・関数をコード・docs・CI から除去(CHANGELOG 除外)。
変更内容:
- scripts/lib/LauncherCommon.psm1: SSH 関連関数 7 件削除
- scripts/main/Start-{Claude,Codex,Copilot}CLI.ps1: $linuxHost/$linuxBase 変数削除
- scripts/lib/ErrorHandler.psm1: linuxHost メッセージ更新
- scripts/dashboards/{serve-dashboard.js,mission-control.html}: linuxHost 参照削除
- lib/config-loader.sh: config_linux_host() 関数削除
- tests: linuxHost 関連 It 削除・テスト名改名 (bats/Pester 計 25 件)
- docs: 04_SSHリモート実行.md 削除、docs 6 ファイル + README 更新
- .github/workflows/ci.yml: PowerShell ハッシュから linuxHost 削除
- README.md: linuxHost サンプル JSON・設定表から削除
テスト: Pester 889件全通過 (Failed: 0, Skipped: 0)
対象外: CHANGELOG.md (歴史記録として保持)
Co-authored-by: Kensan (Enterprise IT Team) <kensan@enterprise-helpdesk.local>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
Phase 4 config schema 整理: sshProjectsDir/projectsDirUnc 削除 + linuxBase→projects 改名。STABLE N=5 達成 (5/5 CI 全通過)。Pester 879/879 全通過。
- supervisor-daemon.js に SUPERVISOR_PROCESSES_CFG/STATE_DIR/STATE_FILE env override を追加(CI でパスを差し替えられるようにする) - scripts/test/test-supervisor-smoke.js 新規追加(Node.js built-ins のみ) session-file 型 minimal config でデーモン短命起動し state.json 生成・ 構造を検証。subprocess spawn なし・副作用ゼロ。ローカル PASS 確認済 - ci.yml ubuntu "Node validations" ステップに smoke test を追記 - README.md v3.3.8 リリースノートと テスト数テーブルを Phase 6 反映 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
Warning Review limit reached
More reviews will be available in 81 minutes and 34 seconds. Learn how PR review limits work. Your organization has run out of usage credits. Purchase more in the billing tab. ⌛ How to resolve this issue?After more reviews become available, a review can be triggered using the We recommend that you space out your commits to avoid hitting the rate limit. 🚦 How do rate limits work?CodeRabbit enforces hourly rate limits for each developer per organization. Our paid plans include higher PR review limits than trial, open-source, and free plans. In all cases, reviews become available again over time. During sustained high-volume PR review activity, CodeRabbit may temporarily slow when the next review becomes available. Please see our Fair Usage Limits Policy for further information. ℹ️ Review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (2)
Note
|
| Layer / File(s) | Summary |
|---|---|
v3.4.8 リリースノート CHANGELOG.md |
v3.4.8(2026-06-04)のリリースエントリを先頭に追加し、Supervisor daemon 新設、OSネイティブ登録(Windows Task Scheduler / Linux systemd)、WebUI(/api/supervisor/status・SSE)、Windows ローカル一本化、SSH 名残除去、スキーマ整理、テスト追加(Pester / bats)を項目別に記載。 |
ClaudeOS v9.0 /goal テンプレート再構成 Claude/templates/claude/START_PROMPT.md |
/goal 指示文を CTO 委任・Workflow 駆動のアーキテクチャへ置き換え。ブートローダ(ステップ B~E)を拡張・簡略化し、Trust Level 確認(Level 1~3)と人間サインオフ必須を明記。最上位原則に「Dynamic Workflow 優先」を追加。 |
README.md 冒頭刷新(v9.0 統合方針) README.md |
ClaudeOS v9.0 を「Linux カーネル」かつ「Claude Code 専用」として位置づけ、Codex/Copilot 廃止、統合ティア(/goal・Agent Teams・Agent View)を明記。開発状況(バージョン・テスト・CI・Agent 構成)を v3.4.8 相当に更新。 |
README.md アーキテクチャ・機能・使用方法の拡充 README.md |
Agent Teams 対応レベル表、Hooks・Skills 説明、標準コマンド一覧、アーキテクチャ図、モジュール構成図、主な機能一覧、クイックスタート、対話メニュー・直接起動・cron 自律運用・Session Info・Statusline・slash commands、ClaudeOS v8 無人運用システム(STABLE 判定・CI Manager)、設定要点、Mission Control WebUI 認証制御(Basic Auth・/api/health バイパス)を記載。 |
linuxHost 削除・ローカル一本化ドキュメント整理 config/README.md, docs/claude/02_セットアップ.md, docs/claude/03_使い方.md, docs/codex/02_セットアップ.md, docs/common/03_Windowsセットアップ.md, docs/common/04_SSHリモート実行.md, docs/common/05_トラブルシューティング.md, docs/common/06_FAQ.md, docs/common/07_設定運用ガイド.md |
linuxHost 参照を全ドキュメントから削除し、linuxBase と localExcludes を設定項目として統一。SSH 関連の sshProjectsDir 削除、ローカル起動(projectsDir)中心への転換を明記。SSH リモート実行ドキュメント削除、トラブルシューティングの linuxHost 確認項目削除、tmux/DevTools FAQ 更新。 |
Estimated code review effort
🎯 3 (Moderate) | ⏱️ ~25 minutes
Possibly related PRs
- Kensan196948G/ClaudeCode-StartUpTools-New#305: Supervisor daemon の OSネイティブ登録・WebUI(
/api/supervisor/status)実装を後続統合する関連PRで、本PR の Supervisor 記載と直接連動。 - Kensan196948G/ClaudeCode-StartUpTools-New#277:
START_PROMPT.mdの/goalテンプレート文言・ブートローダ構成を同じく更新しており、本PR と同一箇所の関連変更。 - Kensan196948G/ClaudeCode-StartUpTools-New#300:
/goal指示文(Dynamic Workflows・Verify ゲート)の再構成が本PR と重複する関連PR。
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
| Check name | Status | Explanation |
|---|---|---|
| Description Check | ✅ Passed | Check skipped - CodeRabbit’s high-level summary is enabled. |
| Title check | ✅ Passed | PRタイトルは主な3つの成果(Linux bash移行、Windows ローカル一本化、supervisor daemon)を簡潔に要約しており、変更セットの主要な内容を適切に反映している。 |
| Docstring Coverage | ✅ Passed | No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. |
| Linked Issues check | ✅ Passed | Check skipped because no linked issues were found for this pull request. |
| Out of Scope Changes check | ✅ Passed | Check skipped because no linked issues were found for this pull request. |
✏️ Tip: You can configure your own custom pre-merge checks in the settings.
✨ Finishing Touches
🧪 Generate unit tests (beta)
- Create PR with unit tests
- Commit unit tests in branch
feat/linux-migration
Comment @coderabbitai help to get the list of available commands and usage tips.
There was a problem hiding this comment.
Actionable comments posted: 6
🧹 Nitpick comments (2)
docs/claude/03_使い方.md (1)
8-8: ⚡ Quick winMarkdown 見出しにアイコンを付与してください
本ファイルの主要セクション見出しがアイコン規約に未準拠です(例:
## 基本的な起動方法など)。規約に合わせて## 📌 ...形式へ統一してください。As per coding guidelines, "
**/*.md: Always include icon-based section headers in Markdown documentation."Also applies to: 34-34, 48-48, 60-60, 88-88
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/claude/03_使い方.md` at line 8, Update all major level-2 Markdown headings to include the icon prefix "📌" so they follow the icon-based header convention; e.g., change "## 基本的な起動方法" to "## 📌 基本的な起動方法" and do the same for the other top-level sections in this document (the other level-2 headings mentioned in the review). Ensure every "## " heading in this file is prefixed with "## 📌 " consistently.docs/common/06_FAQ.md (1)
86-86: ⚡ Quick winFAQ 見出しをアイコン付きに統一してください
更新対象の Q7 セクションも見出し規約(アイコン付き)に合わせる必要があります(例:
## 📌 Q7. ...)。As per coding guidelines, "
**/*.md: Always include icon-based section headers in Markdown documentation."🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@docs/common/06_FAQ.md` at line 86, Update the Q7 section header to use the icon-based heading convention by replacing the existing "## Q7. tmux や DevTools は必須ですか?" heading with an icon-prefixed form (e.g., "## 📌 Q7. tmux や DevTools は必須ですか?") so it matches the other FAQ headers and the repository Markdown guideline.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@Claude/templates/claude/START_PROMPT.md`:
- Line 83: The referenced doc paths in the START_PROMPT line with "Verify
Mandatory" are wrong; replace the incorrect core/14-codex-review.md and
core/15-coderabbit-review.md with the actual repository paths used elsewhere
(e.g., claudeos/ai-review/14-codex-review.md and
claudeos/ai-review/15-coderabbit-review.md) so the prompt's reference set (the
"Verify Mandatory" sentence) matches the real files referenced by the project;
update those two filenames in START_PROMPT.md accordingly.
In `@docs/claude/03_使い方.md`:
- Line 10: The document currently contradicts the "local-only" policy by stating
projectsDir-based local startup (referencing Start-ClaudeCode.ps1 and
projectsDir) while leaving SSH-based instructions elsewhere; update
docs/claude/03_使い方.md to align with the local-first policy by removing or
consolidating all SSH-specific sections into a single note (or deleting them)
and clarifying the canonical local startup flow that uses Start-ClaudeCode.ps1
and projectsDir, ensuring any remaining SSH mentions are clearly marked
deprecated and do not present an alternate primary workflow.
In `@README.md`:
- Line 435: README の内部リンク断片 `#診断とテスト`
が正しい見出しアンカーと一致していないため壊れています;該当箇所(現在のアンカー参照テキスト
`#診断とテスト`)を見出しの実際のアンカーに合わせて修正してください(該当の見出しテキストを確認し、GitHub/markdown
のアンカー生成規則に従って小文字化、空白をハイフンに置換、句読点を除去した形にするか、見出しを変更して参照と一致させる)。
- Line 420: Update the H2 headings to include an icon prefix (emoji) so they
follow the Markdown guideline; for example change the heading "## 標準コマンド" to "##
📌 標準コマンド" and apply the same pattern to the other H2s referenced (the other H2
lines in this file) to ensure all "## ..." section headers include a consistent
icon like 📌.
- Around line 10-45: The README blockquote (lines beginning with "> **📌 v3.1.0
で Claude Code 専用ツールに整理**" through the following release entries) contains empty
lines between quoted paragraphs causing markdownlint MD028; remove those blank
lines so all quoted lines form a single contiguous blockquote (ensure every line
in that section begins with ">" and merge or reflow paragraph breaks without an
intervening empty quoted line) so entries like "> **📌 v3.1.0..." and "> **🚀
ClaudeOS v9.0..." remain in one continuous blockquote.
- Around line 570-611: The README shows mixed運用 models—keep only the current
Claude-only model: update the setup/config example to remove or mark legacy SSH
usage and set "sshProjectsDir" to a deterministic value (e.g., null/empty or
remove it) and keep "tools": { "defaultTool": "claude" } as the single source of
truth; remove the optional installer lines for npm install -g `@openai/codex` and
npm install -g `@githubnext/github-copilot-cli` (or move them to an explicit
"legacy/optional" subsection) and clarify the required commands list to only
include npm install -g `@anthropic-ai/claude-code` so users cannot misconfigure by
following Codex/Copilot instructions.
---
Nitpick comments:
In `@docs/claude/03_使い方.md`:
- Line 8: Update all major level-2 Markdown headings to include the icon prefix
"📌" so they follow the icon-based header convention; e.g., change "## 基本的な起動方法"
to "## 📌 基本的な起動方法" and do the same for the other top-level sections in this
document (the other level-2 headings mentioned in the review). Ensure every "##
" heading in this file is prefixed with "## 📌 " consistently.
In `@docs/common/06_FAQ.md`:
- Line 86: Update the Q7 section header to use the icon-based heading convention
by replacing the existing "## Q7. tmux や DevTools は必須ですか?" heading with an
icon-prefixed form (e.g., "## 📌 Q7. tmux や DevTools は必須ですか?") so it matches the
other FAQ headers and the repository Markdown guideline.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
Run ID: 7e3dd980-5e82-42b4-8004-762e50a3f07c
⛔ Files ignored due to path filters (62)
.github/workflows/ci.ymlis excluded by none and included by noneClaude/templates/claude/ClaudeOS/templates/state.jsonis excluded by none and included by noneClaude/templates/claude/claudeos/execution/github-actions-ci-manager.ymlis excluded by none and included by noneconfig/config.json.templateis excluded by none and included by noneconfig/processes.jsonis excluded by none and included by nonelib/config-loader.shis excluded by none and included by nonelib/json.shis excluded by none and included by nonelib/supervisor.shis excluded by none and included by nonescripts/dashboards/install-supervisor-service.shis excluded by none and included by nonescripts/dashboards/mission-control.htmlis excluded by none and included by nonescripts/dashboards/serve-dashboard.jsis excluded by none and included by nonescripts/dashboards/start-supervisor-task.ps1is excluded by none and included by nonescripts/dashboards/supervisor-daemon.jsis excluded by none and included by nonescripts/lib/ConfigLoader.ps1is excluded by none and included by nonescripts/lib/ConfigSchema.ps1is excluded by none and included by nonescripts/lib/ErrorHandler.psm1is excluded by none and included by nonescripts/lib/LauncherCommon.psm1is excluded by none and included by nonescripts/lib/SSHHelper.psm1is excluded by none and included by nonescripts/lib/SessionLogger.ps1is excluded by none and included by nonescripts/lib/SessionTabManager.psm1is excluded by none and included by nonescripts/lib/StatuslineManager.psm1is excluded by none and included by nonescripts/main/New-CloudSchedule.ps1is excluded by none and included by nonescripts/main/New-CronSchedule.ps1is excluded by none and included by nonescripts/main/Register-AutoRunTask.ps1is excluded by none and included by nonescripts/main/Register-SupervisorTask.ps1is excluded by none and included by nonescripts/main/Set-Statusline.ps1is excluded by none and included by nonescripts/main/Start-ClaudeAutoTimeout.ps1is excluded by none and included by nonescripts/main/Start-ClaudeCode.ps1is excluded by none and included by nonescripts/main/Start-CodexCLI.ps1is excluded by none and included by nonescripts/main/Start-CopilotCLI.ps1is excluded by none and included by nonescripts/main/Start-Menu.ps1is excluded by none and included by nonescripts/test/Test-AllTools.ps1is excluded by none and included by nonescripts/test/test-drive-mapping.ps1is excluded by none and included by nonescripts/test/test-supervisor-smoke.jsis excluded by none and included by nonescripts/tools/Register-WatchAutoStart.ps1is excluded by none and included by nonescripts/tools/Watch-ClaudeLog-Launcher.cmdis excluded by none and included by nonescripts/tools/Watch-ClaudeLog.ps1is excluded by none and included by nonescripts/tools/Watch-SessionInfo.ps1is excluded by none and included by nonescripts/tools/Watch-SessionInfoSSH.ps1is excluded by none and included by nonetests/bats/unit/autonomy.batsis excluded by none and included by nonetests/bats/unit/bin-ops.batsis excluded by none and included by nonetests/bats/unit/config.batsis excluded by none and included by nonetests/bats/unit/cron-schedule.batsis excluded by none and included by nonetests/bats/unit/diag.batsis excluded by none and included by nonetests/bats/unit/install-supervisor-service.batsis excluded by none and included by nonetests/bats/unit/launcher-common.batsis excluded by none and included by nonetests/bats/unit/menu.batsis excluded by none and included by nonetests/bats/unit/monitor-sessions.batsis excluded by none and included by nonetests/bats/unit/start-claude.batsis excluded by none and included by nonetests/bats/unit/start-dashboard.batsis excluded by none and included by nonetests/bats/unit/start.batsis excluded by none and included by nonetests/bats/unit/supervisor.batsis excluded by none and included by nonetests/bats/unit/tmux-runner.batsis excluded by none and included by nonetests/integration/Diagnostics.Tests.ps1is excluded by none and included by nonetests/integration/SSHHelper.Tests.ps1is excluded by none and included by nonetests/integration/StartScripts.Tests.ps1is excluded by none and included by nonetests/unit/Config.Tests.ps1is excluded by none and included by nonetests/unit/ConfigSchema.Tests.ps1is excluded by none and included by nonetests/unit/LauncherCommon.Tests.ps1is excluded by none and included by nonetests/unit/SSHHelper.Tests.ps1is excluded by none and included by nonetests/unit/StartClaudeAutoTimeout.Tests.ps1is excluded by none and included by nonetests/unit/Supervisor.Tests.ps1is excluded by none and included by none
📒 Files selected for processing (35)
CHANGELOG.mdClaude/templates/claude/START_PROMPT.mdClaude/templates/claude/claudeos/CLAUDE.mdClaude/templates/claude/claudeos/ai-review/14-codex-review.mdClaude/templates/claude/claudeos/ai-review/15-coderabbit-review.mdClaude/templates/claude/claudeos/ai-review/16-ai-quality-gate.mdClaude/templates/claude/claudeos/core/00-goal-system.mdClaude/templates/claude/claudeos/core/01-session-startup.mdClaude/templates/claude/claudeos/core/02-core-architecture.mdClaude/templates/claude/claudeos/core/03-state-json.mdClaude/templates/claude/claudeos/core/04-agent-teams.mdClaude/templates/claude/claudeos/execution/05-operations.mdClaude/templates/claude/claudeos/execution/06-ci-automation.mdClaude/templates/claude/claudeos/execution/07-ai-dev-factory.mdClaude/templates/claude/claudeos/execution/08-termination-reporting.mdClaude/templates/claude/claudeos/governance/17-project-governance.mdClaude/templates/claude/claudeos/governance/18-release-policy.mdClaude/templates/claude/claudeos/governance/19-security-policy.mdClaude/templates/claude/claudeos/governance/20-audit-policy.mdClaude/templates/claude/claudeos/quality/09-webui-testing.mdClaude/templates/claude/claudeos/quality/10-security-testing.mdClaude/templates/claude/claudeos/quality/11-infrastructure-testing.mdClaude/templates/claude/claudeos/quality/12-database-testing.mdClaude/templates/claude/claudeos/quality/13-e2e-playwright.mdClaude/templates/claude/claudeos/templates/session-report-template.mdREADME.mdconfig/README.mddocs/claude/02_セットアップ.mddocs/claude/03_使い方.mddocs/codex/02_セットアップ.mddocs/common/03_Windowsセットアップ.mddocs/common/04_SSHリモート実行.mddocs/common/05_トラブルシューティング.mddocs/common/06_FAQ.mddocs/common/07_設定運用ガイド.md
💤 Files with no reviewable changes (7)
- docs/common/07_設定運用ガイド.md
- docs/common/04_SSHリモート実行.md
- docs/codex/02_セットアップ.md
- config/README.md
- docs/common/03_Windowsセットアップ.md
- docs/claude/02_セットアップ.md
- docs/common/05_トラブルシューティング.md
| - Goal Driven(冒頭 /goal が全行動基準) | ||
| - Security First | ||
| - Verify Mandatory: **CodeRabbit review** / **Codex review(利用可能時)** / **security scan(gitleaks・secret・npm audit)** を必ず実施し STABLE 判定の前提とする(詳細: `core/14-codex-review.md` / `core/15-coderabbit-review.md` / governance `19-security-policy.md`。ultrareview〔Gate-2b〕は課金・人手起動のため自律ループでは自動実行しない) | ||
| - Verify Mandatory: CodeRabbit review/Codex review(利用可能時)/security scan(gitleaks/secret/npm audit)必須実施で STABLE 判定前提(詳細: core/14-codex-review.md / core/15-coderabbit-review.md / governance 19-security-policy.md。ultrareview〔Gate-2b〕は課金・人手起動のため自律ループ非実行) |
There was a problem hiding this comment.
参照パスが実体と不一致です。
Line 83 の core/14-codex-review.md / core/15-coderabbit-review.md は、同ファイルの読み込み定義(claudeos/ai-review/...)と不整合です。実在パスに合わせて修正してください。
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@Claude/templates/claude/START_PROMPT.md` at line 83, The referenced doc paths
in the START_PROMPT line with "Verify Mandatory" are wrong; replace the
incorrect core/14-codex-review.md and core/15-coderabbit-review.md with the
actual repository paths used elsewhere (e.g.,
claudeos/ai-review/14-codex-review.md and
claudeos/ai-review/15-coderabbit-review.md) so the prompt's reference set (the
"Verify Mandatory" sentence) matches the real files referenced by the project;
update those two filenames in START_PROMPT.md accordingly.
| ## 基本的な起動方法 | ||
|
|
||
| このリポジトリでの Claude Code 利用は、`scripts/main/Start-ClaudeCode.ps1` を中心に行います。現行構成では旧 DevTools/tmux 前提ではなく、ローカル起動または SSH 起動を選ぶ方式です。 | ||
| このリポジトリでの Claude Code 利用は、`scripts/main/Start-ClaudeCode.ps1` を中心に行います。現行構成では `projectsDir`(Windows ローカル)を起点にプロジェクトを選択してローカル起動します。 |
There was a problem hiding this comment.
ローカル一本化の説明と本文の運用手順が矛盾しています
Line 10 で「projectsDir 起点のローカル起動」を明示していますが、同一ファイル内に SSH 前提の案内(Line 117-119, Line 125-133, Line 166)が残っており、利用者が誤った手順を選ぶリスクがあります。ローカル一本化方針に合わせて SSH 記述を一括整理してください。
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@docs/claude/03_使い方.md` at line 10, The document currently contradicts the
"local-only" policy by stating projectsDir-based local startup (referencing
Start-ClaudeCode.ps1 and projectsDir) while leaving SSH-based instructions
elsewhere; update docs/claude/03_使い方.md to align with the local-first policy by
removing or consolidating all SSH-specific sections into a single note (or
deleting them) and clarifying the canonical local startup flow that uses
Start-ClaudeCode.ps1 and projectsDir, ensuring any remaining SSH mentions are
clearly marked deprecated and do not present an alternate primary workflow.
| > **📌 v3.1.0 で Claude Code 専用ツールに整理** | ||
| > v3.1.0 より、Codex CLI / GitHub Copilot CLI の起動メニュー (S2/S3/L2/L3) は削除されました。本ツールは **Claude Code 専用の自律開発ランチャー** として位置づけを明確化し、Linux crontab 連携・セッション情報タブ・Statusline グローバル適用などの新機能に投資が集中しています。 | ||
|
|
||
| > **🚀 ClaudeOS v9.0 — `/goal` + Agent Teams + Agent View 完全統合** | ||
| > Claude Code v2.1.139+ の公式機能を全統合。`/goal` コマンドで達成条件を設定し Haiku が自動判定、Agent Teams で並列協調開発、`claude agents`(Agent View)でセッション監視。固定ループ → 動的判断型へ移行。詳細は [`CLAUDE.md`](./CLAUDE.md) を参照。 | ||
|
|
||
| > **🔄 v3.3.8 — 全プロセス統合 Supervisor daemon 新設 + CI smoke test** | ||
| > `supervisor-daemon.js` で Dashboard・watch-runner・claude-session を一元監視(8秒ループ死活判定・自動再起動・指数バックオフ cooldown・ログ集約)。Windows は `Register-SupervisorTask.ps1`(Task Scheduler)、Linux は `install-supervisor-service.sh`(systemd user service + loginctl linger)で OS ネイティブ登録。`serve-dashboard.js` に `/api/supervisor/status` + SSE `supervisor-update` を追加し、Mission Control SupervisorPanel でリアルタイム表示。Pester **891件**(32件追加)・bats supervisor **9テスト**追加。CI(ubuntu)に Node.js supervisor smoke test(`test-supervisor-smoke.js`)を追加 — env override パターンで副作用ゼロの daemon 起動・state.json 構造検証を自動実行。 | ||
|
|
||
| > **🎨 v3.3.6 — Mission Control 6項目 UI 大幅改善** | ||
| > Projects: Cron のみデフォルト表示(簡易 12件除外)/ Dashboard: 稼働プロジェクトバナー(名前/経過/フェーズ/Goal)/ 健全性: 全プロジェクト健全性テーブル / CI/GitHub: プロジェクト選択 + 全STABLE一覧タブ / Cron: 06/01(月) 08:30 フル日時表示。 | ||
|
|
||
| > **⚡ v3.3.5 — サーバー自動再起動 + SSE Token 認証 + Gate-1 + SOT 同期** | ||
| > `npm run start:watch` でファイル変更を監視して自動再起動。EventSource 対応の URL token SSE 認証実装。/api/system-health を 15秒キャッシュ化(4.95s→0.245s)。Gate-1 必須13項目を全PASS。テンプレートから93ファイルを配備済みに同期(agents/skills/docs/commands等、SOT 未デプロイ 0件達成)。 | ||
|
|
||
| > **🕐 v3.3.4 — Cron 実データ CRUD API + WebUI 登録/削除フォーム** | ||
| > GET/POST/DELETE `/api/cron` を実装。Cron パネルが cron-registry.json の実データを30秒ポーリングで取得。新規登録フォーム(曜日トグル付き)と削除ボタン(確認ダイアログ)を追加。実 crontab への反映は「CLI正本」アーキテクチャに従い CLI [14] に委ねる設計。 | ||
|
|
||
| > **✅ v3.3.3 — PSScriptAnalyzer 0件達成 + STABLE実API化 + E2E全パネル検証** | ||
| > PSScriptAnalyzer 警告を 28 → 0 件に完全解消(Write-Log リネーム / empty catch 修正 / SuppressMessage 正位置)。Mission Control 全9パネルを Playwright E2E で動作確認。CI/GitHub パネルの STABLE 判定を実 API データ化(2/3amber → 3/3green)。 | ||
|
|
||
| > **🔐 v3.3.2 — WebUI Basic Auth + package.json + .claude/skills/ + state.json 整備** | ||
| > `DASHBOARD_PASSWORD` 環境変数または `config.json.dashboardAuth.password` による HTTP Basic Auth を実装(LAN 公開時の最低限アクセス制御)。`package.json` を正式作成(Node 18+ 依存管理・`npm start` でダッシュボード起動)。Claude Code 2.1.157 準拠の `.claude/skills/` ディレクトリを新設(CTO セッション開始・WebUI ヘルスチェックスキル)。`state.json` の 150+ 重複 warnings エントリを圧縮(2009行 → 355行)。`.gitignore` に `reports/audit/` `reports/cmdb/` `reports/deploy-runbook-*.md` を追加。 | ||
|
|
||
| > **🎨 v3.3.1 — Mission Control ダッシュボード全面改善 + /goal MVP RC テンプレート刷新** | ||
| > Cron管理週間スケジュール全幅レイアウト・正式名称2行表示・Boot Sequenceアクティブセッションパネル・イベントログ日本語化など、Mission Control WebUI のUX/UI を全面強化。`/goal` テンプレートを「MVP Release Candidate 完成版」(完了条件10項・対象外・停止条件明記)に刷新。 | ||
|
|
||
| > **🔄 v3.3.0 — テスト検証・デバッグ統合指示書 + Mission Control WebUI + START_PROMPT 強化** | ||
| > `11-test-debug-integration.md` を新規追加(5カテゴリ:フロントエンド・バックエンド・セキュリティ・インフラ・DB の検証・デバッグ方法論 + Playwright E2E 必須 + Codex/CodeRabbit 統合フロー)。品質ゲート条件: Codex エラー=0 / CodeRabbit Critical/High=0 / テスト成功率100% / STABLE N=3。`_footer.md` に `/goal` 10ループテンプレートを追加。NASA風 Mission Control WebUI を `scripts/dashboards/mission-control.html` に実装(Projects/AgentTeams/CI/Cron/Boot/EventLog 6パネル)。 | ||
|
|
||
| > **🧪 v3.2.107 — WebUI 全テスト検証 250 項目を全プロジェクト実行の最終プロンプトに追加** | ||
| > フロントエンド 110 項目 + バックエンド 140 項目(AI 開発系検証含む)の 250 項目チェックリストを `10-webui-final-verification.md` として追加し、全プロジェクトの START_PROMPT.md 末尾に自動組み込み。詳細は [`CHANGELOG.md`](./CHANGELOG.md) を参照。 | ||
|
|
||
| > **📨 v3.2.0 — Cron HTML メールレポート (Visual Recap Mail)** | ||
| > Cron で起動された ClaudeCode セッションの完了時に、**HTML 形式のレポートメール** を Gmail SMTP 経由で送信。アイコン+色付き表組み+実行サマリ(Monitor/Development/Verify/Improvement の出現回数/エラー検出/STABLE 達成)+次フェーズ提案を含む。送信先は `CLAUDEOS_DEFAULT_TO`(未設定時 `CLAUDEOS_SMTP_USER`)で指定し、SMTP 認証情報は `~/.env-claudeos` の Linux 環境変数で管理(config.json には書かない設計)。詳細は [`docs/common/16_HTMLメールレポート設定.md`](./docs/common/16_HTMLメールレポート設定.md) を参照。 | ||
|
|
There was a problem hiding this comment.
markdownlint MD028(blockquote 内空行)を解消してください。
この範囲の引用ブロック間に空行があり、lint 警告が発生しています。空行を除去して 1 つの blockquote として連続させてください。
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 12-12: Blank line inside blockquote
(MD028, no-blanks-blockquote)
[warning] 15-15: Blank line inside blockquote
(MD028, no-blanks-blockquote)
[warning] 18-18: Blank line inside blockquote
(MD028, no-blanks-blockquote)
[warning] 21-21: Blank line inside blockquote
(MD028, no-blanks-blockquote)
[warning] 24-24: Blank line inside blockquote
(MD028, no-blanks-blockquote)
[warning] 27-27: Blank line inside blockquote
(MD028, no-blanks-blockquote)
[warning] 30-30: Blank line inside blockquote
(MD028, no-blanks-blockquote)
[warning] 33-33: Blank line inside blockquote
(MD028, no-blanks-blockquote)
[warning] 36-36: Blank line inside blockquote
(MD028, no-blanks-blockquote)
[warning] 39-39: Blank line inside blockquote
(MD028, no-blanks-blockquote)
[warning] 42-42: Blank line inside blockquote
(MD028, no-blanks-blockquote)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@README.md` around lines 10 - 45, The README blockquote (lines beginning with
"> **📌 v3.1.0 で Claude Code 専用ツールに整理**" through the following release entries)
contains empty lines between quoted paragraphs causing markdownlint MD028;
remove those blank lines so all quoted lines form a single contiguous blockquote
(ensure every line in that section begins with ">" and merge or reflow paragraph
breaks without an intervening empty quoted line) so entries like "> **📌
v3.1.0..." and "> **🚀 ClaudeOS v9.0..." remain in one continuous blockquote.
|
|
||
| --- | ||
|
|
||
| ## 標準コマンド |
There was a problem hiding this comment.
H2 見出しにアイコンを付与してください。
この範囲の見出しはアイコン無しで、Markdown ガイドラインに反しています(例: ## 📌 ...)。
As per coding guidelines, "**/*.md: Always include icon-based section headers in Markdown documentation..."
Also applies to: 439-439, 476-476, 539-539, 570-570, 615-615, 692-692, 782-782
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@README.md` at line 420, Update the H2 headings to include an icon prefix
(emoji) so they follow the Markdown guideline; for example change the heading
"## 標準コマンド" to "## 📌 標準コマンド" and apply the same pattern to the other H2s
referenced (the other H2 lines in this file) to ensure all "## ..." section
headers include a consistent icon like 📌.
|
|
||
| > CI 側の同等コマンドは [`.github/workflows/ci.yml`](./.github/workflows/ci.yml) と [`.github/workflows/security-scan.yml`](./.github/workflows/security-scan.yml) を参照。 | ||
|
|
||
| 詳細な診断コマンドは [`診断とテスト`](#診断とテスト) セクションへ。 |
There was a problem hiding this comment.
内部リンク断片(MD051)を修正してください。
Line 435 の #診断とテスト 参照が無効判定になっています。実際の見出しアンカーに合わせてリンク先を更新してください。
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 435-435: Link fragments should be valid
(MD051, link-fragments)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@README.md` at line 435, README の内部リンク断片 `#診断とテスト`
が正しい見出しアンカーと一致していないため壊れています;該当箇所(現在のアンカー参照テキスト
`#診断とテスト`)を見出しの実際のアンカーに合わせて修正してください(該当の見出しテキストを確認し、GitHub/markdown
のアンカー生成規則に従って小文字化、空白をハイフンに置換、句読点を除去した形にするか、見出しを変更して参照と一致させる)。
| ## クイックスタート | ||
|
|
||
| ### 前提条件 | ||
|
|
||
| **Windows 側:** | ||
| - Windows 10/11 | ||
| - PowerShell 5.1 以上 | ||
| - Node.js 18 以上 | ||
| - Git / SSH クライアント | ||
|
|
||
| **Linux 側(SSH 起動時):** | ||
| - `claude` / `codex` / `copilot` を実行できる環境 | ||
| - SSH 鍵認証 | ||
|
|
||
| ### セットアップ | ||
|
|
||
| ```cmd | ||
| git clone <repository-url> D:\ClaudeCode-StartUpTools-New | ||
| cd D:\ClaudeCode-StartUpTools-New | ||
| copy config\config.json.template config\config.json | ||
| ``` | ||
|
|
||
| `config/config.json` を環境に合わせて編集: | ||
|
|
||
| ```json | ||
| { | ||
| "projectsDir": "D:\\", | ||
| "sshProjectsDir": "auto", | ||
| "tools": { "defaultTool": "claude" } | ||
| } | ||
| ``` | ||
|
|
||
| ツールインストール: | ||
|
|
||
| ```powershell | ||
| # 必須 (主軸) | ||
| npm install -g @anthropic-ai/claude-code | ||
|
|
||
| # 任意 (併設ランチャーを使う場合のみ) | ||
| npm install -g @openai/codex | ||
| npm install -g @githubnext/github-copilot-cli | ||
| ``` |
There was a problem hiding this comment.
README の運用モデルが同一文書内で矛盾しています。
冒頭では「Claude Code 専用・ローカル一本化」を明示している一方で、この範囲は Codex/Copilot 前提や sshProjectsDir を含む旧運用を案内しており、利用者が誤設定しやすい状態です。現行方針に合わせてセットアップ・設定例を一本化してください。
As per coding guidelines, "Update README.md whenever: user-facing features change, setup procedures change, architecture changes, or quality gates change. ... do not leave README outdated."
Also applies to: 782-790
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@README.md` around lines 570 - 611, The README shows mixed運用 models—keep only
the current Claude-only model: update the setup/config example to remove or mark
legacy SSH usage and set "sshProjectsDir" to a deterministic value (e.g.,
null/empty or remove it) and keep "tools": { "defaultTool": "claude" } as the
single source of truth; remove the optional installer lines for npm install -g
`@openai/codex` and npm install -g `@githubnext/github-copilot-cli` (or move them to
an explicit "legacy/optional" subsection) and clarify the required commands list
to only include npm install -g `@anthropic-ai/claude-code` so users cannot
misconfigure by following Codex/Copilot instructions.
- CHANGELOG.md: supervisor エントリを v3.4.9 に変更、Docker v3.4.8 エントリを追加 - README.md: バージョンを v3.4.9 に更新、テスト件数を 891件 Pester + 232件 bats に更新 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
📌 概要
feat/linux-migrationブランチに積み上げた全変更をmainへ取り込む大型 PR です。大きく 3 つの独立した成果 を含みます。
🗺️ 変更ハイライト
🐧 Linux bash 移行(v3.3.x / v3.4.x)
start.sh/lib/*.sh/bin/*.sh/libexec/*.shを完全 bash 化tests/bats/unit/)shellcheck -S error0 件🪟 Windows ローカル一本化(Phase 1–4)
Start-ClaudeAutoTimeout.ps1(タイムアウト付き claude 自律起動) /Register-AutoRunTask.ps1(Windows Task Scheduler 登録)Start-Menu.ps1S1→ローカル BG 自律 / 項14→AutoRunTask / 項15→Watch-SessionInfo 差替linuxHost全参照削除(150+ 箇所)/SSHHelper.psm1等 SSH 専用ファイル削除config.jsonスキーマ整理(sshProjectsDir・projectsDirUnc削除 /linuxBase→projects改名)🤖 Supervisor Daemon(Phase 5–6)
scripts/dashboards/supervisor-daemon.js(Node.js 組込みのみ・npm 不要)config/processes.json/Register-SupervisorTask.ps1/install-supervisor-service.shserve-dashboard.jsに/api/supervisor/status+ SSEsupervisor-update追加SUPERVISOR_PROCESSES_CFG/SUPERVISOR_STATE_DIR/SUPERVISOR_STATE_FILE)scripts/test/test-supervisor-smoke.js— CI 副作用ゼロの smoke test.github/workflows/ci.ymlubuntu ジョブに Node.js smoke test 追加🧪 テスト結果
大規模変更のため STABLE N=5(CI 5 回連続成功)達成後に squash merge してください。
📋 残課題(merge 後)
LauncherCommon.psm1ローカル既定化)は後続 PR で対応START_PROMPT.md/TASKS.md)は未コミット・次セッションで追加🤖 Generated with Claude Code
Summary by CodeRabbit
リリースノート v3.4.8
New Features
Documentation
Chores
linuxHost削除、linuxBase/localExcludes統一)