diff --git a/.ai/mcp/mcp.json b/.ai/mcp/mcp.json
new file mode 100644
index 0000000..bb3f251
--- /dev/null
+++ b/.ai/mcp/mcp.json
@@ -0,0 +1,12 @@
+{
+ "mcpServers": {
+ "angular-cli": {
+ "command": "npx",
+ "args": [
+ "-y",
+ "@angular/cli",
+ "mcp"
+ ]
+ }
+ }
+}
\ No newline at end of file
diff --git a/.idea/laravel-idea.xml b/.idea/laravel-idea.xml
new file mode 100644
index 0000000..2d9ee95
--- /dev/null
+++ b/.idea/laravel-idea.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/php.xml b/.idea/php.xml
index 294e22d..480cdc8 100644
--- a/.idea/php.xml
+++ b/.idea/php.xml
@@ -143,7 +143,7 @@
-
+
diff --git a/backend/app/Ai/Agents/ContentWriterAgent.php b/backend/app/Ai/Agents/ContentWriterAgent.php
new file mode 100644
index 0000000..4df4c6e
--- /dev/null
+++ b/backend/app/Ai/Agents/ContentWriterAgent.php
@@ -0,0 +1,77 @@
+prompt($request->input('prompt'));
+ $postText = $socialMediaResponse->text;
+
+ $imagePromptResponse = $creativeDirectorAgent->prompt($postText);
+ $imagePrompt = $imagePromptResponse->text;
+
+ return response()->json([
+ 'post' => $postText,
+ 'image_prompt' => $imagePrompt,
+ ]);
+ }
+}
diff --git a/backend/app/Http/Requests/SocialMediaPostRequest.php b/backend/app/Http/Requests/SocialMediaPostRequest.php
new file mode 100644
index 0000000..5aa215f
--- /dev/null
+++ b/backend/app/Http/Requests/SocialMediaPostRequest.php
@@ -0,0 +1,31 @@
+ [
+ 'required',
+ 'string',
+ 'min:3',
+ function (string $attribute, mixed $value, \Closure $fail): void {
+ $wordCount = str_word_count(strip_tags(trim($value)));
+
+ if ($wordCount > 400) {
+ $fail("The {$attribute} must not exceed 400 words (you provided {$wordCount} words).");
+ }
+ },
+ ],
+ ];
+ }
+
+ public function authorize(): bool
+ {
+ return true;
+ }
+}
diff --git a/backend/config/ai.php b/backend/config/ai.php
index 8d2443b..79b5e58 100644
--- a/backend/config/ai.php
+++ b/backend/config/ai.php
@@ -13,7 +13,7 @@
|
*/
- 'default' => 'openai',
+ 'default' => 'groq',
'default_for_images' => 'gemini',
'default_for_audio' => 'openai',
'default_for_transcription' => 'openai',
diff --git a/backend/routes/api.php b/backend/routes/api.php
index 65390bd..8ac7abd 100644
--- a/backend/routes/api.php
+++ b/backend/routes/api.php
@@ -1,5 +1,6 @@
user();
})->middleware('auth:sanctum');
+Route::post('/social-media/generate', [SocialMediaPostController::class, 'generate']);