1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

「opencode」をお仕事で使おう(3/4)

1
Last updated at Posted at 2026-05-09

記事一覧

「opencode」をお仕事で使おう(1/4)
「opencode」をお仕事で使おう(2/4)
「opencode」をお仕事で使おう(4/4)

今回のお題

「既存コードの改修作業を依頼された」という想定で、以下の一連の作業を実施します。

  • Gitリポジトリのクローン
  • 既存コードの解析
  • 作業用ブランチの作成
  • 機能改修
  • 動作確認
  • コミット
  • mainブランチへのマージ
  • リモートリポジトリへのプッシュ

依頼の内容

Webベースのテキストエディタに対して、次の改修を行ってください。

【「ダウンロード」ボタンを押したときに、ダウンロードするファイル名を指定できるようにしてほしい】

対象のGitリポジトリはこちらです。
https://github.com/YamaGw/sample_text_editor.git

追加のツールのインストール

TortoiseGit

Git操作をGUIで行えるツールです。

WinMarge

ファイルの差分表示やマージをGUIで行えます。

TortoiseGit や TortoiseSVN を先にインストールしておくと、WinMerge との連携を有効にできます。
image.png

改修作業

Gitリポジトリをクローンする

TortoiseGit を使用して、デスクトップにリポジトリをクローンします。

右クリックメニューから「クローン(複製)...」を選択する。
image.png

リポジトリのURLを指定してクローンする。
image.png

リポジトリの中身を確認する。
image.png

既存コードの解析

リポジトリ内にはソースコードのみがあり、README 等のドキュメントは用意されていないようです。これは酷いですね:-P
image.png

ここでは opencode を使って既存コードの解析を行います。

クローンしたリポジトリのルートで Git Bash を起動し、opencode を開始します。
image.png

Plan エージェントに切り替えて、次のように指示します。

@src/ 配下のファイル群を解析して概要を説明して。
日本語でお願い。
動作させるにはどうすればよさそう?

※ 中身は、前回作成した Webベースのテキストエディタです。

作業用ブランチを作成

TortoiseGitを使用して、「main」ブランチを起点に作業用のブランチを作成します。ブランチ名は「workYYYYMMDD」(YYYYMMDDは日付)とします。

右クリックメニューから「ブランチを作成(B)...」を選択する。
image.png

ブランチ名を入力し、「新しいブランチに切り替える」にチェックを入れてOKする。
image.png

会話セッションを切り替える

opencode では話題ごとに /new コマンドで新しい会話セッションを開始してください。会話が長くなるとAIへの負担が大きくなり、応答が遅い、正確な応答ができない、といった問題が起きやすくなります。

image.png

Context欄に表示されるトークン数(AIとやりとりする単語数)を目安にすると判断しやすいです。
image.png

過去の会話セッションは「/session」コマンドで呼び出すことが可能です。

AGENTS.mdを作成する

「/new」で新しい会話セッションを開始したら、Build エージェントに切り替えて「/init」を実行します。

image.png

生成されたAGENTS.mdをテキストエディタで確認します。
image.png

続いて、要件を追記してもらいます。

@AGENTS.md に以下の要件を追記してください。既存の記述はそのまま維持してください。
# 役割・前提
- あなたは 優秀な IT エンジニアとして振る舞うこと。
- HTML 、 javascript および CSS に精通していることを前提とする。
# コミュニケーション方針
- すべてのやり取りは 日本語 で行うこと。
- Git のコミットメッセージ も必ず日本語で記述すること。

再度テキストエディタで内容を確認します。
image.png

改修を依頼する

再度「/new」で会話セッションを切り替えます。

Planエージェントに作業方針を検討してもらいます。

# 「ドキュメント編集」画面の「ダウンロード」ボタンを押したとき、ダウンロードされるファイル名を指定できるようにしたい。仕様は以下の通り。
- ファイル名を入力するポップアップを追加する。
- ポップアップには「ファイル名」入力欄、「キャンセル」ボタン、「ダウンロード」ボタンを備える。
- デフォルトのファイル名として、現在と同じファイル名が入力済みの状態にする。
- キャンセルボタンを押したら、なにもせずポップアップを閉じる。
- ダウンロードボタンを押したら、指定したファイル名でダウンロードが開始されポップアップを閉じる。
- # 改修方針を検討して。

image.png

方針が出たら、Buildエージェントに切り替えて改修を実施してもらいます。

ありがとう。上記方針に従って改修を実施して。

image.png

差分確認と動作確認

TortoiseGitとWinMargeで変更点を確認します。

右クリックメニューから「差分」を選択する。
image.png

内容を確認したいファイルをダブルクリックする。
image.png

WinMargeが起動するので変更点を確認する。
image.png

「./src/login.html」をWebブラウザで開いて動作させる。
image.png

もし問題があるようならopencodeに話しかけて修正を依頼しましょう。

リポジトリにコミットする

問題がなければコミットします。TortoiseGitでも可能ですが、ここでは opencode に実施してもらいます。

問題なしです。コミットしておいて。

image.png

TortoiseGitでログを確認します。

右クリックメニューから「ログを表示」を選択する。
image.png

TortoiseGitのログ画面。
image.png

コメントも考えてくれるので楽ですね。

ブランチをマージする

作業用の「workYYYYMMDD」ブランチを「main」ブランチにマージします。

まず「main」ブランチに切り替えます。

右クリックメニューから「切り替え/チェックアウト...」を選択する。
image.png

「main」ブランチを選択してOKする。
image.png

次に「workYYYYMMDD」ブランチを「main」ブランチにマージします。

右クリックメニューから「マージ...」を選択する。
image.png

From:のブランチとして作業用ブランチを選択しOKする。
image.png

不要になった作業用ブランチを削除する。
image.png

念の為にログを確認する。
image.png

リモートリポジトリにプッシュする

実案件では、最後にリモートへプッシュします。

右クリックメニューから「プッシュ...」を選択する。
image.png

ローカルの「main」ブランチを、リモートの「main」ブランチにプッシュする。
image.png

※本記事で使用したリポジトリは read-only のため、実際にはプッシュできません。

次回は...

次回は Visual Studio Code と opencode を組み合わせた使い方を紹介する予定です。

次記事: 「opencode」をお仕事で使おう(4/4)

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?