Myderは、DockerコンテナでAider(AIコーディングアシスタント)を簡単に実行するためのラッパーツールです。プログラミングや開発作業をAIによってアシストします。必要なツール類が揃ったDockerイメージを使用することで、環境構築の手間を省きます。
-
このリポジトリをクローンします:
git clone https://github.com/uzulla/myder.git cd myder
-
依存パッケージは不要です(標準ライブラリのみで動作)。
-
bin/myder
に実行権限がない場合は付与してください:chmod +x bin/myder
-
bin/
ディレクトリをPATHに追加するか、bin/myder
を直接実行してください。
あるいは以下のようなAliasでもよいでしょう
alias myder='/path/to/myder/bin/myder'
-
プロジェクトディレクトリで以下のコマンドを実行:
cd /path/to/your/project myder run
-
Aiderのシェルが起動します。
-
AIに対して自然言語で指示を出すことができます: 詳しくはAiderのドキュメントを参照してください。
myder run
デフォルトのGemini-2.5-pro-exp-03-25モデルを使用して実行:
特に、このモデルが推奨ということではありません。
myder run --model anthropic/claude-3-opus
利用可能なモデルはOpenRouterのモデル一覧から確認できます。
myder run --nomount
つまり、ホストを破壊しません。
myder run --force-yes
OKをEnterで押すのにつかれた人向け
myder run --model anthropic/claude-3-haiku-20240307 --force-yes --nomount
利用可能なすべてのコマンドとその説明を表示するには、以下を実行してください:
myder --help
これは初めて使う際や、利用可能なオプションを確認したい場合に役立ちます。
myder build
どのディレクトリからでも簡単にMyderを使えるようにするには、bin
ディレクトリをPATHに追加するか、シンボリックリンクを作成すると便利です:
# PATHに追加する場合(.bashrcや.zshrcに記述)
export PATH="/path/to/myder/bin:$PATH"
# またはシンボリックリンクを作成
ln -s /path/to/myder/bin/myder /usr/local/bin/myder
設定後は、任意のディレクトリから以下のように使用できます:
# 基本実行
myder run
# モデル指定
myder run --model anthropic/claude-3-opus
# オプション組み合わせ
myder run --model anthropic/claude-3-haiku-20240307 --force-yes --nomount
都度環境変数 OPENROUTER_API_KEY
を設定するか、.env
ファイルをクローンしたディレクトリに作成し、OpenRouterのAPIキーを設定します:
OPENROUTER_API_KEY=your_api_key_here
たとえば以下のようなファイルが生成されますが、これらはAider実行時に生成されるファイルであり、削除しても問題ありません。
.aider
.aider.chat.history.md
.aider.input.history
AiderをClaude codeのようにつかう(プログラミングに使う)場合、Modelの選定が重要です。
性能の良いものをつかいましょう。たとえば anthropic/claude-3-7-sonnet
です
bin/
myder # CLI実行ファイル(Shebang付、直接実行可能)
src/
myder_core.py # コアロジック
provider/ # Provider追加用ディレクトリ
__init__.py
sample_provider.py
tests/
test_myder_core.py # pytest形式テスト
-
src/provider/
配下に新しいPythonファイル(例:my_provider.py
)を作成し、Provider
クラスを実装してください。# src/provider/my_provider.py class Provider: def run(self, model=None): # ここに処理を記述 pass
-
myder run --model <モデル名>
で実行できます。
pytestでユニットテストを実行できます。
pytest
Q: なぜ、コンテナをビルドしているのか? A: Aiderの公式コンテナはツールが足りない(curlすらない)のでつらいからです。そしてphpまであるのは作者の趣味です。