diff --git a/.aira/config.dev.yml b/.aira/config.dev.yml new file mode 100644 index 0000000..d3ae40b --- /dev/null +++ b/.aira/config.dev.yml @@ -0,0 +1,69 @@ +aira: + gaiah: # 共通設定 + run: true + repo: + repo_name: "MysticLibrary" + description: "Evolutionary Merge Experiment" + private: false + local: + repo_dir: "C:/Prj/MysticLibrary" + no_initial_commit: false + commit: + commit_msg_path: ".Gaiah.md" + branch_name: null + + dev: # 開発時の設定 (必要に応じて上書き) + repo: + create_repo: false + local: + init_repo: false + commit: + process_commits: true + + init: # 初期化時の設定 (必要に応じて上書き) + repo: + create_repo: true + local: + init_repo: true + commit: + process_commits: false + + llm: + model: "gemini/gemini-1.5-pro-latest" # 利用するLLMモデル + + repository_summary_output_dir: .aira # リポジトリ概要の出力ディレクトリ + readme_prompt_template_path: .aira/readme_prompt_template.txt # README生成のプロンプトテンプレートのパス + + harmon_ai: + run: true + environment: + repo_name: "MysticLibrary" + owner_name: "Sunwood-ai-labs" + package_name: "MysticLibrary" + icon_url: "hhttps://huggingface.co/datasets/MakiAi/IconAssets/resolve/main/MysticLibrary.jpeg" + title: "MysticLibrary" + subtitle: "~ Evolutionary Merge Experiment ~" + website_url: "https://hamaruki.com/" + github_url: "https://github.com/Sunwood-ai-labs" + twitter_url: "https://x.com/hAru_mAki_ch" + blog_url: "https://hamaruki.com/" + + product: + important_message_file: "important_template.md" + sections_content_file: "sections_template.md" + output_file: "README_template.md" + cicd_file_path: "publish-to-pypi.yml" + cicd_main_path: "publish-to-pypi.yml" + github_cicd_dir: ".github/workflows" + + llm_product: + sections_content_file: "sections_template_llm.md" + + development: + output_dir: "C:/Prj/MysticLibrary/.harmon_ai" + + main: + main_dir: "C:/Prj/MysticLibrary/" + replace_readme: true + + instructions_prompt: .aira/instructions.md \ No newline at end of file diff --git a/prompts/diagram/Eraser_guide1.md b/prompts/diagram/Eraser_guide1.md new file mode 100644 index 0000000..3070639 --- /dev/null +++ b/prompts/diagram/Eraser_guide1.md @@ -0,0 +1,261 @@ +# Eraser 記法ガイド① + +Eraserは、エンジニアチーム向けのドキュメントとダイアグラムプラットフォームです。視覚的に表現力豊かなドキュメントを作成するために、独自の記法を採用しています。このガイドでは、Eraserの記法を詳しく説明し、さまざまな例を使ってその使用方法を紹介します。 + +## 基本構文 + +Eraserの記法は、YAMLに似た簡潔な構文を使用しています。基本的な構文は以下のように記述されます。 + +```yaml +// ノード定義 +ノード名 [属性] { + // サブノード定義 + サブノード名 [属性] +} + +// 関係定義 +ノード1 > ノード2: [ラベル] +``` + +**説明:** + +* `//`はコメントアウトを示します。 +* `ノード名`は、ダイアグラムの要素(ノード)の名前です。 +* `属性`は、ノードの形状、色、アイコン、テキストなどを指定します。 +* `サブノード名`は、ノード内にネストされた要素の名前です。 +* `ノード1 > ノード2`は、ノード1からノード2への関係を示します。 +* `[ラベル]`は、関係の説明を追加するオプションのラベルです。 + +## ノードの定義 + +ノードは、ダイアグラムの要素を表現します。ノードの定義では、`ノード名`、`属性`、`サブノード`を指定します。 + +### 属性 + +ノードの属性は、`[]`で囲んで指定します。以下の属性が使用できます。 + +* `shape`: ノードの形状を指定します。 + * `oval`: 楕円 + * `rectangle`: 長方形 + * `diamond`: ひし形 + * `rounded_rectangle`: 角丸長方形 + * `cylinder`: 円筒 + * `hexagon`: 六角形 + * `triangle`: 三角形 + * `parallelogram`: 平行四辺形 + * `cloud`: クラウド + * `star`: 星形 + * `database`: データベース +* `icon`: ノードに表示するアイコンを指定します。 + * `file-text`: ファイル + * `bug`: バグ + * `copy`: コピー + * `repeat`: 繰り返し + * `zap`: 電光 + * `check-square`: チェックボックス + * `package`: パッケージ + * `send`: 送信 + * `user`: ユーザー + * `users`: 複数ユーザー + * `home`: ホーム + * `folder`: フォルダ + * `message-circle`: メッセージ + * `mail`: メール + * `clock`: 時計 + * `list`: リスト + * `key`: キー + * `grid`: グリッド + * `link`: リンク + * `calendar`: カレンダー + * `oracle`: Oracle + * `twitter`: Twitter + * `facebook`: Facebook + * `aws-api-gateway`: AWS API Gateway + * `aws-lambda`: AWS Lambda + * `aws-simple-storage-service`: AWS S3 + * `aws-ec2`: AWS EC2 + * `aws-rds`: AWS RDS + * `aws-auto-scaling`: AWS Auto Scaling + * `aws-redshift`: AWS Redshift + * `kafka`: Kafka + * `gcp-pubsub`: GCP Pub/Sub + * `gcp-cloud-logging`: GCP Cloud Logging + * `gcp-dataflow`: GCP Dataflow + * `gcp-cloud-storage`: GCP Cloud Storage + * `gcp-datastore`: GCP Datastore + * `gcp-bigtable`: GCP Bigtable + * `gcp-bigquery`: GCP BigQuery + * `gcp-app-engine`: GCP App Engine + * `gcp-container-registry`: GCP Container Registry + * `gcp-compute-engine`: GCP Compute Engine + * `azure-active-directory`: Azure Active Directory + * `azure-load-balancers`: Azure Load Balancers + * `azure-virtual-networks`: Azure Virtual Networks + * `azure-network-security-groups`: Azure Network Security Groups + * `azure-virtual-machine`: Azure Virtual Machine + * `k8s-control-plane`: Kubernetes Control Plane + * `k8s-api`: Kubernetes API + * `k8s-sched`: Kubernetes Scheduler + * `k8s-c-c-m`: Kubernetes Controller Manager + * `k8s-c-m`: Kubernetes Cloud Controller Manager + * `k8s-etcd`: Kubernetes etcd + * `k8s-node`: Kubernetes Node + * `k8s-kubelet`: Kubernetes Kubelet + * `k8s-k-proxy`: Kubernetes KProxy + * `databricks`: Databricks + * `snowflake`: Snowflake + * `slack`: Slack + * `tensorflow`: TensorFlow + * `tableau`: Tableau + * `layout`: ウェブアプリ + * `database`: データベース + * `function`: クラウド関数 + * `cloud-cog`: クラウド設定 + * `settings`: 設定 + * `aws`: AWS + * `google-cloud`: Google Cloud + * `azure`: Azure + * `google`: Google + * `microsoft`: Microsoft +* `color`: ノードの色を指定します。 + * `red`: 赤 + * `green`: 緑 + * `blue`: 青 + * `yellow`: 黄 + * `purple`: 紫 + * `orange`: オレンジ + * `grey`: 灰色 + * `silver`: 銀色 +* `text`: ノードに表示するテキストを指定します。 +* `style`: ノードのスタイルを指定します。 + * `dashed`: 点線 + * `dotted`: 点線 + * `bold`: 太字 + * `italic`: イタリック + +### サブノード + +サブノードは、ノード内にネストされた要素を表現します。サブノードの定義は、ノードの定義と同様の構文を使用します。 + +```yaml +# ノード定義 +ノード名 [属性] { + # サブノード定義 + サブノード名 [属性] +} +``` + +サブノードは、複数階層にネストすることができます。 + +### グループ + +グループは、関連するノードをまとめるための機能です。グループの定義は、`{}`で囲んで記述します。グループ内のノードは、`[color]`属性で色を指定することができます。 + +```yaml +# グループ定義 +グループ名 [color] { + # グループ内のノード定義 + ノード名 [属性] +} +``` + +## 関係の定義 + +関係は、ノード間の接続を表現します。関係の定義は、`ノード1 > ノード2`の構文を使用します。 + +### ラベル + +関係のラベルは、`:`の後に指定します。ラベルは、関係の説明や注釈を追加するために使用します。 + +```yaml +# 関係定義 +ノード1 > ノード2: [ラベル] +``` + +### 関係の種類 + +Eraserでは、以下の関係の種類が使用できます。 + +* `>`: 方向性のある関係(ノード1からノード2へ) +* `<`: 方向性のある関係(ノード2からノード1へ) +* `<>`: 双方向の関係(ノード1とノード2の間) + +## 例 + +### Issue Triage Flow + +![file](https://hamaruki.com/wp-content/uploads/2024/06/image-1717593719913.png) + +```yaml +# ノードとグループ +Issue type? [shape: oval, icon: file-text] + +BugPath [color: red] { + Bug [icon: bug, color: red] + Duplicate? [shape: diamond, icon: copy] + Mark duplicate [shape: oval, icon: copy] + Has repro? [shape: diamond, icon: repeat] + Ask for repro [shape: oval, icon: repeat] +} + +FeaturePath [color: green] { + Feature [icon: zap, color: green] + Well specced? [shape: diamond, icon: check-square] + Can be package? [shape: diamond, icon: package] + Define as package [shape: oval, icon: package] +} + +Issue ready to claim [shape: oval, icon: send] + +# 関係 +Issue type? > Bug +Bug > Duplicate? +Duplicate? > Mark duplicate: Yes +Duplicate? > Has repro?: No +Has repro? > Issue ready to claim: Yes +Has repro? > Ask for repro: No +Issue type? > Feature +Feature > Can be package? +Can be package? > Well specced?: No +Can be package? > Define as package: Yes +Well specced? > Issue ready to claim: Yes +``` + + + +### Price Lookup Flow + +![file](https://hamaruki.com/wp-content/uploads/2024/06/image-1717593739001.png) + +```yaml +# ノードと関係を定義 "A > B" +Start [shape: oval, icon: flag] > Read keywords from Excel [icon: excel] +Read keywords from Excel > Establish Amazon API connection [icon: amazon] +Establish Amazon API connection > Wait for user input [shape: diamond, icon: user] +Wait for user input > Search for keyword on Amazon[icon: search]: User selects keyword +Search for keyword on Amazon > Retrieve item price [icon: dollar-sign] +Retrieve item price > Output result to Excel [icon: excel] +Output result to Excel > End +Wait for user input > Close modal [icon: x]: User clicks cancel +Close modal > End [shape: oval, icon: check] + +# グループを定義 +For each keyword in the list [icon: repeat] { + Search for keyword on Amazon + Retrieve item price + Output result to Excel +} +``` + +## まとめ + +Eraserの記法は、視覚的に表現力豊かなドキュメントを作成するために設計されています。シンプルな構文と豊富な属性、関係の種類により、様々なダイアグラムを簡単に作成することができます。このガイドを参考に、Eraserの記法を活用して、より効果的なドキュメントを作成してみてください。 + +## 参考サイト + +https://docs.eraser.io/docs/what-is-eraser + + + + + diff --git a/prompts/diagram/Eraser_guide2.md b/prompts/diagram/Eraser_guide2.md new file mode 100644 index 0000000..c428637 --- /dev/null +++ b/prompts/diagram/Eraser_guide2.md @@ -0,0 +1,249 @@ +# Eraser 記法ガイド② + +## エンティティ関係図 (ERD) + +Eraserは、エンティティ関係図 (ERD) を作成するための記法も提供しています。ERDは、データベースの構造を視覚的に表現するための図です。 + +### ERDの記法 + +ERDの記法は、通常のダイアグラム記法と似ていますが、エンティティと関係を表すためにいくつかの特別な属性と関係の種類を使用します。 + +* **エンティティ**: + * `[icon: user, color: blue]`: エンティティのアイコンと色を指定します。 + * `{ ... }`: エンティティの属性を記述します。 + * `id string pk`: 主キーとなる属性を指定します。 +* **関係**: + * `>`: 一対一の関係 + * `<>`: 一対多の関係 + * `<>*`: 多対多の関係 + +### ERDの例 + +#### RPGゲームのERD + +

