myspoti
Native Android client for Spotify, built with Jetpack Compose
AIニュースマスコットアプリ - ゆうこと一緒にニュースを読もう
Translation pending
MediaRust · TypeScriptGitHub @chikamatsu-takayaOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗ゆうこのニュース日和 は、マスコットキャラクター「ゆうこ」と一緒にニュースを読みやすくする、デスクトップ向けAIニュースコンパニオンアプリです。
ニュース取得、AI要約、用語解説、ゆうこ辞書、友情ランク、カスタマイズ要素などを組み合わせ、難しいニュースを「ちょっと読んでみようかな」と思える体験にすることを目指しています。
本アプリは、ユーザーの関心ジャンルに応じてニュースを取得し、AIによる要約・再説明・用語解説を付与するデスクトップアプリです。
主な特徴は以下です。
本プロジェクトでは、以下の技術構成を基本方針とします。
| 領域 | 技術 | 役割 |
|---|---|---|
| デスクトップアプリ基盤 | Tauri v2 | WebView表示、Rust連携、OS連携 |
| UI | React | 画面、ゆうこ表示、吹き出し、モーダル |
| UI言語 | TypeScript | UI実装、型安全な画面制御 |
| 中核ロジック | Rust | ニュース取得、AI連携、保存、状態管理 |
| パッケージ管理 | pnpm | フロントエンド依存管理 |
| ローカル保存 | Markdown / JSON | ニュース、辞書、設定、状態情報 |
| AI利用 | Gemini API + MockProvider | 要約、用語解説、ゆうこの一言 |
現時点では、v0で生成したUIプロトタイプをもとに、Tauriアプリとして起動できる基盤を追加しています。
現在の主な状態:
pnpm tauri dev でTauriウィンドウ表示を確認済みgit clone <repository-url>
cd yuuko_news
pnpm install
pnpm tauri dev
Tauriウィンドウが起動し、アプリ画面が表示されれば成功です。
pnpm dev
pnpm build
pnpm tauri dev
cd src-tauri
cargo check
今後の整理後は、以下のような構成を目指します。
yuuko_news/
README.md
AGENT.md
package.json
next.config.mjs
app/
page.tsx
src/
screens/
MainScreen.tsx
NewsReaderScreen.tsx
DictionaryScreen.tsx
NewsHistoryScreen.tsx
SettingsScreen.tsx
CustomizeScreen.tsx
GachaScreen.tsx
components/
AppShell.tsx
Sidebar.tsx
WindowHeader.tsx
StatusBar.tsx
YuukoMascot.tsx
YuukoBalloon.tsx
NewsCard.tsx
dialogs/
TermExplanationPopup.tsx
RankUpDialog.tsx
ConfirmDialog.tsx
data/
mockArticles.ts
mockDictionary.ts
mockSettings.ts
mockGacha.ts
types/
article.ts
dictionary.ts
settings.ts
gacha.ts
services/
articleApi.ts
dictionaryApi.ts
settingsApi.ts
yuukoApi.ts
gachaApi.ts
src-tauri/
tauri.conf.json
Cargo.toml
src/
main.rs
docs/
...
現在はv0生成コードを取り込んだ初期段階のため、実際の構成は今後整理していきます。
React / TypeScript側では、主に以下を担当します。
React側には、以下を直接書かない方針です。
Rust側では、主に以下を担当します。
基本方針として、main は安定ブランチとして扱います。
作業時は、内容に応じてブランチを切ってください。
main
develop
feature/*
ui/*
rust/*
fix/*
docs/*
refactor/*
test/*
chore/*
ブランチ例:
ui/main-screen
ui/news-reader-screen
rust/article-repository
rust/tauri-commands
docs/update-readme
refactor/organize-ui-screens
chore/setup-tauri
コミットメッセージは、軽めのConventional Commits形式を推奨します。
ui: メイン画面のレイアウトを調整
rust: 記事保存repositoryを追加
tauri: 記事取得commandを追加
docs: READMEを追加
refactor: V0生成UIを画面ごとに整理
chore: Tauriアプリ基盤を追加
Pull Request 上で @claude とメンションすると、Claude Code がコードレビュー(バグ検出・セキュリティ・パフォーマンス・影響範囲・リグレッション観点)を行い、PRへ日本語でコメントします。
ワークフロー定義は .github/workflows/claude-code-review.yml、レビュー方針は REVIEW.md を参照してください。
PRのコメント欄、またはコード行へのレビューコメントで、本文に @claude を含めて投稿します。
@claude このPRをレビューして
@claude セキュリティ観点で重点的に見て
@claude この変更のリグレッションリスクは?
@claude を含まないコメントでは起動しません(job自体が走りません)。| Secret 名 | 用途 | 必須 |
|---|---|---|
CLAUDE_CODE_OAUTH_TOKEN | Claude サブスク(Pro/Max)の OAuth トークン。Claude Code CLI の claude setup-token で生成 | 必須 |
pnpm dlx @anthropic-ai/claude-code setup-token 等で生成できる。GITHUB_TOKEN を使うため、追加Secretは不要です。github-actions[bot] として動作します。claude_code_oauth_token の代わりに anthropic_api_key(Secret ANTHROPIC_API_KEY)を使う。@claude はその枠・レート制限を消費します。チーム共有CIでの自動利用が各プラン規約の範囲かは Anthropic の利用規約をご確認ください。このレビューは実行のたびに費用が発生し得ます。
@claude 起動限定・--max-turns 20 上限・timeout-minutes: 20・同一PRの多重起動抑制(concurrency)を入れています。費用を抑えたい場合は --max-turns を下げてください。@claude で呼ぶ手動起動を既定にしています。.github/workflows/claude-code-review.yml を以下のように変更します(別ファイルとして追加してもよい)。
on: を issue_comment / pull_request_review_comment から pull_request:(types: [opened, synchronize])へ変更/追記。if: 条件変更:@claude 判定を外し、必要なら対象ブランチ・paths: で絞る。prompt を明示:自動実行(automationモード)では @claude メンションが無いため、prompt: にレビュー指示(または code-review スキル)を渡す。
with:
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
prompt: "このPRの差分を REVIEW.md の方針でレビューし、日本語でコメントしてください。"
paths: 絞り込み・concurrency の cancel-in-progress: true 化・--max-turns 引き下げを検討。補足: 公式にはトリガー不要で毎PRレビューする «GitHub Code Review» 機能も提供されています。常時自動運用へ寄せる場合はそちらも選択肢です。
Codex cloud の GitHub 連携を有効化すると、Pull Request 上で @codex review とコメントするだけで Codex にレビューを依頼できます。
この方式では、リポジトリの GitHub Actions に OPENAI_API_KEY を登録する必要はありません。
PRのコメント欄で、以下のように投稿します。
@codex review
@codex review for security regressions
@codex review がレビュー起動の基本形です。@codex だけで review を付けない場合は、レビューではなくCodex cloud taskとして扱われる場合があります。AGENTS.md の Review guidelines を正本として管理します。OPENAI_API_KEY / CODEX_ACCESS_TOKEN などのSecret登録は、この方式では不要です。@codex review を含んでいるかAGENTS.md が存在し、レビュー指針が読みやすい形で書かれているか以下はGitに含めないでください。
.envnode_modules/src-tauri/target/また、React側へAPIキーや秘密情報を渡さない方針です。
v0で生成したコードは、主にUIのたたき台として利用します。
取り込み時は、以下を確認してください。
fetch() が勝手に増えていないかlocalStorage が使われていないかdangerouslySetInnerHTML が入っていないかv0はUI工房として使い、保存・AI連携・状態確定はRust側へ寄せます。
プロジェクトルートまたは docs/ 配下に、以下の資料を配置する予定です。
AGENT.md開発環境構築手順書.md基本設計書.md詳細設計書.mdGit運用ルール.mdデータ設計書.mdMVPスコープ定義書.mdセキュリティ詳細設計書.md画面遷移仕様書.md直近の作業予定は以下です。