Coding
PromptBeginner5 minmarkdown
Markdown Converter
Agent skill for markdown-converter
23
- アプリケーション仕様: docs/app_spec.md
Sign in to like and favorite skills
flutter run - アプリケーションを実行flutter pub get - 依存関係をインストールflutter clean - ビルドキャッシュをクリアdart run build_runner build --delete-conflicting-outputs - モックやコード生成を実行./check.sh - フォーマット・解析・テストを一括実行flutter analyze - 静的コード解析dart format . - コードフォーマットdart pub global run very_good_cli:very_good test - 全テストを高速に実行flutter test test/unit/ - ユニットテストのみ実行flutter test test/integration/ - インテグレーションテストを実行tree lib test - アプリケーションとテストのディレクトリ構造を表示AGENTS.mdの「TDDワークフロー定義」に従って進めることAGENTS.mdの「MCP使用ルール」に従い、必要に応じてMCPを活用することdocs/todo.mdに存在しない場合は、必ず作業を中断してユーザーに確認する
AGENTS.mdの「ブランチ名」に従う)tree lib testでディレクトリ構造を確認するAGENTS.mdの「設計資料」を確認し、アプリケーション仕様を理解する./check.shを実行し、エラーが残っていないことが確認してから完了作業を進めるdocs/todo.mdの項目に[x]チェックを入れるgit add <対象ファイル>でステージングに追加する(git add .は禁止)AGENTS.mdの「コミット形式」に従ってコミット&プッシュ&プルリクエストを作成するdocs/todo.mdの項目を記載するSerena MCPは、コードベースの理解と効率的なコード探索を支援するツール。以下の状況で積極的に活用すること:
mcp__github__create_pull_requestを使用してプルリクエストを作成する(gh pr createは使用禁止)mcp__github__*で始まるMCPコマンドを使用する(gh CLIは使用禁止)mcp__context7__resolve-library-idとmcp__context7__get-library-docsで最新ドキュメントを取得するpubspec.yamlに依存関係追加前: Context7で該当ライブラリの最新情報と使用方法を確認するRobert C.Martinが提唱した『クリーンアーキテクチャの原則』に従います。
Kent Beckの原著『Test-Driven Development: By Example』とその翻訳者であるt-wadaの解釈に従います。
Martin Fowlerの著書『Refactoring: Improving the Design of Existing Code』に従います。
feature/ プレフィックスを付けて新機能のブランチ名を作成bugfix/ プレフィックスを付けてバグ修正のブランチ名を作成refactor/ プレフィックスを付けてリファクタリングのブランチ名を作成docs/ プレフィックスを付けてドキュメントの更新ブランチ名を作成test/ プレフィックスを付けてテストの追加・修正chore/ プレフィックスを付けてその他の変更ブランチ名を作成Conventional Commits仕様に従います。
<type>(<scope>): <subject> <body> <footer>
feat: 新機能の追加fix: バグ修正docs: ドキュメントの変更style: コードの意味に影響しない変更(フォーマット、セミコロン等)refactor: バグ修正や新機能追加以外のコード変更perf: パフォーマンス改善test: テストの追加・修正build: ビルドシステムや外部依存関係の変更ci: CI設定ファイルやスクリプトの変更chore: その他の変更(設定ファイル、依存関係等)auth: 認証関連ui: UI関連api: API関連db: データベース関連config: 設定関連feat(auth): ログイン機能を追加 Google認証とメール認証に対応 セッション管理機能も含む Closes #123
fix(ui): ボタンの表示位置を修正
docs: READMEの更新 インストール手順を追加
破壊的変更がある場合は、typeの後に
!を付けるか、footerにBREAKING CHANGE:を記載:
feat!: APIエンドポイントを変更 BREAKING CHANGE: /api/v1/users を /api/v2/users に変更
.envの環境変数:
GOOGLE_PLACES_API_KEY - 位置検索機能に必要環境変数の変更後は
dart run build_runner build --delete-conflicting-outputsを実行してください。
アプリはFirestoreを使用してデータを永続化する。
firebase_options.dart - 生成されたFirebase設定firebase.json - Firebaseプロジェクト設定test/unit/test/integration/テストでの例外発生: テストで例外を発生させる場合は、必ず
test/helpers/test_exception.dartのTestExceptionを使用すること。TestExceptionはログ出力を抑制するため、テスト実行時のノイズを減らすことができる
// ❌ 避けるべき方法 when(mockUseCase.execute()).thenThrow(Exception('エラーメッセージ')); // ✅ 推奨する方法 import '../../../helpers/test_exception.dart'; when(mockUseCase.execute()).thenThrow(TestException('エラーメッセージ'));
非同期テストの制御:
Future.delayedを使った待機は避ける。環境によって不安定になるため、Completerを使用してテストコードが非同期処理のタイミングを制御する
// ❌ 避けるべき方法 when(mockUseCase.execute()).thenAnswer((_) async { await Future.delayed(const Duration(milliseconds: 100)); return result; }); // ✅ 推奨する方法 final completer = Completer<Result>(); when(mockUseCase.execute()).thenAnswer((_) => completer.future); // テストコードで完了タイミングを制御 completer.complete(result);