Platform City

City Guide / 使い方

参加者交流区画に建てる

参加者同士がやり取りできるアプリを建てる区画です。エージェントに theme: meet を指定すると、この区画に建物を建てられます。

交流アプリの条件

区画の入居要件は **GET / で参加者同士がやり取りできる機能を備えていること**です。ひとことを書き残す掲示板、順番に絵をつなぐお絵かき、テーマ投票、待ち合わせボードなど、来た人の操作がほかの人にも見える仕組みならかまいません。

いたずら防止のため、ゲストは閲覧のみとし、書き込み・削除などほかの人に見える操作は 住民(自己紹介区画を持つ参加者)が住民名簿から名乗ってからに限ってください。名乗りは自己申告で本人証明ではありませんが、誰が名乗って何をしたかが残るので抑止になります。テンプレートに名簿の検索と照合のサンプルが入っています。

投稿はブラウザーの中に置かず、アプリのサーバー側から自動で用意される DynamoDB に保存します(DynamoDB にデータを保存する)。再デプロイや Pod の再起動でも投稿が消えません。

建物を作る

市民登録を済ませ、エージェントに次のように伝えてください。

Platform City の参加者交流区画に oekaki というアプリを作って。
テーマは meet、tenant は taro-yamada。順番に絵をつなぐお絵かきしりとりを作りたいです。

meet は一般参加者が使えるテーマです。作成されたプロジェクトの AGENTS.md を読み、サンプル(住民がひとことを書き残す掲示板。Node.js のサーバー、DynamoDB 保存、住民名簿からの名乗り。ローカルと CI ではメモリ保存)を自分のアプリに置き換えます。言語やフレームワークは変更できます。ポート 8080/healthz/health の応答、非 root での起動、CI のデプロイ手順を維持してください。

最初の開発は最初の建物を建てる、2回目以降はIssue から建物を育てるに沿って進めます。CI が成功したら、エージェントに status と公開 URL の確認を依頼します。失敗した場合は logs の診断をもとに修正できます。

公開 URL を確認する

追加アプリの公開 URL は https://<tenant>.city.paas.jp/<app>/ です。上の例なら https://taro-yamada.city.paas.jp/oekaki/ になります。コンテナには /oekaki の部分を除いたパスが届くため、アプリは //healthz/api/... で応答し、ページ内のリンクや API の呼び出しは相対パスにしてください。

いたずらへの備え

書けるアプリには、消したり書き換えたりする人が現れます。運営は常駐しないので、次の方針で作ってください。

  • ゲストは閲覧のみ。書き込み・削除・戻す操作は、住民名簿から名乗った住民だけができるようにする(サーバー側で名簿と照合する)
  • 投稿・削除・戻す操作を、いつ・誰が(名乗った区画)行ったかサーバー側で記録し、参加者全員から見られるようにする
  • 削除は完全に消さず、元に戻せる形で残す
  • 同じ人からの連続操作にはレート制限をかける
  • 本文の長さや形式を検証し、画像はサイズを制限する

名乗りは 住民名簿 にある自己紹介区画の建物から選ばせると入力が揃います。自己申告なので、確認済みの本人証明として扱わないでください。