Invokable > 戻る
2026-01-25
Laravel

GitHub Copilot CLI SDK for Laravel

他言語版の公式SDKを元にLaravel版もさっと開発できた。

Laravel version of GitHub Copilot CLI SDK. Contribute to invokable/laravel-copilot-sdk development by creating an account on GitHub.

公式SDKの使い方そのままではLaravelらしくないのでFacadeを使ったLaravel流の使い方ができるようにしている。

use Revolution\Copilot\Facades\Copilot;

$response = Copilot::run(prompt: 'What is 2 + 2?');

echo $response->content();
use Revolution\Copilot\Contracts\CopilotSession;
use Revolution\Copilot\Facades\Copilot;

Copilot::start(function (CopilotSession $session) {
    echo 'Starting Copilot session: '.$session->id();

    $response = $session->sendAndWait(prompt: 'Tell me something about PHP.');
    echo $response->content();

    $response = $session->sendAndWait(prompt: 'How about Laravel?');
    echo $response->content();
});
  1. fake()

fake()

いつからかLaravelで使われ出して最近はサードパーティパッケージでも普及しているfake()メソッドでのモック。
お馴染みMockeryのshouldReceive()expects()はFacadeを使えば自動的に対応するので簡単だけどfake()を真似するのは中々大変。

こんなテストを書けるようにしたいのでがんばって対応。

use Revolution\Copilot\Facades\Copilot;

Copilot::fake('4');

$response = Copilot::run(prompt: 'What is 2 + 2?');

expect($response->content())->toBe('4');

Copilot::assertPrompt('What is *');
Copilot::assertPromptCount(1);
投稿者 Invokable
0件のコメントを読むにはログインしてください。
登録 ログイン