尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證個人用のカラオケ楽曲管理ツール
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
カラオケで「歌いたい曲」「歌える曲」を管理・検索する個人用Webツール。 • 曲の登録・編集 … PCから Claude Code / Codex などのAIエージェントに指示して docs/songs.json を直接編集する • 曲の検索 … カラオケ中にスマホから GitHub Pages 上の静的Webアプリで検索する バックエンド・DB・APIサーバー・認証なし。GitHubリポジトリがそのままデータストア兼Webアプリになる。運用コストは月額0円。 ビルド不要。素のHTML/CSS/JavaScriptのみで、npmの依存パッケージも無し。 songs.json を fetch で読むため、index.html をファイルとして直接開くのではなくHTTPサーバー経由で開く。 → http://localhost:8080 を開く。(内部で npx serve docs を実行する) Pythonでも可。 Web管理画面は無い。AIエージェントに話しかけて登録する。 エージェントは AGENTS.md のルールに従って、video IDの重複確認・正式な曲名/歌手名の特定・songs.json への追記・validation まで行う。 編集も同じように指示する。檢視完整 README ↗
カラオケで「歌いたい曲」「歌える曲」を管理・検索する個人用Webツール。
docs/songs.json を直接編集するバックエンド・DB・APIサーバー・認証なし。GitHubリポジトリがそのままデータストア兼Webアプリになる。運用コストは月額0円。
公開URL: https://disconeko.github.io/karaoke-tools/
docs/ ← GitHub Pages の公開ディレクトリ
├── index.html ← 検索画面
├── app.js ← 検索・絞り込み・ソート(依存ライブラリなし)
├── style.css ← ダークテーマ
├── songs.json ← 曲データ(唯一のデータストア)
├── manifest.json ← PWA
├── sw.js ← Service Worker(オフラインキャッシュ)
└── icons/
scripts/
└── validate-songs.js ← songs.json の検証
AGENTS.md ← AIエージェント向けの曲登録・編集ルール
ビルド不要。素のHTML/CSS/JavaScriptのみで、npmの依存パッケージも無し。
songs.json を fetch で読むため、index.html をファイルとして直接開くのではなくHTTPサーバー経由で開く。
npm start
→ http://localhost:8080 を開く。(内部で npx serve docs を実行する)
Pythonでも可。
python3 -m http.server 8080 --directory docs
Web管理画面は無い。AIエージェントに話しかけて登録する。
Claude Codeを起動
> この曲登録して
> https://www.youtube.com/watch?v=xxxxx
Claude Codeがsongs.jsonを編集
git diffで確認
git commit / push
スマホからGitHub Pagesを開いて検索
エージェントは AGENTS.md のルールに従って、video IDの重複確認・正式な曲名/歌手名の特定・songs.json への追記・validation まで行う。
編集も同じように指示する。
> Lemonを歌えるにして
> Lemonのキーを-2にして
> Lemonに「ラスサビ怪しい」とメモして
[
{
"id": "yt_-tKVN2mAKRI",
"title": "打上花火",
"artists": ["DAOKO", "米津玄師"],
"tieUp": "打ち上げ花火、下から見るか?横から見るか? 主題歌",
"youtubeUrl": "https://www.youtube.com/watch?v=-tKVN2mAKRI",
"registeredAt": "2026-09-24T21:40:00+09:00",
"status": "interested",
"memo": "デュエット向き"
}
]
| フィールド | 型 | 説明 | デフォルト |
|---|---|---|---|
id | string | yt_ + YouTube video ID。一意 | — |
title | string | 正式な曲名 | — |
artists | string[] | 正式な歌手名。1人でも配列、デュエットは全員 | — |
tieUp | string | アニメ・ドラマなどの作品名(例: 鬼滅の刃 OP) | "" |
youtubeUrl | string | https://www.youtube.com/watch?v=VIDEO_ID 形式 | — |
registeredAt | string | 登録日時。ISO 8601 / 日本時間(+09:00) | 登録時の日時 |
status | string | interested / vague / prepared / singable / confident | interested |
memo | string | 自由記述 | "" |
キー変更の専用フィールドは持ちません。基本は原曲キーで歌う前提で、
補正が必要な曲だけ memo に書きます(例: "サビが高いので-3")。
interested = 興味あり
vague = うろ覚え
prepared = 予習済み
singable = 歌える
confident = 自信あり(十八番)
習熟度の順は interested → vague → prepared → singable → confident。
vague は「部分的にしか歌えない」、prepared は「通しで脳内再生できるが、カラオケで実際に歌ったことがない」、
singable は「実際に歌って一通り歌えた」、confident は「人前で自信を持って歌える」の区別です。
米津 lemon)tieUp も検索対象なので「チェンソーマン」で KICK BACK が出る一覧は1曲2行(曲名+ステータス / 歌手名・メモ)に抑えて、1画面の表示曲数を優先している。
検索はブラウザ上で songs.json を全件読み込んでJavaScriptで行う。検索APIは無い。
歌詞は登録できません。GitHub Pagesは公開サイトなので、歌い出しを含む歌詞の掲載は 著作権(公衆送信権)の侵害になります。曲を思い出す手がかりはサムネイルと作品名で代用しています。
npm run validate
JSONの妥当性、必須フィールド、artists が空でない配列か、status の値、id と video ID の重複などを検証する。エラーがあれば終了コード1で落ちる。
スマホのブラウザで公開URLを開き、共有メニューから「ホーム画面に追加」する。
songs.json をキャッシュするため、カラオケ店で電波が悪くても検索できるWebアプリ側(index.html / app.js / style.css / icons/)を変更したときは docs/sw.js の VERSION を上げること。 上げないとキャッシュが更新されない。曲を追加しただけなら不要。
リポジトリの Settings → Pages で以下を設定する。
Source: Deploy from a branch
Branch: main /docs
数十秒後に https://<ユーザー名>.github.io/<リポジトリ名>/ で公開される。
push するだけ。
git add .
git commit -m "add songs"
git push
GitHub Actions などのCI設定は不要。
公開リポジトリなので、APIキー・パスワード・OAuth secret・private token の類は一切置かない。 YouTube Data API など秘密鍵を必要とする方式はWebアプリ側では使わず、曲情報の取得はAIエージェント側で行う。