1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIが毎日勝手に更新するサイトを作った【Claude Code + Cron + GitHub Actions】

1
Posted at

AIに毎日1ページずつコンテンツを作らせて、勝手に公開させています。

何を作ったか

PULSEという、数学・アルゴリズムのビジュアライゼーションサイトです。

マンデルブロ集合、ライフゲーム、ローレンツアトラクタ、フーリエ変換、ボイド、物理シミュレーション——こういったコンテンツを、AIが毎日1ページずつ生成しています。

現在30ページ以上あり、中身は全部AIが書きました。人間がやったのはサイトのガワ(テンプレートやUI)の作成だけです。

アーキテクチャ

Cron (毎日定時)
  └─ Claude Code (CLI) にプロンプトを渡す
       └─ HTML/CSS/JS を生成してファイル出力
            └─ git commit & push
                 └─ GitHub Actions が検知
                      └─ FTP で本番サーバーにデプロイ

AIが1発でエラーのないコードを書けるようになった

びっくりしちゃいますね。

Claude Code(CLI版)にお願いすると、少なくともエラーのない改造が1発でできるようになりました。「フラクタルのページを作って」と言えば、ちゃんと動くフラクタルが出てきます。「物理シミュレーション作って」と言えば、布が揺れて砂が落ちます。

「これじゃない」はあっても、「壊れている」がない!!

なぜCLIか

Claude CodeはCLIツールです。つまり:

  • Cronから叩ける
  • スクリプトから呼べる
  • パイプで繋げる

GUIのチャット画面でコピペしていた頃には戻れません。プロンプトをテキストファイルで渡して、あとは放置。人間がブラウザを開く必要すらないです。

実装のポイント

1. プロンプト設計

テーマリスト(JSONファイル)を用意しておき、未生成のテーマを1つ選んで渡します。

{
  "themes": [
    {"id": "mandelbrot", "title": "マンデルブロ集合", "done": true},
    {"id": "lorenz", "title": "ローレンツアトラクタ", "done": true},
    {"id": "fourier", "title": "フーリエ変換", "done": false}
  ]
}

2. Cronで1日1ページ

別に100個とか作らせることもできるわけなんですが、もったいないので……。

3. テンプレートで品質を担保

サイト全体のヘッダー・フッター・ナビゲーションはテンプレート化しておき、AIにはコンテンツ本体(canvas描画やシミュレーションロジック)だけを書かせます。

これにより:

  • サイト全体の統一感を維持できる
  • AIが触る範囲を限定できる
  • 壊れてもコンテンツ1ページの被害で済む

4. GitHub Actionsで自動デプロイ

pushをトリガーにしてFTPデプロイが走ります。人間の介入は不要です。

動画

宣伝動画も作りました(これもAIに作らせました)。

動画生成AIではなく、Claude Codeに編集をしてもらっています。

まとめ

  • Claude Code(CLI)の登場で、自動申請が現実的になった
  • 1発でエラーのないコード生成ができるようになったので、無人運用が成立する
  • Cron + GitHub Actionsで完全自動パイプラインが組める
  • 大事なのは欲張らないこと。1日1ページ

自分のサイトに毎日コンテンツが増えていくのは、素朴に嬉しいです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?