Eraser 記法ガイド②~エンティティ関係図~
《RPGゲームのERD》
結構適当なプロンプトで作成したけど結構いい感じかも!(Gemini 1.5 Flashにて作成) https://t.co/vHXlOwkY4B pic.twitter.com/Y57LYjOohA

— Maki@Sunwood AI Labs. (@hAru_mAki_ch) June 5, 2024
+ +```yaml +// 1. users(プレイヤー):この世界を冒険する勇者たちだ! +users [icon: user, color: blue] { + id string pk + displayName string + level int + experience int + gold int + currentLocation string +} + +// 2. teams(パーティ):勇者たちが協力して冒険を進めるための仲間たち。 +teams [icon: users, color: blue] { + id string pk + name string + leaderId string +} + +// 3. characters(キャラクター):勇者たちが操る個性豊かな仲間たち! +characters [icon: warrior, color: green] { + id string pk + name string + level int + stats json + skills json + userId string +} + +// 4. items(アイテム):冒険に役立つ道具や武器! +items [icon: sword, color: orange] { + id string pk + name string + type string + rarity string + stats json +} + +// 5. quests(クエスト):勇者たちに課せられた試練! +quests [icon: quest, color: purple] { + id string pk + name string + description string + reward json + status string +} + +// 6. enemies(敵):勇者たちの冒険を阻む強敵たち! +enemies [icon: monster, color: red] { + id string pk + name string + level int + stats json + skills json + location string +} + +// 7. locations(場所):勇者たちが冒険するフィールドやダンジョン。 +locations [icon: map, color: grey] { + id string pk + name string + description string + enemies json + items json +} + +// エンティティの関係 + +users.teams <> teams.id // 勇者たちは複数のパーティに所属できるし、一つのパーティには複数の勇者が所属できる。 +characters.userId > users.id // キャラクターは勇者によって所有されている。 +items.userId > users.id // アイテムは勇者によって所持されている。 +quests.userId > users.id // クエストは勇者によって受託される。 +enemies.location > locations.id // 敵は特定の場所に現れる。 +``` + +#### 夢を叶える!イベント予約アプリのERD + +

