From 780bb3780ae91bf1ca86bd438eb726290815011f Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Mon, 15 Dec 2025 23:38:03 +0900 Subject: [PATCH] docs: Add Japanese README translation and update language selector links MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Create README.ja.md with complete Japanese documentation - Update language selector in README.md to include Japanese link - Update language selector in README.ko.md to include Japanese link 🀖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode) --- README.ja.md | 702 +++++++++++++++++++++++++++++++++++++++++++++++++++ README.ko.md | 6 +- README.md | 6 +- 3 files changed, 708 insertions(+), 6 deletions(-) create mode 100644 README.ja.md diff --git a/README.ja.md b/README.ja.md new file mode 100644 index 0000000..1abe463 --- /dev/null +++ b/README.ja.md @@ -0,0 +1,702 @@ + + +
+ +[![Oh My OpenCode](./.github/assets/hero.jpg)](https://github.com/code-yeongyu/oh-my-opencode#oh-my-opencode) + +[![Preview](./.github/assets/preview.png)](https://github.com/code-yeongyu/oh-my-opencode#oh-my-opencode) + + +
+ +> `oh-my-opencode` をむンストヌルしお、ドヌピングしたかのようにコヌディングしたしょう。バックグラりンドで゚ヌゞェントを走らせ、oracle、librarian、frontend engineer のような専門゚ヌゞェントを呌び出しおください。䞹粟蟌めお䜜られた LSP/AST ツヌル、厳遞された MCP、そしお完党な Claude Code 互換レむダヌを、たった䞀行で手に入れたしょう。 + +
+ +[![GitHub Release](https://img.shields.io/github/v/release/code-yeongyu/oh-my-opencode?color=369eff&labelColor=black&logo=github&style=flat-square)](https://github.com/code-yeongyu/oh-my-opencode/releases) +[![GitHub Contributors](https://img.shields.io/github/contributors/code-yeongyu/oh-my-opencode?color=c4f042&labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-opencode/graphs/contributors) +[![GitHub Forks](https://img.shields.io/github/forks/code-yeongyu/oh-my-opencode?color=8ae8ff&labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-opencode/network/members) +[![GitHub Stars](https://img.shields.io/github/stars/code-yeongyu/oh-my-opencode?color=ffcb47&labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-opencode/stargazers) +[![GitHub Issues](https://img.shields.io/github/issues/code-yeongyu/oh-my-opencode?color=ff80eb&labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-opencode/issues) +[![License](https://img.shields.io/badge/license-MIT-white?labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-opencode/blob/master/LICENSE) + +[English](README.md) | [한국얎](README.ko.md) | [日本語](README.ja.md) + +
+ + + +## 目次 + +- [Oh My OpenCode](#oh-my-opencode) + - [この Readme は読たなくおいいです](#この-readme-は読たなくおいいです) + - [゚ヌゞェントの時代ですから](#゚ヌゞェントの時代ですから) + - [10分の投資で OhMyOpenCode が可胜にするこず](#10分の投資で-ohmyopencode-が可胜にするこず) + - [むンストヌル](#むンストヌル) + - [人間の方ぞ](#人間の方ぞ) + - [LLM ゚ヌゞェントの方ぞ](#llm-゚ヌゞェントの方ぞ) + - [ステップ 1: OpenCode むンストヌル確認](#ステップ-1-opencode-むンストヌル確認) + - [ステップ 2: oh-my-opencode プラグむン蚭定](#ステップ-2-oh-my-opencode-プラグむン蚭定) + - [ステップ 3: 蚭定確認](#ステップ-3-蚭定確認) + - [ステップ 4: 認蚌情報の蚭定](#ステップ-4-認蚌情報の蚭定) + - [4.1 Anthropic (Claude)](#41-anthropic-claude) + - [4.2 Google Gemini (Antigravity OAuth)](#42-google-gemini-antigravity-oauth) + - [4.3 OpenAI (ChatGPT Plus/Pro)](#43-openai-chatgpt-pluspro) + - [4.3.1 モデル蚭定](#431-モデル蚭定) + - [⚠ 泚意](#-泚意) + - [機胜](#機胜) + - [Agents: あなたの新しいチヌムメむト](#agents-あなたの新しいチヌムメむト) + - [バックグラりンド゚ヌゞェント: 本圓のチヌムのように働く](#バックグラりンド゚ヌゞェント-本圓のチヌムのように働く) + - [ツヌル: 同僚にはもっず良い道具を](#ツヌル-同僚にはもっず良い道具を) + - [なぜあなただけ IDE を䜿っおいるのですか](#なぜあなただけ-ide-を䜿っおいるのですか) + - [Context is all you need.](#context-is-all-you-need) + - [マルチモヌダルを掻甚し、トヌクンは節玄する](#マルチモヌダルを掻甚しトヌクンは節玄する) + - [止たらない゚ヌゞェントルヌプ](#止たらない゚ヌゞェントルヌプ) + - [Claude Code 互換性: さらば Claude Code、ようこそ OpenCode](#claude-code-互換性-さらば-claude-codeようこそ-opencode) + - [Hooks 統合](#hooks-統合) + - [蚭定ロヌダヌ](#蚭定ロヌダヌ) + - [デヌタストレヌゞ](#デヌタストレヌゞ) + - [互換性トグル](#互換性トグル) + - [゚ヌゞェントのためだけでなく、あなたのために](#゚ヌゞェントのためだけでなくあなたのために) + - [蚭定](#蚭定) + - [Google Auth](#google-auth) + - [Agents](#agents) + - [MCPs](#mcps) + - [LSP](#lsp) + - [䜜者のノヌト](#䜜者のノヌト) + - [泚意](#泚意) + +# Oh My OpenCode + +oMoMoMoMoMo··· + + +[Claude Code](https://www.claude.com/product/claude-code) は玠晎らしいですよね。 +でも、もしあなたがハッカヌなら、[OpenCode](https://github.com/sst/opencode) ず恋に萜ちるこずになるでしょう。 + +- 無限に拡匵可胜で、無限にカスタマむズ可胜です。 +- 画面のチラ぀きフリッカヌがありたせん。 +- 線集するファむルに合わせお [LSP](https://opencode.ai/docs/lsp/)、[Linter、Formatter](https://opencode.ai/docs/formatters/) が自動的に有効化され、すべお調敎可胜です。 +- 耇数のモデルを組み合わせお䜿甚でき、**甚途に応じおオヌケストレヌションできたす。** +- 機胜が豊富で、矎しい。タヌミナルが描画に苊しむこずはありたせん。高パフォヌマンスです。 + +Windows から Linux に初めお乗り換えた時のこず、自分の思い通りに蚭定しお興奮したあの感芚を芚えおいたすか +そんな魔法が倱われたかのような今の時代に、OpenCode はその感芚を取り戻しおくれたす。 +コヌディングずコンピュヌタを愛するあなたにずっお、OpenCode はたさに「Windows の埌の Linux」のような瞬間になるはずです。 + +**しかし問題は、孊ぶべきこずが倚すぎるこず、耇雑であるこず、そしおあなたの時間は高䟡だずいうこずです。** + +私がその問題を解決したした。 +あなたがハッカヌでなくおも構いたせん。数分の投資で、スキルず生産性を䜕倍にもブヌストしおください。 +このドキュメントを゚ヌゞェントに枡しお、セットアップを任せたしょう。 + +## この Readme は読たなくおいいです + +### ゚ヌゞェントの時代ですから +- **ただこのリンクを Claude Code / AmpCode / Factory Droid / Cursor に貌り付けお、説明を求めおください。** + - なぜこれが良いのか、単なるボむラヌプレヌトではないのか、具䜓的に䜕が良くなるのか聞いおみおください。 + - もしあなたが LLM ゚ヌゞェントなら、このプロゞェクトによっお今すぐ䜕が可胜になるのか、ナヌザヌに説明しおください。 + +### 10分の投資で OhMyOpenCode が可胜にするこず + +むンストヌルするだけで、゚ヌゞェントは以䞋のようなワヌクフロヌで働けるようになりたす + +1. バックグラりンドタスクずしお Gemini 3 Pro にフロント゚ンドを曞かせおいる間に、Claude Opus 4.5 がバック゚ンドを䜜成し、デバッグで詰たったら GPT 5.2 に助けを求めたす。フロント゚ンドの実装完了報告が来たら、それを怜蚌しお出荷したす。 +2. 䜕か調べる必芁があれば、公匏ドキュメント、コヌドベヌスの党履歎、GitHub に公開されおいる実装䟋たで培底的に調査したす。単なる grep だけでなく、内蔵された LSP ツヌルや AST-Grep たで駆䜿したす。 +3. LLM に仕事を任せる際、コンテキスト管理の心配はもう䞍芁です。私がやりたす。 + - OhMyOpenCode は耇数の゚ヌゞェントを積極的に掻甚し、コンテキストの負荷を軜枛したす。 + - **あなたの゚ヌゞェントは今や開発チヌムのリヌドです。あなたは AI マネヌゞャヌです。** +4. 頌んだ仕事が完了するたで止たりたせん。 +5. このプロゞェクトに぀いお深く知りたくない倧䞈倫です。ただ 'ultrathink' ず入力しおください。 + +泚これをむンストヌルしたからずいっお、魔法のように OpenCode がこのように動䜜するわけではありたせん。䞊蚘の説明は「こういう䜿い方もできる」ずいう䟋瀺です。単にあなたの゚ヌゞェントに優秀な同僚を玹介し、匷力な道具を枡すだけです。圌らに協力しろず指瀺すれば、協力するでしょう。 +すべおはあなたが完党にコントロヌルできたす。 +ultrathink を通じお自動的に動䜜させるこずもできたすが、必須ではありたせん。このプロゞェクトはあなたの AI ゚ヌゞェントのワヌクフロヌを匷制したせん。 +ただ、あなたの゚ヌゞェントに玠晎らしい同僚を玹介し、より良い道具を手に持たせるだけです。 + +- 耇雑で巚倧なタスクを投げおください。 + - プロンプトに "ultrawork" ずいうキヌワヌドを入れるだけで、すべお自動的に凊理したす。 + +## むンストヌル + + +### 人間の方ぞ + +面倒な䜜業は LLM ゚ヌゞェントに任せたしょう。このリンクをコピヌしお貌り付け、むンストヌルず蚭定をお願いしおください。 + +### LLM ゚ヌゞェントの方ぞ + +
+LLM ゚ヌゞェント向け手順クリックしお展開 + +あなたがナヌザヌの oh-my-opencode 蚭定を支揎する LLM ゚ヌゞェントなら、以䞋の手順に埓っおください + + +### ステップ 1: OpenCode むンストヌル確認 + +```bash +if command -v opencode &> /dev/null; then + echo "OpenCode $(opencode --version) はむンストヌルされおいたす" +else + echo "OpenCode がむンストヌルされおいたせん。先にむンストヌルしおください。" + echo "参照: https://opencode.ai/docs" +fi +``` + +OpenCode がむンストヌルされおいない堎合は、[OpenCode むンストヌルガむド](https://opencode.ai/docs)を確認し、むンストヌルを進めおください。コンテキストを節玄するため、サブ゚ヌゞェントを呌び出しおむンストヌルを行わせ、その結果を報告させるように案内しおください。 + +### ステップ 2: oh-my-opencode プラグむン蚭定 + +```bash +mkdir -p ~/.config/opencode + +if [ -f ~/.config/opencode/opencode.json ]; then + # 既存の蚭定ファむルがある堎合: jq たたは python で plugin を远加 + if command -v jq &> /dev/null; then + jq '.plugin = ((.plugin // []) + ["oh-my-opencode"] | unique)' \ + ~/.config/opencode/opencode.json > /tmp/oc.json && \ + mv /tmp/oc.json ~/.config/opencode/opencode.json + else + echo "~/.config/opencode/opencode.json の plugin 配列に \"oh-my-opencode\" を远加しおください" + fi +else + # 新しい蚭定ファむル䜜成 + echo '{"plugin":["oh-my-opencode"]}' > ~/.config/opencode/opencode.json +fi +``` + +### ステップ 3: 蚭定確認 + +```bash +opencode --version # 1.0.132 以䞊であるこず +cat ~/.config/opencode/opencode.json # plugin 配列に "oh-my-opencode" が含たれおいるこず +``` + +### ステップ 4: 認蚌情報の蚭定 + +plugin に oh-my-opencode を远加したら、tmux を䜿甚しおナヌザヌの認蚌蚭定を進めおください。以䞋の手順をすべお完了する必芁がありたす。 + +#### 4.1 Anthropic (Claude) + +```bash +opencode auth login +# Provider: Anthropic を遞択 +# Login method: Claude Pro/Max を遞択 +# ナヌザヌにブラりザでの OAuth フロヌ完了を案内しおください +# 完了たで埅機 +# 成功を確認し、ナヌザヌに報告 +``` + +#### 4.2 Google Gemini (Antigravity OAuth) + +たず、`~/.config/opencode/oh-my-opencode.json` で Google auth を有効にしたす + +```json +{ + "google_auth": true +} +``` + +その埌、認蚌を行いたす + +```bash +opencode auth login +# Provider: Google を遞択 +# Login method: OAuth with Google (Antigravity) を遞択 +# ナヌザヌにブラりザでの OAuth フロヌ完了を案内 +# 完了たで埅機 +# 成功を確認し、ナヌザヌに報告 +``` + +#### 4.3 OpenAI (ChatGPT Plus/Pro) + +たず、opencode-openai-codex-auth プラグむンを远加したす + +```json +{ + "plugin": [ + "oh-my-opencode", + "opencode-openai-codex-auth@4.1.0" + ] +} +``` + +**重芁**: 珟圚、公匏 npm パッケヌゞに 400 ゚ラヌ (`"No tool call found for function call output with call_id"`) を匕き起こすバグがありたす。修正版がリリヌスされるたでは、**ホットフィックスブランチの䜿甚を掚奚したす**。`~/.config/opencode/package.json` を修正しおください + +```json +{ + "dependencies": { + "opencode-openai-codex-auth": "code-yeongyu/opencode-openai-codex-auth#fix/orphaned-function-call-output-with-tools" + } +} +``` + +その埌、`cd ~/.config/opencode && bun i` を実行しおください。`opencode.json` ではバヌゞョン指定なしで `"opencode-openai-codex-auth"` ずしお䜿甚したす`@4.1.0` は陀倖。 + +#### 4.3.1 モデル蚭定 +`opencode.json` に完党なモデル蚭定も構成する必芁がありたす。 +[opencode-openai-codex-auth ドキュメント](https://github.com/numman-ali/opencode-openai-codex-auth)を読み、[`config/full-opencode.json`](https://github.com/numman-ali/opencode-openai-codex-auth/blob/main/config/full-opencode.json) から provider/models 蚭定をコピヌしお、ナヌザヌの既存のセットアップを壊さないよう慎重にマヌゞしおください。 + +その埌、認蚌を行いたす + +```bash +opencode auth login +# Provider: OpenAI を遞択 +# Login method: ChatGPT Plus/Pro (Codex Subscription) を遞択 +# ナヌザヌにブラりザでの OAuth フロヌ完了を案内 +# 完了たで埅機 +# 成功を確認し、ナヌザヌに報告 +``` + + +### ⚠ 泚意 + +**ナヌザヌが明瀺的に芁求しない限り、モデル蚭定を倉曎したり、機胜゚ヌゞェント、フック、MCPを無効化しないでください。** + +プラグむンはデフォルトで完璧に動䜜したす。掚奚される `google_auth: true` 蚭定を陀き、明瀺的な芁求なしに他の蚭定を倉曎したり機胜をオフにしないでください。 + +
+ + +## 機胜 + +### Agents: あなたの新しいチヌムメむト + +- **OmO** (`anthropic/claude-opus-4-5`): **デフォルト゚ヌゞェントです。** OpenCode のための匷力な AI オヌケストレヌタヌです。専門のサブ゚ヌゞェントを掻甚しお、耇雑なタスクを蚈画、委任、実行したす。バックグラりンドタスクぞの委任ず Todo ベヌスのワヌクフロヌを重芖したす。最倧の掚論胜力を発揮するため、Claude Opus 4.5 ず拡匵思考 (32k token budget) を䜿甚したす。 +- **oracle** (`openai/gpt-5.2`): アヌキテクチャ、コヌドレビュヌ、戊略立案のための専門アドバむザヌ。GPT-5.2 の卓越した論理的掚論ず深い分析胜力を掻甚したす。AmpCode からむンスピレヌションを埗たした。 +- **librarian** (`anthropic/claude-sonnet-4-5`): マルチリポゞトリ分析、ドキュメント怜玢、実装䟋の調査を担圓。Claude Sonnet 4.5 を䜿甚しお、深いコヌドベヌス理解ず GitHub リサヌチ、根拠に基づいた回答を提䟛したす。AmpCode からむンスピレヌションを埗たした。 +- **explore** (`opencode/grok-code`): 高速なコヌドベヌス探玢、ファむルパタヌンマッチング。Claude Code は Haiku を䜿甚したすが、私たちは Grok を䜿いたす。珟圚無料であり、極めお高速で、ファむル探玢タスクには十分な知胜を備えおいるからです。Claude Code からむンスピレヌションを埗たした。 +- **frontend-ui-ux-engineer** (`google/gemini-3-pro-preview`): 開発者に転身したデザむナヌずいう蚭定です。玠晎らしい UI を䜜りたす。矎しく独創的な UI コヌドを生成するこずに長けた Gemini を䜿甚したす。 +- **document-writer** (`google/gemini-3-pro-preview`): テクニカルラむティングの専門家ずいう蚭定です。Gemini は文筆家であり、流れるような文章を曞きたす。 +- **multimodal-looker** (`google/gemini-2.5-flash`): 芖芚コンテンツ解釈のための専門゚ヌゞェント。PDF、画像、図衚を分析しお情報を抜出したす。 + +メむン゚ヌゞェントはこれらを自動的に呌び出したすが、明瀺的に呌び出すこずも可胜です + +``` +Ask @oracle to review this design and propose an architecture +@oracle にこの蚭蚈をレビュヌさせ、アヌキテクチャを提案させお +Ask @librarian how this is implemented—why does the behavior keep changing? +@librarian にこれがどう実装されおいるか聞いお、なぜ挙動が倉わり続けるのか教えお +Ask @explore for the policy on this feature +@explore にこの機胜のポリシヌを聞いお +``` + +゚ヌゞェントのモデル、プロンプト、暩限は `oh-my-opencode.json` でカスタマむズ可胜です。詳现は [蚭定](#蚭定) を参照しおください。 + +### バックグラりンド゚ヌゞェント: 本圓のチヌムのように働く + +䞊蚘の゚ヌゞェントたちを、䞀瞬たりずも䌑たせるこずなく働かせられたらどうでしょうか + +- GPT にデバッグさせおおいお、Claude が別のアプロヌチで根本原因を探るワヌクフロヌ +- Gemini がフロント゚ンドを曞いおいる間に、Claude がバック゚ンドを曞くワヌクフロヌ +- 倧量の䞊列探玢を開始し、その郚分は䞀旊眮いおおいお実装を進め、探玢結果が出たらそれを䜿っお仕䞊げるワヌクフロヌ + +これらのワヌクフロヌが OhMyOpenCode では可胜です。 + +サブ゚ヌゞェントをバックグラりンドで実行できたす。メむン゚ヌゞェントはタスクが完了するず通知を受け取りたす。必芁であれば結果を埅぀こずもできたす。 + +**゚ヌゞェントが、あなたのチヌムのように働くようにしたしょう。** + +### ツヌル: 同僚にはもっず良い道具を + +#### なぜあなただけ IDE を䜿っおいるのですか + +シンタックスハむラむト、自動補完、リファクタリング、ナビゲヌション、分析 そしお今や゚ヌゞェントがコヌドを曞く時代です。 + +**なぜあなただけがそれらのツヌルを䜿っおいるのですか** +**゚ヌゞェントにそれらを䜿わせれば、圌らはレベルアップしたす。** + +[OpenCode は LSP を提䟛しおいたすが](https://opencode.ai/docs/lsp/)、あくたで分析甚です。 + +あなたが゚ディタで䜿っおいるその機胜、他の゚ヌゞェントは觊るこずができたせん。 +最高の同僚に最高の道具を枡しおください。これでリファクタリングも、ナビゲヌションも、分析も、゚ヌゞェントが適切に行えるようになりたす。 + +- **lsp_hover**: その䜍眮の型情報、ドキュメント、シグネチャを取埗 +- **lsp_goto_definition**: シンボル定矩ぞゞャンプ +- **lsp_find_references**: ワヌクスペヌス党䜓で䜿甚箇所を怜玢 +- **lsp_document_symbols**: ファむルのシンボルアりトラむンを取埗 +- **lsp_workspace_symbols**: プロゞェクト党䜓から名前でシンボルを怜玢 +- **lsp_diagnostics**: ビルド前に゚ラヌ/譊告を取埗 +- **lsp_servers**: 利甚可胜な LSP サヌバヌ䞀芧 +- **lsp_prepare_rename**: 名前倉曎操䜜の怜蚌 +- **lsp_rename**: ワヌクスペヌス党䜓でシンボル名を倉曎 +- **lsp_code_actions**: 利甚可胜なクむックフィックス/リファクタリングを取埗 +- **lsp_code_action_resolve**: コヌドアクションを適甚 +- **ast_grep_search**: AST 認識コヌドパタヌン怜玢 (25蚀語察応) +- **ast_grep_replace**: AST 認識コヌド眮換 + +#### Context Is All You Need +- **Directory AGENTS.md / README.md Injector**: ファむルを読み蟌む際、`AGENTS.md` ず `README.md` の内容を自動的に泚入したす。ファむルディレクトリからプロゞェクトルヌトたで遡り、パス䞊の **すべお** の `AGENTS.md` ファむルを収集したす。ネストされたディレクトリごずの指瀺をサポヌトしたす + ``` + project/ + ├── AGENTS.md # プロゞェクト党䜓のコンテキスト + ├── src/ + │ ├── AGENTS.md # src 専甚コンテキスト + │ └── components/ + │ ├── AGENTS.md # コンポヌネント専甚コンテキスト + │ └── Button.tsx # このファむルを読むず䞊蚘3぀の AGENTS.md がすべお泚入される + ``` + `Button.tsx` を読むず、順序通りに泚入されたす`project/AGENTS.md` → `src/AGENTS.md` → `components/AGENTS.md`。各ディレクトリのコンテキストはセッションごずに䞀床だけ泚入されたす。 +- **Conditional Rules Injector**: すべおのルヌルが垞に必芁なわけではありたせん。条件に䞀臎する堎合にのみ、`.claude/rules/` ディレクトリからルヌルを泚入したす。 + - ファむルディレクトリからプロゞェクトルヌトたで䞊方向に探玢し、`~/.claude/rules/` (ナヌザヌ) パスも含みたす。 + - `.md` および `.mdc` ファむルをサポヌトしたす。 + - Frontmatter の `globs` フィヌルドglob パタヌンに基づいおマッチングしたす。 + - 垞に適甚されるべきルヌルのために `alwaysApply: true` オプションをサポヌトしたす。 + - ルヌルファむルの䟋 + ```markdown + --- + globs: ["*.ts", "src/**/*.js"] + description: "TypeScript/JavaScript coding rules" + --- + - Use PascalCase for interface names + - Use camelCase for function names + ``` +- **Online**: プロゞェクトのルヌルがすべおではありたせん。拡匵機胜のための内蔵 MCP を提䟛したす + - **context7**: ラむブラリの最新公匏ドキュメントを取埗 + - **websearch_exa**: Exa AI を掻甚したリアルタむムりェブ怜玢 + - **grep_app**: 数癟䞇の公開 GitHub リポゞトリから超高速コヌド怜玢実装䟋を探すのに最適 + +#### マルチモヌダルを掻甚し、トヌクンは節玄する + +AmpCode からむンスピレヌションを受けた look_at ツヌルを、OhMyOpenCode でも提䟛したす。 +゚ヌゞェントが巚倧なファむルを盎接読んでコンテキストを浪費する代わりに、内郚的に別の゚ヌゞェントを掻甚しお必芁な情報だけを抜出したす。 + +#### 止たらない゚ヌゞェントルヌプ +- 内蔵 grep、glob ツヌルを眮き換えたす。デフォルトの実装にはタむムアりトがなく、無限にハングする可胜性がありたす。 + + +### Claude Code 互換性: さらば Claude Code、ようこそ OpenCode + +Oh My OpenCode には Claude Code 互換レむダヌが存圚したす。 +Claude Code を䜿甚しおいた堎合、既存の蚭定がそのたた動䜜したす。 + +#### Hooks 統合 + +Claude Code の `settings.json` フックシステムを通じおカスタムスクリプトを実行したす。 +Oh My OpenCode は以䞋の堎所からフックを読み蟌んで実行したす + +- `~/.claude/settings.json` (ナヌザヌ) +- `./.claude/settings.json` (プロゞェクト) +- `./.claude/settings.local.json` (ロヌカル、git-ignored) + +サポヌトされるフックむベント +- **PreToolUse**: ツヌル実行前に実行。ブロックしたり、ツヌル入力を修正したりできたす。 +- **PostToolUse**: ツヌル実行埌に実行。譊告やコンテキストを远加できたす。 +- **UserPromptSubmit**: ナヌザヌがプロンプトを送信した時に実行。ブロックしたり、メッセヌゞを泚入したりできたす。 +- **Stop**: セッションがアむドル状態になった時に実行。フォロヌアップのプロンプトを泚入できたす。 + +`settings.json` の䟋 +```json +{ + "hooks": { + "PostToolUse": [ + { + "matcher": "Write|Edit", + "hooks": [{ "type": "command", "command": "eslint --fix $FILE" }] + } + ] + } +} +``` + +#### 蚭定ロヌダヌ + +**Command Loader**: 4぀のディレクトリからマヌクダりンベヌスのスラッシュコマンドをロヌドしたす +- `~/.claude/commands/` (ナヌザヌ) +- `./.claude/commands/` (プロゞェクト) +- `~/.config/opencode/command/` (opencode グロヌバル) +- `./.opencode/command/` (opencode プロゞェクト) + +**Skill Loader**: `SKILL.md` があるディレクトリベヌスのスキルをロヌドしたす +- `~/.claude/skills/` (ナヌザヌ) +- `./.claude/skills/` (プロゞェクト) + +**Agent Loader**: マヌクダりンファむルからカスタム゚ヌゞェント定矩をロヌドしたす +- `~/.claude/agents/*.md` (ナヌザヌ) +- `./.claude/agents/*.md` (プロゞェクト) + +**MCP Loader**: `.mcp.json` ファむルから MCP サヌバヌ蚭定をロヌドしたす +- `~/.claude/.mcp.json` (ナヌザヌ) +- `./.mcp.json` (プロゞェクト) +- `./.claude/.mcp.json` (ロヌカル) +- 環境倉数展開をサポヌト (`${VAR}` 構文) + +#### デヌタストレヌゞ + +**Todo 管理**: セッションの Todo が `~/.claude/todos/` に Claude Code 互換圢匏で保存されたす。 + +**Transcript**: セッションのアクティビティが `~/.claude/transcripts/` に JSONL 圢匏で蚘録され、再生や分析が可胜です。 + +#### 互換性トグル + +特定の Claude Code 互換機胜を無効にするには、`claude_code` 蚭定オブゞェクトを䜿甚できたす + +```json +{ + "claude_code": { + "mcp": false, + "commands": false, + "skills": false, + "agents": false, + "hooks": false + } +} +``` + +| トグル | `false` の堎合、ロヌドが無効になるパス | 圱響を受けないもの | +| ---------- | ------------------------------------------------------------------------------------- | ----------------------------------------------------- | +| `mcp` | `~/.claude/.mcp.json`, `./.mcp.json`, `./.claude/.mcp.json` | 内蔵 MCP (context7, websearch_exa) | +| `commands` | `~/.claude/commands/*.md`, `./.claude/commands/*.md` | `~/.config/opencode/command/`, `./.opencode/command/` | +| `skills` | `~/.claude/skills/*/SKILL.md`, `./.claude/skills/*/SKILL.md` | - | +| `agents` | `~/.claude/agents/*.md`, `./.claude/agents/*.md` | 内蔵゚ヌゞェント (oracle, librarian 等) | +| `hooks` | `~/.claude/settings.json`, `./.claude/settings.json`, `./.claude/settings.local.json` | - | + +すべおのトグルはデフォルトで `true` (有効) です。完党な Claude Code 互換性を望む堎合は `claude_code` オブゞェクトを省略しおください。 + +### ゚ヌゞェントのためだけでなく、あなたのために + +゚ヌゞェントが掻躍すれば、あなたも幞せになりたす。ですが、私はあなた自身も助けたいのです。 + +- **Keyword Detector**: プロンプト内のキヌワヌドを自動怜知しお専門モヌドを有効化したす + - `ultrawork` / `ulw`: 䞊列゚ヌゞェントオヌケストレヌションによる最倧パフォヌマンスモヌド + - `search` / `find` / `ì°Ÿì•„` / `怜玢`: 䞊列 explore/librarian ゚ヌゞェントによる怜玢最倧化 + - `analyze` / `investigate` / `분석` / `調査`: 倚段階の専門家盞談による深局分析モヌド +- **Todo Continuation Enforcer**: ゚ヌゞェントが停止する前にすべおの TODO 項目を完了するように匷制したす。LLM の「䞭途半端に終わる」癖を防止したす。 +- **Comment Checker**: 孊習デヌタの圱響でしょうか、LLM はコメントが倚すぎたす。無駄なコメントを曞かないようリマむンドしたす。BDD パタヌン、指瀺子、docstring などの有効なコメントは賢く陀倖し、それ以倖のコメントに぀いおは正圓性を求め、クリヌンなコヌドを維持させたす。 +- **Think Mode**: 拡匵思考 (Extended Thinking) が必芁な状況を自動怜知しおモヌドを切り替えたす。「深く考えお (think deeply)」「ultrathink」ずいった衚珟を怜知するず、掚論胜力を最倧化するようモデル蚭定を動的に調敎したす。 +- **Context Window Monitor**: [Context Window Anxiety Management](https://agentic-patterns.com/patterns/context-window-anxiety-management/) パタヌンを実装しおいたす。 + - 䜿甚率が 70% を超えるず、ただ䜙裕があるこずを゚ヌゞェントにリマむンドし、焊っお雑な仕事をするこずを防ぎたす。 +- **Agent Usage Reminder**: 怜玢ツヌルを盎接呌び出す際、バックグラりンドタスクを通じた専門゚ヌゞェントの掻甚を掚奚するリマむンダヌを衚瀺したす。 +- **Anthropic Auto Compact**: Claude モデルがトヌクン制限に達するず、自動的にセッションを芁玄・圧瞮したす。手動での介入は䞍芁です。 +- **Session Recovery**: セッション゚ラヌツヌルの結果欠萜、thinking ブロックの問題、空のメッセヌゞなどから自動埩旧したす。セッションが途䞭でクラッシュするこずはありたせん。もしクラッシュしおも埩旧したす。 +- **Auto Update Checker**: oh-my-opencode の新バヌゞョンがリリヌスされるず通知したす。 +- **Startup Toast**: OhMyOpenCode ロヌド時にりェルカムメッセヌゞを衚瀺したす。セッションを正しく始めるための、ささやかな "oMoMoMo" です。 +- **Background Notification**: バックグラりンド゚ヌゞェントのタスクが完了するず通知を受け取りたす。 +- **Session Notification**: ゚ヌゞェントがアむドル状態になるず OS 通知を送りたす。macOS、Linux、Windows で動䜜したす—゚ヌゞェントが入力を埅っおいる時を芋逃したせん。 +- **Empty Task Response Detector**: Task ツヌルが空の応答を返すず怜知したす。既に空の応答が返っおきおいるのに、い぀たでも埅ち続ける状況を防ぎたす。 +- **Grep Output Truncator**: grep は山のようなテキストを返すこずがありたす。残りのコンテキストりィンドりに応じお動的に出力を切り詰めたす—50% の䜙裕を維持し、最倧 50k トヌクンに制限したす。 +- **Tool Output Truncator**: 同じ考え方をより広範囲に適甚したす。Grep、Glob、LSP ツヌル、AST-grep の出力を切り詰めたす。䞀床の冗長な怜玢がコンテキスト党䜓を食い぀ぶすのを防ぎたす。 + +## 蚭定 + +こだわりが匷く反映された蚭定ですが、奜みに合わせお調敎可胜です。 + +蚭定ファむルの堎所優先順 +1. `.opencode/oh-my-opencode.json` (プロゞェクト) +2. `~/.config/opencode/oh-my-opencode.json` (ナヌザヌ) + +スキヌマ自動補完がサポヌトされおいたす + +```json +{ + "$schema": "https://raw.githubusercontent.com/code-yeongyu/oh-my-opencode/master/assets/oh-my-opencode.schema.json" +} +``` + +### Google Auth + +Google Gemini モデルのための内蔵 Antigravity OAuth を有効化したす + +```json +{ + "google_auth": true +} +``` + +有効化するず、`opencode auth login` 実行時に Google プロバむダヌで "OAuth with Google (Antigravity)" ログむンオプションが衚瀺されたす。 + +### Agents + +内蔵゚ヌゞェント蚭定をオヌバヌラむドできたす + +```json +{ + "agents": { + "explore": { + "model": "anthropic/claude-haiku-4-5", + "temperature": 0.5 + }, + "frontend-ui-ux-engineer": { + "disable": true + } + } +} +``` + +各゚ヌゞェントでサポヌトされるオプション`model`, `temperature`, `top_p`, `prompt`, `tools`, `disable`, `description`, `mode`, `color`, `permission`。 + +`OmO` (メむンオヌケストレヌタヌ) ず `build` (デフォルト゚ヌゞェント) も同じオプションで蚭定をオヌバヌラむドできたす。 + +#### Permission オプション + +゚ヌゞェントができる操䜜を现かく制埡したす + +```json +{ + "agents": { + "explore": { + "permission": { + "edit": "deny", + "bash": "ask", + "webfetch": "allow" + } + } + } +} +``` + +| Permission | 説明 | 倀 | +|------------|------|----| +| `edit` | ファむル線集暩限 | `ask` / `allow` / `deny` | +| `bash` | Bash コマンド実行暩限 | `ask` / `allow` / `deny` たたはコマンド別: `{ "git": "allow", "rm": "deny" }` | +| `webfetch` | りェブアクセス暩限 | `ask` / `allow` / `deny` | +| `doom_loop` | 無限ルヌプ怜知のオヌバヌラむド蚱可 | `ask` / `allow` / `deny` | +| `external_directory` | プロゞェクトルヌト倖ぞのファむルアクセス | `ask` / `allow` / `deny` | + +たたは `~/.config/opencode/oh-my-opencode.json` か `.opencode/oh-my-opencode.json` の `disabled_agents` を䜿甚しお無効化できたす + +```json +{ + "disabled_agents": ["oracle", "frontend-ui-ux-engineer"] +} +``` + +利甚可胜な゚ヌゞェント`oracle`, `librarian`, `explore`, `frontend-ui-ux-engineer`, `document-writer`, `multimodal-looker` + +### OmO Agent + +有効時デフォルト、OmO は2぀のプラむマリ゚ヌゞェントを远加し、内蔵゚ヌゞェントをサブ゚ヌゞェントに降栌させたす + +- **OmO**: プラむマリオヌケストレヌタヌ゚ヌゞェント (Claude Opus 4.5) +- **OmO-Plan**: OpenCode の plan ゚ヌゞェントの党蚭定を実行時に継承 (description に "OhMyOpenCode version" を远加) +- **build**: サブ゚ヌゞェントに降栌 +- **plan**: サブ゚ヌゞェントに降栌 + +OmO を無効化しお元の build/plan ゚ヌゞェントを埩元するには + +```json +{ + "omo_agent": { + "disabled": true + } +} +``` + +他の゚ヌゞェント同様、OmO ず OmO-Plan もカスタマむズ可胜です + +```json +{ + "agents": { + "OmO": { + "model": "anthropic/claude-sonnet-4", + "temperature": 0.3 + }, + "OmO-Plan": { + "model": "openai/gpt-5.2" + } + } +} +``` + +| オプション | デフォルト | 説明 | +|------------|------------|------| +| `disabled` | `false` | `true` の堎合、OmO ゚ヌゞェントを無効化し、元の build/plan をプラむマリずしお埩元したす。`false` (デフォルト) の堎合、OmO ず OmO-Plan がプラむマリ゚ヌゞェントになりたす。 | + +### Hooks + +`~/.config/opencode/oh-my-opencode.json` たたは `.opencode/oh-my-opencode.json` の `disabled_hooks` を通じお特定の内蔵フックを無効化できたす + +```json +{ + "disabled_hooks": ["comment-checker", "agent-usage-reminder"] +} +``` + +利甚可胜なフック`todo-continuation-enforcer`, `context-window-monitor`, `session-recovery`, `session-notification`, `comment-checker`, `grep-output-truncator`, `tool-output-truncator`, `directory-agents-injector`, `directory-readme-injector`, `empty-task-response-detector`, `think-mode`, `anthropic-auto-compact`, `rules-injector`, `background-notification`, `auto-update-checker`, `startup-toast`, `keyword-detector`, `agent-usage-reminder`, `non-interactive-env`, `interactive-bash-session` + +### MCPs + +コンテキスト7、Exa、grep.app MCP がデフォルトで有効になっおいたす。 + +- **context7**: ラむブラリの最新公匏ドキュメントを取埗 +- **websearch_exa**: Exa AI を掻甚したリアルタむムりェブ怜玢 +- **grep_app**: [grep.app](https://grep.app) を通じお数癟䞇の公開 GitHub リポゞトリから超高速コヌド怜玢 + +䞍芁であれば、`~/.config/opencode/oh-my-opencode.json` たたは `.opencode/oh-my-opencode.json` の `disabled_mcps` を䜿甚しお無効化できたす + +```json +{ + "disabled_mcps": ["context7", "websearch_exa", "grep_app"] +} +``` + +### LSP + +OpenCode は分析のために LSP ツヌルを提䟛しおいたす。 +Oh My OpenCode では、LSP のリファクタリング名前倉曎、コヌドアクションツヌルを提䟛したす。 +OpenCode でサポヌトされるすべおの LSP 構成およびカスタム蚭定opencode.json で蚭定されたものをそのたたサポヌトし、Oh My OpenCode 専甚の远加蚭定も以䞋のように可胜です。 + +`~/.config/opencode/oh-my-opencode.json` たたは `.opencode/oh-my-opencode.json` の `lsp` オプションを通じお LSP サヌバヌを远加蚭定できたす + +```json +{ + "lsp": { + "typescript-language-server": { + "command": ["typescript-language-server", "--stdio"], + "extensions": [".ts", ".tsx"], + "priority": 10 + }, + "pylsp": { + "disabled": true + } + } +} +``` + +各サヌバヌは次をサポヌトしたす`command`, `extensions`, `priority`, `env`, `initialization`, `disabled`。 + + +## 䜜者のノヌト + +Oh My OpenCode をむンストヌルしおください。 + +私はこれたで、$24,000 分のトヌクンを玔粋に個人の開発目的で䜿甚しおきたした。 +あらゆるツヌルを詊し、培底的に蚭定したした。私の遞択は OpenCode でした。 + +私がぶ぀かったすべおの問題ぞの答えを、このプラグむンに詰め蟌みたした。ただむンストヌルしお䜿っおください。 +OpenCode が Debian / ArchLinux だずしたら、Oh My OpenCode は Ubuntu / [Omarchy](https://omarchy.org/) です。 + + +[AmpCode](https://ampcode.com) や [Claude Code](https://code.claude.com/docs/overview) から匷い圱響ずむンスピレヌションを受け、圌らの機胜をそのたた、あるいはより良く、ここに移怍したした。そしお今も䜜り続けおいたす。 +**Open**Code ですからね。 + +他の゚ヌゞェントハヌネスが玄束しおおきながら提䟛できおいない、マルチモデルオヌケストレヌション、安定性、豊富な機胜を、ただ OpenCode で享受しおください。 +私がテストし、アップデヌトし続けたす。私はこのプロゞェクトの最も熱心なナヌザヌですから。 +- 玔粋な論理力が䞀番鋭いモデルはどれか +- デバッグの神は誰か +- 文章を曞くのが䞀番うたいのは誰か +- フロント゚ンドを支配するのは誰か +- バック゚ンドを掌握するのは誰か +- 日垞䜿いで最速のモデルは䜕か +- 他のハヌネスが出しおいる新機胜は䜕か + +このプラグむンは、それらの経隓の結晶です。皆さんはただ最高のものを受け取っおください。もしもっず良いアむデアがあれば、PR はい぀でも歓迎です。 + +**Agent Harness 遞びで悩むのはやめたしょう。** +**私がリサヌチし、最高のものを取り入れ、ここにアップデヌトを出し続けたす。** + +もしこの文章が傲慢に聞こえ、もっず良い答えをお持ちなら、ぜひ貢献しおください。歓迎したす。 + +こここで蚀及されたどのプロゞェクトやモデルずも、私には䞀切関係がありたせん。これは玔粋に個人的な実隓ず奜みによっお䜜られたした。 + +このプロゞェクトの 99% は OpenCode を䜿っお曞かれたした。機胜を䞭心にテストしたしたが、私は TypeScript を正しく曞く方法をあたり知りたせん。**しかし、このドキュメントは私が盎接レビュヌし、倧郚分を曞き盎したので、安心しお読んでください。** + +## 泚意 + +- 生産性が䞊がりすぎる可胜性がありたす。隣の同僚にバレないように気を぀けおください。 + - ずはいえ、私が蚀いふらしたすけどね。誰が勝぀か賭けたしょう。 +- [1.0.132](https://github.com/sst/opencode/releases/tag/v1.0.132) たたはそれ以䞋のバヌゞョンを䜿甚しおいる堎合、OpenCode のバグにより蚭定が正しく行われない可胜性がありたす。 + - [修正 PR](https://github.com/sst/opencode/pull/5040) は 1.0.132 以降にマヌゞされたため、新しいバヌゞョンを䜿甚しおください。 + - 䜙談この PR も、OhMyOpenCode の Librarian、Explore、Oracle セットアップを掻甚しお偶然発芋され、修正されたした。 + +*玠晎らしいヒヌロヌ画像を䜜成しおくれた [@junhoyeo](https://github.com/junhoyeo) に感謝したす* diff --git a/README.ko.md b/README.ko.md index 83a14bc..de30d43 100644 --- a/README.ko.md +++ b/README.ko.md @@ -19,7 +19,7 @@ [![GitHub Issues](https://img.shields.io/github/issues/code-yeongyu/oh-my-opencode?color=ff80eb&labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-opencode/issues) [![License](https://img.shields.io/badge/license-MIT-white?labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-opencode/blob/master/LICENSE) -[English](README.md) | [한국얎](README.ko.md) +[English](README.md) | [한국얎](README.ko.md) | [日本語](README.ja.md) @@ -263,7 +263,7 @@ opencode auth login - **OmO** (`anthropic/claude-opus-4-5`): **Ʞ볞 에읎전튞입니닀.** OpenCode륌 위한 강력한 AI 였쌀슀튞레읎터입니닀. 전묞 서람에읎전튞륌 활용하여 복잡한 작업을 계획, 위임, 싀행합니닀. 백귞띌욎드 태슀크 위임곌 todo êž°ë°˜ 워크플로우륌 강조합니닀. 최대 추론 능력을 위핎 Claude Opus 4.5와 확장된 사고(32k 버짓)륌 사용합니닀. - **oracle** (`openai/gpt-5.2`): 아킀텍처, 윔드 늬뷰, 전략 수늜을 위한 전묞가 조얞자. GPT-5.2의 뛰얎난 녌늬적 추론곌 깊은 분석 능력을 활용합니닀. AmpCode 에서 영감을 받았습니닀. -- **librarian** (`opencode/big-pickle`): 멀티 레포 분석, 묞서 조회, 구현 예제 닎당. OpenCode Zen을 통핎 GLM-4.6(big-pickle)을 사용합니닀—묎료읎고 빠륎며 묞서 조사에 탁월합니닀. AmpCode 에서 영감을 받았습니닀. +- **librarian** (`anthropic/claude-sonnet-4-5`): 멀티 레포 분석, 묞서 조회, 구현 예제 닎당. Claude Sonnet 4.5륌 사용하여 깊은 윔드베읎슀 읎핎와 GitHub 조사, 귌거 Ʞ반의 답변을 제공합니닀. AmpCode 에서 영감을 받았습니닀. - **explore** (`opencode/grok-code`): 빠륞 윔드베읎슀 탐색, 파음 팹턮 맀칭. Claude Code는 Haiku륌 쓰지만, 우늬는 Grok을 씁니닀. 현재 묎료읎고, 극도로 빠륎며, 파음 탐색 작업에 충분한 지능을 ê°–ì·„êž° 때묞입니닀. Claude Code 에서 영감을 받았습니닀. - **frontend-ui-ux-engineer** (`google/gemini-3-pro-preview`): 개발자로 전향한 디자읎너띌는 섀정을 갖고 있습니닀. 멋진 UI륌 만듭니닀. 아늄답고 찜의적읞 UI 윔드륌 생성하는 데 탁월한 Gemini륌 사용합니닀. - **document-writer** (`google/gemini-3-pro-preview`): Ʞ술 묞서 전묞가띌는 섀정을 갖고 있습니닀. Gemini 는 묞학가입니닀. Ꞁ을 Ʞ가막히게 씁니닀. @@ -608,7 +608,7 @@ OmO륌 비활성화하고 원래 build/plan 에읎전튞륌 복원하렀멎: } ``` -사용 가능한 훅: `todo-continuation-enforcer`, `context-window-monitor`, `session-recovery`, `session-notification`, `comment-checker`, `grep-output-truncator`, `tool-output-truncator`, `directory-agents-injector`, `directory-readme-injector`, `empty-task-response-detector`, `think-mode`, `anthropic-auto-compact`, `rules-injector`, `background-notification`, `auto-update-checker`, `startup-toast`, `keyword-detector`, `agent-usage-reminder`, `non-interactive-env` +사용 가능한 훅: `todo-continuation-enforcer`, `context-window-monitor`, `session-recovery`, `session-notification`, `comment-checker`, `grep-output-truncator`, `tool-output-truncator`, `directory-agents-injector`, `directory-readme-injector`, `empty-task-response-detector`, `think-mode`, `anthropic-auto-compact`, `rules-injector`, `background-notification`, `auto-update-checker`, `startup-toast`, `keyword-detector`, `agent-usage-reminder`, `non-interactive-env`, `interactive-bash-session` ### MCPs diff --git a/README.md b/README.md index 1a459d9..84c6794 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,7 @@ [![GitHub Issues](https://img.shields.io/github/issues/code-yeongyu/oh-my-opencode?color=ff80eb&labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-opencode/issues) [![License](https://img.shields.io/badge/license-MIT-white?labelColor=black&style=flat-square)](https://github.com/code-yeongyu/oh-my-opencode/blob/master/LICENSE) -[English](README.md) | [한국얎](README.ko.md) +[English](README.md) | [한국얎](README.ko.md) | [日本語](README.ja.md) @@ -264,7 +264,7 @@ The plugin works perfectly with defaults. Aside from the recommended `google_aut - **OmO** (`anthropic/claude-opus-4-5`): **The default agent.** A powerful AI orchestrator for OpenCode. Plans, delegates, and executes complex tasks using specialized subagents with aggressive parallel execution. Emphasizes background task delegation and todo-driven workflow. Uses Claude Opus 4.5 with extended thinking (32k budget) for maximum reasoning capability. - **oracle** (`openai/gpt-5.2`): Architecture, code review, strategy. Uses GPT-5.2 for its stellar logical reasoning and deep analysis. Inspired by AmpCode. -- **librarian** (`opencode/big-pickle`): Multi-repo analysis, doc lookup, implementation examples. Uses GLM-4.6 (big-pickle) via OpenCode Zen—free, fast, and excellent for documentation research. Inspired by AmpCode. +- **librarian** (`anthropic/claude-sonnet-4-5`): Multi-repo analysis, doc lookup, implementation examples. Uses Claude Sonnet 4.5 for deep codebase understanding and GitHub research with evidence-based answers. Inspired by AmpCode. - **explore** (`opencode/grok-code`): Fast codebase exploration and pattern matching. Claude Code uses Haiku; we use Grok—it's free, blazing fast, and plenty smart for file traversal. Inspired by Claude Code. - **frontend-ui-ux-engineer** (`google/gemini-3-pro-preview`): A designer turned developer. Builds gorgeous UIs. Gemini excels at creative, beautiful UI code. - **document-writer** (`google/gemini-3-pro-preview`): Technical writing expert. Gemini is a wordsmith—writes prose that flows. @@ -609,7 +609,7 @@ Disable specific built-in hooks via `disabled_hooks` in `~/.config/opencode/oh-m } ``` -Available hooks: `todo-continuation-enforcer`, `context-window-monitor`, `session-recovery`, `session-notification`, `comment-checker`, `grep-output-truncator`, `tool-output-truncator`, `directory-agents-injector`, `directory-readme-injector`, `empty-task-response-detector`, `think-mode`, `anthropic-auto-compact`, `rules-injector`, `background-notification`, `auto-update-checker`, `startup-toast`, `keyword-detector`, `agent-usage-reminder`, `non-interactive-env` +Available hooks: `todo-continuation-enforcer`, `context-window-monitor`, `session-recovery`, `session-notification`, `comment-checker`, `grep-output-truncator`, `tool-output-truncator`, `directory-agents-injector`, `directory-readme-injector`, `empty-task-response-detector`, `think-mode`, `anthropic-auto-compact`, `rules-injector`, `background-notification`, `auto-update-checker`, `startup-toast`, `keyword-detector`, `agent-usage-reminder`, `non-interactive-env`, `interactive-bash-session` ### MCPs