cursor.so試してみた(New AI Project編)
背景
前々から気になっていたcursor.soを触ってみる。
先日行われたOpenAIのdevdayでも利用されていた様子。
GitHub Copilotとの棲み分けとかどうなるんだろうね?
CopilotXなるものがあるし、競合していく感じになるのかな?
インストール
以下のURLからインストール可能。
インストール時、特に気をつけるポイントはなし。
- VSCodeのfolkらしいので、VSCodeユーザーはExtensionも引き継げる模様。
- 私の環境だと限られたもののみ反映されている様子。どういう基準で引き継がれているかは不明なため、現時点では再セットアップが必要そう。
- VimとEmacsのキーバインドにも対応している。
- OpenAIのAPIキーを要求されるので、事前に払い出しは必須そう。
- 無料範囲だと、月単位でAPIリクエスト数が制限されている。
- OpenAIへのAPI利用申請をしていない場合どうなる?要確認。
確認したい点
ゼロベースからプロジェクトを起こしてくれる機能があるようなので試してみる。
お題
ざっくりどこまで出来るのかを知りたい。
ある程度複雑化したものでも対応してくれるのか?など。
フロントだけのTODOアプリ作るというのは楽勝で出来ると思うので、プラスアルファの要素を加えて以下のようにする。
- TODOアプリを作成してください。
- フロントエンドはNext.jsで構築してください。
- tailwind.cssでスタイリングしてください。
- バックエンドはNestJSで構築してください。
- DBはPostgreSQLでお願いします。
- それぞれコンテナ化した上で開発できるように、docker-compose.ymlの作成もお願いします。
ファイル出力
File > New AI Project を選択するとプロンプト選択画面になる。
先ほどのお題をGoogle翻訳に入れてそのまま貼り付けてみた。
その後、ディレクトリなどを設定していざ実行!
docker-compose書き始めたぞ...
順調にファイルが追加され続けていってAll done!らしい。
この程度の内容だと5分ぐらいで全部書き終わりました(´・ω・`)
いざ実行
エラーがやけに出ていると思ったら関連ファイルがなかったりでごちゃごちゃしてます。
そもそもdocker-compose up
してもそのままだと動かない(´・ω・`)
Dockerfileを勝手に作ってくれないのかなと思ってたら怪しげなもの発見。
↓↓↓
これ自体はエラー内容をchat形式で教えてくれる様子。
違うこれじゃない(´・ω・`)
とりあえずDockerfileだけ作って、どうにか参照してコード出力させてやる。
結論から言うとできました。
Dockerfileを作成→開く→Command+k→fileでdocker-compose.ymlを指定→プロンプトにcreate Dockerfileを入力。
ただ、frontendの作ってと言ってもbackend用のものを出力してきたりするので、どう使えばいいんだ?という感じ。
ここで気付く
これ自分で作った方が早いわ...
思考のプロセスが挟まらない分、むしろ確認するのしんどいわ...
プロンプトの改善
でもここでめげちゃダメなのよ。プロンプトの改善でどうにか一撃で環境を立ち上げたいのよ。
TypeScriptとDockerfileについて追加して精度上がるかもしれない。
結論としては、途中で出力が止まってしまった。
以下の要件に従って、TODOアプリを作成してください。
- フロントエンドはNext.jsで使用してください。
- TypeScriptを使用してください。
- tailwind.cssを使用してください。
- バックエンドはNestJSで使用してください。
- DBはPostgreSQLでお願いします。
- Dockerfile,docker-compose.ymlを作成し、コンテナで開発ができるようにしてください。
どこまでスコープ絞れば使えるかチェックするためにローカル完結するようにしてみた。
Docker使わないパターン。
結論としてはThinking...というログから返ってこなくなりました。
以下の要件に従って、TODOアプリを作成してください。
- フロントエンドはNext.jsで使用してください。
- TypeScriptを使用してください。
- tailwind.cssを使用してください。
- バックエンドはNestJSを使用してください。
- DBはsqlite3を使用してください。
総論
今のところはNew AI Project
でサクッとプロジェクト作成は難しそうでした。
私の使い方がいまいちな可能性も大いにありえるため、こういう使い方だとうまくいくよ!というものがあれば是非ともコメントください!!
もう少しスコープ狭くすればいけるかもしれないですが、それなら普通に作った方が早いしね。
余談
docsなど他の機能も試してみたんですが、まだ精度が出なさそうなので、当面はChatGPTとGitHub Copilotで十分だなという印象です。
こういうときにcursor使うと便利みたいなユースケースがどんどん出てくると嬉しいですね。
Discussion