🦔

Cursor Composerを使って開発してみる。

2024/12/18に公開

はじめに

前回、GEAR.indigoで要件定義からコード生成まで一通り動かしてみました。
https://zenn.dev/minty1st/articles/ba732ab19d4f33
出来上がったコードはNext.jsで書かれている状態で、すぐにでも動かせるのかなと思いますが、
自分はNext.jsを触ったことがないためよくわかりませんでした。
そこで、作成されたコードの中にあるdocumentsフォルダの内容をもとに新しくコードを書いてみようと思います。
コードを書いていくにあたり、Cursorの目玉機能であるComposer(所謂AIエージェント)を相棒にしてみます。

Docker環境構築

まずはDockerで開発できるようにするためにDockerfile等を作ってみたいと思います。

これがGEAR.indigoで作成された要件定義や基本設計の内容が書かれているJSONです。
これらのファイルをこのように渡してComposerに聞いてみます。


すると、さっそくDockerfileやdocker-compose.ymlが作成されていきます。
す、すごい・・・。
チェックを押していくと、ファイルが保存されます。

いったん、Composerのいうとおりに動いてみます。
まずはDockerを起動してみます。

エラーが発生したので解決方法を聞いてみました。

実際にDocker環境が構築されました。

この後、また別のエラーが出ましたがComposerに聞きながら解決していきました。

最終的にDocker構築後はこのような構成になりました。

docker-compose.yml
version: '3.8'

services:
  frontend:
    build:
      context: ./frontend
      dockerfile: Dockerfile
    volumes:
      - ./frontend:/app
      - /app/node_modules
    ports:
      - "5173:5173"
    environment:
      - NODE_ENV=development
    depends_on:
      - backend

  backend:
    build:
      context: ./backend
      dockerfile: Dockerfile
    volumes:
      - ./backend:/app
    ports:
      - "8000:8000"
    environment:
      - DJANGO_SETTINGS_MODULE=config.settings
      - DATABASE_URL=postgres://postgres:postgres@db:5432/babycare
    depends_on:
      - db

  db:
    image: postgres:15
    volumes:
      - postgres_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=babycare
      - POSTGRES_USER=postgres
      - POSTGRES_PASSWORD=postgres
    ports:
      - "5432:5432"

volumes:
  postgres_data:

次は、documentsの中にあるJSONをもとに実際にコーディングをしていこうと思います。
おしまい

Discussion