Eraser 記法ガイド②~エンティティ関係図~
《夢を叶える!イベント予約アプリのERD》
これは普通のカレンダー予約アプリです....
(Gemini 1.5 Flashにて作成) https://t.co/JfnI8QxWAC pic.twitter.com/KwGYyBfNzY

— Maki@Sunwood AI Labs. (@hAru_mAki_ch) June 5, 2024
+ +```yaml +// 1. Users(ユーザー):夢を叶えるためにイベントを予約する人々 +User [icon: user] { + id Int pk + username String + email String + avatar String + createdDate DateTime + favoriteEventType Int +} + +// 2. Bookings(予約):夢を叶えるためのイベント予約 +Booking [icon: clock] { + id Int pk + userId Int + title String + startTime DateTime + endTime DateTime + location String + eventTypeId Int + destinationCalendarId Int + status String // 予約ステータス (pending, confirmed, canceled) + notes String +} + +// 3. EventTypes(イベントタイプ):夢を叶えるための様々なイベント +EventType [icon: list] { + id Int pk + name String + description String + duration Int + defaultLocation String // デフォルトの開催場所 + price Decimal // 料金 + imageUrl String // イベントのイメージ画像URL + userId Int // イベント作成者 +} + +// 4. ApiKeys(APIキー):システム連携のための鍵 +ApiKey [icon: key] { + id String pk + userId Int + appId String + hashedKey String +} + +// 5. Apps(アプリ):システム連携のためのアプリケーション +App [icon: grid] { + slug String + dirName String + keys Json + createdAt DateTime +} + +// 6. Webhooks(ウェブフック):システム間連携のための魔法のメッセージ +Webhook [icon: link] { + id String pk + userId Int + appId String + active Boolean + eventTrigger String // トリガーイベント (booking_created, booking_updatedなど) + url String // 通知先URL +} + +// 7. DestinationCalendars(連携カレンダー):夢を叶えるためのカレンダー +DestinationCalender [icon: calendar] { + id Int pk + userId Int + integration String // 連携サービス (Google Calendar, Outlook Calendarなど) + eventTypeId Int +} + +// エンティティの関係 + +Booking.eventtType < EventType.id // 予約はイベントタイプに関連付けられる。 +Webhook.appId > App.slug // ウェブフックはアプリに関連付けられる。 +Webhook.userId > User.id // ウェブフックはユーザーによって作成される。 +App.slug > ApiKey.appId // アプリはAPIキーを持つ。 +User.id < Booking.userId // 予約はユーザーによって作成される。 +EventType.userId <> User.id // イベントタイプはユーザーによって作成される。 +User.id > ApiKey.userId // ユーザーはAPIキーを持つ。 +DestinationCalender.id > Booking.destinationCalendarId // 予約は連携カレンダーに登録される。 +DestinationCalender.userId < User.id // 連携カレンダーはユーザーによって設定される。 +DestinationCalender.eventTypeId < EventType.id // 連携カレンダーはイベントタイプに関連付けられる。 +``` + +## シーケンス図 + +シーケンス図は、システムやソフトウェアの動作を、時間軸に沿って視覚的に表現するための図です。Eraserは、シーケンス図を作成するための記法も提供しています。 + +### シーケンス図の記法 + +シーケンス図の記法は、通常のダイアグラム記法と似ていますが、オブジェクトとメッセージを表すためにいくつかの特別な属性と関係の種類を使用します。 + +* **オブジェクト**: + * `[icon: layout]`: オブジェクトのアイコンを指定します。 +* **メッセージ**: + * `>`: オブジェクトから別のオブジェクトへのメッセージ + * `activate`: オブジェクトのアクティブ化 + * `deactivate`: オブジェクトの非アクティブ化 + * `alt [label]:`: 条件分岐 + * `else [label]:`: 条件分岐のelse部分 + * `loop [label]:`: ループ + +### シーケンス図の例 + +```yaml +Web App [icon: layout] > DB [icon: database]: Start transaction +Web App > Cloud Fx [icon: function]: Call function +Cloud Fx > API [icon: cloud-cog]: Create session +API > Cloud Fx: Session info +Cloud Fx > DB: Create tx record +Cloud Fx > API: Request access token +API > Cloud Fx: Access token +Cloud Fx > Web App: Token and transaction info +Web App > API: Complete transaction +alt [label: If successful]{ + API > Web App: Transaction confirmation +} +else [label: If failed]{ + API > Web App: Transaction cancellation +} +Web App > DB: Create tx record +Web App > API: Subscribe to transaction changes +activate API +API > API: Ongoing events +API > Web App: Push events +deactivate API +``` + +## まとめ + +Eraserの記法は、シンプルな構文と豊富な属性、関係の種類を組み合わせることで、様々な種類のダイアグラムを作成することを可能にします。今回のガイドで紹介したERDとシーケンス図の記法も活用して、より効果的なドキュメントを作成してみてください。 + + + +## 参考サイト + +https://docs.eraser.io/docs/examples-1 + + + + + + + + diff --git a/prompts/methodology/Abstract_Prompting_for_Problem_Solving.md b/prompts/methodology/Abstract_Prompting_for_Problem_Solving.md new file mode 100644 index 0000000..6e11f9c --- /dev/null +++ b/prompts/methodology/Abstract_Prompting_for_Problem_Solving.md @@ -0,0 +1,41 @@ +# 抽象化プロンプトの構造と意味の解説 + +## 1. 抽象化プロンプトとは +抽象化プロンプトは、特定のタスクや目標を達成するために必要な思考プロセスや手順を、記号や略語を用いて抽象的に表現したものです。これにより、複雑な問題解決のプロセスを簡潔かつ体系的に表現することができます。 + +## 2. 抽象化プロンプトの構造 +抽象化プロンプトは、以下のような構成要素から成り立っています: + +1. タスクの範囲を示すフレーズ(例:A to Z) +2. タスクの内容を示すフレーズ(例:[{ビジネス戦略策定}]) +3. 思考プロセスや手順を表す記号や略語(例:ΣΣΣΣΣ, , , , ,, =<>, ∵... ∴..., QED, '''') +4. 各記号や略語の後に続く数字は、そのステップの重要度や優先度を示している + +## 3. 記号や略語の意味 +抽象化プロンプトで使用される記号や略語には、以下のような意味があります: + +- ΣΣΣΣΣ:情報収集や分析のプロセスを表す +- , , , , ,:アイデアの生成や発散的思考のプロセスを表す +- =<>:アイデアの評価や収束的思考のプロセスを表す +- ∵... ∴...:論理的思考や因果関係の分析のプロセスを表す +- QED:結論や意思決定のプロセスを表す +- '''':行動計画の策定や実行のプロセスを表す + +## 4. 抽象化プロンプトの仕組み +抽象化プロンプトは、以下のようなステップで問題解決のプロセスを表現します: + +1. 情報収集と分析(ΣΣΣΣΣ):問題やタスクに関連する情報を収集し、分析します。 +2. アイデア生成(, , , , ,):収集した情報をもとに、多様なアイデアを生成します。 +3. アイデア評価(=<>):生成したアイデアを評価し、最適なものを選択します。 +4. 論理的思考(∵... ∴...):選択したアイデアについて、論理的に分析し、因果関係を明らかにします。 +5. 結論と意思決定(QED):分析結果をもとに、結論を導き出し、意思決定を行います。 +6. 行動計画の策定と実行(''''):意思決定に基づいて、具体的な行動計画を策定し、実行します。 + +## 5. 抽象化プロンプトの概念 +抽象化プロンプトは、複雑な問題解決のプロセスを抽象的に表現することで、以下のような利点があります: + +1. 思考プロセスの明確化:問題解決に必要な思考プロセスや手順を明確に示すことができる。 +2. コミュニケーションの促進:抽象化された表現により、チームメンバー間での情報共有やコミュニケーションが容易になる。 +3. 問題解決の効率化:体系的な問題解決のプロセスを踏襲することで、効率的に解決策を導き出すことができる。 + +以上が、抽象化プロンプトの構造や意味、仕組み、概念の解説です。この手法を活用することで、複雑な問題解決のプロセスを簡潔かつ体系的に表現し、効率的に解決策を導き出すことができます。 \ No newline at end of file diff --git a/prompts/methodology/abstract-prompting-for-workflow.md b/prompts/methodology/abstract-prompting-for-workflow.md new file mode 100644 index 0000000..b0779c9 --- /dev/null +++ b/prompts/methodology/abstract-prompting-for-workflow.md @@ -0,0 +1,14 @@ +A to Z [{タスクの内容}]: +[5] ΣΣΣΣΣ 情報収集と分析: {タスクの内容}に関連する情報を収集し、分析してください。問題の背景、関連するデータ、ステークホルダーの意見などを含めてください。 +[4] , , , , , アイデア生成: 収集した情報をもとに、{タスクの内容}を達成するための様々なアイデアを出してください。創造的かつ革新的な発想を心がけてください。 +[5] =<> アイデア評価: 生成したアイデアを評価し、実現可能性、効果、効率性などの観点から、最適なソリューションを選択してください。 +[3] ∵... ∴... 論理的思考: 選択したソリューションについて、なぜそれが有効であるのか、論理的に説明してください。問題との関連性、長所と短所、実現するための条件などを考慮してください。 +[6] QED 結論と意思決定: 以上の分析と評価をもとに、{タスクの内容}に対する結論を述べ、意思決定を行ってください。 +[4] '''' 行動計画の策定: 意思決定に基づいて、具体的な行動計画を策定してください。タスクを達成するための手順、スケジュール、必要なリソースなどを含めてください。 +[5] '''' 実行: 策定した行動計画を実行に移してください。定期的に進捗を確認し、必要に応じて計画を修正しながら、着実にタスクを進めてください。 + +Goal:{目標} + +上記の手順に従って、{目標}を達成するためのソリューションを導き出してください。各ステップでの分析、評価、意思決定については、具体的かつ論理的に説明してください。最終的なソリューションは、問題を効果的に解決し、実現可能であり、ステークホルダーにとって価値のあるものである必要があります。 + +Generate Workflow \ No newline at end of file diff --git a/prompts/writing/slide/def_slide.md b/prompts/writing/slide/def_slide.md new file mode 100644 index 0000000..844ed4c --- /dev/null +++ b/prompts/writing/slide/def_slide.md @@ -0,0 +1,14 @@ +# やりたいこと + +## 引用 +- `design` = [./def_slide_design2.md] +- `text` = [./def_slide_text1.md] + +## TODO + +1. `design`ファイルの内容を参考にし、全てのページに適切な背景画像を追加する。 +2. `text`ファイルの内容をreveal.js形式のマークダウンに変換し、コードブロックは記載しない。 +3. `design`ファイルで指定された--の位置を正確に反映させる。 +4. 各スライドは--で区切り、見やすく整理する。 +5. 文字色を必ず白に設定し、背景色とのコントラストを最適化する。 +6. 必要に応じて、各スライドに追加のスタイリングを施して、全体の一貫性と美観を保つ。 \ No newline at end of file diff --git a/prompts/writing/slide/def_slide2.md b/prompts/writing/slide/def_slide2.md new file mode 100644 index 0000000..5960ea8 --- /dev/null +++ b/prompts/writing/slide/def_slide2.md @@ -0,0 +1,14 @@ +# やりたいこと + +## 引用 +- `design` = [https://raw.githubusercontent.com/Sunwood-ai-labs/MysticLibrary/develop/prompts/writing/slide/def_slide_design2.md] +- `text` = [https://raw.githubusercontent.com/Sunwood-ai-labs/MysticLibrary/develop/prompts/writing/slide/def_slide_text1.md] + +## TODO + +1. `design`ファイルの内容を参考にし、全てのページに適切な背景画像を追加する。 +2. `text`ファイルの内容をreveal.js形式のマークダウンに変換し、コードブロックは記載しない。 +3. `design`ファイルで指定された--の位置を正確に反映させる。 +4. 各スライドは--で区切り、見やすく整理する。 +5. 文字色を必ず白に設定し、背景色とのコントラストを最適化する。 +6. 必要に応じて、各スライドに追加のスタイリングを施して、全体の一貫性と美観を保つ。 \ No newline at end of file diff --git a/prompts/writing/slide/def_slide_design2.md b/prompts/writing/slide/def_slide_design2.md new file mode 100644 index 0000000..8134573 --- /dev/null +++ b/prompts/writing/slide/def_slide_design2.md @@ -0,0 +1,57 @@ + + + + + +# はじめての reveal.js + +--- + +## リスト + +* りんご +* みかん +* もも + +--- + +## 効果 + +大きくする {.fragment .grow} + +小さくする {.fragment .shrink} + +フェードアウト {.fragment .fade-out} + +右フェード {.fragment .fade-right} + +上フェード {.fragment .fade-up} + +下フェード {.fragment .fade-down} + +左フェード {.fragment .fade-left} diff --git a/prompts/writing/slide/def_slide_text1.md b/prompts/writing/slide/def_slide_text1.md new file mode 100644 index 0000000..bc035b2 --- /dev/null +++ b/prompts/writing/slide/def_slide_text1.md @@ -0,0 +1,28 @@ +# AI を活用したソフトウェア開発のための個人的ガイド - 要約 + +## はじめに +- 筆者は開発マネージャーであり、AI を個人プロジェクトのコーディングに活用している +- AI の使い方が人によって異なるため、意見が分かれる + +## AI を使った開発のルール +1. コンテキストは低く保ち、こまめに新しい会話を行う +2. コードレビューの際は、別の AI が書いたと伝える +3. 時間と精神的エネルギーの節約を心がける +4. AI に全面的に頼らず、ジュニアデベロッパーのように扱う +- 常に2つの AI を使うことを推奨 + +## フェーズ1: アーキテクチャ +- プロジェクトの要件、完了状態、クラス/モジュール/パッケージ、メソッドを文書化 +- AI の提案を参考にしつつ、自分でアーキテクチャを設計 + +## フェーズ2: コーディング +- 品質、コードの理解、開発者のスタイルへの適合を重視 +- ステップ1: アーキテクチャを見直し、機能を選ぶ +- ステップ2: AI に要件とクラス・メソッドの概要を提示し、解決策を求める +- ステップ3: 要件と回答を別の AI に批評・リファクタリングを求める +- ステップ4: 要件と新しい回答を別の AI に同じ質問をする +- ステップ5: 最終的な回答をレビューし、必要に応じて修正 +- 最後のステップ: 必要であればステップ2から繰り返す + +- このワークフローは時間と労力を節約し、コードの品質を保ちつつ開発者の精神的エネルギーを節約できる +- ただし、すべてのタスクに適用できるわけではない \ No newline at end of file