claude-video-effects
Claude Code용 51가지 영상 효과, 말하는 클립 삽입 후 /effects orbit 입력, 얼굴 추적·머리 뒤 레이어 제공
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗「今すること」を一番上に置き、Taskをまとめて管理できるシンプルなWebアプリです。
localStorage はその控えタスクは「すること」「完了」「中止」「アーカイブ」の4つの状態を行き来します。
| 状態 | 置き場所 | 使いどころ |
|---|---|---|
| すること | 「すること」セクション | これから手を動かすタスク。優先順位を並び替えられます |
| 完了 | 「Completed」セクション | 終わったタスク。「先月以前の完了をすべて削除」でまとめて片づけられます |
| 中止 | 「Canceled」セクション | やらずに取りやめたタスク。完了とは分けて残り、一括削除では消えません |
| アーカイブ | 「Archived」セクション | 終わったあとも、そのとき作った資料やリンクを見返したいタスク。一括削除では消えません |
このアプリはビルドを必要としない静的Webアプリです。リポジトリのルートで任意のHTTPサーバーを起動し、表示されたURLへアクセスしてください。
python3 -m http.server 8000
その後、http://localhost:8000/ を開きます。file:// で直接開くのではなくHTTPサーバーを利用してください。
SUPABASE_URL と SUPABASE_ANON_KEY を登録し、再デプロイします。値はリポジトリへコミットしないでください。SUPABASE_SERVICE_ROLE_KEY は不要で、ブラウザーへ公開してはいけません。index.html が通常のURL(/)のエントリーポイントです。Vercel用設定は vercel.json に含まれています。
ログインしていれば、Supabaseの <ユーザーID>/TodoMemo-latest.json が最新の正本です。localStorage は、その控え(オフライン用のコピー)として同じ内容を持ちます。ログインしていないときは従来どおり localStorage だけに保存され、そのPCの中だけで完結します。
通信に失敗してもローカル保存とアプリ操作には影響しません。接続が戻ったときにまとめて同期します。従来のJSONダウンロードとファイルからの復元も引き続き利用できます。
複数のPCで使うと、しばらく開いていなかったPCが古い内容をクラウドへ書き戻してしまう事故が起こりがちです。TodoMemoは次の4つでこれを防ぎます。
sync.revision という版番号が入っています。各PCは「自分の内容が何版をもとにしているか」を覚えていて、書き込む直前にクラウドを読み直します。版が進んでいたら書き込みません。版番号は内部的な仕組みなので、画面には表示しません。クラウドが上書きされるたびに、上書き前の内容が <ユーザーID>/TodoMemo-history/ へ1件ずつ保管されます。画面上部の「クラウド履歴」からいつでも戻せます。バケットは他のアプリと共有できるよう、ファイル名・フォルダー名をアプリ名で始めています(TodoMemo-latest.json と TodoMemo-history/)。
<ユーザーID>/history/ に保存した履歴も引き続き一覧に並び、戻せます。新しい履歴は TodoMemo-history/ にのみ保存されます。画面上部の表示の意味は次のとおりです。
| 表示 | 状態 |
|---|---|
| クラウドと同期済み | 最新。最終同期時刻を併記します |
| 変更を同期待ち/クラウドと同期中… | 送信の準備中・通信中 |
| 同期を保留中(…) | 確認待ち。「同期の確認」から残す方を選びます |
| クラウドに接続できません(ローカルに保存済み) | 通信不可。ローカルには保存済みで、復帰時に同期します |
| クラウド同期は未設定(ローカル保存のみ) | 環境変数が未設定。localStorage だけで動作します |
同期は、変更の約1.5秒後・タブに戻ったとき・1分ごと・「今すぐ同期」を押したときに実行します。
「バックアップから復元」を押すと、現在のデータとファイルの内容を並べて比較できます。
| 現在のデータ | バックアップ | |
|---|---|---|
| 最終更新 | 2026年8月12日(水) 21:02 | 2026年8月12日(水) 18:01 |
| タスク | 13件(未完了13・完了0・中止0・アーカイブ0) | 13件(未完了13・完了0・中止0・アーカイブ0) |
| 分類タグ | 0件 | 3件 |
| Project | 12件 | 12件 |
ファイルが現在のデータより古いときは、失われる時間の長さを示した赤い警告が出ます。復元ボタンは「古い内容で上書きする」に変わり、チェックボックスで確認するまで押せません。件数が同じでも時刻が古ければ止まるため、時間をさかのぼる操作を見落とさずに済みます。
「最終更新」は、データを最後に書き換えた時刻を記録して判定します。記録がない場合は、タスクやProjectの作成日時から推定します。どちらも読み取れないときは、その旨を表示して件数での判断を促します。
以前の自動バックアップで作られたファイルには版番号がありません。初回ログイン時に、そのPCの内容とクラウドの内容が同じであれば版番号を付けるだけで移行が完了します。内容が違う場合は、どちらが新しいか判断できないため一度だけ確認画面が出ます。以降は自動です。
todo-backups バケットが Publicではないことを確認します。create policy "TodoMemo users can read own backup"
on storage.objects for select to authenticated
using (bucket_id = 'todo-backups' and (storage.foldername(name))[1] = (select auth.uid()::text));
create policy "TodoMemo users can create own backup"
on storage.objects for insert to authenticated
with check (bucket_id = 'todo-backups' and (storage.foldername(name))[1] = (select auth.uid()::text));
create policy "TodoMemo users can update own backup"
on storage.objects for update to authenticated
using (bucket_id = 'todo-backups' and (storage.foldername(name))[1] = (select auth.uid()::text))
with check (bucket_id = 'todo-backups' and (storage.foldername(name))[1] = (select auth.uid()::text));
-- 古いクラウド履歴の削除に必要です。未設定でも同期は動作しますが、履歴が増え続けます。
create policy "TodoMemo users can delete own backup"
on storage.objects for delete to authenticated
using (bucket_id = 'todo-backups' and (storage.foldername(name))[1] = (select auth.uid()::text));
SUPABASE_URL、SUPABASE_ANON_KEY に設定します。anon keyはRLS適用下で使う公開用キーですが、環境ごとの設定として管理します。ローカル開発でクラウド同期も確認する場合は vercel dev を使い、Vercel CLIの環境変数(例: .env.local。Git管理対象外)に同じ2変数を設定してください。単純なHTTPサーバーでは /api/supabase-config.js が動作しないため、クラウド同期は「未設定」と表示され、ローカル保存だけで動作します。