```rust fn main (){ let args:string = ""; let argument: Args = Args::new(args); } impl Args{ fn new (args:string) -> Resut{ // 実際の処理 } } ``` このコードの argument を main を Resut 型を返すようにしないで、 argument で Error が帰ってきた場合にはエラーをプリントしてプログラムを終了するようにしたい # 仕様書 ## 概要 git diff の内容を ChatGPT に API で送信して、コミットメッセージの候補を 3 件もらう 3 件の内 1 つを選択して、それをタイトルにしてコミットを実行する。 ## 必要機能 - コンフィグファイルの読み込み - yaml - git diff を取得 - git diff -cached を取得(default) - GPT に API を送信 - レスポンス結果からユーザーに選択を促す - 選択したものからコミットメッセージを作成 - config 機能 - token の設定 - パラメータ最大トークン数 - コミットメッセージの数 - 言語 - git diff --cached かどうか? ## API - URL - Token - message ## 実行コマンド ```bash gptcommit run ``` ```bash gptcommit run --no-cached ``` ```bash gptcommit config --token ``` ```bash gptcommit config --langage ``` ```bash gptcommit config --use-no-cached ``` ```bash gptcommit config --draft ```